import reapy
import reapy.reascript_api as RPR
[docs]def get_active_editor():
"""
Return active MIDI editor, or None if no editor is active.
Returns
-------
editor : MIDIEditor or None
Active MIDI editor, or None if no editor is active.
"""
editor = reapy.MIDIEditor(RPR.MIDIEditor_GetActive())
if not editor._is_defined:
editor = None
return editor
[docs]def get_max_outputs():
"""
Return maximum number of MIDI outputs.
Returns
-------
max_outputs : int
Maximum number of MIDI outputs.
"""
max_outputs = RPR.GetMaxMidiOutputs()
return max_outputs
[docs]def get_n_outputs():
"""
Return number of MIDI outputs.
Returns
-------
n_outputs : int
Number of MIDI outputs.
"""
n_outputs = RPR.GetNumMIDIOutputs()
return n_outputs
[docs]@reapy.inside_reaper()
def get_output_names():
"""
Return names of all output channels.
Returns
-------
names : list of str
Names of output channels.
"""
n_channels = reapy.midi.get_n_outputs()
return [RPR.GetMIDIOutputName(i, "", 2048)[2] for i in range(n_channels)]
[docs]def reinit():
"""Reset all MIDI devices."""
RPR.midi_reinit()