aboutsummaryrefslogtreecommitdiff
path: root/engines/agos/midi.cpp
AgeCommit message (Collapse)Author
2015-07-24AGOS: Fix music looping in disk version of Simon1, a regression from svn 22907.Kirben
2015-07-23AGOS: Add simple volume control when Simon1 AdLib output is used.Johannes Schickel
2015-07-23AGOS: Slight cleanup in Simon1 AdLib output initialization code.Johannes Schickel
2015-07-23Revert "AGOS: Add updated patch for #647 - Simon 1 DOS Adlib instrument bank"Johannes Schickel
This reverts commit 06addfc4041b3e20fd89dee46227e04f1c66fe52. We implement the actual Simon1 DOS AdLib driver now, thus this code is obsolete.
2015-07-23AGOS: Add initial version of Simon1 DOS AdLib output.Johannes Schickel
Testing so far has not really happened. Only the first part of the intro has been tested.
2015-07-05AGOS: The sound effects in Simon the Sorcerer 1 (Floppy) are only meant for ↵Kirben
Adlib.
2015-07-05AGOS: Revert 46d1c106ca560c285c556a0b02b54d76bc6a29ba:Kirben
AGOS: Give each MIDI track its own loop flag Since the changes broke looping in Simon the Sorcerer 2.
2015-07-04AUDIO: Miles Audio AdLib instrument stream supportMartin Kiewitz
- not using byte pointer + size and instead now a SeekableReadStream for factory - adjusted ACCESS + AGOS engines accordingly
2015-07-04AGOS: Simon 2: use common PKWARE data comp. libMartin Kiewitz
use PKWARE data compression library code from COMMON/ AdLib drivers will get changed to use streams too
2015-07-03AGOS: Simon 2: extract MIDPAK.AD from SETUP.SHRMartin Kiewitz
implements support for extracting MIDPAK.AD from SETUP.SHR this way the user isn't required to install the game and can just use the files copied from CD-ROM. Files inside SETUP.SHR were compressed using PKWARE data compression library. PKWARE decompression code based on information released by Ben Rudiak-Gould in comp.compression on 13.8.2001 Miles Audio support is still disabled atm and has to be enabled manually
2015-07-03AGOS: music: simplified music-mode code in open()Martin Kiewitz
combined both Accolade + Miles Audio initial open() code
2015-07-03AGOS: disable Miles Audio for Simon 2Martin Kiewitz
enabled it by accident in the last commit
2015-07-03AGOS: Accolade music: read driver data in factoryMartin Kiewitz
moved driver reading code into factory of both Accolade music drivers
2015-07-01AGOS: SIMON2: set nativeMT32, so mt32 tracks getMartin Kiewitz
set _nativeMT32, so that the MT32 XMIDI track set is getting used and not the general MIDI one for MT32 Miles Audio playback. This should solve the MT32 music issues, although this needs to get verified in detail.
2015-07-01AGOS: add Miles Audio support for simon 2Martin Kiewitz
currently not enabled by default, because there are some issues.
2015-06-21AGOS: Accolade MT32: General MIDI mappingMartin Kiewitz
- renamed _MT32 to _nativeMT32 this name doesn't really make sense, because MUNT isn't a native MT32, but the name is common to the other engines - implement MT32 -> General MIDI mapping in case no MT32 is available - implement dialog screen, so that user is told about General MIDI mapping and that it may sound awful
2015-06-21AGOS: Accolade AdLib/MT32 driver naming cleanupMartin Kiewitz
2015-06-21AGOS: Elvira 2 MUSIC.DRV variant comment addedMartin Kiewitz
2015-06-21AGOS: Elvira 2 seems to use MUSIC.DRV variantMartin Kiewitz
- Kirben told me that Elvira 2 is shipped with MUSIC.DRV and INSTR.DAT file. Using MUSIC.DRV file makes the music work properly I couldn't check, b/c I own none of these games. - also commented out implemented bug of INSTR.DAT/MUSIC.DRV This bug only affected the adlib drivers, so I guess we should rather fix it instead of implementing the same buggy behavior
2015-06-21AGOS: implement Accolade AdLib + MT32 music driversMartin Kiewitz
- both known variants are supported (INSTR.DAT + MUSIC.DRV) - INSTR.DAT/MUSIC.DRV holds channel mapping, instrument mapping, etc. - fixed bug inside S1D MidiParser, that ruined some instrument changes 0xFC header was seen as 2 byte header, but it's 4 bytes in Elvira 2 and 5 bytes in Waxworks / Simon 1 demo - dynamic channel allocation for the MUSIC.DRV adlib driver is not implemented atm, simply because at least the demos of Waxworks and Simon 1 do not use this feature - sound effects of Waxworks are not implemented atm - note: the game "Altered Destiny" uses Accolade INSTR.DAT variant too
2015-05-26AGOS: Add updated patch for #647 - Simon 1 DOS Adlib instrument bankKirben
2014-08-18AGOS: Give each MIDI track its own loop flagTorbjörn Andersson
This is needed because the MIDI resources have their own loop flag that overrides the global one. This makes a difference for games that use MIDI both for music and sound effects, such as (limited to?) the floppy version of Simon the Sorcerer 1.
2014-06-29AGOS: Revert my MIDI changes that caused bug #6664.Kirben
2014-04-13AGOS: Fix music looping when using Roland MT-32 music in Simon the Sorcerer 2.Kirben
2014-02-18AGOS: Make GPL headers consistent in themselves.Johannes Schickel
2011-11-02AGOS: Fix warningsEugene Sandulenko
2011-10-07AGOS: Update MidiPlayer::~MidiPlayer() to match the default implementation. ↵Travis Howell
Hopefully will fix bug #3419778, thanks to digitall for the pointer.
2011-08-06AGOS: Reduced header dependencyEugene Sandulenko
2011-05-25ALL: behaviour -> behaviorMatthew Hoops
2011-05-12GIT: Clean up: Suppress SVN tags, now uselessstrangerke
2011-04-28JANITORIAL: Reduce header dependencies in shared codeOri Avtalion
Some backends may break as I only compiled SDL
2011-03-23ENGINES: Remove unused MIDI pass-through codeMax Horn
2011-03-23ENGINES: Further simplify pseudo MidiDrivers; fix some regressionsMax Horn
The regression affected AGOS and maybe some others; specifically, the real MidiDriver would have been deleted twice -- I previously missed that the Engine instances takes care of freeing the real MidiDriver, not the MidiPlayer wrapping it. This commit should clarify the ownership of the real MidiDriver for most pseudo MidiDrivers.
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-23AGOS: Sanitize the mutex locking in MidiPlayer::startTrackMax 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.
2010-11-01ENGINES: Replace many printfs by warning/debug/debugNMax Horn
svn-id: r54031
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-07-16Cleanup.Torbjörn Andersson
svn-id: r50929
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
2008-08-10Merged revisions ↵Christopher Page
33719,33721-33723,33725-33727,33729-33730,33733,33736,33742,33754,33756,33758,33761,33763,33766 via svnmerge from https://scummvm.svn.sourceforge.net/svnroot/scummvm/scummvm/trunk svn-id: r33769
2008-08-10Committed my patch #2040074 ("XMIDI callback control events"). At the ↵Torbjörn Andersson
moment, I'm not aware of any game that actually uses this XMIDI feature, so its primary function right now is to silence lots of warnings while running the DOS version of Simon the Sorcerer 2. svn-id: r33763
2008-07-14AGOS: Got rid of _masterVolume and replaced with _musicVolume and _sfxVolume ↵Christopher Page
so that music and sfx are separately controlled via the Options menu svn-id: r33065
2007-09-19Merged common/stdafx.h into common/scummsys.h. All referencing files have ↵Nicola Mettifogo
been updated. svn-id: r28966
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-16a 20ms second delay should be ample time for a GM system ONMax Horn
svn-id: r25633
2007-02-16AGOS: Send GM System Enable/On upon startupMax Horn
svn-id: r25631
2007-02-14Removed unnecessary #include.Torbjörn Andersson
svn-id: r25587
2006-10-21CleanupTravis Howell
svn-id: r24397
2006-10-15Minor cleanupTravis Howell
svn-id: r24333