25 Commits
Author SHA1 Message Date
Coen Rampen 95af538d94 AUDIO/MIDI: Fix const 2026-01-09 22:48:47 +01:00
Coen Rampen 9e9ae8f989 AUDIO/MIDI: Add HMI HMP parser 2026-01-09 22:48:47 +01:00
D G Turner bc39f6e1c1 AUDIO: Fix Discard Cast Qualifier GCC Compiler Warning 2025-09-02 23:48:21 +01:00
Matthew Duggan 9749f59365 AUDIO: Make MidiParser more const correct
The midi parser interface should take a const byte array so that engines can
pass data with more confidence.  This also allows them to be more const correct
on their side.

There was one place where the input byte stream was actually being modified by
the midi parser to overwrite tempo values.  Pointed to a static byte array for
this case.
2025-08-30 22:39:15 +03:00
elasota 07dc19e221 AUDIO: Remove obsolete _noteChannelToTrack field 2025-06-13 09:58:59 +02:00
Coen Rampen 7fa3ba2dd0 AUDIO/MIDI: Increase maximum number of subtracks
Increase the maximum number of MIDI type 1 subtracks for AGS "Mika's Surreal Dream 2"
2025-04-13 21:55:21 +02:00
Misty De Meo 5aab0d9a95 AUDIO: remove orphaned constants
These are no longer used after debe30b25e.
2025-02-08 22:34:27 -08:00
Coen Rampen debe30b25e AUDIO: Add full support for type 1 SMF
Type 1 SMF files consist of multiple tracks that are to be played simultaneously
in parallel. Support for this was previously implemented by merging these tracks
into one single track, then treating the result as a regular type 0 SMF file.

This commit adds full support for type 1 files. The parallel tracks are loaded
as subtracks of the parent track and played simultaneously in real time. This
allows for support of MIDI formats with parallel subtracks that do not use the
SMF format (Dark Seed floppy version) or that jump to offsets within each
parallel subtrack (Origin MIDI).
2025-02-07 14:10:52 +01:00
elasota b0644919d6 AUDIO: Generate note channel to track mapping for type 1 MIDI 2022-07-02 17:25:18 +02:00
Coen Rampen d0c56f0bbc AUDIO: Remove GMF support from SMF MidiParser
This removes the code for the GMF MIDI format used by Simon The Sorcerer from
the SMF MIDI parser. The GMF format now has its own parser.
2022-05-09 17:19:44 +02:00
Coen Rampen 32ba866499 AUDIO: Move MIDI parser source handling to superclass
This commit moves the source handling from the SMF and XMIDI parsers to the
MIDI parser superclass. This reduces code duplication.
2022-05-09 17:19:43 +02:00
Coen Rampen 1f0e905160 AGOS: Add MIDI parsers for GMF and Windows
This commit adds MIDI parser subclasses for the Simon 1 GMF format and for the
SMF variant used by the Windows versions of Simon 1 and 2.

The GMF format was handled by the SMF parser, which can now be removed from
that class. It also fixes the tempos not matching the DOS interpreter.

The Simon Windows SMF variant was handled in the AGOS midi class. Moving it to
a separate parser allows for some cleaner code in that class. It now also
corrects the tempos to match those of the DOS interpreter.
2022-05-09 17:19:41 +02:00
Eugene Sandulenko abea37c9bb ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Filippos Karapetis 9473b382b5 AUDIO: Remove unused variable
Thanks to eientei for reporting this
2021-12-24 03:25:22 +02:00
Orgad Shaneh af529f568b AUDIO: Use nullptr
Using clang-tidy modernize-use-nullptr
2021-11-14 13:41:02 +02:00
Eugene Sandulenko 0ccd2a71dd AUDIO: Add override keywords 2021-03-14 20:52:22 +01:00
NMIError 4834651115 MIDI: Add multisource support to SMF parser
This allows the SMF parser to work with MidiDriver implementations that support
multiple MIDI sources. You can set the source number when constructing the
parser. This is then passed along when MIDI messages are sent to the driver.
2020-11-28 17:59:15 +00:00
D G Turner 28287d70b6 AUDIO: Fix Missing Default Switch Cases
These are flagged by GCC if -Wswitch-default is enabled.
2019-11-17 08:20:01 +00:00
Ori Avtalion d8045c6727 JANITORIAL: Fix clang printf warnings 2016-01-07 14:55:32 +02:00
Johannes Schickel 452cec49d9 AUDIO: Make GPL headers consistent in themselves. 2014-02-18 02:39:32 +01:00
Filippos Karapetis 6c3e05e678 AUDIO: Add missing breaks to switch statement - CID 1003770
A mistake in commit 3dc788da63
2013-05-01 15:46:23 +03:00
Alyssa Milburn f08978a075 JANITORIAL: Remove underscores from MidiParser variable names. 2012-09-07 23:04:34 +02:00
strangerke 69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Ori Avtalion 9414d7a6e2 JANITORIAL: Reduce header dependencies in shared code
Some backends may break as I only compiled SDL
2011-04-28 15:08:58 +03:00
Max Horn 42ab839dd6 AUDIO: Rename sound/ dir to audio/
svn-id: r55850
2011-02-09 01:09:01 +00:00