Commit Graph
909 Commits
Author SHA1 Message Date
Ori Avtalion cd6ee0589d JANITORIAL: Format forward declarations to follow convention 2011-04-28 12:20:34 +03:00
Matthew Hoops 9d8874c707 AUDIO: Cleanup MS IMA handling
- Split The Last Express' ADPCM to the engine. Using the MS IMA routine was really a hack.
- Fixed stereo MS IMA ADPCM, the old routine was completely wrong.
2011-04-24 23:14:14 -04:00
Littleboy 09de68b045 RESIDUAL: Fix compilation with Visual Studio 2010
- Add colormap.h to the list of gfx_base.h includes (fixes an error in CMap parent class Object destructor)
 - Comment drawProgress() and drawMessage() as they call unimplemented OSystem methods
2011-04-25 05:45:12 +08:00
dhewg e19fe1c53f ASM: Defines do not get mangled 2011-04-23 03:39:38 +02:00
dhewg e15f9cc072 AUDIO: Fix Tremolo support
Include by used library, not by backend
2011-04-22 21:43:42 +02:00
athrxx b0008d2d33 FM-TOWNS AUDIO: fix memory leak 2011-04-21 20:22:12 +02:00
Johannes Schickel 7b4a4d9fa6 Merge pull request "New mixer mute handling."
See https://github.com/scummvm/scummvm/pull/12 for more information.
2011-04-18 15:59:34 +02:00
Pawel Kolodziejski 252d484434 common/sys.h -> common/scummsys.h to minimalize diffs with scummvm 2011-04-17 01:00:10 +02:00
Johannes Schickel 1d60b26687 AUDIO: Cleanup sound type settings handling in MixerImpl. 2011-04-16 18:32:14 +02:00
Johannes Schickel 6b0ccbb095 AUDIO: Renamed mute related functions in Mixer.
This renames setMuteForSoundType to muteSoundType and getMuteForSoundType to
isSoundTypeMuted.
2011-04-16 18:30:45 +02:00
Pawel Kolodziejski 99ee683308 cleanup headers 2011-04-16 14:08:33 +02:00
Alyssa Milburn d23150ff78 AUDIO: Name the ADPCM status struct. 2011-04-14 23:47:50 +02:00
Matthew Hoops 76105b29b7 AUDIO: Split the QuickTimeAudioDecoder into a new header file
(Mirroring the new adpcm_intern.h file)
2011-04-14 10:25:02 -04:00
Matthew Hoops f035c26301 AUDIO: Fix a typo 2011-04-14 10:20:51 -04:00
Max Horn 2e095e25f2 ALL: centre -> center 2011-04-14 14:34:28 +02:00
Pawel Kolodziejski 0640dcf2c7 synced with scummvm to 2011-Apr-13 2011-04-14 12:41:26 +02:00
Johannes Schickel 12a31200f2 AUDIO: Add per sound type mute flag setting to Mixer(Impl).
This also adapts our default implementation MixerImpl to handle the newly
added flags properly.

Now we do not need to set the sound volume for all types to 0, in case we want
to mute them, but instead just set the mute flag for all types to true. This
allows engines to be a bit more agonstic about mute support, when it comes to
volume options etc. since they can just setup any volume they like, but are
still muted (and thus will not break muting anymore).

MIDI sound is of course not affected by this.
2011-04-13 23:48:51 +02:00
Matthew Hoops 6d153f311c Merge remote branch 'upstream/master' into t7g-ios
Conflicts:
	video/qt_decoder.cpp
2011-04-13 16:04:29 -04:00
Matthew Hoops deb46ab38b AUDIO: Split the Intel DVI ADPCM into its own class
IMA is really just the definition on how to decode a sample from a nibble, DVI is just a way for those nibbles to be stored in the stream.
2011-04-13 09:45:13 -04:00
Max Horn 393c6f6ade AUDIO: Expose some internal ADPCM data tables 2011-04-13 12:48:57 +02:00
Max Horn e0a30e0039 AUDIO: Stop adpcm.h from including common/stream.h 2011-04-13 12:48:57 +02:00
Max Horn 7607e351cc TINSEL: Move custom ADPCM decoders to tinsel engine 2011-04-13 12:48:57 +02:00
Max Horn b9296a189e AUDIO: Expose ADPCM decoder internals via a new header
There are tons of ADPCM variants out there, and it is impractical to
stuff them all into a single adpcm.cpp file. By exposing the internals,
engines can implement their ADPCM decoder variants more easily.
2011-04-13 12:48:57 +02:00
Matthew Hoops 499753cbb8 AUDIO: Don't end the AAC stream if we still have buffered samples 2011-04-12 16:23:34 -04:00
Matthew Hoops 08b70fa1a7 AUDIO: Fix QuickTime/MPEG-4 seeking
MPEG-4 seeking was broken while QuickTime seeking was extremely slow. All is fixed now
2011-04-12 14:23:23 -04:00
Max Horn 0ce2ca4e00 COMMON: Replace MKID_BE by MKTAG
MKID_BE relied on unspecified behavior of the C++ compiler,
and as such was always a bit unsafe. The new MKTAG macro
is slightly less elegant, but does no longer depend on the
behavior of the compiler.
Inspired by FFmpeg, which has an almost identical macro.
2011-04-12 16:53:15 +02:00
Matthew Hoops 368e0e47b5 AUDIO: Remove unused variables 2011-04-10 18:20:53 -04:00
Matthew Hoops 9d0e5a7132 ALL: Add/update some comments 2011-04-10 15:11:03 -04:00
Matthew Hoops f9413e4dc2 AUDIO: Add support for AAC audio 2011-04-10 14:51:24 -04:00
Matthew Hoops 7c5dfaa04c COMMON: Parse the MPEG-4 esds atom 2011-04-08 22:46:19 -04:00
Matthew Hoops faee277978 COMMON: Add a DisposeAfterUse flag to QuickTimeParser 2011-04-08 17:04:29 -04:00
Matthew Hoops 88ebf13077 AUDIO: Allow for seeking in a QuickTimeAudioStream 2011-04-08 10:54:13 -04:00
Matthew Hoops 8cf73e3fb4 AUDIO: Split QuickTime audio into a new class
Standalone QuickTime files can now be played as an AudioStream
2011-04-07 19:40:07 -04:00
Max Horn 8c931fd1e8 AUDIO: Add Audio::MidiPlayer::createDriver(), let some engines use it 2011-03-28 18:06:36 +02:00
dhewg b8a118eb0c ANDROID: Use the midi gain option for EAS 2011-03-27 15:30:17 +02:00
dhewg 153e67b37c ANDROID: Maybe working support for EAS DLS soundfonts 2011-03-26 11:54:17 +01:00
dhewg 703af39be5 ANDROID: Add code to dump the EAS stream to a file 2011-03-26 11:11:32 +01:00
dhewg 41762892e0 ANDROID: Fix MIDI packet size
Instruments are now not reset to the grand piano due to trailing
zeroes.
Thanks to waltervn for noticing this.
2011-03-26 11:11:17 +01:00
Max Horn 6cc0aca5b2 AUDIO: Document issues with semantics of Audio::MidiPlayer::isPlaying() 2011-03-25 17:01:36 +01:00
dhewg 0e6cdfd675 ANDROID: Experimental MIDI Driver
Based on the SONiVOX® Embedded Audio Synthesis (EAS™) library, which is
part of the base Android OS.

CPU stats (Cortex A8 1GHz, monkey1 intro, peak values):
MAME OPL: 30%
DosBox OPL: 26%
EAS: 19%
2011-03-25 14:43:52 +01:00
Max Horn 7949d7c6de AUDIO: Move more common code to Audio::MidiPlayer
This also should fix some regressions from the previous
commits, related to MidiParser's either being leaked,
or being deleted and then used again (i.e., crashing).

I tested as many games as I had available, but further
testing of all affected engines is called for anyway.
2011-03-25 14:15:53 +01:00
Max Horn db3802b021 AUDIO: Whitespace fix 2011-03-25 14:15:52 +01:00
Max Horn 61ff5de0cf AUDIO: Rename 'channel' to 'ch' 2011-03-25 14:15:51 +01:00
Max Horn 62f5c475f3 AUDIO: Expand MidiPlayer docs / goals a bit, mention deadlock bug 2011-03-24 16:49:46 +01:00
Max Horn e9570c3a4b AUDIO: Added Audio::MidiPlayer class
This code is currently not complete, but contains enough code to
allow several engines to switch their pseudo MidiDrivers to be
based on this class, greatly reducing code duplication.
2011-03-24 16:46:46 +01:00
Max Horn c70c8864f1 AUDIO: Introduce a new MidiDriver_BASE base class.
The actual MidiDriver derives from it. MidiDriver_BASE only
provides the minimal API necessary for transmitting MIDI data.
The idea is that this is all MidiParser needs, thus allowing
us to simplify the various MidiPlayer classes in our engines.
2011-03-23 15:25:47 +01:00
Max Horn a539be098d AUDIO: Update some comments, remove some obsolete ones 2011-03-23 15:25:47 +01:00
Max Horn 8982fff1b7 AUDIO: Add pure virtual MidiDriver::isOpen() method
This in turn enables modifying MidiDriver_MPU401::close() to allow
it to be called on a midi driver that has not yet been opened.

The specific issue that triggered me to make these changes was a
crash-upon-quit in HUGO, caused by it instantiating a midi driver,
then encountering an error (missing hugo.dat) *before* having
opened the new midi driver; the general cleanup code then tries
to close the (not yet opened) midi driver -> kaboom

Also fixed some engines which were leaking MidiDriver instances.
2011-03-22 23:51:47 +01:00
dhewg bb12acfa0f AUDIO: Cleanup
Is it just me or is overwriting-but-not-marking-as-virtual
irritating?
2011-03-22 21:02:08 +01:00
dhewg 2def212de7 ALL: s/PI/M_PI/
Tip of the day: git grep -w PI
2011-03-19 11:24:06 +01:00