Max Horn
0c47e125af
simplified code
...
svn-id: r9061
2003-07-17 20:44:36 +00:00
Max Horn
d31942c898
oops
...
svn-id: r9023
2003-07-14 20:45:33 +00:00
Max Horn
33e6989944
removed whitespaces at line ends; added stopHandle
...
svn-id: r9022
2003-07-14 20:09:14 +00:00
Chris Apers
8b27f60434
Fixed RTTI warnings with PalmOS port
...
svn-id: r8951
2003-07-12 17:43:39 +00:00
Max Horn
1e0b7aaa16
verify chan != 0 even on WinCE
...
svn-id: r8940
2003-07-12 11:33:13 +00:00
Nicolas Bacca
72c8e0d96b
Give sample rate to channel classes (WinCE downsampling) / Do not use dynamic cast with EVC 3 / Fix Tremor Ogg support
...
svn-id: r8937
2003-07-12 10:12:41 +00:00
Jamieson Christian
8b8b964aad
Reverted to "old" YM3812 (FMOPL) emulator code.
...
Until specific information regarding the benefits
of migrating to the new emulator can be made
available, the "old" code will remain in effect
for the benefit of slower hardware platforms such
as some WinCE-based devices.
svn-id: r8903
2003-07-11 07:14:21 +00:00
Jamieson Christian
4ac4d76718
Fix for Bug [766426]: V5 Games: Adlib SFX not looped
...
Modified Smart Jump logic to deal with active notes
whose Note On and Note Off events BOTH occur OUTSIDE
the range of the jump. While this is not a thorough
way to deal with Note On events that occur outside
jump points, it at least deals with the issue of
long, unchanging Adlib SFX used by some earlier
SCUMM games.
svn-id: r8892
2003-07-10 04:34:44 +00:00
Max Horn
d25041859d
#include scummsys.h so that our custome free() gets used
...
svn-id: r8849
2003-07-07 23:11:09 +00:00
Max Horn
7e4fa4a1da
mix() is really a private method, only to be called by the audio thread; cover setupPremix by the mutex, too (that helps preventing race conditions upon exit)
...
svn-id: r8809
2003-07-06 17:00:09 +00:00
Max Horn
b6c3d440b5
now that we mutex-protect everything properly, we can get rid of _toBeDestroyed; also, instead of keeping a global _handles array in the mixer, let each Channel manage its own handle
...
svn-id: r8808
2003-07-06 16:52:09 +00:00
Max Horn
77b9a4f61e
the mutex must be locked by everything which might access _channels while the mixer thread is running, because the mixer thread may modify _channels
...
svn-id: r8805
2003-07-06 15:57:33 +00:00
Travis Howell
817d600d8e
More fixes from Hibernatus
...
svn-id: r8792
2003-07-06 06:36:26 +00:00
Max Horn
5c17c0f7a7
cleanup to the mixer helper proc interface and to ChannelStream
...
svn-id: r8785
2003-07-06 01:43:40 +00:00
Max Horn
e993f1d231
protect calls to insertChannel with mutex, too (and switch to using StackLock)
...
svn-id: r8782
2003-07-05 16:01:55 +00:00
Max Horn
d098334fe6
updated code to use type MutexRef; added class StackLock (from sdl backend, now in util.*)
...
svn-id: r8777
2003-07-05 15:19:11 +00:00
Paweł Kołodziejski
1ed639aedb
hack for proper compile for vc6, why I need this ?
...
svn-id: r8763
2003-07-05 05:31:04 +00:00
Robert Göffringmann
3aa048d710
make SoundMixer::playRaw only check sound IDs if you actually pass one
...
svn-id: r8746
2003-07-04 20:08:02 +00:00
James Brown
a4b61ddaba
Prevent apparantly possible race condition. I don't get this stuff, and I don't see why the next call to insertChannel is immune to the same theoretical problem :)
...
svn-id: r8742
2003-07-04 14:49:51 +00:00
James Brown
093a31839b
Insert preliminary Zak256 sound looping support. It's not perfect, as some Zak256 sounds only loop a part of the sample - which our mixer API doesn't yet support.
...
svn-id: r8741
2003-07-04 14:10:44 +00:00
Max Horn
c60e1aeb86
cleanup for -Wundef
...
svn-id: r8726
2003-07-03 22:05:22 +00:00
Max Horn
01f992db9b
cleanup (code easier to read; slightly less rounding errors for the volume; and on BE systems, READ_BE_UINT16 is actually faster ;-)
...
svn-id: r8706
2003-07-02 10:50:04 +00:00
Paweł Kołodziejski
9385979376
fixed warning
...
svn-id: r8664
2003-06-27 05:02:01 +00:00
Max Horn
0efc3b2adb
cleanup
...
svn-id: r8645
2003-06-24 23:36:05 +00:00
Paweł Kołodziejski
9d09b77f21
fixed warnings
...
svn-id: r8613
2003-06-22 14:30:32 +00:00
Max Horn
3883de39a9
d'oh
...
svn-id: r8611
2003-06-22 14:17:44 +00:00
Max Horn
c03fb13a0b
fixed Vorbis CD track code
...
svn-id: r8610
2003-06-22 13:52:40 +00:00
Max Horn
b4ce216327
don't memset the output buffer to 0 if _eof_flag is set; rather, we should 'add 0' to every byte in the output buffer, i.e.: do nothing
...
svn-id: r8609
2003-06-22 13:50:46 +00:00
Max Horn
d2b61e9bef
properly init member vars instead of using memset
...
svn-id: r8608
2003-06-22 13:48:47 +00:00
Max Horn
4ead10e4d5
Change names of the stream API in the mixer; added endStream method (stop() halts stream immediately; endStream() lets it first finish playing)
...
svn-id: r8603
2003-06-22 11:47:03 +00:00
Jonathan Gray
0a6b7ad6ac
fix compile when vorbis is enabled, loomcd is now broken with vorbis after recent changes :/
...
svn-id: r8598
2003-06-22 03:54:43 +00:00
Max Horn
4ad5a183ce
renamed SoundMixer::hasActiveChannel->hasActiveSFXChannel, and fixed the regression in it caused by removing _beginSlots (I hope); added isActiveChannel method used by scumm/sound.cpp (this allowed me to move the Channel class from mixer.h into mixer.cpp); replaced Channel::soundFinished method by isActive
...
svn-id: r8597
2003-06-22 01:55:53 +00:00
Max Horn
573a1e3e99
remove the realDestroy methods and instead use destructors; renamed insertAt to insertChannel and simplified/unified its usage; delete the mutex when exiting; cleanup
...
svn-id: r8596
2003-06-22 01:34:28 +00:00
Max Horn
bd4370c251
lots of mixer cleanup / refactoring / reengineering
...
svn-id: r8594
2003-06-21 23:29:34 +00:00
Max Horn
7c332d7fdb
modified & cleaned up the playStream/append code a bit; but this API really could stand some refinement
...
svn-id: r8592
2003-06-21 21:17:08 +00:00
Max Horn
11b2961fdb
cleanup
...
svn-id: r8584
2003-06-21 19:52:12 +00:00
Jonathan Gray
2ba86fd0e5
make gcc happy
...
svn-id: r8583
2003-06-21 15:55:08 +00:00
Jamieson Christian
f83a32464c
Fix for bug [756555] ALL: With '-ewindows' notes don't stop at quit
...
and bug [755176] SIMON2: Hanging notes
More cleanup of the thread issues associated with iMuse and MidiParser
shutdown. Untested.
svn-id: r8546
2003-06-18 22:46:17 +00:00
Marcus Comstedt
2aed2d9284
Use stdafx.h instead of manually including system headers.
...
svn-id: r8541
2003-06-18 21:10:05 +00:00
Max Horn
fcc46ac891
more cleanup
...
svn-id: r8497
2003-06-15 01:56:47 +00:00
Max Horn
6f50feb359
fixed cast warnings
...
svn-id: r8435
2003-06-11 07:14:39 +00:00
Jamieson Christian
01ba60ccef
Fixed post-mortem attempts to transmit MIDI data
...
svn-id: r8433
2003-06-11 06:43:24 +00:00
Jamieson Christian
d2c952b315
Fixed race condition in MPU401 shutdown
...
svn-id: r8432
2003-06-11 05:54:46 +00:00
Max Horn
f7e85af552
use clear_sound_proc to properly deinit the mixer (this fixes a crash-on-exit)
...
svn-id: r8410
2003-06-09 01:19:44 +00:00
Bertrand Augereau
17e6779b65
Made some conversions explicit to prevent VC.NET 2003 from complaining
...
svn-id: r8254
2003-06-01 21:52:53 +00:00
Jamieson Christian
42f6d10581
Fixed hanging notes on Smart Jump when Note Off event cannot be found.
...
(I'm not sure why the Note Off would not be found,
but at least we're properly dealing with such notes now.)
svn-id: r8250
2003-06-01 18:24:10 +00:00
Jamieson Christian
86138eda44
Documentation corrections
...
svn-id: r8224
2003-06-01 04:06:24 +00:00
Jamieson Christian
452735e320
Some last SysEx cleanup.
...
svn-id: r8223
2003-06-01 04:05:13 +00:00
Jamieson Christian
6aba98450b
Some Doxygen documentation. Just to test.
...
svn-id: r8195
2003-05-31 22:04:21 +00:00
Max Horn
e08d4f072e
more OSystem docs & cleanup
...
svn-id: r8118
2003-05-29 22:34:35 +00:00