aboutsummaryrefslogtreecommitdiff
path: root/sound
AgeCommit message (Collapse)Author
2010-10-30ALL: Add code to help stop people from accidentally using "bad" APIsMax Horn
A new header file common/forbidden.h is included by scummsys.h and it re-#defines numerous symbols like fopen(), fread(), system(), etc. with garbage, in order to provoke compile errors in any code using them. If a .cpp file really *must* use any of these (e.g. because it is a backend file), then these redefinitions can be disabled by #defining FORBIDDEN_SYMBOL_ALLOW_ALL as the first thing in the .cpp file. Whenever this is done, an explanatory comment should be added. Note that this system cannot catch all "bad" usages (notably the Lua code in the sword25 engine), as it can only work if scummsys.h is included. svn-id: r53961
2010-10-29MT32: Remove useless cast.Johannes Schickel
svn-id: r53916
2010-10-24GUI/LAUNCHER: improved MIDI device selection (also #3088438)Florian Kagerer
This fixes an issue with the <default> setting in the GM and MT-32 device tabs that has caused some complaints and discussions on -devel. It might also be what bug #3088438 is about. With a <default> setting ScummVM would just use the first available MIDI device (even if this is the not really well working MT-32 emulator). This <default> setting was also indeed set by default - making it even more annoying. Now there is a new setting for both the GM and MT-32 device tabs ("Don't use GM/MT-32 music"). This will cause MIDI device detection to be skipped and the best of the other devices (Adlib etc.) to be used. This new setting is used as default. So users who haven't specified anything will get Adlib, PC Speaker etc. (if supported by the engine) even if the engine prefers Midi. There is a new "Use first available device" setting which will have the same effect as the "<default>" setting we had before. svn-id: r53771
2010-10-24ALL: code formatting fixesMax Horn
svn-id: r53764
2010-10-24ALL: Fix various typos (patch #3093266)Max Horn
svn-id: r53762
2010-10-18FM-TOWNS AUDIO: improve thread safetyFlorian Kagerer
svn-id: r53589
2010-10-18SOUND: Add support for LastExpress version of IMA ADPCM sound.Eugene Sandulenko
Patch by littleboy. svn-id: r53578
2010-10-12JANITORIAL: Cleanup (mostly whitespace)Torbjörn Andersson
svn-id: r53161
2010-10-12JANITORAL: Clean trailing whitespaces.Jordi Vilalta Prat
svn-id: r53160
2010-10-10FM-TOWNS AUDIO: improve thread safetyFlorian Kagerer
svn-id: r53126
2010-10-10MIDIDRV: Prefer PCjr over PC SpeakerTorbjörn Andersson
If I understand this correctly, if the player's desired music driver isn't supported (e.g. if you have MIDI as default, and haven't said anything specifically for Maniac Mansion), it tries to pick the "best" supported music driver instead. In this case, check if PCjr is supported before picking PC Speaker. svn-id: r53105
2010-10-08SCUMM/FM-TOWNS: fixed threading issue in sfx codeFlorian Kagerer
svn-id: r53074
2010-10-07SCUMM/FM-TOWNS: improved sfx support for indy4 and monkey2Florian Kagerer
svn-id: r53052
2010-10-05PC98 AUDIO: cleanup as suggested by sev (see devel)Florian Kagerer
svn-id: r53031
2010-10-04FM-TOWNS AUDIO: minor fixFlorian Kagerer
svn-id: r53017
2010-10-03PC-98 AUDIO: some code size reduction for the NDS portFlorian Kagerer
svn-id: r52994
2010-09-22KYRA PC-98: fix endianess in music frequencyFlorian Kagerer
svn-id: r52855
2010-09-18JANITORIAL: Removed most punctuation at end of warning() and error()Torbjörn Andersson
Our warning() and error() functions always add an exclamation mark to the end of the message anyway. svn-id: r52791
2010-09-17CMS: Some constification.Johannes Schickel
svn-id: r52782
2010-09-17CMS: Change an incorrect error into debug output.Johannes Schickel
svn-id: r52780
2010-09-17SOUND: Properly add CMS as plugin.Johannes Schickel
svn-id: r52779
2010-09-17SOUND: Move CMS emulator to sound/softsynth.Johannes Schickel
svn-id: r52778
2010-09-15MIDI: Send a reset MIDI device signal on startup.Johannes Schickel
This is currently done in the engine code. I adapted AGI, AGOS, DRACI, GROOVIE, LURE, MADE, QUEEN, SAGA, SKY, TINSEL and TOUCHE to send a reset device on startup. The sound output still works fine (started up a game from every engine), so this should hopefully not introduce any regressions. As far as I can tell it seems that SCUMM does send a proper device reset, so I did not touch it. KYRA only sends a proper reset for MT-32 currently. I am not sure about SCI though. This fixes bug #3066826 "SIMON: MIDI notes off when using RTL after SCI". svn-id: r52736
2010-09-06COMMON: Some style fixes.Johannes Schickel
svn-id: r52609
2010-09-04SOUND: Remove semicolonOri Avtalion
svn-id: r52522
2010-09-04FM-TOWNS AUDIO: minor fix in cd audio volume settingFlorian Kagerer
svn-id: r52521
2010-09-02FMTOWNS AUDIO: fixed divide by zero exception from commit 52013Yotam Barnoy
Also removed 1 or 2 float operations. svn-id: r52492
2010-08-24SOUND: New global define AUDIO_REVERSE_STEREO.Andre Heider
This reverses the stereo channels for all sfx streams, meant for hardware devices which expect an inverse order. Use it for the Wii and Gamecube port since it's reversed since day one :P svn-id: r52357
2010-08-22MP3: Fix seeking.Johannes Schickel
Formerly we did not read the first chunk of MP3 data after seeking. This resulted in incorrect sound output in the Freddy Pharkas demo when the sound was compressed with MP3 for example. svn-id: r52272
2010-08-20FM-TOWNS AUDIO: fix possible crashFlorian Kagerer
(This crash might have occured on very slow machines or when using valgrind) svn-id: r52245
2010-08-20KYRA/TOWNS: fix memory leak and some cleanupFlorian Kagerer
svn-id: r52232
2010-08-18SCUMM/FM-TOWNS: start rewriting audio codeFlorian Kagerer
- Start rewriting audio code for FM-TOWNS versions of Loom, Indy3 and Monkey Island 1 using the recently added code in towns_audio.cpp (Zak should work the same way, but I can't test, since I don't own that one). - All sound types (pcm, euphony and cd audio) now support volume and balance control (e.g. try walking into/out of the kitchen and opening/closing the door in the Scumm Bar in Monkey Island 1 or walking into/out of the circus tent). - Pcm sounds now support proper loop start/end and note offsets (e.g. try out the hammer sound in the forge in LOOM for example). - some other minor improvements - The FM-Towns versions of Indy 4 and Monkey Island 2 are not affected. I don't have Monkey Island 2, but I presume that it will work like Indy 4. Adding support for these will be a separate task, since they work quite differently. svn-id: r52198
2010-08-11FMTOWNS AUDIO: fix cda volume and balance controlFlorian Kagerer
svn-id: r52013
2010-08-11Use tabs instead of spaces for indentation.Eugene Sandulenko
svn-id: r51997
2010-08-11GUI: add music devices for c64, amiga and apple II gsFlorian Kagerer
These devices are not able to create appropriate drivers. The only purpose for now is having proper gui options and flags and music types for the device detector. The corresponding GUIO flags for the new devices have been added, too. svn-id: r51995
2010-08-08KYRA/TOWNS: some minor sound improvementsFlorian Kagerer
(some cleanup to internal driver volume control, minor frequency change for fm-towns) svn-id: r51930
2010-08-04AUDIO: Implement volume and balance control for the AudioCD manager (needed ↵Florian Kagerer
for music fading in Kyra 1 FM-Towns and probably other FM-Towns games). This addition applies to emulated CD audio only for now. I haven't found a way to implement this for real CDs yet. SDL doesn't seem to support this (but it might be just me? If anyone knows more about this, just tell me). svn-id: r51741
2010-08-03FMTOWNS AUDIO: fix typoFlorian Kagerer
svn-id: r51709
2010-08-03KYRA/TOWNS: replace some music stops with fadeouts (based on original code)Florian Kagerer
svn-id: r51708
2010-08-03KYRA/TOWNS: implement music/sfx volume control via GUI/GMMFlorian Kagerer
svn-id: r51695
2010-08-03FMTOWNS AUDIO: minor layout changeFlorian Kagerer
svn-id: r51691
2010-08-03SOUND: Constify waveform table; slightly simplify codeMax Horn
svn-id: r51671
2010-08-02TOWNS AUDIO: fix typoFlorian Kagerer
svn-id: r51655
2010-08-02TOWNS/PC98: Replaced some tabs with spaces.Johannes Schickel
svn-id: r51654
2010-08-02TOWNS/PC98 Driver: Some formatting fixes.Johannes Schickel
svn-id: r51653
2010-08-02FM-TOWNS/PC98 Sound: Strip trailing whitespaces/tabs.Johannes Schickel
svn-id: r51651
2010-08-02KYRA/TOWNS AUDIO: and another fixFlorian Kagerer
svn-id: r51649
2010-08-02KYRA/TOWNS AUDIO: try to fix last regressionFlorian Kagerer
svn-id: r51648
2010-08-02KYRA: FM-Towns audio driver rewriteFlorian Kagerer
- FM-Towns euphony driver completely rewritten based on KYRA FM-Towns and LOOM towns disasm. - Split all the emu and driver code from sound_towns.cpp into different files to make things a bit less confusing. - Move the driver code to common space since the exact same euphony driver is used by LOOM which means we could get rid of the outdated and incomplete ym2612 driver/emu implementation (which doesn't even do things like instrument loading, pan position, etc). I haven't tried to add this to the Scumm engine yet, since I am not familiar with it and my priority was to get the driver finished first. But from the look of disasm it shouldn't be difficult to do. - Introduce a generic FM-Towns audio interface based on FM-Towns system file disasm which was necessary for the euphony driver rewrite. Every FM-Towns game I have seen so far seems to access the audio hardware via these system functions. This interface implementation will also allow reasonably simple creation of new FM-Towns audio drivers (e.g. this could be used for Kings Quest 5 FM-Towns or others). - Move the PC98 driver to common space, too, since I have a strong feeling that this driver is also used in the PC98 version of Future Wars - This also improves KYRA FM-Towns music quality, sound effects accuracy and music fading. svn-id: r51645
2010-07-27SOUND: Only dispose the input stream in makeAIFFStream if requestedMatthew Hoops
svn-id: r51373