Commit Graph
81 Commits
Author SHA1 Message Date
polyesterswing be904229ec AUDIO: Remove redundant probing function
since checking whether a particular format is supported is checked
within the constructor, a separate probing function is not required
2024-02-21 18:45:25 +01:00
polyesterswing 15a9c63565 AUDIO: Add libopenmpt support 2024-02-21 18:45:25 +01:00
polyesterswing ea03d64b62 AUDIO: Rename impulsetracker to universaltracker 2024-02-21 18:45:25 +01:00
Eugene Sandulenko 359c027b01 AUDIO: Initialize class variables. CID 1519100 2023-09-19 19:48:56 +02:00
Eugene Sandulenko 8b01125399 AUDIO: Fix incorrect null check. CID 1519099 2023-09-19 19:48:56 +02:00
Le Philousophe 40ac45cf1f AUDIO: Add more symbol exception for Windows needed for mingw 2023-05-05 23:30:52 +02:00
Donovan Watteau f7990d0d15 AUDIO: Fix mikmod.h longjmp usage on Windows arm64 2023-04-10 22:39:44 +02:00
Donovan Watteau 791547f10d AUDIO: Fix mikmod.h build on Windows
setjmp() and unlink() symbols may be triggered on Windows.
2023-04-10 20:14:22 +02:00
Eugene Sandulenko 5f77af4cbe AUDIO: Added probe method to MOD/XM/S3M player 2023-03-25 01:55:23 +01:00
Eugene Sandulenko ab1ad5fd8a AUDIO: Add missing override keyword 2023-03-25 01:55:23 +01:00
Eugene Sandulenko 8881e7cb20 JANITORIAL: Remove trailing spaces 2023-03-25 01:55:23 +01:00
Eugene Sandulenko af18380ac3 AUDIO: Added probe method to ImpulseTracker 2023-03-25 01:55:23 +01:00
Harishankar Kumar afa9ccbf62 AUDIO: Add support for Impulse Tracker using libmikmod 2023-03-24 23:59:53 +01:00
Eugene Sandulenko 511a77f643 AUDIO: Avoid including translations.h in header file 2023-03-17 14:37:50 +01:00
Hubert Maier 5c9461f03a AUDIO: Correct spelling mistake
Carribean -> Caribbean
adress -> address
2022-10-27 15:56:04 +02:00
Hubert Maier 4f4949082e AUDIO: Correct spelling mistake
wether -> whether

A wether is a male sheep which has had its sex organs removed.
2022-10-27 15:56:03 +02:00
Coen Rampen 89ddcb04ff AUDIO: Make module dtor virtual 2022-06-09 17:33:24 +02:00
Coen Rampen caca2ea61f AUDIO: Make subclassing Module and ProtrackerStream easier
To implement a MOD variant for the Chewy engine, this commit makes some changes
to make subclassing of the ProtrackerStream and associated Module class easier.
2022-06-09 17:13:56 +02:00
Eugene Sandulenko abea37c9bb ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Quietust 3f4d59800d AUDIO: Add Paula per-channel DMA interrupts
These will be needed for proper emulation of the Amiga SCUMM V2/V3
sound engines.
2021-12-13 20:53:21 +01:00
Orgad Shaneh 2bd0347968 AUDIO: Use override
Using clang-tidy modernize-use-override
2021-11-14 20:14:11 +02:00
Orgad Shaneh af529f568b AUDIO: Use nullptr
Using clang-tidy modernize-use-nullptr
2021-11-14 13:41:02 +02:00
Orgad Shaneh 7a4e5612de JANITORIAL: Replace new[]/memset with new[]()
Mostly done using the following Ruby script:

(Dir.glob('**/*.cpp') + Dir.glob('**/*.h')).each do |file|
  s = File.read(file, encoding: 'iso8859-1')
  t = s.gsub(/(([\w_.\[\]]+)\s*=\s*new\s+\S+?\[[^\]]+?\](?!\())([^\{\}]*?)\n\s+memset\(\s*\2\s*,\s*0\s*,[^;]*;/m, '\1()\3')
  if t != s
    File.open(file, 'w') { |io| io.write(t) }
  end
end
2021-11-10 19:53:15 +01:00
athrxx 8e0092c5d2 AUDIO: (Amiga) - adapt mutex handling to latest mixer code changes 2021-07-04 18:05:00 +02:00
Eugene Sandulenko 346dd65927 AUDIO: Do not crash on ImpulseTracker modules 2021-05-30 11:40:37 +02:00
Matthew Duggan 0fb60cb3c0 AUDIO: Fix typo (missing comma) 2021-05-19 17:27:29 +09:00
Matthew Duggan 3f451c876e AUDIO: Use initializer list to ensure buffers are valid or null
Identified by coverity - if the module load fails, _mixBufferSamples could be
left as an invalid pointer, which would cause a problem in the destructor.

Moved most things to initailizer list to avoid the problem.

Coverity still identifies a lot of uninitialized members, but they should all
get initialized when playback starts and have less chance of causing real bugs.
2021-05-19 17:18:21 +09:00
Eugene Sandulenko da75beb668 AUDIO: Added possibility to start MOD playback from a given pattern 2021-05-14 01:01:58 +02:00
Eugene Sandulenko a332688ae6 AUDIO: Fix Mod sound looping 2021-05-13 15:35:40 +02:00
Eugene Sandulenko 2b29bcd1af AUDIO: Make ModPlayer rewindable 2021-05-13 02:09:48 +02:00
Gregory Montoir 41eda4fe9b AUDIO: Use template parameter instead of member variable 2021-05-02 02:25:13 +02:00
Matthew Duggan 1a5459b25e AUDIO: Support mod files which loop 2021-02-20 14:48:17 +09:00
Matthew Duggan 498a2fed2e AUDIO: Const correctness for mod loader and stream 2021-02-20 14:48:06 +09:00
Cameron Cawley d614f3ce2c AUDIO: Disable Paula filtering on the DS
It's too slow with it enabled.
2021-02-04 01:59:14 +01:00
Kari Salminen 7ff9d16bf2 CINE: Loop Amiga music instead of playing it once
Make Amiga music loop until fade out when changing scene. This is
based on watching a video of Future Wars Amiga walkthrough, not on
playing the Amiga version or reading its disassembly. But it does seem
that the music loops instead of just playing once.
2020-09-10 00:34:32 +01:00
Kari Salminen d206dbcdae AUDIO: Add periodScaleDivisor to Paula and SoundFx
Add support for dividing the playing rate of Paula and SoundFx audio
by integers other than 1. This is going to be used in the Cine engine
for dividing the playing rate of music in the Amiga version of Operation
Stealth by 2 to get it to sound right. Otherwise it sounds too high
pitched.

This is groundwork for fixing bug #11676.
2020-09-05 22:57:03 +02:00
Kari Salminen 9098af1029 AUDIO: Fix Amiga's SoundFx instrument loading.
The instrument names are a maximum of 22 characters in length but
were previously shortened to a maximum of 8 characters. At least in
Amiga versions of Operation Stealth some of the instrument names are
longer than 8 characters and failed to be loaded because of this.
Raising the limit from 8 to 22 characters fixes this.

Addresses bug #11676.
2020-09-05 22:57:03 +02:00
Thierry Crozat 0b0af686f2 AUDIO: Fix error using template function with anonymous struct
Old gcc versions do not like using template function with anonymous
struct and error out.
2020-09-01 05:03:50 +01:00
Vladimir Menshakov 201d2675ad AUDIO: Replace memsets on structures with ctors with ARRAYCLEAR() 2020-08-31 21:57:14 +01:00
Matthew Duggan a98617a843 AUDIO: Correct small errors in AMF loader
Crusader menu music now plays correctly, woo.
2020-05-03 22:52:45 +09:00
Matthew Duggan a64462a60f AUDIO: Add support for loading Crusader AMF files 2020-05-02 20:09:23 +02:00
Matthew Duggan 79f151c6aa AUDIO: Import small fix from latest micromod/ibxm
Specifically, 9ff030a (Fix set panning command.)
2020-05-02 17:07:54 +09:00
D G Turner 3959797b85 AUDIO: Fix Remaining Missing Default Switch Cases
These are flagged by GCC if -Wswitch-default is enabled.
2019-11-28 14:38:43 +00:00
D G Turner 28287d70b6 AUDIO: Fix Missing Default Switch Cases
These are flagged by GCC if -Wswitch-default is enabled.
2019-11-17 08:20:01 +00:00
Sven Hesse b49c7fa644 AUDIO: Implement low-pass filtering for Paula
Paula low-pass filtering, as implemented by UAE.

The Amiga has two filtering circuits: a static RC filter
(only) on the A500, and an LED filter that can be enabled
or disabled dynamically.

By default, the Paula now doesn't apply the static RC
filter, but allows for enabling the LED filter (with
setAudioFilter()).

NOTE: At the moment, this code still uses floating point
arithmetics! It also calls tan() three times per
instantiation.
2019-06-20 16:00:59 +02:00
athrxx ccb2dab9d0 AUDIO: (Paula) - fix typo 2019-01-27 14:46:09 +01:00
Paul Gilbert 11e33ba3fc JANITORIAL: Removing trailing spaces after int casts 2018-08-17 20:30:20 -07:00
D G Turner 941fe1dd7e AUDIO: Fix Compiler Shadowing Warnings. 2018-07-30 09:27:31 +01:00
Thierry Crozat 0b6ef93b85 GUI: Use consistent capitalization for options
As discussed on the mailing list we should use title capitalization
only for push buttons and tabs and use sentence capitalization for
everything else.
2018-07-22 21:28:12 +01:00
Joseph-Eugene Winzer eef9e18340 AUDIO: Fixes Protracker Portamento effect
.period overflowed if .portaToNoteSpeed > .period in the else if case
2018-01-21 23:03:12 +00:00