* Fix API calls (pack_start)
* Fix logic update sensitivity in response to callbacks
* Cleanup white-space and re-indent
TODO: invert timeout behavior: opt-in to timeouts, not opt-out.
This addresses an issue with gnome and mate, where
dialog windows do not have a window close button,
and expect direct interaction with the user "OK/Cancel",
"Yes/No", etc.
* expand parent rows of selected playlist
* do not subscribe multiple times to the same signal
* scope variables, remove cruft
* fix some many whitespace / indent issues
* use new PM API, allow to cancel individual scan
* cancel the scan when hiding the dialog (e.g.via Esc)
* show scan timeout time (count down/up)
* re-layout and re-label (work in process)
existence_check() calls prevent_deletion() -> mark_immutable()
which since a4d7b45fe0 calls close().
So the file needs to be open()ed after the existence check.
This allows to fit complete text "> 100.1%",
which is useful when chasing external transport, and yet
still have a reasonable shuttle width when using semi-tones.
TransportStateChange() triggers various updates.
However at the time the signal is handled
`transport_rolling()` and/or `transport_state_rolling()`
may still return false.
This fixes incorrect In/Disk display on tracks (RouteUI)
and incorrect automation write-pass handling,
when toggling stop/play.
This reverts most of 50c555f1a1
* Never render from `map_transport_state()` callback
* re-instantiate deadzone, only update when last_speed_displayed
differs by 0.5%
* Fix Pool OOM due to mapping state doing direct UI changes
instead of delegating this to lower priority render()
This is for at least two reasons: transport will effectively
move with 32 samples * 6.25% = 2 samples per cycle and the
resampler cannot up/downsample a factor of > 16 with
reasonable quality.
* localize speed changes into varispeed dialog
* make speed-changes idempotent
* remember window position (do not overlap with button)
ideally the window would show up below the "Vari" button