[Ardour-Dev] ardour3 assert/crash when toggling internal/external transport sync

Robin Gareus robin at gareus.org
Thu Jun 30 05:57:59 PDT 2011


I just stumbled over this:

- Enable Edit->Preferences->MIDI Control-> "Send MIDI Time Code"
- Open and Play a session
- Toggle between "Internal" and "JACK" sync while transport is running
OR
- Toggle between "Internal" and "MTC" sync while transport is running


ardour-3.0: ../libs/ardour/session_midi.cc:432: int
ARDOUR::Session::send_midi_time_code_for_cycle(ARDOUR::framepos_t,
ARDOUR::framepos_t, ARDOUR::pframes_t): Assertion
`(outbound_mtc_timecode_frame + (next_quarter_frame_to_send *
quarter_frame_duration)) >= _transport_frame' failed.


Maybe a user should not be able to change the sync-source while the
transport is running?!

Else, toggling the sync should re-init the outbound_mtc_timecode_frame
variable by calling session->send_full_time_code() every time the
sync-source is changed (or just set locate_pending() to do that.)

What do you think?
robin

PS. filed as http://tracker.ardour.org/view.php?id=4147



More information about the Ardour-Dev mailing list