Commit Graph

1527 Commits

Author SHA1 Message Date
Florian Kagerer
5ff68b49d7 FM-TOWNS AUDIO: improve thread safety
svn-id: r53589
2010-10-18 21:16:58 +00:00
Eugene Sandulenko
c92d2bc234 SOUND: Add support for LastExpress version of IMA ADPCM sound.
Patch by littleboy.

svn-id: r53578
2010-10-18 19:10:57 +00:00
Torbjörn Andersson
54b2a8c98d JANITORIAL: Cleanup (mostly whitespace)
svn-id: r53161
2010-10-12 04:19:58 +00:00
Jordi Vilalta Prat
8388e0dfea JANITORAL: Clean trailing whitespaces.
svn-id: r53160
2010-10-12 02:18:11 +00:00
Florian Kagerer
67c68afa6d FM-TOWNS AUDIO: improve thread safety
svn-id: r53126
2010-10-10 16:44:09 +00:00
Torbjörn Andersson
582bd9a395 MIDIDRV: Prefer PCjr over PC Speaker
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-10 07:43:12 +00:00
Florian Kagerer
b58bbd719c SCUMM/FM-TOWNS: fixed threading issue in sfx code
svn-id: r53074
2010-10-08 16:31:08 +00:00
Florian Kagerer
01c9b17068 SCUMM/FM-TOWNS: improved sfx support for indy4 and monkey2
svn-id: r53052
2010-10-07 19:23:49 +00:00
Florian Kagerer
0e0ab8b402 PC98 AUDIO: cleanup as suggested by sev (see devel)
svn-id: r53031
2010-10-05 16:22:55 +00:00
Florian Kagerer
1161714d72 FM-TOWNS AUDIO: minor fix
svn-id: r53017
2010-10-04 17:30:23 +00:00
Florian Kagerer
718fe1d18f PC-98 AUDIO: some code size reduction for the NDS port
svn-id: r52994
2010-10-03 16:28:31 +00:00
Florian Kagerer
b11263be90 KYRA PC-98: fix endianess in music frequency
svn-id: r52855
2010-09-22 19:39:54 +00:00
Torbjörn Andersson
c91a07229a JANITORIAL: Removed most punctuation at end of warning() and error()
Our warning() and error() functions always add an exclamation mark
to the end of the message anyway.

svn-id: r52791
2010-09-18 10:55:16 +00:00
Johannes Schickel
5abbe7204e CMS: Some constification.
svn-id: r52782
2010-09-17 20:03:41 +00:00
Johannes Schickel
a6a49b284a CMS: Change an incorrect error into debug output.
svn-id: r52780
2010-09-17 20:02:49 +00:00
Johannes Schickel
d477d66f49 SOUND: Properly add CMS as plugin.
svn-id: r52779
2010-09-17 20:02:29 +00:00
Johannes Schickel
cc764cb8ec SOUND: Move CMS emulator to sound/softsynth.
svn-id: r52778
2010-09-17 20:02:03 +00:00
Johannes Schickel
6588398ce6 MIDI: Send a reset MIDI device signal on startup.
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-15 22:00:20 +00:00
Johannes Schickel
15b57549ad COMMON: Some style fixes.
svn-id: r52609
2010-09-06 21:04:33 +00:00
Ori Avtalion
b876527014 SOUND: Remove semicolon
svn-id: r52522
2010-09-04 13:19:49 +00:00
Florian Kagerer
37d28b2fe5 FM-TOWNS AUDIO: minor fix in cd audio volume setting
svn-id: r52521
2010-09-04 11:40:24 +00:00
Yotam Barnoy
fd23ab2e17 FMTOWNS AUDIO: fixed divide by zero exception from commit 52013
Also removed 1 or 2 float operations.

svn-id: r52492
2010-09-02 10:41:26 +00:00
Andre Heider
922510df7e SOUND: New global define AUDIO_REVERSE_STEREO.
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-24 18:44:14 +00:00
Johannes Schickel
5969138eda MP3: Fix seeking.
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-22 12:04:44 +00:00
Florian Kagerer
74b6fdcae4 FM-TOWNS AUDIO: fix possible crash
(This crash might have occured on very slow machines or when using valgrind)

svn-id: r52245
2010-08-20 22:10:15 +00:00
Florian Kagerer
b55a70acb8 KYRA/TOWNS: fix memory leak and some cleanup
svn-id: r52232
2010-08-20 17:04:32 +00:00
Florian Kagerer
29a5c6a45b SCUMM/FM-TOWNS: start rewriting audio code
- 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-18 21:38:43 +00:00
Florian Kagerer
75117d7875 FMTOWNS AUDIO: fix cda volume and balance control
svn-id: r52013
2010-08-11 22:50:13 +00:00
Eugene Sandulenko
ff8b296c29 Use tabs instead of spaces for indentation.
svn-id: r51997
2010-08-11 19:32:07 +00:00
Florian Kagerer
4a159bcb1e GUI: add music devices for c64, amiga and apple II gs
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-11 18:54:56 +00:00
Florian Kagerer
054c586bcc KYRA/TOWNS: some minor sound improvements
(some cleanup to internal driver volume control, minor frequency change for fm-towns)

svn-id: r51930
2010-08-08 17:34:32 +00:00
Florian Kagerer
e5ffc7847c AUDIO: Implement volume and balance control for the AudioCD manager (needed 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-04 16:53:09 +00:00
Florian Kagerer
449927abcf FMTOWNS AUDIO: fix typo
svn-id: r51709
2010-08-03 19:06:27 +00:00
Florian Kagerer
3fc3a59139 KYRA/TOWNS: replace some music stops with fadeouts (based on original code)
svn-id: r51708
2010-08-03 18:19:25 +00:00
Florian Kagerer
5962b0bbe2 KYRA/TOWNS: implement music/sfx volume control via GUI/GMM
svn-id: r51695
2010-08-03 14:58:01 +00:00
Florian Kagerer
8e08c432da FMTOWNS AUDIO: minor layout change
svn-id: r51691
2010-08-03 13:12:42 +00:00
Max Horn
39846310d7 SOUND: Constify waveform table; slightly simplify code
svn-id: r51671
2010-08-03 00:02:46 +00:00
Florian Kagerer
20d6173ee0 TOWNS AUDIO: fix typo
svn-id: r51655
2010-08-02 20:17:05 +00:00
Johannes Schickel
7f1f4c8b07 TOWNS/PC98: Replaced some tabs with spaces.
svn-id: r51654
2010-08-02 19:36:49 +00:00
Johannes Schickel
7f2e880f70 TOWNS/PC98 Driver: Some formatting fixes.
svn-id: r51653
2010-08-02 19:27:44 +00:00
Johannes Schickel
f14940cbb5 FM-TOWNS/PC98 Sound: Strip trailing whitespaces/tabs.
svn-id: r51651
2010-08-02 19:05:12 +00:00
Florian Kagerer
7575c2be0b KYRA/TOWNS AUDIO: and another fix
svn-id: r51649
2010-08-02 18:56:51 +00:00
Florian Kagerer
add6d6772a KYRA/TOWNS AUDIO: try to fix last regression
svn-id: r51648
2010-08-02 18:53:23 +00:00
Florian Kagerer
9c8b465505 KYRA: FM-Towns audio driver rewrite
- 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-08-02 18:30:25 +00:00
Matthew Hoops
349d3765e3 SOUND: Only dispose the input stream in makeAIFFStream if requested
svn-id: r51373
2010-07-27 14:51:36 +00:00
Matthew Hoops
85f9bb1e0c SOUND: The rate in Mac snd's is fixed, not floating point (fix the comment)
svn-id: r51328
2010-07-26 18:18:25 +00:00
Matthew Hoops
7a86204e5c SOUND: Move the Mac snd decoder from SCI to /sound
For use with Kyra1 Mac instrument samples. T7G Mac and Loom Mac also use this format for their custom instrument samples.

svn-id: r51327
2010-07-26 18:13:35 +00:00
Torbjörn Andersson
9074103d44 MIDI: Make it possible to specify MIDI device by music driver id
If getDeviceHandle() gets a music driver id it will pick the driver's
first device, which should hopefully be a sensible default. E.g. it's
once again possible to use "-e alsa" rather than the much more
cumbersome "-e 'alsa_Emu10k1 WaveTable'".

svn-id: r51297
2010-07-26 06:19:57 +00:00
Torbjörn Andersson
02a2f08408 Janitorial: Fix punctuation in error/warning
svn-id: r51296
2010-07-26 06:10:47 +00:00
Torbjörn Andersson
780b043677 Janitorial: Removed extra semi-colon.
svn-id: r51096
2010-07-21 18:59:23 +00:00