Commit Graph
909 Commits
Author SHA1 Message Date
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
Joni Vähämäki 8564c7ec0a AUDIO: Increment total play time when decoding MP3 data. 2014-07-26 14:30:56 +03:00
Pawel Kolodziejski 022c027ab4 ALL: synced with ScummVM 2014-07-17 14:44:26 +02:00
Filippos Karapetis f953e3a435 MT32: Sync with the latest changes in munt
This syncs the code with munt commit fa8b4f899d, avoiding usage of a
global constructor
2014-07-13 17:12:04 +03:00
Johannes Schickel 32df9f7759 MT32: Comment out default showLCDMessage/printDebug implementations.
This keeps the original MUNT code in showLCDMessage/printDebug and simply
comments it out. This *silences* a warning about debug use in our former
default replacement code. Since we already implement a ReportHandler there
is no need to adapt the default implementation.

This is not the cleanest way but the solution which requires the least changes
to MUNT code.
2014-07-11 00:56:10 +02:00
Johannes Schickel f8d0a48dcd Revert "MT32: Avoid runtime abort due to non-POD object pass in MT32 Emulator."
This reverts commit 6731eb21e3.
2014-07-11 00:38:31 +02:00
D G Turner 6731eb21e3 MT32: Avoid runtime abort due to non-POD object pass in MT32 Emulator. 2014-07-10 23:11:20 +01:00
Filippos Karapetis 8c5f67568f MT32: Update to munt 1.4.0
This syncs with munt commit 175446af43
2014-07-08 00:02:18 +03:00
Filippos Karapetis 10c7986a36 MT32: Copyright year bump 2014-07-08 00:02:17 +03:00
D G Turner 9003ce517f AUDIO: Support 96kHz audio rates in ARM assembler rate conversion.
This should be the same changes as fuzzie's previous commit to the C++
version.
2014-06-01 21:58:28 +01:00
Pawel Kolodziejski 8759900b6a ALL: synced with ScummVM 2014-04-05 18:18:42 +02:00
Max Horn 4d02f67bd1 ALL: Resolve multiple clang warnings 2014-03-30 14:38:02 +02:00
Matthew Hoops 9630753861 COMMON: Move some QuickTime Track variables into SampleDesc where they belong 2014-03-18 19:12:20 -04:00
Johannes Schickel 0063c25805 AUDIO: Manually specify function alignment in ARM assembly. 2014-03-06 20:21:48 +01:00
Johannes Schickel 452cec49d9 AUDIO: Make GPL headers consistent in themselves. 2014-02-18 02:39:32 +01:00
Pawel Kolodziejski 0782a557c2 JANITORIAL: typo, sync debian rules 2014-02-16 15:27:43 +01:00
Pawel Kolodziejski 1d612eb865 ALL: synced with ScummVM 2014-02-16 15:01:08 +01:00
Alyssa Milburn f92df4c6aa Revert "AUDIO: Simplify MidiTracker::processEvent return value"
MI2 deletes the parser object(!) so we can't access any member
variables here. Thanks to athrxx for finding this.

This reverts commit 86c2fe47e0 and adds
a comment explaining why.
2014-01-27 00:20:50 +01:00
Alyssa Milburn 83ce4cfb5e Revert "AUDIO: fix invalid mem access in midiparser.cpp"
This broke SCI, since it doesn't call processEvent any more.

This reverts commit afa54072a9.
2014-01-27 00:08:57 +01:00
athrxx afa54072a9 AUDIO: fix invalid mem access in midiparser.cpp
(this caused a crash in MI2)
2014-01-26 22:51:39 +01:00
Pawel Kolodziejski 9098dfe9a2 ALL: sync with scummvm 2014-01-25 22:16:57 +01:00
Johannes Schickel 417064e311 Merge pull request #417 from digitall/STACK_fixes
ALL: Fix optimization unstable code on checking for null after new.
2014-01-17 17:48:16 -08:00
Johannes Schickel e00ae0918a AUDIO: Cleanup MT-32 code a bit.
This removes overwrites in ReportHandlerScummVM which are simply the default
implementation anyway. A side effect is that this silences/fixes a warning
about the former onProgramChanged to hide an virtual method due to parameter
differences.
2014-01-16 22:46:21 +01:00
Johannes Schickel 1eb10b1a46 AUDIO: Register EAS sound driver as plain sound type.
MIDI code will control volume via MIDI events thus the generated audio should
not be affected by mixer sound volumes.

The initial commit 0e6cdfd675 added it as music
sound type. Might be copied from the (also) incorrect FluidSynth code.
2014-01-16 22:21:39 +01:00
Johannes Schickel d99f23fb10 AUDIO: Register FluidSynth driver as plain sound type.
MIDI code will control volume via MIDI events thus the generated audio should
not be affected by mixer sound volumes.

The initial commit(s) in d4d045b117 /
13dc149ded added it as music sound type.
So, this seems to be a long standing issue.
2014-01-16 22:20:23 +01:00
Johannes Schickel 5ea87462e4 AUDIO: Register MT-32 emulator as plain sound type.
Formerly the audio stream was registered as sfx. This is incorrect behavior
since the client code will control music volume with MIDI events on its own.
It seems 67b311713d introduced this very long
ago.

This should fix unintended coupling of sfx volume and music volume in BASS.
2014-01-16 22:18:47 +01:00
D G Turner ac4087856f ALL: Remove optimization unstable code on checking for null after new.
These issues were identified by the STACK tool.

By default, the C++ new operator will throw an exception on allocation
failure, rather than returning a null pointer.

The result is that testing the returned pointer for null is redundant
and _may_ be removed by the compiler. This is thus optimization
unstable and may result in incorrect behaviour at runtime.

However, we do not use exceptions as they are not supported by all
compilers and may be disabled.

To make this stable without removing the null check, you could qualify
the new operator call with std::nothrow to indicate that this should
return a null, rather than throwing an exception.

However, using (std::nothrow) was not desirable due to the Symbian
toolchain lacking a <new> header.
A global solution to this was also not easy by redefining "new" as "new
(std::nothrow)" due to custom constructors in NDS toolchain and various
common classes.

Also, this would then need explicit checks for OOM adding to all new
usages as per C malloc which is untidy.

For now to remove this optimisation unstable code is best as it is
likely to not be present anyway, and OOM will cause a system library
exception instead, even without exceptions enabled in the application
code.
2014-01-15 02:36:19 +00:00
Pawel Kolodziejski b22d441a00 ALL: synced with scummvm 2013-12-08 13:25:24 +01:00
Johannes Schickel b22aeafcc8 AUDIO: Do not add extrapath to SearchMan in MT-32 emu code.
At the point where the emulator is created extrapath should already been
added to extrapath. If not, the check in checkDevice already failed and thus
adding it would be too late anyway.

It seems this was added in 805b21181a. The
comment about it being a HACK has been removed in bbad3f333a
but it's not clear to my why... At any rate, this should not be here.
2013-11-03 19:36:04 +01:00
Pawel Kolodziejski 790db038c0 ALL: sync with scummvm 2013-10-13 11:30:34 +02:00
Pawel Kolodziejski b1a04651a3 ALL: synced with scummvm 2013-10-13 11:04:29 +02:00
Filippos Karapetis eb84b9fc02 MT-32: Update to munt 1.3.0 2013-09-24 11:30:46 +03:00
Willem Jan Palenstijn 3792af8e95 AUDIO: Simplify SCI inFastForward flag by moving it to MidiParser 2013-09-21 09:31:08 +02:00
Willem Jan Palenstijn 86c2fe47e0 AUDIO: Simplify MidiTracker::processEvent return value 2013-09-21 01:08:26 +02:00
Willem Jan Palenstijn da81c59308 AUDIO: Let jumpToTick use processEvent too 2013-09-21 00:22:58 +02:00
Willem Jan Palenstijn 6c5a5cd8e9 AUDIO: Split event processing from MidiParser::onTimer
This is to prepare for overriding more of this functionality in SCI.
2013-09-21 00:22:56 +02:00
Filippos Karapetis 00992c1e68 MT-32: Sync with the latest changes in munt 2013-08-21 03:41:30 +03:00
Eugene Sandulenko 2c812ade01 Merge pull request #353 from clone2727/eventrec_timer_fix
ALL: Don't use EventRecorder at all when not compiled in
2013-07-18 08:15:28 -07:00
Pawel Kolodziejski f52da5c053 ALL: synced with scummvm 2013-07-16 22:11:39 +02:00
Sven Hesse 989ea7cb56 JANITORIAL: Remove trailing whitespace 2013-07-14 19:01:47 +02:00
Pawel Kolodziejski 068ff94d20 ALL: synced with ScummVM 2013-07-07 15:29:33 +02:00
Matthew Hoops 4a7e4e5b22 ALL: Don't use EventRecorder at all when not compiled in 2013-07-06 23:54:45 -04:00
D G Turner 9fb96a9256 AUDIO: Further fix to ReportHandlerScummVM::printDebug in MT32 code. 2013-07-06 04:05:22 +01:00
Johannes Schickel d7ff665737 AUDIO: Fix ReportHandlerScummVM::printDebug in MT32 code.
Formerly it tried to pass 'va_list' as '...' to debug. Now it's first creating
a String containing the output via String::vformat and then passing it
to debug.

Found by buildbot (master-dc). The warning message was:
audio/softsynth/mt32.cpp:65: warning: cannot pass objects of non-POD type
`struct va_list' through `...'; call will abort at runtime
2013-07-04 14:44:41 +02:00