Commit Graph

54 Commits

Author SHA1 Message Date
Max Horn
033ff78ae9 updated copyright notice
svn-id: r12176
2004-01-06 12:45:34 +00:00
Max Horn
bfea71b0c4 renamed AudioInputStream -> AudioStream
svn-id: r12110
2004-01-03 14:10:13 +00:00
Max Horn
1805b07a48 simplification (possible since read() doesn't have to be efficient anymore)
svn-id: r12103
2004-01-03 02:30:34 +00:00
Max Horn
91f5f1687c logic fix: we must do wrap around *before* read, not after. otherwise eosIntern will in some border cases return wrong results; some cleanup
svn-id: r11932
2003-12-26 01:32:29 +00:00
Max Horn
859a9c0129 o Added SoundMixer::isReady()
o Removed SoundMixer::bindToSystem()
o In scumm, replaced _silentMixer, _silentDigitalImuse and _noDigitalSamples by SoundMixer::isReady()

svn-id: r11893
2003-12-24 17:42:22 +00:00
Max Horn
c55652d4a6 Rewrote make*Stream factory functions to work around bug in MSVC6 (see bug report #860067); added some comments; LinearMemoryStream now can auto-dispose the data passed to it
svn-id: r11798
2003-12-21 00:26:36 +00:00
Max Horn
d8903123b0 distinguish between end of stream and end of data
svn-id: r11756
2003-12-19 01:30:19 +00:00
Max Horn
d21fc5845d o Moved MP3 and Vorbis input streams to mp3.* resp. vorbis.*
o Added SoundMixer::playInputStream and made some of the other play* methods use it
o Added ProcInputStream stub (not working yet) which one day may allow us to replace the premix code, and allow other fancy stuff
o Remove AudioInputStream::readBuffer default implementation (subclasses should always provide it for max. performance)
o Some minor cleanup

svn-id: r11754
2003-12-19 00:32:47 +00:00
Max Horn
32dd4cc006 fix for recent audio stream regression
svn-id: r11752
2003-12-19 00:09:34 +00:00
Max Horn
e7bf167428 Made sure that *all* AudioInputStream 'know' their sample rate; removed pointless MusicStream class; removed various specific Channel subclasses and instead generalized the base class some more
svn-id: r11699
2003-12-17 02:19:24 +00:00
Max Horn
4343567458 changed the way 'streams' are handled: the finalization logic is now in the WrappedAudioInputStream; this allows further streamlining of the channel/mixer code (can you already guess what I am working towards? :-)
svn-id: r11696
2003-12-17 01:50:50 +00:00
Max Horn
d81746ada8 some cleanup
svn-id: r11694
2003-12-17 01:32:00 +00:00
Robert Göffringmann
5756a41ba6 added mixer flag for little endian samples
svn-id: r11665
2003-12-16 02:11:04 +00:00
Max Horn
8edcf3f1ca small tweak/fix (?)
svn-id: r11541
2003-12-09 23:01:36 +00:00
Paweł Kołodziejski
1f99fbe77c cleanup whitespaces
svn-id: r11221
2003-11-08 23:05:04 +00:00
Max Horn
be9d4066e1 moved engine.* to base; this fixes some linking issues when building a barebone ScummVM (or maybe I just want to increase our CVS stats? <g>)
svn-id: r10287
2003-09-18 02:07:18 +00:00
Travis Howell
123c9035cf Up debug level of this warning, since it floods output in loom
svn-id: r10131
2003-09-09 13:23:09 +00:00
Max Horn
57493197e8 small cleanup for the Ogg playback code
svn-id: r9852
2003-08-24 21:54:46 +00:00
Max Horn
ac6bd10c59 my code was actually right. Rather the calling code is evil, it passes us odd buffer sizes for 16 bit audio data, which of course made no sense -> I added some asserts against this
svn-id: r9590
2003-08-07 23:54:39 +00:00
Max Horn
f67b126f1d replace code in readBuffer by slightly less efficient but hopefully working code (at least it fixes an endless loop in COMI for me). I did fix the originaly bug in my optimization, and right now I clueless as to why that code isn't working as it should <sigh>. Need sleep
svn-id: r9588
2003-08-07 22:19:55 +00:00
Jamieson Christian
d8464534a5 Added comment to new macro
svn-id: r9581
2003-08-06 20:44:42 +00:00
Jamieson Christian
99716fc38e Changed readSample template function
to Fingolfin's new READSAMPLE macro.
Circumvents buggy template function
handling in MSVC6. Props to Fingolfin
for tracking this bug down by remote.

svn-id: r9580
2003-08-06 20:41:05 +00:00
Chris Apers
1a0d308e04 Fixed type mismatch error compiling palmos port
svn-id: r9552
2003-08-06 11:53:18 +00:00
Max Horn
7ff88ea392 more cleanup
svn-id: r9513
2003-08-05 18:17:26 +00:00
Max Horn
79fd7ee441 cleanup
svn-id: r9512
2003-08-05 18:12:59 +00:00
Max Horn
4c4aa4e957 fix bug #783423
svn-id: r9484
2003-08-05 11:30:13 +00:00
Max Horn
74188e6143 and finally VorbisInputStream::readBuffer. Once we verified the new readBuffer methods all work, we can get rid of readIntern again and merge those back into the regular read() methods
svn-id: r9476
2003-08-05 01:22:09 +00:00
Max Horn
1de064ee2c optimized MP3InputStream::readBuffer (once more, I won't gurantee for correctness although it seems to work fine over here)
svn-id: r9475
2003-08-05 01:14:27 +00:00
Max Horn
154ca4f2cf simplified code a bit
svn-id: r9474
2003-08-05 00:53:25 +00:00
Max Horn
b1d3b7ab99 optimized WrappedMemoryStream::readBuffer (It's almost 3 AM, so I don't trust myself, hence I'll leave this as an #ifdef for now :-)
svn-id: r9473
2003-08-05 00:50:15 +00:00
Max Horn
b96e5501e6 catch one potential problem, namely if eos is already reached when readBuffer is called ('This should never happen anyway', famous last words)
svn-id: r9472
2003-08-05 00:31:00 +00:00
Max Horn
d280258e09 renamed eof -> eos (end of stream); hid MP3/Vorbis stream classes completly (by providing factory methods); new readBuffer method for AudioInputStream for improved speed of the mixer; new MusicStream class (subclassed for MP3/Vorbis sound) which offers a getRate method; some other tweaks
svn-id: r9467
2003-08-04 22:15:16 +00:00
Max Horn
996d4f1391 fixed EOF handling of MP3 streams (subtract time from duration timer, instead of adding it...)
svn-id: r9464
2003-08-04 16:28:41 +00:00
Max Horn
c373ca107d slightly optimized MP3InputStream::eof, and some cleanup
svn-id: r9422
2003-08-02 18:13:37 +00:00
Max Horn
cc8465aa71 don't use asserts in these tight spots
svn-id: r9420
2003-08-02 17:27:17 +00:00
Max Horn
1f58fea232 converted ChannelMP3 to use new rate conversion scheme, too. Only thing missing now is FLAG_REVERSE_STEREO support (and of course fixing regressions, and the long term goal is to make resample.cpp usable, too)
svn-id: r9395
2003-08-02 02:41:31 +00:00
Max Horn
1cfa9d9029 let the input stream handle the looping (by pretending to be of infinite size -> this fixes a problem which cause 'gaps' at loop turn-over points)
svn-id: r9379
2003-08-01 16:32:11 +00:00
Max Horn
d9bd77032a implemented raw sound looping; some debug output enabled temporarily
svn-id: r9360
2003-08-01 12:49:24 +00:00
Max Horn
d8494d658b fixed MP3InputStream, now seems to work properly (kind of a surprise)
svn-id: r9345
2003-07-31 19:32:38 +00:00
Paweł Kołodziejski
e5e117006a back disable warnings into stdafx.h, vc6 is lack of warnings support
svn-id: r9337
2003-07-31 18:35:01 +00:00
Jamieson Christian
c5de745580 Disabled unknown pragma warning in MSVC-6.
svn-id: r9320
2003-07-31 06:47:05 +00:00
Max Horn
9b2d4f92aa removed the AudioInputStream::size method -> only eof() is really needed, and this can be implemented more efficiently stand-alone; implemented MP3InputStream (work in progress)
svn-id: r9313
2003-07-31 01:21:38 +00:00
Max Horn
6143058422 fixed incorrect MSVC fixes; simplified readSample code (bugs #780167 and #780420)
svn-id: r9302
2003-07-30 19:43:51 +00:00
Max Horn
26d05c0190 the VC warning for unknown pragmas is now gloabally disabled, no need to work around it locally
svn-id: r9300
2003-07-30 18:40:28 +00:00
Jamieson Christian
20d06e2c3d Fixed MSVC errors
svn-id: r9288
2003-07-30 09:26:54 +00:00
Max Horn
6b470390f7 cleanup
svn-id: r9281
2003-07-29 12:39:41 +00:00
Max Horn
45ebcdbde1 account for the data in the _buffer, too
svn-id: r9276
2003-07-29 03:02:25 +00:00
Max Horn
77eb284062 added VorbisInputStream
svn-id: r9271
2003-07-29 01:37:03 +00:00
Max Horn
c6a4a1d37d make wrapped stream work (I can hear some music in CoMI now before it segfaults :-)
svn-id: r9258
2003-07-28 18:01:56 +00:00
Max Horn
13eee4b06f rewrote the input streams, this should be more straightforward and inline slightly better (the fact that the main AudioInputStream methods are virtual still means that no inlining can take place there; but of course, if we did change that, all the rate converters would have to exist in 8, instead of currently 2, compiled versions)
svn-id: r9256
2003-07-28 17:28:29 +00:00