22 #ifndef MTROPOLIS_PLUGIN_MIDI_H 23 #define MTROPOLIS_PLUGIN_MIDI_H 25 #include "mtropolis/modifier_factory.h" 26 #include "mtropolis/modifiers.h" 27 #include "mtropolis/plugin/midi_data.h" 28 #include "mtropolis/runtime.h" 41 class MultiMidiPlayer;
42 class MidiCombinerSource;
51 bool respondsToEvent(
const Event &evt)
const override;
53 void disable(
Runtime *runtime)
override;
59 #ifdef MTROPOLIS_DEBUG_ENABLE 60 const char *debugGetTypeName()
const override {
return "MIDI Modifier"; }
61 SupportStatus debugGetSupportStatus()
const override {
return kSupportStatusDone; }
65 struct MuteTrackProxyInterface {
72 const char *getDefaultName()
const override;
83 MiniscriptInstructionOutcome scriptSetMuteTrackIndexed(
MiniscriptThread *thread,
size_t trackIndex,
bool muted);
85 uint getBoostedVolume(
Runtime *runtime)
const;
87 void playSingleNote();
88 void stopSingleNote();
98 struct SingleNotePart {
106 union ModeSpecificUnion {
108 SingleNotePart singleNote;
117 Event _terminateWhen;
120 ModeSpecificUnion _modeSpecific;
128 MidiFilePlayer *_filePlayer;
129 MidiNotePlayer *_notePlayer;
139 MultiMidiPlayer *getMidi()
const;
Definition: runtime.h:816
Definition: runtime.h:1594
Definition: runtime.h:1185
Definition: runtime.h:3035
Definition: miniscript.h:421
Definition: modifier_factory.h:57
Definition: runtime.h:544
Definition: mididrv.h:300
Definition: modifier_factory.h:48
Definition: runtime.h:369
Definition: runtime.h:1180
Definition: midi_data.h:33