Ardour
9.0-pre0-582-g084a23a80d
|
#include <mmc.h>
Public Types | |
enum | Command { cmdStop = 0x1 , cmdPlay = 0x2 , cmdDeferredPlay = 0x3 , cmdFastForward = 0x4 , cmdRewind = 0x5 , cmdRecordStrobe = 0x6 , cmdRecordExit = 0x7 , cmdRecordPause = 0x8 , cmdPause = 0x9 , cmdEject = 0xA , cmdChase = 0xB , cmdCommandErrorReset = 0xC , cmdMmcReset = 0xD , cmdIllegalMackieJogStart = 0x20 , cmdIllegalMackieJogStop = 0x21 , cmdWrite = 0x40 , cmdMaskedWrite = 0x41 , cmdRead = 0x42 , cmdUpdate = 0x43 , cmdLocate = 0x44 , cmdVariablePlay = 0x45 , cmdSearch = 0x46 , cmdShuttle = 0x47 , cmdStep = 0x48 , cmdAssignSystemMaster = 0x49 , cmdGeneratorCommand = 0x4A , cmdMtcCommand = 0x4B , cmdMove = 0x4C , cmdAdd = 0x4D , cmdSubtract = 0x4E , cmdDropFrameAdjust = 0x4F , cmdProcedure = 0x50 , cmdEvent = 0x51 , cmdGroup = 0x52 , cmdCommandSegment = 0x53 , cmdDeferredVariablePlay = 0x54 , cmdRecordStrobeVariable = 0x55 , cmdWait = 0x7C , cmdResume = 0x7F } |
typedef PBD::Signal< void(MachineControl &)> | MMCSignal |
Public Member Functions | |
MachineControl () | |
void | set_ports (MIDI::Port *input, MIDI::Port *output) |
Port * | input_port () |
Port * | output_port () |
void | set_receive_device_id (byte id) |
void | set_send_device_id (byte id) |
byte | receive_device_id () const |
byte | send_device_id () const |
void | enable_send (bool) |
bool | send_enabled () const |
void | send (MachineControlCommand const &, timestamp_t when) |
Static Public Member Functions | |
static bool | is_mmc (byte *sysex_buf, size_t len) |
Private Member Functions | |
void | process_mmc_message (Parser &p, byte *, size_t len) |
int | do_masked_write (byte *, size_t len) |
int | do_locate (byte *, size_t len) |
int | do_step (byte *, size_t len) |
int | do_shuttle (byte *, size_t len) |
void | write_track_status (byte *, size_t len, byte reg) |
void | spp_start () |
void | spp_continue () |
void | spp_stop () |
Private Attributes | |
byte | _receive_device_id |
byte | _send_device_id |
Port * | _input_port |
Port * | _output_port |
bool | _enable_send |
true if MMC sending is enabled More... | |
PBD::ScopedConnectionList | port_connections |
connections to our parser for incoming data More... | |
Class to handle incoming and outgoing MIDI machine control messages
typedef PBD::Signal<void(MachineControl&)> MIDI::MachineControl::MMCSignal |
MIDI::MachineControl::MachineControl | ( | ) |
|
private |
|
private |
|
private |
|
private |
void MIDI::MachineControl::enable_send | ( | bool | ) |
|
static |
void MIDI::MachineControl::send | ( | MachineControlCommand const & | , |
timestamp_t | when | ||
) |
void MIDI::MachineControl::set_ports | ( | MIDI::Port * | input, |
MIDI::Port * | output | ||
) |
void MIDI::MachineControl::set_receive_device_id | ( | byte | id | ) |
void MIDI::MachineControl::set_send_device_id | ( | byte | id | ) |
|
private |
|
private |
|
private |
|
private |
PBD::Signal<void(MachineControl &, const byte *)> MIDI::MachineControl::Locate |
|
private |
PBD::Signal<void(MachineControl&,float,bool)> MIDI::MachineControl::Shuttle |
PBD::Signal<void()> MIDI::MachineControl::SPPContinue |
PBD::Signal<void()> MIDI::MachineControl::SPPStart |
PBD::Signal<void()> MIDI::MachineControl::SPPStop |
PBD::Signal<void(MachineControl &, int)> MIDI::MachineControl::Step |
PBD::Signal<void(MachineControl &,size_t,bool)> MIDI::MachineControl::TrackMuteChange |
PBD::Signal<void(MachineControl &,size_t,bool)> MIDI::MachineControl::TrackRecordStatusChange |