Commit Graph

205 Commits

Author SHA1 Message Date
Chris Apers
f05654662c No more needed
svn-id: r12559
2004-01-20 14:39:38 +00:00
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
81481ad6da more MAD MP3 / Ogg Vorbis cleanup: try not to expose anything about the libs used for MP3/Vorbis support -> this eases changing the implementations, and reduces header dependencies (and thus compile time) :-)
svn-id: r12097
2004-01-03 01:25:45 +00:00
Max Horn
96e2c239c4 removed SoundMixer::playMP3CDTrack; simplified makeMP3Stream (special variant with mad_timer_t was really only needed for MP3TrackInfo class)
svn-id: r12095
2004-01-03 00:55:28 +00:00
Max Horn
fabcb25a68 paranoia
svn-id: r11980
2003-12-27 21:31:41 +00:00
Max Horn
2755d9c00a add param to playInputStream which makes it possible to retain an input stream even after it has been given to the mixer for playback
svn-id: r11933
2003-12-26 02:19:31 +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
e9269257f3 turned PlayingSoundHandle into an 'opaque' (well not really :-) data type, mainly because people kept (accidentally and sometimes on purpose :-) misusing them
svn-id: r11881
2003-12-24 00:25:18 +00:00
Max Horn
43875b42fc Allow sound ID for MP3/Vorbis sounds, too; cleaned up Vorbis playback code a bit
svn-id: r11879
2003-12-23 19:14:57 +00:00
Torbjörn Andersson
cb782764b4 Fix warning generated by the incomprehensibly picky MinGW GCC compiler.
svn-id: r11858
2003-12-22 19:19:04 +00:00
Max Horn
e01c3e1b1d o Got rid of Channel::destroy() method (no more evil 'delete this', plus
slightly more efficient)
o Fixed potential memory leak in SoundMixer::playRaw
o Channel not anymore friend class of SoundMixer
o misc cleanup

svn-id: r11857
2003-12-22 19:08:19 +00:00
Max Horn
e439eb5129 added convenience SoundMixer::playVorbis variant which calls through to playSfxSound_Vorbis; made scumm/queen engines use it
svn-id: r11812
2003-12-21 15:47:52 +00:00
Max Horn
7fbb3e0559 Cleaned up SoundMixer::newStream() a bit (I plan to replace all usages of this by playInputStream(), this cleanup eases this a bit)
svn-id: r11803
2003-12-21 01:17:03 +00:00
Max Horn
ec0ebf5380 o Make use of the new LinearMemoryStream feature which allows auto-disposing the sound data
o This allows us to get rid of the ChannelRaw class
o Removed the sound index return value from several methods
o Removed all methods dealing with sound indices (i.e. stopChannel and pauseChannel)

svn-id: r11801
2003-12-21 00:44:31 +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
Chris Apers
3644176c43 PalmOS sound API cannot access globals data, StackLock constructor use g_system
svn-id: r11742
2003-12-18 11:51:58 +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
91997026a0 cleanup
svn-id: r11697
2003-12-17 01:57:37 +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
Max Horn
de51f631be cleanup
svn-id: r11686
2003-12-16 15:34:17 +00:00
Paweł Kołodziejski
1f99fbe77c cleanup whitespaces
svn-id: r11221
2003-11-08 23:05:04 +00:00
Joost Peters
6fc0cd7913 whatever
svn-id: r10959
2003-10-25 01:11:14 +00:00
Joost Peters
3ad14b06f5 added extra flag to mixer so we don't use free() on new'd pointers
svn-id: r10958
2003-10-24 23:09:01 +00:00
Max Horn
d4734bd4f2 use namespace Common a bit more; don't zero the RNG in scumm (else the seed gets reset); remove obsolete 256 color blending code
svn-id: r10592
2003-10-04 11:50:21 +00:00
Max Horn
9470c9f661 changed & documented the premixer semantics
svn-id: r10294
2003-09-18 16:01:33 +00:00
Torbjörn Andersson
bc90c04c25 Don't call the premix function when the mixer is paused. (This is
particularly noticeable in games with PC speaker emulation, but I could
hear faint noises in AdLib music as well.)

svn-id: r10262
2003-09-16 07:06:17 +00:00
Max Horn
eae239394c moved declaration of error/warning/debug from engine.h to util.h; added voc.cpp
svn-id: r10150
2003-09-10 12:19:57 +00:00
Max Horn
0be0196013 removed pauseMixer method from mixer, and renamed stop to stopChannel
svn-id: r10042
2003-09-06 10:47:30 +00:00
Max Horn
eac128f011 optimized channel volume/pan handling
svn-id: r10028
2003-09-05 23:27:11 +00:00
Max Horn
3aa8454efa moved the sound ID param in playRaw before volume/pan
svn-id: r10023
2003-09-05 22:09:56 +00:00
Max Horn
caf8e8f5fc oops
svn-id: r10021
2003-09-05 21:18:44 +00:00
Max Horn
11193b0746 cleaned up sound/mixer.h a bit; renamed some mixer methods for consistency
svn-id: r10018
2003-09-05 20:48:32 +00:00
Paweł Kołodziejski
7bc63a0ce3 fixes for uninitialized pan and volume
svn-id: r9998
2003-09-05 06:22:10 +00:00
Jonathan Gray
e17a451ac5 remove shadow'd var by using variable name from prototype
svn-id: r9979
2003-09-02 22:38:53 +00:00
Paweł Kołodziejski
7c4e678a87 moved volume and pan control into flow func
svn-id: r9976
2003-09-02 20:34:22 +00:00
Torbjörn Andersson
4b49daf3ff Fixed compiler warning that I introduced earlier.
svn-id: r9974
2003-09-02 16:51:51 +00:00
Torbjörn Andersson
f486997822 Added per-channel pausing. Maybe I should have named the pauseChannel()
function simply pause() to be consistent with stop(), but there already is
a pause() function and I don't want to have two functions with the same
name doing different things. (The current pause() function pauses all
channels.)

svn-id: r9968
2003-09-02 13:48:20 +00:00
Paweł Kołodziejski
db18d4657c forgot this
svn-id: r9957
2003-09-01 14:02:45 +00:00
Chris Apers
e6a0261c7e The channel could be destroyed so changeVolumeAndPan can't access it in that case
svn-id: r9955
2003-09-01 10:12:28 +00:00
Paweł Kołodziejski
2533b23a60 added mixer features: volume and pan control per channel
svn-id: r9944
2003-08-31 20:26:21 +00:00
Paweł Kołodziejski
c684a076ee revert id handle stuff
svn-id: r9927
2003-08-30 20:25:07 +00:00
Paweł Kołodziejski
9c05d44d00 added func isChannelActive for mixer, and fixed handling numbers of channel 0
svn-id: r9924
2003-08-30 18:12:49 +00:00
Robert Göffringmann
7f7b0af613 added SoundMixer::pauseChannels for pausing SFX and keeping adlib music running (needed by BASS when menu bar drops down)
svn-id: r9607
2003-08-09 19:19:27 +00:00
Max Horn
69ee268e7f some cleanup
svn-id: r9575
2003-08-06 17:13:04 +00:00
Max Horn
48d1739e0a some cleanup; added Channel::getVolume, once somebody tells me what exactly is needed, I can add per-channel volume, and also per-channel panning
svn-id: r9525
2003-08-05 23:03:42 +00:00
Max Horn
d618ace0c0 begone, old mixer code
svn-id: r9521
2003-08-05 21:46:56 +00:00