aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/imuse
AgeCommit message (Collapse)Author
2019-09-15SCUMM: Replace Various String Functions with Common String UsageD G Turner
This removes the dependency on the unsafe strcpy and strcat string functions with usage of Common::String instead.
2019-08-07AUDIO: (FM-Towns/PC98) - cleanup mutex handlingathrxx
2019-07-22SCUMM: (iMUSE/Amiga) - minor fixesathrxx
- At at least one place in INDY4 the game attempts to send a Roland MT-32 patch to the Amiga driver. This will fail and thus not cause any harm, but I have added a check nonetheless. The original Amiga driver ignores sysex messages that don't have the iMuse manufacturer id 7D. - In INDY4 the iMuse player thinks it has a percussion channel due to the fact that it plays ROL resources. This should also be irrelevant for the actual playback, but I have added a check for that, too.
2019-07-17SCUMM: (iMUSE/Amiga) - Fix compiler warning (#1751)jepael
2019-07-17SCUMM: (iMUSE/Amiga) - fix INDY4 instruments handlingathrxx
FOA Amiga uses 'ROL ' resources (unlike MI2 which has 'AMI ' resources). So our imuse player treated those as MT32 tracks playing on a non-MT32 device and applied GM mapping. Which of course messed up the instruments.
2019-07-17SCUMM: remove unused declarationsathrxx
(several function declarations in imuse_internal.h)
2019-07-17SCUMM: (iMUSE/Amiga) - cleanupathrxx
2019-07-14SCUMM: imuse driver directory cleanupathrxx
- move mac, pc speaker and fm-towns ims sound drivers into separate directory (AdLib and MT32/GM drivers are still too entangled with common code to be moved so easily, especially MT32/GM. It would require lots of changes to the common code and possibly to all engines using the MidiDriver class. So I leave that for now.)
2019-07-14SCUMM: (iMuse/Amiga) - improve accuracyathrxx
This fixes the issue that some rhythm instruments didn't receive correct notes. The changes have been limited to the Amiga versions.
2019-07-14SCUMM: hook up Amiga MI2 + INDY4 to new sound driverathrxx
2019-07-14SCUMM: add Amiga iMuse sound driverathrxx
(applies to MI2 and INDY4)
2019-07-14SCUMM: Silence GCC memset() warningsTorbjörn Andersson
Recent GCC versions complain if you memset() a class or struct that contain non-POD data types. Get around that by either initializing the object when created, or by adding a reset() method.
2018-05-07SCUMM: Remove superfluous 'else' in IMuseInternal::ImSetTrigger()Adrian Frühwirth
Both means to calculate `diff` are essentially equal because wraparound of unsigned integers is well-defined and does what the 'else' branch is simulating manually. Because of this, gcc complains when compiling with -Wduplicated-branches.
2018-01-31SCUMM: Rename iMUSE save/load function to avoid confusing function hidingColin Snover
2018-01-31COMMON: Move VER macro for serializer into common codeColin Snover
2018-01-31SCUMM: Replace UB-triggering serialization code with Common::SerializerColin Snover
Fixes Trac#10342.
2017-07-30SCUMM: MI2 kill tune 113 on start of next, Fixes bug #1410 / Booty IslandBen Castricum
Fix the "MI2: Two soundtracks playing at once" bug from the bug tracker. It's triggered when the player enters the kiosk for the second time and leaves before tune 113 is started.
2017-07-30SCUMM: MI2 kill tune 107 on start of next, Fixes bug #1410 / Scabb IslandBen Castricum
Fix the "MI2: Two soundtracks playing at once" bug from the forum. It's triggered when the player is moving faster then the scripts expect causing the "stop tune 117" command be executed before the start of the tune. Effectily creating a hanging tune 107. This patch kills the tune when this sitation is detected.
2016-11-19SCUMM: Fix IMUSE initializationEugene Sandulenko
2016-11-19SCUMM: Fix class initalizationEugene Sandulenko
2014-02-18SCUMM: Make GPL headers consistent in themselves.Johannes Schickel
2013-07-14JANITORIAL: Remove trailing whitespaceSven Hesse
2013-07-06SCUMM: Fix initGM() buffer overflow (CID 1032513)Torbjörn Andersson
We're clearly using 12 bytes, not 11.
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.
2013-02-23ALL: Fix typo (existant->existent)Willem Jan Palenstijn
2012-12-14Merge pull request #291 from eriktorbjorn/mac-mi-music-finalJohannes Schickel
SCUMM: Add support for Macintosh music in Monkey Island 1 and Loom
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-10-01SCUMM: Ignore detune for Sam&Max.Johannes Schickel
2012-09-23SCUMM: Add check for resource fork for ".iMUSE Setups".Johannes Schickel
This should help identify incorrect dumps/file naming like what (probably) happened in bug #3570973 "FOA: Doesn't start anymore after adding Mac sound support".
2012-09-20SCUMM: Update commentsMatthew Hoops
2012-09-20SCUMM: Restrict the Mac m68k v5 driver to MI2/Indy4Matthew Hoops
Shouldn't be used with MI1
2012-09-20SCUMM: Add support for Indy4 Mac 68k soundMatthew Hoops
2012-09-20SCUMM: Implement support for special sfx in MI2 Mac.Johannes Schickel
This also increases the savegame version, since it introduces a new Instrument subclass.
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.
2012-09-20SCUMM: Extend comment about SysEx manufacturer 0x97.Johannes Schickel
2011-11-04SCUMM: Revert "Removed a duplicate variable assignment"Willem Jan Palenstijn
This reverts commit 747ebffd17eb64423fd8fb321f9d803ec31105f4, and adds a FIXME.
2011-11-04SCUMM: Removed a duplicate variable assignmentFilippos Karapetis
2011-08-21SCUMM: Fix typo in PC Speaker output.Johannes Schickel
2011-08-07JANITORIAL: Remove trailing empty lines.Christoph Mallon
2011-07-14SCUMM: Add debug output in case the code tries to set up a non-existant ↵Johannes Schickel
iMuse instrument.
2011-07-14SCUMM: Handle default instrument set up in iMuse like the original.Johannes Schickel
2011-07-14SCUMM: Implement iMuse alloc part command closer to the original.Johannes Schickel
2011-07-11SCUMM: Adapt iMuse code formatting to our standards.Johannes Schickel
2011-07-10SCUMM: Fix some envelope bugs in PC Speaker output.Johannes Schickel
2011-07-10SCUMM: Let PC Speaker output be controlable via music volume.Johannes Schickel
2011-07-10SCUMM: Properly implement volume controler for PC Speaker output.Johannes Schickel
2011-07-10SCUMM: Fix priority settings in iMuse allocate part sysEx command.Johannes Schickel
Formerly we ever only used the lower 4 bit of the priority setting for a new part. The original used a full 8 bit setting though (based on the Indy4 PC Speaker output driver). This fixes missing notes in the Indy4 intro with PC Speaker output. This might affect other outputs too! And could cause regressions in case other outputs implemented priority settings differently.
2011-07-10SCUMM: Fix PC Speaker sound.Johannes Schickel
Now we only output a new frequency if a new channel was selected or a new output frequency has to be send. This makes the sound much more like in DOSBox. This is not present in the original, but since our timings are different this should make up for that.
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.