Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Beginning of "v2" work for the MIDI player
For now, code is kept mostly as usual, there will be more rearranging.
One of the things is to split the huge structure.
It is separated in distinct source files for each logical part, if you agree with it.
Files are tagged with an
OPLMIDI
identifier.The term of "chip voices" is adopted in file naming, does not exist yet in source.
It's the intent to be more generic, and the idea to be associated to chip channels in
1..*
way.It's the place for a kind of polymorphic structure which can host a voice of any kind.
As such, it's intended to have the definition for "FM voice", "rhythm voice", "PSG", "PCM" etc.
The voices will be able to be type-switched for dynamic 2-op/4-op conversion.
A tagged union will be appropriate for implementing.
Other things: