[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
- Toggle between "Internal" and "MTC" sync while transport is running

ardour-3.0: ../libs/ardour/session_midi.cc:432: int
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?

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

More information about the Ardour-Dev mailing list