Skip to content

Multi port file support? #112

@BLumia

Description

@BLumia

Currently, TinyMidiLoader doesn't recognize MIDI port Meta Event, and TinySoundFont also don't have related support as well, which can cause incorrect playback in some MIDI file which uses such meta event.

Some example MIDI files that can be used to test:

Add parsing for that meta event in tml.h is (or might be) simple...

		switch (meta_type)
		{
			case TML_PORT:
				if (buflen != 1) { TML_WARN("Invalid length for Port meta event"); return -1; }
				evt->type = TML_PORT;
				evt->key = metadata[0]; // simply store it somewhere for later use..?
				break;
                        // ...

...but I can't find midi port-related support in tsf.h is that means this will be hard to implement in tsf?

Additional Context

I previously tested some other players to check if they support this meta event, the result:

There was a related discussion in FluidSynth as well, see FluidSynth/fluidsynth#1352 and FluidSynth/fluidsynth#1361.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions