mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-16 19:56:31 +01:00
Tweak transmission of MMC on locate. Should fix #3121.
git-svn-id: svn://localhost/ardour2/branches/3.0@7314 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
cd1aaff197
commit
89b686f937
4 changed files with 8 additions and 4 deletions
|
|
@ -1168,7 +1168,7 @@ class Session : public PBD::StatefulDestructible, public PBD::ScopedConnectionLi
|
||||||
void overwrite_some_buffers (Track *);
|
void overwrite_some_buffers (Track *);
|
||||||
void flush_all_inserts ();
|
void flush_all_inserts ();
|
||||||
int micro_locate (nframes_t distance);
|
int micro_locate (nframes_t distance);
|
||||||
void locate (nframes64_t, bool with_roll, bool with_flush, bool with_loop=false, bool force=false);
|
void locate (nframes64_t, bool with_roll, bool with_flush, bool with_loop=false, bool force=false, bool with_mmc=true);
|
||||||
void start_locate (nframes64_t, bool with_roll, bool with_flush, bool with_loop=false, bool force=false);
|
void start_locate (nframes64_t, bool with_roll, bool with_flush, bool with_loop=false, bool force=false);
|
||||||
void force_locate (nframes64_t frame, bool with_roll = false);
|
void force_locate (nframes64_t frame, bool with_roll = false);
|
||||||
void set_track_speed (Track *, double speed);
|
void set_track_speed (Track *, double speed);
|
||||||
|
|
|
||||||
|
|
@ -224,6 +224,6 @@ Session::finalize_audio_export ()
|
||||||
if (post_export_sync) {
|
if (post_export_sync) {
|
||||||
config.set_external_sync (true);
|
config.set_external_sync (true);
|
||||||
} else {
|
} else {
|
||||||
locate (post_export_position, false, false, false);
|
locate (post_export_position, false, false, false, false, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -268,7 +268,6 @@ Session::process_with_events (nframes_t nframes)
|
||||||
*/
|
*/
|
||||||
if (_send_timecode_update) {
|
if (_send_timecode_update) {
|
||||||
send_full_time_code(nframes);
|
send_full_time_code(nframes);
|
||||||
deliver_mmc (MIDI::MachineControl::cmdLocate, _transport_frame);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!process_can_proceed()) {
|
if (!process_can_proceed()) {
|
||||||
|
|
|
||||||
|
|
@ -769,8 +769,9 @@ Session::micro_locate (nframes_t distance)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** @param with_mmc true to send a MMC locate command when the locate is done */
|
||||||
void
|
void
|
||||||
Session::locate (nframes64_t target_frame, bool with_roll, bool with_flush, bool with_loop, bool force)
|
Session::locate (nframes64_t target_frame, bool with_roll, bool with_flush, bool with_loop, bool force, bool with_mmc)
|
||||||
{
|
{
|
||||||
if (actively_recording() && !with_loop) {
|
if (actively_recording() && !with_loop) {
|
||||||
return;
|
return;
|
||||||
|
|
@ -892,6 +893,10 @@ Session::locate (nframes64_t target_frame, bool with_roll, bool with_flush, bool
|
||||||
|
|
||||||
_send_timecode_update = true;
|
_send_timecode_update = true;
|
||||||
|
|
||||||
|
if (with_mmc) {
|
||||||
|
deliver_mmc (MIDI::MachineControl::cmdLocate, _transport_frame);
|
||||||
|
}
|
||||||
|
|
||||||
Located (); /* EMIT SIGNAL */
|
Located (); /* EMIT SIGNAL */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue