Commit Graph

1235 Commits

Author SHA1 Message Date
Willem Jan Palenstijn
de341291aa remove 'HACK': don't use _cd.playing to indicate emulation
svn-id: r36029
2009-01-24 01:23:04 +00:00
Torbjörn Andersson
9e2f9b338f Removed a (hopefully) obsolete FIXME comment.
svn-id: r35690
2009-01-03 00:08:46 +00:00
Torbjörn Andersson
890808fa4b Rewrote to get rid of "condition is always false" warning.
svn-id: r35639
2008-12-31 15:23:08 +00:00
Filippos Karapetis
c7a2121add Added possible FIXMEs
svn-id: r35637
2008-12-31 15:09:32 +00:00
Filippos Karapetis
a8a4ba3a98 Prevent erroneous access of negative array indices
svn-id: r35633
2008-12-31 14:49:53 +00:00
Max Horn
6a2778cccc Fixed warning
svn-id: r35630
2008-12-31 13:59:00 +00:00
Torbjörn Andersson
6f24756a15 Fixed GCC warning.
svn-id: r35628
2008-12-31 13:05:26 +00:00
Filippos Karapetis
136390a540 Commented out part of the code that corrupts the heap for me
svn-id: r35627
2008-12-31 13:00:09 +00:00
Filippos Karapetis
cae6bdac08 Preliminary Shorten audio support for SAGA 2 games. It's still very wrong and needs further work, but it's a start
svn-id: r35626
2008-12-31 11:46:21 +00:00
Jordi Vilalta Prat
b1999a2a16 Fixed indentation and removed whitespaces at the end of line
svn-id: r35481
2008-12-22 11:22:15 +00:00
Jordi Vilalta Prat
c4f33dfb86 Custom percussion instruments for the AdLib MIDI driver (Slightly modified patch #2357165)
svn-id: r35439
2008-12-19 16:21:27 +00:00
Johannes Schickel
5fa38662e2 Whoops. Fix accidently wrong evaluation statement.
svn-id: r35337
2008-12-13 12:56:53 +00:00
Johannes Schickel
223a57a563 Cleanup.
svn-id: r35336
2008-12-13 12:45:53 +00:00
Johannes Schickel
9555ea8bc9 Fix for bug #2423449 "AGOS: Music Looping broken (regression)".
svn-id: r35335
2008-12-13 12:31:39 +00:00
Sven Hesse
052e83cd24 Okay, removing my implementation of AppandableAudioStream::getTotalPlayTime (I've apparently misunderstood its intent) and using Mixer::getSoundElapsedTime() instead
svn-id: r35317
2008-12-12 17:12:05 +00:00
Max Horn
59dc18d9ef cleanup
svn-id: r35214
2008-12-03 10:59:06 +00:00
Sven Hesse
30b6294d38 Apparently, constraining the number of mixing samples to be divisible by 4 is too strict, so I'm changing readBufferTinsel6() around a bit to allow for any number of samples (at the cost of adding 2 variables and a bit complexity ;))
svn-id: r35209
2008-12-02 21:58:48 +00:00
Johannes Schickel
2ebe04ac3e - Extended MidiDriver::sysEx to allow 264 byte sysEx messages
- Updated all drivers to allow 264+2 byte sysEx messages
- Implemented sysEx processing for MT-32 for Kyra1 and HoF. MT-32 should now be working properly.

svn-id: r35180
2008-11-30 04:42:30 +00:00
Johannes Schickel
893a79b01d Initial version of proper MIDI support for KYRA.
svn-id: r35174
2008-11-30 01:53:32 +00:00
Robin Watts
8f3b2e9b4d Remove warnings from NDS build.
svn-id: r35172
2008-11-29 18:01:16 +00:00
Max Horn
dd14e46698 Fixed a warning on the DS build, added some clarifying comments, reformatted the okiStepSize and imaStepTable tables (the former really is a subtable of the latter)
svn-id: r35106
2008-11-17 11:10:34 +00:00
Max Horn
1067a2ec77 Factoring shared code of template classes into a shared base class saves another 4-7kb code size
svn-id: r35104
2008-11-17 11:09:23 +00:00
Max Horn
be0f709be9 Saving 32kb DATA size
svn-id: r35103
2008-11-17 11:07:04 +00:00
Sven Hesse
b1fa413ed4 Implementing getTotalPlayTime() for AppendableMemoryStream
svn-id: r35098
2008-11-16 20:34:31 +00:00
Sven Hesse
24131d781a Added support for the ADPCM used in Discworld 2
svn-id: r35089
2008-11-15 19:40:01 +00:00
Johannes Schickel
cd5a85036d Fixed compiling of MT32 emulator with -O2 and -Werror.
svn-id: r35040
2008-11-13 11:41:25 +00:00
Max Horn
0c501d303f Verify sanity of LinearMemoryStream params in the factory function instead of the constructor (which is replicated for each instantiation of the LinearMemoryStream template class) -> saves some bytes
svn-id: r35014
2008-11-12 12:25:26 +00:00
Torbjörn Andersson
2bbc958373 Made getSoundElapseTime() work better when the sound has been paused. A new
variable, _pauseTime, keeps track of how long the sound has been paused since the
last mixer time stamp.

svn-id: r34955
2008-11-09 13:28:59 +00:00
Torbjörn Andersson
f71e1077e0 Fixed compile error.
svn-id: r34907
2008-11-05 21:10:12 +00:00
Max Horn
f32be87633 Turned enum PluginError into Common::Error, which in the future is to be used in more places. Help with this is highly welcome
svn-id: r34906
2008-11-05 17:24:56 +00:00
Max Horn
655ce26b3f Big patch changing the signature of various Stream methods (some ports may need to be slightly tweaked to fix overloading errors/warnings)
svn-id: r34514
2008-09-13 16:51:46 +00:00
Max Horn
0378201ec7 MT32 emu: eof -> eos
svn-id: r34390
2008-09-06 20:36:47 +00:00
Nicola Mettifogo
12106a1599 Removed useless dependencies from common/file.h in common code. When complete removal was not possibile, dependency has been pushed to the cpp files from the headers.
svn-id: r34343
2008-09-05 11:41:39 +00:00
Max Horn
5c72c2fca7 Removed unused readLine code from the MT-32 emu
svn-id: r34314
2008-09-03 17:46:42 +00:00
Max Horn
55a05dc0f4 Some cleanup by peres
svn-id: r34308
2008-09-03 15:22:19 +00:00
Filippos Karapetis
2d36c08d9f Fix for MSVC warning about ambiguous usage of MIN
svn-id: r34299
2008-09-03 10:10:45 +00:00
Max Horn
8032491381 Fix (?) Solaris detection in some workaround code in the MT-32 emulator
svn-id: r34216
2008-08-30 22:26:16 +00:00
Max Horn
31320430de Partial commit of patch #2012839: Atari Patch for adding Native MIDI and Fix Compile
svn-id: r34194
2008-08-27 18:52:21 +00:00
Torbjörn Andersson
d08c3ba66b Committed my patch #2040074 ("XMIDI callback control events"). At the moment, I'm
not aware of any game that actually uses this XMIDI feature, so its primary
function right now is to silence lots of warnings while running the DOS version
of Simon the Sorcerer 2.

svn-id: r33763
2008-08-10 17:59:42 +00:00
Max Horn
fb122a08eb Print a warning if unsupported XMIDI controllers are used
svn-id: r33495
2008-08-01 16:31:40 +00:00
Max Horn
0be985ce83 Changed class File (and derived classes) to only support read-only access; added a new class DumpFile for writing
svn-id: r33412
2008-07-29 16:09:10 +00:00
Max Horn
d24e770605 cleanup / code formatting
svn-id: r32973
2008-07-09 10:42:47 +00:00
Torbjörn Andersson
c2c4963e96 On reading some more about XMIDI, I believe the NEXT and BREAK variants of the
controller are mutually exclusive cases, i.e. a BREAK simply means forget about
the innermost loop, and continue as if nothing had happened.

svn-id: r32966
2008-07-08 16:25:39 +00:00
Torbjörn Andersson
ae026486ef Fixed silly error. The NEXT_BREAK event should, of course, jump to the event
*after* the FOR_LOOP event. Apart from simplifying things, this should allow
limited number of repeats to work.

svn-id: r32931
2008-07-06 19:25:32 +00:00
Torbjörn Andersson
1cc9af6b10 Implemented Good Enough(TM) XMIDI looping. This is used by Kyrandia 2 (the
loop hack is no longer needed, and has been removed), and will be used by
Discworld.

svn-id: r32930
2008-07-06 18:37:52 +00:00
Max Horn
c45d632f3b Patch ##1956946 (Audio::Mixer internal API revision) with some tweaks
svn-id: r32828
2008-06-28 15:28:29 +00:00
Johannes Schickel
d2ce912989 Fixed getTotalPlayTime implementation for MP3InputStream.
svn-id: r32755
2008-06-22 13:26:22 +00:00
Jordi Vilalta Prat
8eac356946 Added initial interface to list music devices and their types
svn-id: r32695
2008-06-13 16:04:43 +00:00
Jordi Vilalta Prat
177993b145 Renamed MIDI plugins to Music plugins
svn-id: r32693
2008-06-13 14:30:47 +00:00
Max Horn
33fd755a0e use kMaxChannelVolume instead of hardcoding 255
svn-id: r32666
2008-06-11 11:29:34 +00:00
Max Horn
63cb8227d3 Avoid some warnings when compiling in non-DEBUG mode (i.e. with assert() disabled)
svn-id: r32435
2008-05-31 19:35:37 +00:00
Johannes Schickel
9d13d90d4f - Cleanup code for FlacInputStream::getTotalPlayTime
- Reset input stream position in MP3InputStream after calculating total play time

svn-id: r32323
2008-05-27 13:28:47 +00:00
Johannes Schickel
e82295daa3 Implemented getTotalPlayTime for MP3InputStream.
svn-id: r32322
2008-05-27 13:15:51 +00:00
Jordi Vilalta Prat
2862a30dac Fixed some code formatting thanks to LordHoto
svn-id: r32275
2008-05-26 00:28:48 +00:00
Johannes Schickel
ff573ec1e2 Instead of simply returning 0 for "infinite" looping in FLAC and OGG/Vorbis streams in getTotalPlayTime return kUnknownPlayTime.
svn-id: r32265
2008-05-24 23:58:22 +00:00
Johannes Schickel
cff8ccccc9 Take numLoops in account for getTotalPlayTime in FLAC and OGG/Vorbis streams.
svn-id: r32264
2008-05-24 23:49:15 +00:00
Johannes Schickel
aba5082d19 Implementation of AudioStream::getTotalPlayTime for FLAC and OGG/Vorbis streams.
svn-id: r32263
2008-05-24 23:39:13 +00:00
Johannes Schickel
af7bc93c46 Made AudioStream::getTotalPlayTime virtual (Ooops :-)
svn-id: r32261
2008-05-24 22:59:20 +00:00
Max Horn
68fd8b74b0 Patch #1970427: AudioStream play length querying
svn-id: r32258
2008-05-24 22:41:15 +00:00
Max Horn
182ae52a98 typo
svn-id: r32245
2008-05-24 14:44:22 +00:00
Max Horn
9f12f0c450 Move makeAdlibOPL inside the #include guards
svn-id: r32193
2008-05-20 15:36:09 +00:00
Jordi Vilalta Prat
eb6c809d2b - Added more information (ID and capabilities) to the MIDI drivers
- Added the MidiPlugin interface to the remaining MIDI drivers
- Added an initial MidiManager to handle the MIDI plugins (just static plugins by now)

svn-id: r32117
2008-05-14 14:56:29 +00:00
Jordi Vilalta Prat
d942fd42bb Moved midiplugin.h to sound/ since it will be used for more than just the native MIDI drivers.
svn-id: r32097
2008-05-14 05:47:29 +00:00
Jordi Vilalta Prat
02fbdd1f05 Removed the remaining traces of the MorphOS ETUDE driver.
svn-id: r31994
2008-05-11 02:37:41 +00:00
Jordi Vilalta Prat
d696ed6ea2 Added the MidiPlugin interface (first step towards the MIDI plugins)
svn-id: r31993
2008-05-11 02:10:05 +00:00
Johannes Schickel
600ab40bca Changed all delete [] usages to delete[].
svn-id: r31927
2008-05-07 14:31:45 +00:00
Jordi Vilalta Prat
38a8aa516e Allow static and dynamic plugins to be used at the same time
svn-id: r31888
2008-05-06 03:00:26 +00:00
Torbjörn Andersson
15b4b62fbb Fixed comments.
svn-id: r31625
2008-04-20 19:02:34 +00:00
Max Horn
372d30c815 typo
svn-id: r31500
2008-04-14 12:08:00 +00:00
Travis Howell
27a39e7f12 Add cyx patch for bug #1915657 - ELVIRA1: Amiga crashes (paula.h:108).
svn-id: r31372
2008-04-03 23:41:24 +00:00
Max Horn
b0c6a12c81 Modified Patch #1925352: Memory leak fixes
svn-id: r31244
2008-03-26 19:29:33 +00:00
Max Horn
05b159609b Removed remaining traces of the dead MorphOS backend, which itself was removed about one year ago
svn-id: r31114
2008-03-12 18:42:47 +00:00
Max Horn
eb9f0dcbf8 Completed fix for bug #1523129 (SOLARIS: solaris 8 build broken)
svn-id: r30972
2008-02-26 17:03:10 +00:00
Robin Watts
2579136dd2 Another tiny speed tweak for fmopl.cpp; replace a division with a shift.
svn-id: r30968
2008-02-26 00:29:40 +00:00
Johannes Schickel
622076e15b Fixed warning on systems with unsiged char as default char type.
svn-id: r30953
2008-02-24 14:38:19 +00:00
Jordi Vilalta Prat
672a508bdd Added CAMD MIDI driver for AmigaOS4
svn-id: r30910
2008-02-20 17:07:58 +00:00
Robin Watts
890bca8f7e Tweaks to fmopl; same net effect overall, just faster.
Eliminate divisions, floating point, and mod operation from inner synth loop.

svn-id: r30896
2008-02-17 16:12:54 +00:00
Lars Persson
c098453ea1 Added template param to CLIP since implicit cast is not working 100% on all platforms. Target type is int32 so used that.
svn-id: r30760
2008-02-03 12:34:20 +00:00
Filippos Karapetis
97eb13c22f Corrected an off-by-one error introduced with the latest cleanups
svn-id: r30743
2008-02-02 18:31:07 +00:00
Filippos Karapetis
33a534b76c Cleanup
svn-id: r30738
2008-02-02 12:27:16 +00:00
Jordi Vilalta Prat
d6c34bdc4b Fixed the spaces before tabs.
svn-id: r30667
2008-01-28 00:14:17 +00:00
Jordi Vilalta Prat
66e9d4f5e8 Removed trailing spaces.
svn-id: r30664
2008-01-27 19:47:41 +00:00
Max Horn
2c8910ade8 This 'if' should not be necessary anymore
svn-id: r30254
2008-01-05 20:40:27 +00:00
Max Horn
89da803724 Fix for bug #1795755: LOOM/FLAC: Pauses (temporary lockups) after speech
svn-id: r30252
2008-01-05 20:38:16 +00:00
Torbjörn Andersson
2147f59e36 Converted some spaces to tabs.
svn-id: r30225
2008-01-05 08:17:39 +00:00
Oystein Eftevaag
1c88ab2c47 Enabling the SMUSH/sound ARM optimizations for the iPhone. Converting any numerical expressions in the asm to absolute values (moving the expression to comments) since the iPhone assembler can't handle them, and prepending an underscore to the exported symbols (with some preprocessor magic similar to the hq3x asm for handle ports where it's not needed)
svn-id: r30093
2007-12-31 01:50:18 +00:00
Neil Millstone
df33fdd79e Fix memory leak in audiostream (I think)
svn-id: r29940
2007-12-21 18:28:59 +00:00
Max Horn
00ce6ac98d Patch #1853322: Patch for Atari ST/FreeMint
svn-id: r29906
2007-12-19 14:03:53 +00:00
Sven Hesse
79e22d29f4 Adding a method to check whether a note currently playing
svn-id: r29856
2007-12-13 23:27:36 +00:00
Max Horn
09028cc7aa Fixed typos
svn-id: r29793
2007-12-09 14:53:15 +00:00
Chris Apers
55c07ca845 Use the same define as in C++ code
svn-id: r29781
2007-12-09 11:12:42 +00:00
Gregory Montoir
b7f9d4797d doc
svn-id: r29759
2007-12-08 09:20:18 +00:00
Gregory Montoir
65779599de reverted commit #29736 with a proper fix (I think) to fmopl code
svn-id: r29741
2007-12-06 21:11:26 +00:00
Filippos Karapetis
d4831be986 Slight cleanup and commenting of the ADPCM decoder
svn-id: r29682
2007-12-01 16:31:10 +00:00
Max Horn
2a339d8ea3 Don't use M_PI, rather use our very own PI constant
svn-id: r29567
2007-11-19 12:44:54 +00:00
Filippos Karapetis
24d1eff8e4 Define M_PI if it's not defined (seems not to be defined under MSVC)
svn-id: r29566
2007-11-19 00:45:58 +00:00
Sven Hesse
b1f6be7baa Moved Gob's square wave generator to sound/softsynth/pcspk.h
svn-id: r29564
2007-11-18 23:35:09 +00:00
Max Horn
7d984d1a67 factory functions should be documented at least roughly...
svn-id: r29560
2007-11-18 21:13:08 +00:00
Gregory Montoir
c76c6e2256 added rjp1 module specific pattern playback
svn-id: r29559
2007-11-18 20:27:31 +00:00
Gregory Montoir
c0cebe93bb skip silence VOC block (used in Igor)
svn-id: r29551
2007-11-18 06:24:40 +00:00
Max Horn
c8ce5b1865 Changed Audio::makeADPCMStream so that the stream passed to it can automatically be disposed
svn-id: r29517
2007-11-16 10:05:18 +00:00
Travis Howell
3cb8d404b5 Fix loading common sample data for modules in Waxworks.
svn-id: r29511
2007-11-16 03:37:15 +00:00
Max Horn
02b929e06e Patch #1816901: MT-32 emu: Low volume
svn-id: r29378
2007-11-02 16:10:53 +00:00
Max Horn
8eb73f2694 Patch #1815526: Add TiMidity++ MIDI server support
svn-id: r29377
2007-11-02 16:01:52 +00:00
Johannes Schickel
1bf448ac37 Add DMedia MIDI driver just to the list of MIDI drivers if on IRIX, since at least the code for it is just build on IRIX and not on every UNIX system.
svn-id: r29316
2007-10-29 21:41:50 +00:00
Max Horn
4630f49f48 Patch #1800085: small 'unknown control change byte 32' patch
svn-id: r29289
2007-10-28 13:55:16 +00:00
Max Horn
9998620379 Added support for more ROM versions, see FR #1820331
svn-id: r29269
2007-10-27 18:51:37 +00:00
Nicola Mettifogo
485b70b2b0 * Changed IFF/8SVX audio to use signed data (int8), and modified Parallaction accordingly.
* Implemented proper beep in Parallaction for Amiga.

svn-id: r29226
2007-10-15 20:20:50 +00:00
Max Horn
5a07c3c552 Patch #1804801: DMedia MIDI driver for IRIX
svn-id: r29142
2007-09-30 12:12:22 +00:00
Gregory Montoir
28c1f3fbb3 removed unused function, simplified handlePattern
svn-id: r29139
2007-09-30 11:16:25 +00:00
Robin Watts
9262b47dd2 Add PALMOS sections to ARM rate conversion sound code to preserve r10
for calls back into C/C++. 

svn-id: r29117
2007-09-28 09:38:08 +00:00
Johannes Schickel
88da0d4d00 Silence some warnings.
svn-id: r29086
2007-09-24 17:14:56 +00:00
Nicola Mettifogo
258901bab9 Merged common/stdafx.h into common/scummsys.h. All referencing files have been updated.
svn-id: r28966
2007-09-19 08:40:12 +00:00
Max Horn
664446f5d8 Fixed some more warnings
svn-id: r28948
2007-09-18 20:48:42 +00:00
Max Horn
4cc9d17c34 Adding various FIXME comments to bogus (non-self-explanatory) existing FIXME comments; and some other related cleanup
svn-id: r28890
2007-09-11 09:20:39 +00:00
Chris Apers
500481c4ec Cleanup: remove obsolete code (PalmOS 68K version not supported anymore)
svn-id: r28803
2007-09-01 19:13:04 +00:00
Filippos Karapetis
99a5545702 Reverted commit #28696, as the cause for it was different and has been fixed with commit #28697
svn-id: r28699
2007-08-22 22:43:47 +00:00
Filippos Karapetis
532c8c4230 Detach the player callback handler when the music is being unloaded. Fixes bug #1734416 - "AUDIO: ITE: Random crashes with the MIDI parser"
svn-id: r28696
2007-08-22 12:20:21 +00:00
Kari Salminen
ef1fca15f0 Removed extra commas from lookup-tables' ends.
svn-id: r28676
2007-08-20 10:43:07 +00:00
Travis Howell
d764dca90f Ooops, fix typo in last commit.
svn-id: r28257
2007-07-28 07:56:58 +00:00
Travis Howell
bb2796c57a Add support for multi-tune Protracker modules used in the Amiga version of Waxworks.
svn-id: r28256
2007-07-28 07:52:24 +00:00
Max Horn
19ad20c201 Don't be so strict about un-pausing sounds which are not paused currently
svn-id: r28163
2007-07-22 11:54:35 +00:00
Max Horn
11b2806741 Removed the old (obsolete) audiostream factories for MP3/Vorbis/FLAC data which took a File pointer and a size (these were only implemented as brain-dead wrapper around the newer factory methods anyway)
svn-id: r28110
2007-07-15 18:29:05 +00:00
Max Horn
19bb631e94 Fix looping effect (at least DrMcCoy says it fixes it somehow, and I trust him in that :)
svn-id: r27835
2007-07-01 19:59:42 +00:00
Max Horn
e1bcd70436 Re-added __attribute__(packed)
svn-id: r27830
2007-07-01 18:18:43 +00:00
Max Horn
f7041f94ce Once again rewrite Paula code (addings lots of comments, doing proper wrap around at the ends of samples and some other tweaks). More to follow
svn-id: r27828
2007-07-01 16:31:26 +00:00
Max Horn
e2ad271bd8 Removing non-ASCII chars from source code
svn-id: r27818
2007-07-01 12:47:07 +00:00
Max Horn
93b1a53c72 Changed semantics of Mixer::pause*() methods -- if you pause n times, you have to unpause n times before the sound resumes (this means pauseAll works correct in engines which selectively pause/resume single sounds)
svn-id: r27798
2007-06-30 21:02:58 +00:00
Max Horn
6290f0b20a Tabs -> spaces
svn-id: r27790
2007-06-30 13:40:52 +00:00
Robin Watts
b9c8c6c868 Update the ARM version of the rate conversion code, in line with Fingolfins
optimisatins of the C version last night. Saves about 5 cycles per sample.

svn-id: r27789
2007-06-30 12:54:07 +00:00
Max Horn
3535eaec20 Tweak LinearRateConverter code so that opos is in the range [0,1[ instead of [-1,0[ when entering the interpolation loop (this allows us to get rid of '& FRAC_LO_MASK')
svn-id: r27780
2007-06-30 00:03:32 +00:00
Max Horn
b62ef0496c Added small explanatory comment
svn-id: r27779
2007-06-29 23:33:16 +00:00
Max Horn
f058edf860 Switched Paula (Amiga MOD) code to use fixed point math instead of doubles (caveat: this only works for samples < 32k right now; if this ever turns out to be a problem, I can fix it, though)
svn-id: r27767
2007-06-28 22:21:32 +00:00
Max Horn
1a3724b59b cleanup
svn-id: r27765
2007-06-28 20:18:56 +00:00
Max Horn
5b75e49182 Fix a bad, bad out-of-bounds write in the Protracker code
svn-id: r27764
2007-06-28 20:15:10 +00:00
Max Horn
21aa642e7a Some optimizations to the Paula sound chip emu code (removing common sub expressions and stuff)
svn-id: r27761
2007-06-28 19:47:47 +00:00
Max Horn
6dfa44dbd5 Moved some fixed point code to its own header file; simplified the LinearRateConverter code a bit; corrected some comments; split makeRateConverter into two funcs (one of them being a template func), for easier maintenance
svn-id: r27760
2007-06-28 19:35:48 +00:00
Max Horn
2249db2c6d Started to refactor the Paula / Amiga MOD code: Made some stuff in class Paula private and added accessor APIs instead
svn-id: r27759
2007-06-28 17:42:57 +00:00
Max Horn
c69fe68112 Minor cleanup
svn-id: r27758
2007-06-28 16:39:04 +00:00
Robin Watts
b53cebe62d Fix for a stupid typo in yesterdays sound fill tweak.
This fixes bug 1743016. Thanks to erictorbjorn and md5 for pointing me at it.

svn-id: r27718
2007-06-25 21:09:08 +00:00
Eugene Sandulenko
22f06325d4 Patch #1742574: "GUI: Unify "Default" options text"
svn-id: r27698
2007-06-25 07:01:13 +00:00
Robin Watts
997253fe6a Small tweak to the readBuffer routines of sound/audiostream.cpp; by counting a
variable down we save 1 cycle per sample copied (at least) on most
architectures.

svn-id: r27693
2007-06-24 17:42:36 +00:00
Max Horn
a106f01d2f Remove useless startPlay override from ProtrackerStream
svn-id: r27692
2007-06-24 12:35:50 +00:00
Max Horn
61af086e8e Mod code cleanup
svn-id: r27690
2007-06-24 11:40:00 +00:00
Max Horn
e01c939229 cleanup
svn-id: r27501
2007-06-16 23:50:57 +00:00
Max Horn
1b28bd4644 cleanup
svn-id: r27500
2007-06-16 23:41:37 +00:00
Max Horn
a435757699 Avoid using the 'st_sample_t out[2]' arrays inside tight loops, as some compilers are bad at optimizing array access due to pointer aliasing
svn-id: r27499
2007-06-16 23:07:25 +00:00
Max Horn
b7412d21fd Tiny changes to help optimizer resolve array aliasing
svn-id: r27471
2007-06-16 17:12:08 +00:00
Max Horn
e44b518c23 Patch #1717419: Optimisation for sound rate conversion code
svn-id: r27470
2007-06-16 17:09:54 +00:00
Eugene Sandulenko
2f127122b3 Fix legal header for new files.
svn-id: r27468
2007-06-16 16:52:52 +00:00
Max Horn
6498d669d0 Patch #1721826: ARM asm versions of sound rate conversion/mixing code
svn-id: r27467
2007-06-16 16:46:13 +00:00
Max Horn
0d77f50d6b Removed dead code
svn-id: r27066
2007-06-03 15:56:14 +00:00
Max Horn
218e132e37 Updated legal headers in source files, based on what Pidgin (the IM client formerly knowns as Gaim) does; added new (incomplete) COPYRIGHT file; updated copyright dates in a few spots
svn-id: r27024
2007-05-30 21:56:52 +00:00
Johannes Schickel
86104e0bf0 Reverted r26922.
svn-id: r26967
2007-05-27 11:40:03 +00:00
Johannes Schickel
8ff17142c5 Simpilified Singleton implementation and usage.
svn-id: r26922
2007-05-22 14:17:44 +00:00
Gregory Montoir
e0159324cc some fixes for the music in Amiga OS Demo
svn-id: r26886
2007-05-20 11:50:06 +00:00
Gregory Montoir
620c8a5647 added Amiga SoundFx module player code, used by Amiga versions of the following Delphine Software games : Future Wars, Operation Stealth, Cruise for a Corpse and Another World
svn-id: r26869
2007-05-19 12:06:51 +00:00
Nicola Mettifogo
008042ac25 Implemented a IFF (Interchange File Format) parser and added subclasses to parse graphics (ILBM, PBM) and audio (8SVX), thus replacing old decoding routines. SAGA and Parallaction have been adjusted to work with the new code.
svn-id: r26719
2007-05-01 15:39:40 +00:00
Max Horn
4958b58622 Added a doxygen comment to makeProtrackerStream -- somebody who knows the code behind this please complete/enhance this
svn-id: r26616
2007-04-27 19:50:45 +00:00
Max Horn
d4660cce55 Removing more semicola
svn-id: r26597
2007-04-26 19:08:53 +00:00
Max Horn
00b9bc7b36 Removing lots of superfluous semicola (see mail by David Weinehall on scummvm-devel)
svn-id: r26594
2007-04-25 19:31:23 +00:00
Max Horn
82d7f4afa9 Patch #1701118: Remove non-english characters from ym2612.cpp
svn-id: r26551
2007-04-19 20:34:33 +00:00
Sven Hesse
e962db5b6d Some more supposedly unitialized variables (see bug #1700986)
svn-id: r26509
2007-04-15 16:30:54 +00:00
Max Horn
2aeb84f12a Got rid of the last traces of DigitalTrackInfo
svn-id: r26477
2007-04-14 18:51:38 +00:00
Max Horn
adb0f89ae3 Rewrote AudioCDManager to not use DigitalTrackInfo instances anymore, but rather create/use track AudioStream instances directly
svn-id: r26476
2007-04-14 18:48:09 +00:00
Max Horn
8f5abc1924 Extended Audio::openStreamFile function with startTime, duration and numLoops parameters, and slightly cleaned up its code
svn-id: r26471
2007-04-14 17:12:43 +00:00
Torbjörn Andersson
c51e87fdac When the appendable audiostream is done with a queued buffer, delete it as
documented.

svn-id: r26444
2007-04-09 19:49:03 +00:00
Torbjörn Andersson
41a5f70d72 I hope this fixes the file headers.
svn-id: r26428
2007-04-09 10:53:17 +00:00
Torbjörn Andersson
2d209264c9 Implemented enough of AIFF to play the music from the Broken Sword 1 demo. At
least as far as I tried it which, admittedly, wasn't very far.

svn-id: r26423
2007-04-09 09:58:41 +00:00
Neil Millstone
dca464b06e Changes to CPU local ram allocation for DS port
svn-id: r26395
2007-04-06 18:35:35 +00:00
Max Horn
f069c5e8ff Changed the MP3 playback code again, this time hopefully fixing the problems in the MI Amiga demo
svn-id: r26392
2007-04-06 17:16:49 +00:00
Max Horn
0df4d74ae6 Fixed looping of MP3 tracks (same problem as with the FLAC tracks)
svn-id: r26389
2007-04-06 13:28:33 +00:00
Max Horn
8a1cf1c2d0 Fix looping for FLAC tracs (looping parts of a file already worked, but looping until the end of data didn't)
svn-id: r26388
2007-04-06 13:16:53 +00:00
Johannes Schickel
013d576417 Added standard fileheader. (oops)
svn-id: r26286
2007-03-24 00:09:08 +00:00
Johannes Schickel
d1645e2fbf Commit of patch #1686414 ("Kyra: FM-Towns music").
svn-id: r26285
2007-03-24 00:04:08 +00:00
Max Horn
ed54ea9155 Moved Event/EventType/keyboard enum from common/system.h (part of class OSystem) to common/events.h (part of namespace Common). Porters may have to make minor changes to their backends to get them to compile again
svn-id: r26180
2007-03-17 19:02:05 +00:00
Max Horn
15d9bc42ea Force all code to use EventManager::pollEvent instead of OSystem::pollEvent
svn-id: r26156
2007-03-17 00:53:21 +00:00
Eugene Sandulenko
06c2976fa0 More fixes for MSVC8 warnings.
svn-id: r26063
2007-03-10 15:04:06 +00:00
Max Horn
69b8d7240a Removed obsolete comment
svn-id: r25956
2007-03-04 00:18:49 +00:00
Max Horn
200bb41bfd Updated comment
svn-id: r25929
2007-03-02 17:49:08 +00:00
Max Horn
029b8c4323 Changed the order of the parameters of makeLinearInputStream to resemble Mixer::playRaw; also made makeLinearInputStream honor FLAG_LOOP (and for this, changed its loop related params slightly)
svn-id: r25926
2007-03-02 15:26:22 +00:00
Max Horn
d8cf10926b Added a warning that the mixer FLAG_ enum should not be messed with, lest iMuseDigital saves will break
svn-id: r25925
2007-03-02 15:22:38 +00:00
Max Horn
c2dbd22692 Added reverseStereo parameter to Mixer::playInputStream; changed Mixer::playRaw to use Mixer::playInputStream
svn-id: r25923
2007-03-02 14:49:07 +00:00
Max Horn
6ee03e91c7 Rephrased a comment a bit
svn-id: r25914
2007-03-01 13:51:04 +00:00
Max Horn
8c8abca6f8 Changed the AppendableAudioStream code to use a queue of buffers, instead of a fixed size wrap-around memory buffer (this reduces memory usage in some cases by 500-700k, while actually being more flexible)
svn-id: r25909
2007-02-28 14:48:26 +00:00
Max Horn
6be027afab cleanup
svn-id: r25906
2007-02-28 12:54:59 +00:00
Max Horn
7f09562d08 Changed AudioStream::openStreamFile to use the modern variant of the audio stream factories (thus, the FLAC/Ogg/MP3 files it opens are not read completely into memory anymore)
svn-id: r25839
2007-02-24 23:53:35 +00:00
Max Horn
8366420474 Remove unneeded #includes
svn-id: r25838
2007-02-24 23:41:20 +00:00
Max Horn
b3931a847d Trying to unify the order in which we try the various audio formats: Prefer FLAC (lossless) over Ogg Vorbis ('free') over MP3 -- the order is admittedly somewhat arbitrary, but at least now it's consistent across all parts of ScummVM
svn-id: r25837
2007-02-24 23:40:28 +00:00
Max Horn
65b30d84a8 Added numLoops parameter to DigitalTrackInfo::play
svn-id: r25836
2007-02-24 23:19:53 +00:00
Max Horn
8052e2ce25 Add looping support to the FLAC decoder
svn-id: r25833
2007-02-24 22:14:48 +00:00
Max Horn
5e5b37534f Replaced variable buffer in the FLAC code by a fixed on
svn-id: r25832
2007-02-24 21:25:46 +00:00
Max Horn
e32d3cafed more FLAC code cleanup
svn-id: r25831
2007-02-24 21:13:30 +00:00
Max Horn
ebfb2c57e1 Removed FlacInputStream::deleteBuffer
svn-id: r25829
2007-02-24 19:54:54 +00:00
Gregory Montoir
11e679845d some fixes and additions for FOTAQ amiga versions
svn-id: r25825
2007-02-24 18:39:08 +00:00
Johannes Schickel
7612aa5ee1 fixed comments.
svn-id: r25797
2007-02-22 20:46:09 +00:00
Max Horn
f695b21d60 FLAC code cleanup
svn-id: r25796
2007-02-22 18:42:03 +00:00
Max Horn
52eebf9192 added yet another #pragma mark to the vorbis code (just for the sake of *my* text editor -- yeah, I'm selfish :-)
svn-id: r25795
2007-02-22 18:38:05 +00:00
Max Horn
4dae49e75a cleanup
svn-id: r25794
2007-02-22 18:35:57 +00:00
Max Horn
82ae8daccf Reduce chance for overflows in VorbisTrackInfo::play
svn-id: r25793
2007-02-22 18:33:01 +00:00
Max Horn
8ce7566c8d Updated FLAC code to match the changes made to the MP3 & Vorbis decoders (e.g. use a SeekableReadStream for input, allow specifying parts of a stream via time-valued parameters, etc.) -- note: looping is not yet implemented, even though it is already present in the API
svn-id: r25792
2007-02-22 18:21:01 +00:00
Max Horn
c3254cde9e If an AudioStream returned a negative number in his readBuffer() method, then CopyRateConverter::flow could have got stuck in a (quasi) endless loop
svn-id: r25790
2007-02-22 16:36:03 +00:00
Max Horn
f16ab37698 Added looping support and an enhanced factory function to the Vorbis code
svn-id: r25789
2007-02-22 14:30:12 +00:00
Max Horn
1c02ed60d0 cleanup
svn-id: r25788
2007-02-22 14:07:12 +00:00
Max Horn
2c1445056d Rewrote Ogg Vorbis code to be more flexible when it comes to seeking; also now playback from arbitrary SeekableReadStream data sources is possible
svn-id: r25784
2007-02-22 10:51:47 +00:00
Gregory Montoir
948630c3b4 added initial support for FOTAQ amiga versions
svn-id: r25769
2007-02-21 20:27:48 +00:00
Max Horn
cb40356a7b Revamed the Ogg Vorbis & FLAC DigitalTrackInfo subclasses to work similar to the MP3 one (i.e. only open the data file when about to play)
svn-id: r25757
2007-02-20 23:40:46 +00:00
Max Horn
42745b188e Added looping to the MP3 streams (currently virtually untested, so watch out)
svn-id: r25756
2007-02-20 22:18:48 +00:00
Max Horn
acdb32d84d Remove some leftover comments I made while writing the new MP3 code; make use of the new ReadStream::readStream() method in makeMP3Stream()
svn-id: r25755
2007-02-20 21:53:22 +00:00
Max Horn
227a080e5b Patch #1663933 (Kill premix channel) with a few tiny additional tweaks by me
svn-id: r25752
2007-02-20 18:50:17 +00:00
Max Horn
91f088bb8b Rewrote MP3InputStream mostly from scratch:
- added support for  proper time-based seeking (for now internally only)
- this should permit VBR encoded MP3 audio CD tracks to be used (not tested)
- Symbian specific hacks were removed, as they hopefully aren't needed anymore
  (not tested))

This change will is likely to introduce regressions, everybody please test all
cases where we allow using MP3 encoded data

svn-id: r25750
2007-02-20 17:57:49 +00:00
Max Horn
35b191bad9 Document AudioCDManager::play
svn-id: r25742
2007-02-20 16:13:45 +00:00
Max Horn
b162e0dc04 Cleaned up AudioCDManager::getCachedTrack (in particular, don't empty a slot in the track cache if we are not going to use it)
svn-id: r25740
2007-02-20 13:50:20 +00:00
Max Horn
0b2602e424 So far we only accepted track1.* as name for audio tracks -- now we also accept track01.* (we still only document the former naming scheme, intentionally)
svn-id: r25728
2007-02-19 18:17:38 +00:00
Gregory Montoir
604f0cac0a cleanup and fixed _module memory leak
svn-id: r25708
2007-02-18 21:56:52 +00:00
Gregory Montoir
18cab2cc65 added basic support for playing FOTAQ amiga modules files (rjp1) instead of MIDI (code is currently #ifdef'ed out).
svn-id: r25707
2007-02-18 21:46:40 +00:00
Chris Apers
17b14e44c7 Correct warned class name
svn-id: r25694
2007-02-18 18:03:57 +00:00
Max Horn
4db72c8762 Unified how we deal with (and how we generate) MIDI sysex messages -- in particular, we now always do so w/o framing the message (documented this with a Doxygen comment in the MidiDriver class)
svn-id: r25630
2007-02-16 13:30:41 +00:00
Max Horn
8cef52294c Fix for bug #1660559: MANIAC/ZAK: Music does not stop when pausing (regression)
svn-id: r25605
2007-02-15 12:47:09 +00:00
Eugene Sandulenko
0a56c312f1 Fix MSVC warning
svn-id: r25586
2007-02-14 16:45:25 +00:00
Sven Hesse
82e4318b02 Fixed a special case (frequency/rate > repeating sample length)
svn-id: r25521
2007-02-12 12:54:08 +00:00
Travis Howell
028d077e2b Enable stereo by default for all ProTracker mods.
svn-id: r25482
2007-02-11 02:47:02 +00:00
Sven Hesse
023591a77a The status variables are set explicitely in the constructor instead through one memset now, to avoid setting the SoundHandle to 0 as well (the first play() would then stop SoundHandle 0, which doesn't strike me as being correct)
svn-id: r25409
2007-02-07 16:27:43 +00:00
Sven Hesse
0ed752aa6e - Moved the specific interrupt frequency of 80 Hz out of class Infogrames into the GobEngine's Infogrames instances
- Changed the 80 Hz to 75 Hz, which is more true to the original

svn-id: r25389
2007-02-04 15:59:05 +00:00
Max Horn
cb49cbdd45 * Reimplemented Mixer::pauseAll to simply invoke pause on all channels
(implying change of semantics)
* Reordered the params of Mixer::playRaw (the SoundType now comes first, not last)
* Removed Mixer::isPaused
* Removed Mixer::getSoundElapsedTimeOfSoundID
* Added some doxygen comments to the Mixer

svn-id: r25356
2007-02-03 19:05:53 +00:00
Johannes Schickel
46609ad455 formatting.
svn-id: r25230
2007-01-27 22:03:33 +00:00
Sven Hesse
5dab7f823f Implemented some missing effects (arpeggio, sample delay, fine slides, finetune, pattern delay)
svn-id: r25229
2007-01-27 21:55:26 +00:00
Sven Hesse
7d1c2ecbb4 Ooops
svn-id: r25227
2007-01-27 17:53:56 +00:00
Sven Hesse
569136db75 Changed ProtrackerStream to inherit from Paula, unifying the mixing
svn-id: r25226
2007-01-27 17:32:54 +00:00
Travis Howell
20aca1092b Add changes from madmoose to fix initial song length.
svn-id: r25219
2007-01-27 00:33:38 +00:00
Max Horn
8205cd9d3d Removing two FIXMEs, based on what madmoose told me on #scummvm
svn-id: r25216
2007-01-27 00:11:15 +00:00
Max Horn
516cd07d10 Some cleanup / code formatting changes, and added some FIXME comments
svn-id: r25199
2007-01-26 11:47:26 +00:00
Sven Hesse
43fb2e6ed9 Moved Paula and Infogrames to sound/mods/
svn-id: r25191
2007-01-25 15:17:46 +00:00
Neil Millstone
9c12f89fc7 Changed size of sine table so it take less memory in cache RAM on DS port
svn-id: r24800
2006-12-01 22:44:19 +00:00
Torbjörn Andersson
a7950182f5 Changed the default instrument from "no instrument at all" to "the first
instrument in the instrument bank". It looks like Elvira 1 and 2 play music
without selecting any instruments first on some channels. This should fix bug
#1582389.

svn-id: r24657
2006-11-08 18:47:33 +00:00
Gregory Montoir
a8d7265c5e added basic handler for VOC block 9
svn-id: r24590
2006-11-03 21:03:12 +00:00
Max Horn
c718463a24 Added Audio::Mixer::setReady method to work around bug #1588848
svn-id: r24583
2006-11-01 21:28:14 +00:00
Max Horn
71763c3630 Modified version of patch #1584720 (add support for FLAC-1.1.3)
svn-id: r24554
2006-10-28 13:21:43 +00:00
Max Horn
a4a83df8a1 cleanup
svn-id: r24537
2006-10-27 22:47:53 +00:00
Travis Howell
99d6e6db5c Add patch to make ProTracker a subclass of AudioStream, from madmoose
svn-id: r24465
2006-10-23 01:37:59 +00:00
Max Horn
07f7761479 Backend modularization: Create timer manager, savefile manager and audio mixer in the backends for increased flexibility
svn-id: r24443
2006-10-22 15:42:29 +00:00
Max Horn
9edf1e6a1a cleanup
svn-id: r24407
2006-10-21 12:44:10 +00:00
Max Horn
772affc7db Yuck, mark abuse of OSystem::setSoundCallback
svn-id: r24404
2006-10-21 11:14:41 +00:00
Travis Howell
8c72861de4 Add option to load a module via stream
svn-id: r24387
2006-10-19 05:37:22 +00:00
Johannes Schickel
cf60ba63e9 some cleanup.
svn-id: r24374
2006-10-18 18:34:40 +00:00
Eugene Sandulenko
7282e24d3b Add WIP (not yet plugged in) Protracker modules player
svn-id: r24351
2006-10-16 22:20:46 +00:00
John Willis
9aa0984702 Fix GP2X ifdef error in initial patch. Sorry.
svn-id: r24257
2006-10-09 20:38:59 +00:00
Eugene Sandulenko
3d84f11046 Patch #1432376: "Very basic GP2X Backend"
svn-id: r24144
2006-10-06 19:01:39 +00:00
Eugene Sandulenko
8f44098332 Revert part of commit 23552 by agent-q. Apparently this slipped in by
mistake, as DS port sets FMOPL quality in ds/arm9/source/osystem_ds.cpp
void OSystem_DS::initBackend().

svn-id: r24046
2006-09-30 19:33:43 +00:00
Max Horn
4c14cf6d1a Moved base/engine.cpp and .h to engines/ (main motivation: helps untangle the linker dependency graph). Porters will have to update project files
svn-id: r23974
2006-09-23 00:42:35 +00:00