Since upcoming state-machine transitions are done in rt-context
via ARDOUR::Session::process_event () they should all in rt-context.
set_session() is called from the UI thread (and the process-lock wasn't
even taken)
Revert this once transport state machine waits for de-click!
This causes audible-clicks on stop, but prevents audible artifacts
on LocateRoll with the current transport-control-logic.
During session load, all earlier configure_processors() calls
were useless and not taking I/O into account! The Delivery ::pan_out()
needs _output I/O ports in order to correctly report the correct
port-count!
This worked in earlier versions because Config->map_parameters()
triggered [two] processor re-configs via ::listen_position_changed().
That behavior was changed in 1af123465c
This is more useful than exact_equivalent() since _start offset
may not match in some cases (compounds, import, record with different
capture latencies).
However shared group editing (range, copy/paste) does result in
consistent layers and matching position+length.
Fix some mistakes (mostly mixes between nouns and verbs) and tweak some
translations. Also reuse existing translations in some places because
they were better.
A Gtk::manage()d widget will be deleted when its parent container
is destroyed. Top-level context menus are not inside a container and
hence need to be manually deallocated.
The solution here is to use a shared Gtk::Menu pointer that is
centrally de/re-allocated.
This works because the GUI is single-threaded and at most one
context menu is visible at a time.
A Gtk::manage()d widget will be deleted when its parent container
is destroyed. Top-level context menus are not inside a container and
hence need to be manually deallocated.
This adds explicit delete calls for menus where there is a
member variable reference to the Menu.