add methods to queue full MTC and SPP messages, now that they are synchronous

This commit is contained in:
Paul Davis 2013-08-08 19:31:10 -04:00
parent d90e2b4221
commit 111d35c9c7
2 changed files with 16 additions and 5 deletions

View file

@ -2371,10 +2371,14 @@ CursorDrag::fake_locate (framepos_t t)
Session* s = _editor->session ();
if (s->timecode_transmission_suspended ()) {
framepos_t const f = _editor->playhead_cursor->current_frame;
/* This is asynchronous so it will be sent "now"
*/
s->send_mmc_locate (f);
// XXX need to queue full time code and SPP messages somehow
// s->send_full_time_code (f);
// s->send_song_position_pointer (f);
/* These are synchronous and will be sent during the next
process cycle
*/
s->queue_full_time_code ();
s->queue_song_position_pointer ();
}
show_verbose_cursor_time (t);

View file

@ -813,8 +813,8 @@ class Session : public PBD::StatefulDestructible, public PBD::ScopedConnectionLi
boost::shared_ptr<SessionPlaylists> playlists;
void send_mmc_locate (framepos_t);
int send_full_time_code (framepos_t, pframes_t nframes);
void send_song_position_pointer (framepos_t);
void queue_full_time_code () { _send_timecode_update = true; }
void queue_song_position_pointer () { /* currently does nothing */ }
bool step_editing() const { return (_step_editors > 0); }
@ -1261,6 +1261,13 @@ class Session : public PBD::StatefulDestructible, public PBD::ScopedConnectionLi
void engine_halted ();
void xrun_recovery ();
/* These are synchronous and so can only be called from within the process
* cycle
*/
int send_full_time_code (framepos_t, pframes_t nframes);
void send_song_position_pointer (framepos_t);
TempoMap *_tempo_map;
void tempo_map_changed (const PBD::PropertyChange&);