23 #ifndef __midipp_mmc_h_h__
24 #define __midipp_mmc_h_h__
43 class MachineControlCommand;
49 typedef PBD::Signal1<void,MachineControl&>
MMCSignal;
54 cmdDeferredPlay = 0x3,
57 cmdRecordStrobe = 0x6,
64 cmdCommandErrorReset = 0xC,
67 cmdIllegalMackieJogStart = 0x20,
68 cmdIllegalMackieJogStop = 0x21,
71 cmdMaskedWrite = 0x41,
75 cmdVariablePlay = 0x45,
80 cmdAssignSystemMaster = 0x49,
81 cmdGeneratorCommand = 0x4A,
87 cmdDropFrameAdjust = 0x4F,
91 cmdCommandSegment = 0x53,
92 cmdDeferredVariablePlay = 0x54,
94 cmdRecordStrobeVariable = 0x55,
115 static bool is_mmc (
byte *sysex_buf,
size_t len);
166 PBD::Signal3<void,MachineControl&,float,bool>
Shuttle;
172 PBD::Signal3<void,MachineControl &,size_t,bool>
179 PBD::Signal3<void,MachineControl &,size_t,bool>
187 PBD::Signal2<void,MachineControl &, const byte *>
Locate;
191 PBD::Signal2<void,MachineControl &, int>
Step;
193 #define MMC_NTRACKS 48
MIDI::byte * fill_buffer(MachineControl *mmc, MIDI::byte *) const
MachineControlCommand(MachineControl::Command)
MachineControl::Command _command
MachineControlCommand(Timecode::Time)
int do_shuttle(byte *, size_t len)
byte send_device_id() const
PBD::Signal3< void, MachineControl &, float, bool > Shuttle
byte shortSelectedMasterCode
MMCSignal AssignSystemMaster
PBD::Signal3< void, MachineControl &, size_t, bool > TrackRecordStatusChange
MMCSignal DropFrameAdjust
void write_track_status(byte *, size_t len, byte reg)
MMCSignal CommandErrorReset
bool send_enabled() const
byte shortMidiTimeCodeInput
int do_locate(byte *, size_t len)
bool _enable_send
true if MMC sending is enabled
MMCSignal MidiTimeCodeCommand
PBD::Signal2< void, MachineControl &, int > Step
PBD::Signal0< void > SPPStart
byte selectedTimeCodeUserbits
void set_ports(MIDI::Port *input, MIDI::Port *output)
PBD::Signal0< void > SPPContinue
byte shortSelectedTimeCode
PBD::Signal0< void > SPPStop
static bool is_mmc(byte *sysex_buf, size_t len)
MMCSignal GeneratorCommand
byte shortGeneratorTimeCode
byte receive_device_id() const
void set_send_device_id(byte id)
PBD::Signal2< void, MachineControl &, const byte * > Locate
PBD::ScopedConnectionList port_connections
connections to our parser for incoming data
int do_masked_write(byte *, size_t len)
void process_mmc_message(Parser &p, byte *, size_t len)
byte midiTimeCodeCommandTally
byte selectedTimeCodeSource
byte shortRequestedOffset
PBD::Signal1< void, MachineControl & > MMCSignal
MMCSignal DeferredVariablePlay
void send(MachineControlCommand const &, timestamp_t when)
MMCSignal RecordStrobeVariable
PBD::Signal3< void, MachineControl &, size_t, bool > TrackMuteChange
byte generatorCommandTally
int do_step(byte *, size_t len)
void set_receive_device_id(byte id)