aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/imuse
AgeCommit message (Collapse)Author
2011-04-12COMMON: Replace MKID_BE by MKTAGMax Horn
MKID_BE relied on unspecified behavior of the C++ compiler, and as such was always a bit unsafe. The new MKTAG macro is slightly less elegant, but does no longer depend on the behavior of the compiler. Inspired by FFmpeg, which has an almost identical macro.
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-12-01SCUMM: Fix GM initialization when "enable_gs" is set.Johannes Schickel
This is a regression from r25630, which caused the code to send some garbage data to the GS device, which resulted in some devices to fail with an "Address Error." (like the Roland SC-55). This might also fix bug #1927501 "GS option is broken". Even though actually the device there failed with another error it is likely to be caused by the same code. At least it is the only iMuse MIDI code change between 0.9.0 and 0.12.0, which might result in such a problem. svn-id: r54727
2010-11-01COMMON: Rename String::printf() to String::format()Max Horn
This is a first step towards getting rid of all uses of regular printf, fprintf, vprintf, vfprintf, puts, fputs, etc. in our codebase. The name format() reflects the purpose of the function, and parallels String.format() in Java, boost::format, and others. svn-id: r54004
2010-09-18SCUMM: minor cleanupFlorian Kagerer
svn-id: r52792
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-06-07Remove some extra spacesJordi Vilalta Prat
svn-id: r49489
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
2010-01-03Fixed a bunch of cppcheck warnings. Mostly about checking if a pointer is nullTorbjörn Andersson
before freeing it, which isn't necessary. svn-id: r46941
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-20Slightly changed unsupported effect level handling in native MT-32 mode.Johannes Schickel
svn-id: r44214
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
2009-08-16Fix warning caused by -Wformat-security, also fixed a possible buffer ↵Johannes Schickel
overflow along with it. svn-id: r43445
2009-05-31The error() and warning() functions add ! and newline automatically. (I didn'tTorbjörn Andersson
look at debug() and debugC(), since I'm really bored with this now. :-) svn-id: r41061
2008-01-11Work around bug #1324106 again. Apparently, I was mistaken the other day when ITorbjörn Andersson
said the timer changes fixed it. This time, I've made the workaround a bit simpler to understand, though. svn-id: r30429
2008-01-11The SCUMM timer fix makes the workaround for bug #1324106 obsoleteMax Horn
svn-id: r30419
2007-09-19Merged common/stdafx.h into common/scummsys.h. All referencing files have ↵Nicola Mettifogo
been updated. svn-id: r28966
2007-07-01Re-added __attribute__(packed)Max Horn
svn-id: r27830
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
2007-02-18Committed my fix for bug #1662549 ("SCUMM: MIDI music is broken"). Apparently,Torbjörn Andersson
'len' is now one less than it used to in sysexHandler_Scumm(). Let's hope I changed all the cases that needed changing, and nothing else... svn-id: r25671
2007-02-16Unified how we deal with (and how we generate) MIDI sysex messages -- in ↵Max Horn
particular, we now always do so w/o framing the message (documented this with a Doxygen comment in the MidiDriver class) svn-id: r25630
2007-02-16Ugh -- these internal iMuse structs were supposed to be packed, but never ↵Max Horn
were explicitly markes as such. Doing that now (might break old savegames on some ports :/) svn-id: r25629
2006-11-16Applied my own patch #1594924 to work around bug #1324106 ("MI2 VGA: Music asTorbjörn Andersson
Rapp is instantiating isn't synchronized"). I don't know if our timing is off, or if it's just a case of overly optimistic scripting, but the pause / unpause music instructions are issued in the wrong order. svn-id: r24726
2006-11-12More whitespace.Torbjörn Andersson
svn-id: r24682
2006-11-12Replaced cryptic error() with an assertion.Torbjörn Andersson
svn-id: r24681
2006-11-12WhitespaceTorbjörn Andersson
svn-id: r24680
2006-11-08Fix bug #1592006: "IMUSE: Typo in sysex_scumm.cpp ?"Eugene Sandulenko
svn-id: r24655
2006-10-15Added FIXME comment about 'static' abuse in imuse_part.cppMax Horn
svn-id: r24327
2006-09-23Moved base/engine.cpp and .h to engines/ (main motivation: helps untangle ↵Max Horn
the linker dependency graph). Porters will have to update project files svn-id: r23974
2006-05-15Ignore unknown SysEx manufacturer IDs, rather than erroring on them. This doesTorbjörn Andersson
NOT fix bug #1481383, even if that's where I heard about this problem. svn-id: r22479
2006-04-04Since our debug() adds an exclamation mark at the message end, removeEugene Sandulenko
it in several calls to avoid duplication!!11! svn-id: r21607
2006-04-04Small updates to intiate variable and member visibility.Lars Persson
svn-id: r21604
2006-03-29Do not #include endian.h in scummsys.h (cuts down deps on endian.h from ~400 ↵Max Horn
to ~250). Many greetings to eriktorbjorn, and have fun recompiling. svn-id: r21500
2006-03-24Fix MSVC warnings #2Andrew Kurushin
svn-id: r21441
2006-03-14Remove unused var, to prevent compiler warningTravis Howell
svn-id: r21281
2006-03-14Remove unused vars, to prevent compiler warningsTravis Howell
svn-id: r21279
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-09Implemented SysEx command 1 for non-S&M SCUMM games, per the latest comment ↵Jamieson Christian
on Bug 1088045. svn-id: r21156
2006-03-05Removed tag2str usage, which eliminates scumm/util.h dependency.Jamieson Christian
svn-id: r21107
2006-03-05I guess this is really a WORKAROUND, rather than a HACK. Updated comment.Torbjörn Andersson
svn-id: r21106