#include "pbd/error.h"
#include "pbd/pthread_utils.h"
#include "pbd/timersub.h"
+#include "pbd/stacktrace.h"
#include "timecode/time.h"
msg[4] = 0x1;
msg[9] = 0xf7;
- msg[5] = mtc_timecode_bits | timecode.hours;
+ msg[5] = mtc_timecode_bits | (timecode.hours % 24);
msg[6] = timecode.minutes;
msg[7] = timecode.seconds;
msg[8] = timecode.frames;
// Send message at offset 0, sent time is for the start of this cycle
MidiBuffer& mb (_midi_ports->mtc_output_port()->get_midi_buffer (nframes));
- mb.push_back (0, sizeof (msg), msg);
+ mb.push_back (Port::port_offset(), sizeof (msg), msg);
_pframes_since_last_mtc = 0;
return 0;
OUTBOUND MMC STUFF
**********************************************************************/
+void
+Session::send_immediate_mmc (MachineControlCommand c)
+{
+ if (AudioEngine::instance()->in_process_thread()) {
+ _mmc->send (c, Port::port_offset());
+ } else {
+ _mmc->send (c, 0);
+ }
+
+}
bool
Session::mmc_step_timeout ()
int
Session::start_midi_thread ()
{
+ if (midi_control_ui) { return 0; }
midi_control_ui = new MidiControlUI (*this);
midi_control_ui->run ();
return 0;