Namespace SpessaSharp.MIDI.Utils

Classes

ExtendedParameters
ExtendedParameters.NRPN
ExtendedParameters.NRPN.LSB

https://cdn.roland.com/assets/media/pdf/SC-8850_OM.pdf
http://hummer.stanford.edu/sig/doc/classes/MidiOutput/rpn.html
These also seem to match XG

ExtendedParameters.NRPN.MSB
ExtendedParameters.RPN
InstrumentInfo
MidiEditor
MidiEditor.ChannelModification
MidiEditor.Parameter<T>

Represents a value that means "clear this parameter" instead of "replace this parameter with". Essentially:

  • Clear - clear all changes of this parameter from the MIDI file.
  • Replace - clear all changes of this parameter from the MIDI file and add T.
MidiUtils

A general purpose class for handling MIDI messages.

Structs

MidiBuilder

A class that helps to build a MIDI file from scratch.

MidiBuilder.ChannelBuilder
MidiBuilder.DrumBuilder
MidiBuilder.Options
MidiBuilder.TrackBuilder
MidiEditor.Options

Allows easy editing of the file by removing channels, changing programs, changing controllers and transposing channels. Note that this modifies the MIDI in-place.

MidiUtils.AnalyzedMessage
MidiUtils.AnalyzedParameter
ParamTracker
ParamTracker.ParamController
PresetsWithKeyCombinations
  • Key - the preset.
  • Value - A Set:
    • Key: The MIDI note number.
    • Value: The velocity for this note number.
PresetsWithKeyCombinations.Enumerator

Enums

InstrumentInfo.Drum
InstrumentInfo.Family
InstrumentInfo.Melodic
MidiUtils.AnalyzedMessage.Type
MidiUtils.AnalyzedParameter.Type