1 个不稳定版本
0.2.1 | 2023年8月2日 |
---|
#587 在 音频
23KB
242 行
ETC Express MIDI
Rust 库,用于通过 MIDI 命令控制 ETC Express 灯光控制台。
此库包含与 Express 控制台交互的 2 种方法
-
方法 1 使用 MIDI 乐器命令与 Express 的提示和宏功能交互。任何 USB 到 MIDI 适配器都应与此方法兼容。
-
方法 2 使用 MIDI Show Control 操作 Express。此方法需要能够传递 SysEx 命令的 MIDI 适配器。
示例
ETC MIDI
use etc_express_midi::{MidiOutput, ConsoleETCMidi, FaderPair};
fn main() -> Result<(), Box<dyn std::error::Error>> {
let midi_client = MidiOutput::new("ETC MIDI Example")?;
let midi_ports = midi_client.ports();
let midi_port_index = 0; // The index of the desired controller
let midi_conn = midi_client.connect(&(midi_ports[midi_port_index]), "Example Output")?;
let express_midi_channel = 1;
let mut express_console = ConsoleETCMidi::new(midi_conn, express_midi_channel);
// Execute the next cue in the CD fader pair
express_console.go(FaderPair::CD)?;
Ok(())
}
MIDI Show Control
use etc_express_midi::{MidiOutput, ConsoleMSC, FaderPair};
fn main() -> Result<(), Box<dyn std::error::Error>> {
let midi_client = MidiOutput::new("ETC MSC Example")?;
let midi_ports = midi_client.ports();
let midi_port_index = 0; // The index of the desired controller
let midi_conn = midi_client.connect(&(midi_ports[midi_port_index]), "Example Output")?;
let msc_device_id = 1;
let mut express_console = ConsoleMSC::new(midi_conn, msc_device_id);
// Execute the next cue in the CD fader pair
express_console.go(FaderPair::CD)?;
Ok(())
}
依赖项
~0.5–28MB
~372K SLoC