Commit Graph
541 Commits
Author SHA1 Message Date
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