aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/imuse/imuse_internal.h
AgeCommit message (Collapse)Author
2013-05-11SCUMM: Clean-up of Roland GS codetcarey
1. Remove _sc55 bool. All Roland GS-capable devices have MT-32 sound/drum maps, so they should always be used when _enable_gs is set. 2. Always enable _native_mt32 if Roland GS mode is selected. I don't know why I never did this originally, since _enable_gs is automatically disabled for SCUMM v6+ games that use General MIDI tracks instead of MT-32 music. 3. Set master tune for GS devices to 442.0kHz. This is the master tune setting for the MT-32.
2012-11-16SCUMM: Add hack to preserve savegame compatibility with Mac MI1Torbjörn Andersson
For old savegames, we now use a "dummy" iMUSE objet to skip the old iMUSE save state. I had hoped to be able to do this without making any changes to the iMUSE code itself, but I was unable to. Also added note about how the save state for the new music will not quite work if the mixer output rate changes. Personally, I'm not too worried about that. It breaks, but it shouldn't break badly.
2012-09-20SCUMM: Implement support for Monkey Island 2 Mac music.Johannes Schickel
This is a initial RE of the audio output Monkey Island 2 Mac uses. Support for special sound effects is not in there yet.
2011-07-11SCUMM: Adapt iMuse code formatting to our standards.Johannes Schickel
2011-07-10SCUMM: Minor clean up in iMuse instrument handling code.Johannes Schickel
2011-07-10SCUMM: Limit iMuse default instrument load to PC Speaker output.Johannes Schickel
Albeit the code is marked as a hack inside the source, the original behaved exaclty the same. If the code is removed the PC Speaker output will miss notes, since unlike the original we only output to parts, which have an instrument set up.
2011-07-08SCUMM: Initial PC Speaker output implementation for SCUMM v5.Johannes Schickel
This is *not* complete yet.
2011-06-20ALL: Remove trailing whitespacesMax Horn
This tries to make our code a bit more compliant with our code formatting conventions. For future use, this is the command I used: git ls-files "*.cpp" "*.h" | xargs sed -i -e 's/[ \t]*$//'
2011-05-29SCUMM: implement some missing (very low relevance) imuse codeathrxx
1) Don't skip transpose setting in sysex command 0. There are only a few sounds where this setting is used (mainly sfx). 2) Make MI2 and INDY4 read certain player start parameters from the sound resource. The start parameters usually match our default parameters (exception: e.g. LeChuck's Fortress). The use of these parameters has been dropped in DOTT (they use default parameters like we do).
2011-05-13SCUMM: Add a Resource class, refactor res code around itMax Horn
2011-05-12GIT: Clean up: Suppress SVN tags, now uselessstrangerke
2011-03-23AUDIO: Change several fake MidiDrivers to MidiDriver_BASE subclassesMax Horn
Many engines follow the advice in audio/midiparser.h and create a "pseudo-MidiDriver" subclass. But MidiParser really only needs a tiny subset of the MidiDriver capabilities, namely those found in MidiDriver_BASE. So we try to subclass from that whenever possible; this allows us to remove many stub methods, and enables further future simplifications.
2011-03-23SCUMM: Remove unused iMuse MIDI 'passthrough' codeMax Horn
2011-03-22AUDIO: Add pure virtual MidiDriver::isOpen() methodMax Horn
This in turn enables modifying MidiDriver_MPU401::close() to allow it to be called on a midi driver that has not yet been opened. The specific issue that triggered me to make these changes was a crash-upon-quit in HUGO, caused by it instantiating a midi driver, then encountering an error (missing hugo.dat) *before* having opened the new midi driver; the general cleanup code then tries to close the (not yet opened) midi driver -> kaboom Also fixed some engines which were leaking MidiDriver instances.
2011-02-09AUDIO: Rename sound/ dir to audio/Max Horn
svn-id: r55850
2010-01-12Rename all "Adlib" uses to "AdLib" to match the real name of the sound card ↵Johannes Schickel
/ company. Check this for reference: http://en.wikipedia.org/wiki/Ad_Lib,_Inc. http://www.crossfire-designs.de/images/articles/soundcards/adlib.jpg (note the upper left of the card) This commit does not touch "adlib" and "ADLIB" uses! Also it does not update all the SCUMM detection entries, which still use "Adlib". svn-id: r47279
2009-11-26Add patch #2839048 - MM C64 sound/music player, with minor changes.Travis Howell
svn-id: r46143
2009-11-22Add patch #2876221 - FBEAR: Fix for MIDI piano notes (DOS version), with ↵Travis Howell
minor change. svn-id: r46081
2009-09-18Cleanup.Johannes Schickel
svn-id: r44186
2009-09-18Implement proper reverb setting in native MT-32 mode (as desribed in bug ↵Johannes Schickel
report #1088045 "MI2: Minor problems in native MT-32 mode"). svn-id: r44185
2009-09-18Implement proper pan reversal for Roland MT-32 in iMuse (as desribed in bug ↵Johannes Schickel
report #1088045 "MI2: Minor problems in native MT-32 mode"). svn-id: r44184
2009-08-24Fixed iMuse regression: IMuseInternal::terminate() was never called, because ↵Andre Heider
the base class does not have that virtual function anymore. Code moved to the destructor. svn-id: r43714
2007-05-30Updated legal headers in source files, based on what Pidgin (the IM client ↵Max Horn
formerly knowns as Gaim) does; added new (incomplete) COPYRIGHT file; updated copyright dates in a few spots svn-id: r27024
2007-02-19Use consistent naming for the preprocessor constants used to guarantee thatTorbjörn Andersson
header files are only included once. Many of them didn't have a SCUMM prefix which could have lead to clashes with common header files. svn-id: r25727
2006-11-12WhitespaceTorbjörn Andersson
svn-id: r24680
2006-03-12IMuse SysEx processing now handled by client-specified callbacks. This ↵Jamieson Christian
removes all game-specific references from the Player class. Bloodshed Dev-C++ project file updated. svn-id: r21241
2006-03-11Removed inclusion of non-existing imuse_sysex.h to make ScummVM compile again.Torbjörn Andersson
svn-id: r21214
2006-03-11Another ScummEngine reference in IMuse bites the dust.Jamieson Christian
svn-id: r21213
2006-03-05Restructured IMuse and IMuseInternal.Jamieson Christian
* IMuse is no longer a concurrency front-end. * IMuseInternal now derives from IMuse. * Common::StackLock used to protect thread-sensitive interface methods (same as IMuseDigital). * clear_queue() included in stopAllSounds() so it can be removed from the public interface. * Game ID now specified at init using property(). * Timer callbacks receive a struct containing IMuseInternal and MidiDriver refs, instead of just the latter. * OSystem pointer from init is now cached and used instead of global. All references to the g_system and g_scumm globals are now gone. BOOYAH! Tested with MI2, DOTT and S&M, under Windows, in Native MIDI, Adlib, and Mixed modes. No regressions or concurrency issues observed. Manifestations of the latter are the biggest concern at this point. svn-id: r21104
2006-03-04Removed the default ignoreFadeouts parameter value for ImuseInternal's ↵Jamieson Christian
getSoundStatus method. The disposition of this method is going to be changing soon, and I'm getting confused by the assumptions being made by many of the calls to it. svn-id: r21080
2006-02-27SysEx data now passed around with const pointers. Permits simplification of ↵Jamieson Christian
some SysEx client code. Testing on Windows. Developers on other platforms, please verify integrity of music handling in your respective MidiDrivers. svn-id: r20952
2006-02-20Moved iMUSE code to the new directory engines/scumm/imuse/Max Horn
svn-id: r20801