aboutsummaryrefslogtreecommitdiff
path: root/sound/mididrv.h
AgeCommit message (Collapse)Author
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
2006-06-24Renamed class Timer to TimerManager (the old name was somewhat ↵Max Horn
incorrect/confusing) svn-id: r23278
2006-05-12Whitespace changes. (Oh dear, now *I'm* forcing myself to large re-compiles.)Torbjörn Andersson
svn-id: r22413
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-11Change CVS keywords to SVN keywordsMax Horn
svn-id: r20515
2006-01-18Update copyright noticeEugene Sandulenko
svn-id: r20088
2005-12-30* Replaced MDT_PREFER_NATIVE/MDT_NATIVE by MDT_PREFER_MIDI/MDT_MIDI).Max Horn
* Changed MidiDriver::createMidi so that if MD_ADLIB is passed, it now *does* instantiate the adlib driver. * Rewrote MidiDriver::detectMusicDriver (code should be clearer now, and hopefully easier to adapt/maintain). Note that the behavior changed slightly (this may require some tweaking). * Added MidiDriver::findMusicDriver which works similar to the old MidiDriver::parseMusicDriver but returns the full MidiDriverDescription and ignores all characters in the passed driver name following a colon ":". * Changed MidiDriver::parseMusicDriver to use MidiDriver::findMusicDriver. * Changed game engines to match the changes made to MidiDriver. * Modified SCUMM engine to not record the selected midi/music driver (in _midiDriver), but rather the music *type* (in _musicType). svn-id: r19859
2005-12-29MidiDriver: Some cleanup, added some comments/TODOs, preparations for a ↵Max Horn
potential cleanup svn-id: r19844
2005-12-26New CoreMIDI midi backend for OS XMax Horn
svn-id: r19832
2005-10-18Update FSF address. Eek. Actually that took place on May 1, 2005Eugene Sandulenko
svn-id: r19142
2005-07-30Remove trailing whitespaces.Eugene Sandulenko
svn-id: r18604
2005-06-20Added virtual destructor, to silence a few more GCC 4 warningsMax Horn
svn-id: r18420
2005-05-27More whitespace changes.Torbjörn Andersson
svn-id: r18273
2005-05-10Moved class SoundMixer to Audio::Mixer (didn't call the namespace 'Sound' ↵Max Horn
because we already have many classes with that name) svn-id: r18039
2005-05-10Moved (In/Out)SaveFile(Manager) and Timer to namespace CommonMax Horn
svn-id: r18038
2005-04-13Patches #1164217 "Updated GS Support + Percussion Remapping Patch" andEugene Sandulenko
#1181750 "Updated Native MIDI documentation". Thanks _tom a lot. svn-id: r17571
2005-04-10Applied patch #1175374 ("FluidSynth MIDI driver"), with a few documentationTorbjörn Andersson
changes. There are a few things that could use a bit more work, and I've only tested it on my Linux box. I have verified that ScummVM still compiles when it's disabled, though, so it shouldn't break anything too badly. svn-id: r17512
2005-04-03Committed patch #1168149 (Shared GM/MT-32 mapping) by eriktorbjorn as-is. ↵Jerome Fisher
This does the following: - Replaces multiple identical MT-32-to-General MIDI mapping tables with a common one in MidiDriver. - Changes Sky's GmChannel class to allow NULL instrument and velocity mapping tables, giving a 1-to-1 mapping without creating a dummy table. svn-id: r17361
2005-01-01Updated copyrightMax Horn
svn-id: r16398
2004-12-02Moved MidiDriver creation code into the MidiDriver class (as static ↵Max Horn
methods), same for some other MIDI related stuff svn-id: r15968
2004-11-06Major MT-32 emu overhaul based on KingGuppy's code.Eugene Sandulenko
o added configure option o mi2 intro doesn't freeze anymore and has no sound glitches o missing instruments in many titles are fixed o numerous memory overwrite bugs are fixed o code is cleaned a lot and splitted into many smaller files o mt32.cpp went to backends/midi o synced with upstream code o reverberation fixed * don't complain about File class wrapper :) * all custom types are back * #pragmas are to do * maybe some indentation is wrong too I prefer smaller commits, but this thing came in one piece. svn-id: r15715
2004-10-21Patch #1048326 Better MT-32 supportEugene Sandulenko
svn-id: r15635
2004-10-17Add commentMax Horn
svn-id: r15595
2004-08-22cleanup of TimerProc messMax Horn
svn-id: r14683
2004-04-26MIDI control change 18 is no longer transmitted.Jamieson Christian
It is not a valid MIDI control change message. It is used internally in the SCUMM MIDI tracks to indicate part priority. The only MidiDriver that needs it is Adlib. It should be noted that the priority values are out of bounds for a regular MIDI message anyway. Valid control change values are 0-127, but the priority value ranges from 0-255. This fixes a crash with a certain software MT-32 emulator running under Linux. Thanks to olki for bringing up this issue. svn-id: r13645
2004-02-06Fixed "no newline at end of file" warning.Torbjörn Andersson
svn-id: r12746
2004-02-05Prepare Zodiac MIDI supportChris Apers
svn-id: r12734
2004-01-06updated copyright noticeMax Horn
svn-id: r12176
2003-10-18cleanupMax Horn
svn-id: r10894
2003-10-18We proudly present the latest installment of our hit series 'Untangle the ↵Max Horn
mess': 'Help! Space Invaders refactored the music detector'... in other news, I obviously need to sleep now svn-id: r10883
2003-10-05Preliminary preparation for new YM2612 FM emulator.Jamieson Christian
All the hooks are in, but actual implementation needs to be checked for portability. svn-id: r10615
2003-10-02cleanup & restructuring; in particular move the midi driver list to its own ↵Max Horn
source file svn-id: r10550
2003-09-25Fix for Bug [810564] ALL: missing instruments with native MT-32Jamieson Christian
As defined in Patch [811623] MT-32 patch for Bug 810564 Added a channel mask to MPU-401 devices so that --native-mt32 may force the device to use only the subset of MIDI channels actually supported by the MT-32. Also added a best-guess interpretation of iMuse Part priority in the SysEx 0x00 msg, since part priorities become more of an issue when the channel count is cramped. svn-id: r10409
2003-08-13Added PC Speaker and PCjr command line options,Jamieson Christian
in preparation for Kirben's addition of WA support for games that already have AD tracks. svn-id: r9656
2003-08-08Added generic send() option to MidiChannel.Jamieson Christian
This circumvents problems doing generic send() calls to MidiDrivers that support more than 16 MIDI channels (i.e. Adlib). Because of the way it interacts with MidiDriver, Simon could have run into a problem if it tried to allocate more than 15 Adlib music channels (though this would only happen in very, VERY rare circumstances). Also fixed a problem with the channel numbering scheme used by MidiDriver_Adlib, in particular the percussion channel number. svn-id: r9604
2003-08-05getting rid of g_mixer; removing lots of whitespaceMax Horn
svn-id: r9527
2003-08-01#include cleanup (explicityl specify the location for headers from common/, ↵Max Horn
so that we at some point can get rid of -Icommon; exception is made for stdafx.h, since a) we might want to rename it and b) might want to move it to the top level) svn-id: r9359
2003-05-23Revamped iMuse and Player classes. Player now uses MidiParser to parse its ↵Jamieson Christian
data, which will allow it to parse other MIDI formats. To receive parsed data, Player now derives from MidiDriver to act as a "fake MIDI driver". Miscellaneous upgrades and fixes to MidiParser, including the Smart Jump (which could not be tested before iMuse started making use of the MidiParser). *** THIS IS A BIG UPGRADE! EXTENSIVE REGRESSION TESTING IS NEEDED! *** This has been tested through the intros and a number of other scenes from MI2, FOA and S&M. NOTE! This upgrade introduces savegame format version V19. Earlier version savegames will load, but the music will simply start over from the beginning. Only V19 and later games will properly restore the position of the music! Don't say you weren't warned.... svn-id: r7849
2003-05-18MIDI Meta event Tx for virtual MidiDriver'sJamieson Christian
svn-id: r7638
2003-05-17Fixed Adlib sound problem on old (small header) games. Thanks for ↵Jamieson Christian
eriktorbjorn for the material that led to the solution. svn-id: r7610
2003-05-17Absorbed last tidbits of mididrv.cpp into other filesJamieson Christian
svn-id: r7606
2003-04-30PalmOS changesMax Horn
svn-id: r7222
2003-03-06updated copyrights headersPaweł Kołodziejski
svn-id: r6726
2003-03-06and more cleanup ....Paweł Kołodziejski
svn-id: r6719
2002-12-25fix -pedantic warningsMax Horn
svn-id: r6108
2002-12-21MidiStreamer no longer derives from MidiDriver.Jamieson Christian
Removed MidiStreamer methods that weren't actually needed. That's one layer of indirection removed from Simon music. svn-id: r6050
2002-12-18Initial iMuse SysEx implementation.Jamieson Christian
svn-id: r6013
2002-12-18Initial framework for SysEx output support.Jamieson Christian
svn-id: r6010
2002-12-11ripped out obsolete midi streaming code from backends (this may break ↵Max Horn
Alsa/SEQ/Windows/Morphos compile, I tried my best, but you'll have to clean up after me) svn-id: r5905
2002-12-08removed obsolete stuffMax Horn
svn-id: r5888