Commit Graph

511 Commits

Author SHA1 Message Date
Vincent Bénony
efdb5679ce IOS: Merge branch 'master' into ios-fix 2016-01-06 16:20:23 +01:00
Vincent Bénony
c99456ecff IOS: Brings support for FluidSynth 2016-01-06 16:17:38 +01:00
Filippos Karapetis
00e0d68a9f MT32: Also use the ROM name to return the most appropriate ROM info
Since we are not using munt's SHA-1 hashing code, this returns the most
appropriate feature set for CM-32L ROMs
2015-12-28 12:09:25 +02:00
Filippos Karapetis
18aa8ad2ba Revert "MT32: Add SHA1 file digest checking in getROMInfo()"
This reverts commit 908d2f39d7.

The licence of the SHA1 code that munt is using is unclear.
Reverting until it's sorted properly, for now
2015-12-28 03:30:55 +02:00
Filippos Karapetis
d119d3eba4 MT32: Check for CM32-L ROMs before checking for MT-32 ones
This ensures that the CM32-L ROMs will be preferred, if both sets are
located in the same folder
2015-12-28 02:38:52 +02:00
Filippos Karapetis
908d2f39d7 MT32: Add SHA1 file digest checking in getROMInfo()
This ensures that the capabilities of the detected ROM files are
set properly from the list of known ROMs. This is mostly needed
for the extra samples of the CM32-L ROMs
2015-12-28 02:37:57 +02:00
athrxx
8c046f4826 AUDIO: (FM-TOWNS) - replace fixed hanging notes buffer with a dynamic chain
(This works around issues with some Indy 3 sound tracks. These tracks seem to be broken, since they have way too long duration values for some notes which would fill up the event buffer rather quickly. I tested with the UNZ emulator to be sure that this is an issue which also occurs with the original driver.)
2015-11-09 18:41:10 +01:00
athrxx
924b582ced AUDIO: fix bug #6885 (INDY3: FMTOWNS: Music is distorted (regression)) 2015-11-09 18:41:09 +01:00
athrxx
160f1a074d AUDIO: (FM-TOWNS) - fix looping pcm sounds 2015-11-09 18:41:07 +01:00
athrxx
4ec41c291e AUDIO: (FM-TOWNS) - cleanup euphony code
(rework parts of the code + improve naming of variables/functions)
2015-11-09 18:41:06 +01:00
Eugene Sandulenko
82c98e9803 Merge pull request #625 from digitall/rate-hack
AUDIO: Add support for sample rates >65kHz.
2015-11-09 16:39:17 +01:00
Torbjörn Andersson
85ce901c4a AUDIO: Fix comment typo 2015-10-01 20:51:34 +02:00
Christian Krause
1fdeb98e70 AUDIO: Fix compiler warning
This commit fixes a compiler warning about a "set but not used"
variable. The warning was introduced by commit 2f707bf2.
2015-09-15 20:48:09 -04:00
Matthew Hoops
8165e9aa4c AUDIO: Fix uninitialized read in MP3 initialization
Thanks to chkr-private for finding the issue
2015-09-15 20:44:09 -04:00
Matthew Hoops
c8a7e39e05 AUDIO: Mark the old Codec class as deprecated
Once QuickTime audio edits are rewritten to use PacketizedAudioStream, we can remove this class.
2015-08-30 21:01:43 -04:00
Matthew Hoops
72239a25f9 AUDIO: Add a NullAudioStream for streams that are dead-on-arrival 2015-08-30 21:00:54 -04:00
Matthew Hoops
331d8ece21 AUDIO: Add a packetized version of ADPCM streams 2015-08-30 19:53:54 -04:00
Matthew Hoops
3aa9e2c581 AUDIO: Add a packetized version of the PCM stream 2015-08-30 19:53:54 -04:00
Matthew Hoops
a64aff0287 AUDIO: Add a class to easily make stateless PacketizedAudioStreams 2015-08-30 19:53:54 -04:00
Matthew Hoops
562234b96b AUDIO: Implement a packetized version of MP3 2015-08-30 19:53:53 -04:00
Matthew Hoops
ccd8dbf4ba AUDIO: Add an AudioStream subclass for packetized audio 2015-08-30 19:53:53 -04:00
Matthew Hoops
52f67cba39 AUDIO: Split the seeking MP3 class from the base decoding stream 2015-08-30 19:53:53 -04:00
Matthew Hoops
030e4d0608 AUDIO: Make Rewindable- and SeekableAudioStream inherit virtually 2015-08-30 19:53:53 -04:00
Matthew Hoops
bb8132beb8 AUDIO: Move ALSA OPL 'driver' out of softsynth
Might eventually be worth moving to backends/
2015-07-07 20:41:30 -04:00
Matthew Hoops
fde8abf8cc AUDIO: Move the common AdLib MidiDriver out of softsynth 2015-07-07 20:19:49 -04:00
Walter van Niftrik
f0606aa8f1 AUDIO: Reset OPL registers in ALSA driver 2015-07-07 20:19:48 -04:00
Walter van Niftrik
1287a56429 AUDIO: Fix ALSA AdLib OPL2 waveform mask 2015-07-07 20:19:48 -04:00
Walter van Niftrik
1bdcf6e836 AUDIO: Reset ALSA AdLib on exit 2015-07-07 20:19:48 -04:00
Walter van Niftrik
be345083a0 AUDIO: Update 2nd operator panning for AdLib register 0xc0 2015-07-07 20:19:48 -04:00
Walter van Niftrik
beed23c441 AUDIO: List OPL3 support for ALSA AdLib driver
Thanks clone2727
2015-07-07 20:19:47 -04:00
Walter van Niftrik
b630eca437 AUDIO: Fix bug in ALSA AdLib driver
Thanks clone2727
2015-07-07 20:19:47 -04:00
Walter van Niftrik
40820eebf5 AUDIO: Add experimental hardware OPL support using ALSA 2015-07-07 20:19:47 -04:00
Matthew Hoops
4d56585112 AUDIO: Add a class representing a real OPL 2015-07-07 20:19:47 -04:00
Matthew Hoops
bed9da8b9d AUDIO: Remove all AudioStream access to OPL 2015-07-07 20:19:47 -04:00
Matthew Hoops
8bcbcd6c16 AUDIO: Change callback frequency without restarting the audio stream 2015-07-07 20:19:47 -04:00
Matthew Hoops
dce05c520b AUDIO: Be consistent with calling stop() in OPL destructors 2015-07-07 20:19:46 -04:00
Matthew Hoops
22d985f3c2 AUDIO: Use the built-in OPL timer for MidiDriver_Miles_AdLib 2015-07-07 20:19:45 -04:00
Matthew Hoops
5b06eef159 AUDIO: Allow for changing the OPL timer rate 2015-07-07 20:19:44 -04:00
Matthew Hoops
cc6e304af1 AUDIO: Limit the DOSBox start(0) hack to only being called once 2015-07-07 20:19:44 -04:00
Matthew Hoops
ed8830fcc8 AUDIO: Use the built-in OPL timer for MidiDriver_ADLIB 2015-07-07 20:19:43 -04:00
Matthew Hoops
b9307ef1a4 AUDIO: Introduce a callback to the OPL code
Currently unused, but ready to be hooked up to various classes using it.
2015-07-07 20:19:42 -04:00
Matthew Hoops
2e8f9dcec9 AUDIO: Remove the sample rate configuration from the OPL code 2015-07-07 20:19:42 -04:00
Matthew Hoops
f1f29302f5 AUDIO: Remove the legacy OPL API 2015-07-07 20:19:42 -04:00
Johannes Schickel
6f01600e12 AUDIO: Fix abuse of driver IDs in OPL code.
If the driver id did not match the array index, the wrong driver entry would
be accessed causing a crash in the worst case.
2015-07-07 20:19:41 -04:00
Martin Kiewitz
76f21a2101 AUDIO: Miles Audio AdLib: set default volume 0x7F
set default volume of every midi channel to 0x7F right on startup
fixes Amazon Guardians of Eden logo jingle music
those values were actually sent to the driver right on startup
default value for panning was 0x40, this was adjusted as well
2015-07-05 21:25:22 +02:00
Martin Kiewitz
ba66236c2e AUDIO: Miles Audio AdLib: OPL3 detect for timbre
tries to detect OPL3 availability and prefers OPL3 timbre data
in that case.
2015-07-05 12:17:17 +02:00
Martin Kiewitz
2104f41521 AUDIO: Miles Audio AdLib: support AD+OPL3 streams
- support AdLib + OPL3 streams
- also support stream(s) and filenames getting passed at the same time
in that case filenames are checked first, streams are used
as fallback
2015-07-05 01:08:40 +02:00
Torbjörn Andersson
ef5eda2279 AUDIO: Make Miles AdLib audio stream permanent
This protects it from any calls to stopAll() in the mixer, which
is needed for Return to Zork, at the very least.
2015-07-05 00:08:15 +02:00
Martin Kiewitz
9745c97df8 AUDIO: Miles Audio AdLib: read OPL3 timbre bugfix 2015-07-04 21:59:14 +02:00
Martin Kiewitz
8e47091829 AUDIO: Miles Audio AdLib: read AdLib+OPL3 file
Checks if at least one of those exists and reads the one that does
Needed for another version of Simon The Sorcerer 2, that only
features FAT.OPL
2015-07-04 21:33:41 +02:00
Martin Kiewitz
96005c7da9 AUDIO: Miles Audio AdLib instrument stream support
- not using byte pointer + size and instead now a
  SeekableReadStream for factory
- adjusted ACCESS + AGOS engines accordingly
2015-07-04 12:55:49 +02:00
Martin Kiewitz
d6bf970a58 AUDIO: Miles Audio: pass strings via reference 2015-07-03 02:49:49 +02:00
Martin Kiewitz
03fbbbb3ae AUDIO: Miles Audio MT32: remove updateScreen-call
was added for testing purposes and was commited by accident
2015-07-03 02:12:16 +02:00
Martin Kiewitz
04146fc9b3 AUDIO: Miles Audio AdLib: fix instrument load code
clean up, uses separate non-const pointer for reading file
and a const pointer for actually parsing the data
2015-07-03 02:05:26 +02:00
Martin Kiewitz
1d173d4811 AUDIO: Miles Audio AdLib: fix comment
Sherlock Holmes was mentioned instead of Miles Audio
2015-07-02 13:35:54 +02:00
Martin Kiewitz
903309fbb7 AUDIO: Miles Audio AdLib: implement sustain
fixes broken music in Return To Zork (demo)
also added comments about those special cases (useful for testing)
2015-07-02 13:17:21 +02:00
Martin Kiewitz
50d9fb24d3 AUDIO: Miles Audio AdLib: init panning to 63
simon 2 + return to zork are getting output on one speaker only atm.
both games don't get panning controller at all and the original
driver itself definitely did initialize it to 0.
We initialize panning to 63, so that this gets fixed for the moment.
needs to get investigated further.
2015-07-02 12:53:20 +02:00
Martin Kiewitz
3bb36663f3 AUDIO: Miles Audio AdLib: timbre data via data-ptr
add ability to pass timbre data directly to the AdLib Miles
Audio driver as well
2015-07-01 01:28:24 +02:00
Martin Kiewitz
ff3218ac14 AUDIO: Miles Audio MT32: calculate sysex address
calculate sysex address properly
2015-06-30 17:55:47 +02:00
Martin Kiewitz
7c3574ed52 AUDIO: Miles Audio MT32: adjust sysex target address
sysex may not contain bytes above or equal 0x80, so we adjust
the address accordingly. fixes weird sound getting played
during 7th guest MT32 setup screen
2015-06-30 16:49:47 +02:00
Martin Kiewitz
f7ac1e944a AUDIO: XMIDI: implement support for TIMB chunk
implement support for TIMB chunk inside XMIDI-parser (forwarding of data to driver)
implement actual support for TIMB chunk inside Miles Audio MT32 driver
2015-06-30 16:05:01 +02:00
Martin Kiewitz
4c28682bcd AUDIO: Miles Audio MT32: fix embed. sysEx overflow
now an overflow of the embedded sysEx buffer will properly
execute a send.
2015-06-29 13:40:15 +02:00
Martin Kiewitz
f3df43dcbb AUDIO: Miles Audio AdLib: initialize variable
initialize currentPitchRange (although it was properly initialized
later anyway)
2015-06-29 13:37:34 +02:00
Martin Kiewitz
e8986239c5 AUDIO: Miles Audio MT32: fix patch addresses
also add warnings in case there are non-existant instruments
or no-non-protected timbre slots are available
2015-06-29 02:18:31 +02:00
Martin Kiewitz
333e4d3463 AUDIO: Miles Audio MT32: fix instrument installing 2015-06-29 00:21:14 +02:00
Martin Kiewitz
50b822c60e AUDIO: Miles Audio MT32: use #def for SysEx term.
use MILES_MT32_SYSEX_TERMINATOR instead of hardcoded 0xFF
missed one
2015-06-29 00:00:04 +02:00
Martin Kiewitz
0cf7e2421a AUDIO: Miles Audio MT32: use #def for SysEx term.
use MILES_MT32_SYSEX_TERMINATOR instead of hardcoded 0xFF
2015-06-28 23:58:25 +02:00
Martin Kiewitz
bd615bc334 AUDIO: Miles Audio MT32 embedded SysEx support
now supports embedded SysEx as well
used by 7th guest
2015-06-28 23:52:50 +02:00
Martin Kiewitz
32e8ec5b3a AUDIO: Miles Audio MT32 timbre file support
for games, that do not have a MT32 timbre file, simply pass an empty
filename to the Miles-MT32-factory.
2015-06-28 23:14:03 +02:00
Martin Kiewitz
d1fe3d1aa3 AUDIO: miles audio AdLib: fix left/right panning
channels were (wrongly) reversed
found and tested in discworld 1
2015-06-28 02:22:51 +02:00
Martin Kiewitz
0655839a4f COMMON: move Miles Audio AdLib+MT32 to common
- remove Miles Audio from Sherlock engine
- put Miles Audio into common audio (namespace Audio)
- Miles Audio is used at least by the engines
TINSEL, GROOVIE, TOLTECS, SAGA and KYRA
This way it can be used by the other engines
2015-06-27 22:44:39 +02:00
Martin Kiewitz
10741d5bd6 AUDIO: makeAIFFStream seek to start of dataStream
fixes non working audio when playing a File(Stream)
2015-06-07 00:30:15 +02:00
Matthew Hoops
b6fdc7be88 AUDIO: Make makeAIFFStream return a RewindableAudioStream
All callers requiring SeekableAudioStream have been adapted by using dynamic_cast
2015-06-06 17:20:41 -04:00
Matthew Hoops
7eb663a45b AUDIO: Fix another syntax error 2015-06-06 17:14:24 -04:00
Matthew Hoops
1cea582152 AUDIO: Fix syntax 2015-06-06 17:13:21 -04:00
Martin Kiewitz
97813f89ec SHERLOCK: rework 3DO audio, add AIFC file support
- rework 3DO audio decoders to decode into buffer only
- 3DO audio decoders also use streams without separate size arg now
- add support for ADP4 + SDX2 inside AIFC files
- add debug command "3do_playaudio" to play AIFC files
- remove audio flags and replace with stereo bool
2015-06-06 22:50:36 +02:00
Matthew Hoops
2f707bf207 AUDIO: Rewrite the AIFF decoder to support AIFC 2015-06-04 19:47:41 -04:00
Matthew Hoops
b986b44827 AUDIO: Do not read the entire AIFF buffer into memory 2015-06-04 19:47:37 -04:00
Matthew Hoops
4266d76ce4 AUDIO: Mark AIFF as being used by BBVS 2015-06-04 19:47:32 -04:00
Matthew Hoops
3d1da64249 AUDIO: Only expose makeAIFFStream to clients 2015-06-04 19:47:28 -04:00
Torbjörn Andersson
e71553af3b AUDIO: Add more engines that use wave.h that I missed before. 2015-06-05 01:37:02 +02:00
Torbjörn Andersson
34261b3fce AUDIO: Update list of engines that use wave.h 2015-06-05 01:32:39 +02:00
Martin Kiewitz
4dec07bf2d SHERLOCK: improve 3DO movie player, add SDX2 codec
- queue up to 0.5 seconds of audio to avoid buffer underruns
- support for SDX2 codec
- put both audio codecs into audio/decoders/3do.cpp
- made movie player capable of playing EA logo movie
2015-06-04 15:53:54 +02:00
Torbjörn Andersson
a3008e8f01 FMOPL: Fix confusing "opl_driver" behavior
The way I've configured ScummVM, the default is to use FluidSynth
for MIDI, and any game where I want AdLib overrides that setting.
I have set the DOSBox OPL emulator as the default.

However, this causes the game's "opl_driver" setting to be "auto",
which overrides the default setting, and usually picks the MAME
OPL emulator. To counter this, if it sees that "opl_driver" is
"auto", it will check the default setting.

In other words, only use "auto" if "opl_driver" isn't set on any
level. I think this is the behaviour that should cause the least
amount of astonishment.
2015-05-30 19:18:29 +02:00
Kirben
f58be61a3d AUDIO: Add patch from madmoose to fix arpeggio effect in ProTracker modules. 2015-05-22 10:30:38 +10:00
Thierry Crozat
5c7cc826f0 AUDIO: Skip ID3 tag at start of mp3 files
This fixes bug #6834 MP3: ScummVM doesn't skip ID3 tag at
beginning of file.
2015-04-05 21:17:06 +01:00
Matthew Hoops
d58f250918 AUDIO: Fix skipping samples when the skip length is greater than the first chunk 2015-01-26 19:54:32 -05:00
Filippos Karapetis
e34b5be8e3 MT32: Update to munt 1.5.0
This syncs with munt commit 4041a16a5d
2014-12-21 22:19:28 +02:00
Bastien Bouclet
200b05246c AUDIO: Wrap around in the Timestamp constructor
The "making of" video in the Xbox version of Myst III is
unusually long. VideoDecoder::FixedRateVideoTrack::getFrameTime
would trigger an overflow.
2014-12-20 19:38:18 +01:00
Einar Johan Trøan Sømåen
06c3a73289 AUDIO: Fix some Doxygen comments that seem wrong. 2014-08-29 03:29:13 +02:00
Matthew Hoops
d2bf7f99fd AUDIO: Really fix seeking with audio edits
I really have no idea what I was thinking in acb127c2
2014-08-14 20:16:14 -04:00
Eugene Sandulenko
6e794a9823 Merge pull request #487 from clone2727/audio_fixes
AUDIO: Miscellaneous AudioStream fixes
2014-08-09 15:33:50 +02:00
Matthew Hoops
dc155b23f0 AUDIO: Better handle endOfStream() vs endOfData() in SubSeekableAudioStream 2014-08-01 01:47:30 -04:00
Matthew Hoops
d8ef40879c AUDIO: Better handle endOfStream() vs endOfData() in SubLoopingAudioStream 2014-08-01 01:39:46 -04:00
Joni Vähämäki
1d12bddd63 AUDIO: Rename MP3Stream's _totalTime to _curTime to better reflect the variable's purpose. 2014-08-01 01:43:04 +03:00
Matthew Hoops
82d464367b AUDIO: Better handle endOfStream() vs endOfData() in LoopingAudioStream 2014-07-27 23:44:45 -04:00
Matthew Hoops
931e2e16f7 AUDIO: Fix endOfStream() for LimitingAudioStream 2014-07-27 23:44:45 -04:00
Matthew Hoops
6d632dda27 AUDIO: Better handle endOfStream() vs endOfData() in QueuingAudioStreamImpl 2014-07-27 23:44:44 -04:00
Matthew Hoops
d2353964b8 AUDIO: Fix QueuingAudioStreamImpl locking 2014-07-27 23:44:44 -04:00
Matthew Hoops
1b834f92bd AUDIO: Finish off AAC/QDM2 queues when done decoding a packet 2014-07-27 23:44:44 -04:00