Robin Gareus
5cebd64924
Fix fit tracks
...
The track-height change needs to be applied so that
vertical_adjustment max range is set correctly.
Otherwise vertical_adjustment.set_value() may fail
or scroll to the wrong position.
In 5b3eacd421
`redisplay_track_views()` was moved from
EditorRoutes to Editor. The call was delegated to the idle
thread, potentially collecting multiple calls before performing
the update.
This resulted in "Fit selection" to set the y-offset before the
height-change was applied.
2022-01-27 19:57:58 +01:00
Paul Davis
15f0e4dbbf
triggerbox: fix cue playback and recording
...
Somewhat alarmed that gcc (at least) allows if (cue_recording ...) to be
used just like if (_cue_recording) even though the former is a class method
and the latter is a class member.
2022-01-27 11:36:04 -07:00
Paul Davis
0dc19a2b31
triggerbox: allow setting of start to work correctly (for audio triggers)
2022-01-26 21:23:40 -07:00
Paul Davis
fdf0c069ca
triggerbox: take start offset into account when computing ends
2022-01-26 21:22:40 -07:00
Robin Gareus
fe49558429
Correctly order TriggerStrips on TriggerPage
2022-01-27 04:06:13 +01:00
Robin Gareus
f33a0f58f9
Mark Trigger-strip processor-box insensitive when route is inactive
2022-01-27 01:28:50 +01:00
Robin Gareus
194dfc1717
Add Tracks to TriggerPage sidebar
2022-01-27 01:28:50 +01:00
Robin Gareus
51b0d29555
Add dedicated Trigger Route List
2022-01-27 01:28:50 +01:00
Robin Gareus
b68097422a
Reduce and abstract EditorRoutes to a dedicated RouteList
2022-01-27 01:28:50 +01:00
Robin Gareus
7623834421
Simplify treeview resync
...
The session marks itself as modified when the order-key
changes and also ensure_stripable_sort_order.
2022-01-27 01:28:49 +01:00
Robin Gareus
729ff35faf
Mark session as modified when stripable order chanes
...
Previously this was handled by the Editor/Mixer Treeviews,
centralizing it in Session makes more sense.
2022-01-27 01:28:49 +01:00
Robin Gareus
5b3eacd421
Make editor independent of EditorRoutes
2022-01-27 01:28:49 +01:00
Ben Loftis
a274c1473a
Triggerbox: Preserve some settings when dragging a new clip into a slot
2022-01-26 17:57:55 -06:00
Ben Loftis
b1c04f1108
Triggerbox: Empty slots act as a Stop unless cue_isolated is set (TODO: can we report this to user?)
2022-01-26 17:57:55 -06:00
Ben Loftis
760c55b0b2
Cue Page: the property-box does not need a resizable pane
2022-01-26 17:57:55 -06:00
Robin Gareus
036ad841bf
Remove `using namespace Gtk;` from headers
...
This causes issues if the header is included early on
in particular a conflict with gdkx.h
The reference to ‘Window’ is ambiguous `Gtk::Window` vs [X11]Window.
2022-01-26 22:32:28 +01:00
Robin Gareus
1da131db41
Add missing namepaces
...
This works since gtkmm2ext headers have `using namespace Gtk`
2022-01-26 22:32:27 +01:00
Robin Gareus
c9f40a0bf5
Fix pane size for widgets that explicitly allow 0 size
...
Amend 1aca71e22b
2022-01-26 22:32:27 +01:00
Ben Loftis
3362f7d4fa
Triggerbox: support for files that use a space between bpm value and bpm text
2022-01-26 11:51:08 -06:00
Ben Loftis
0350e58eb7
remove unused variables (fix warnings)
2022-01-26 11:51:08 -06:00
Ben Loftis
065e0ba210
Cue page: rough-in a display for Bar-length
2022-01-26 11:51:08 -06:00
Ben Loftis
289199d01d
triggerbox: barcnt -> beatcnt (gui part)
2022-01-26 11:51:08 -06:00
Ben Loftis
efb44fc640
triggerbox: barcnt -> beatcnt (libardour part)
2022-01-26 11:51:07 -06:00
Ben Loftis
925a3b3ccd
Only show the Range property header when a Range is selected (WIP)
2022-01-26 11:51:07 -06:00
Ben Loftis
a29510c1c4
trigger_ui: highlight Cue buttons when the user clicks them
2022-01-26 11:51:07 -06:00
luz paz
364f2f0788
Fix typos in gtk2_ardour/ directory
...
Found via `codespell -q 3 -S *.po,./share/patchfiles,./libs -L ba,buss,busses,doubleclick,hsi,ontop,ro,seh,siz,sur,te,trough,ue`
2022-01-26 12:35:38 -05:00
Paul Davis
7f96255722
triggerbox UI: catch up with method and property name changes from 528fd247
2022-01-26 10:12:13 -07:00
Paul Davis
f20966cbad
triggerbox: formalize setter/getter methods for Trigger properties
...
These are all defined via macros now. We send PropertyChange notifications when the value is set
even though it may not yet be in use.
This also changes the std::atomic used to protect the UIState<->Properties interlocking to
unsigned, to get defined behavior when the generation counter wraps
2022-01-26 10:12:13 -07:00
Robin Gareus
2796d7250b
Do not allow to deactivate master-bus
2022-01-26 17:24:31 +01:00
Robin Gareus
1aca71e22b
Fix ArdourWidgets::Pane honor child min-size
...
This doesn't yet correctly fix Pane::constrain_fract() constraints,
when moving the divider, but it does prevent child widgets from
being allocated with a size smaller than their minimum.
This fixes some layout and rendering issues (widgets that have
a too small allocation are not exposed and/or bleed into neighbors)
2022-01-26 17:24:31 +01:00
Paul Davis
9ac93a4792
triggerbox: sidechain should only process "its" MIDI buffer when looking for events
2022-01-26 07:57:32 -07:00
Paul Davis
a7645022e1
triggerbox; fix i/o configuration of sidechain
2022-01-26 07:57:05 -07:00
Paul Davis
684ac0e42e
fix buglets after some recent changes to editor tempodisplay
...
These were caught by msvc but not by gcc .Disappointing
2022-01-26 07:25:00 -07:00
Ben Loftis
0496701a8f
Simplify the tab-selector tooltips
2022-01-25 19:50:57 -06:00
Ben Loftis
986942fe96
Cue Page: rename Trig -> Cue
2022-01-25 19:50:57 -06:00
Paul Davis
8122a879ee
fix a couple of conflicts after TriggerBox::scene_isolated became ::cue_isolated
2022-01-25 18:10:49 -07:00
Paul Davis
b6f37f11be
triggerbox: CAS-based property updating GUI editing
...
Follow actions are now set by two distinct methods, not one
2022-01-25 18:07:21 -07:00
Paul Davis
ccf90a9181
triggerbox: change to a CAS-based mechanism for setting UI-controlled properties
...
UIs only set a "shadow" value of most trigger properties, and use CAS to interlock (contention
is not expected to ever be an issue, it would imply two UIs being used to control this at
precisely the same time. The actual properties are updated whenever the trigger calls ::retrigger()
2022-01-25 18:07:21 -07:00
Robin Gareus
f7b826841b
Log Thread-name in stacktrace
2022-01-26 00:17:49 +01:00
Ben Loftis
3fbfe72fa9
mini-timeline: fix some thinkos in prior commit; rename some variables for readability
2022-01-25 16:21:25 -06:00
Ben Loftis
2fa4eadf8e
trigger_ui: cue_isolate deserves a button, not just a menu entry
2022-01-25 07:22:20 -06:00
Robin Gareus
0cf0de8c97
Remove indirection when showing/hiding TAV
2022-01-25 06:27:22 +01:00
Robin Gareus
dd4b4dc00b
Move PluginSetup callback to Editor
...
This is unrelated to the sidebar route-list and should never
have been in EditorRoutes.
2022-01-25 06:27:21 +01:00
Robin Gareus
28392bdcdb
GUI property "visible" applies only to automation-lanes
...
Tracks and Busses use PresentationInfo::hidden
2022-01-25 06:27:18 +01:00
Paul Davis
b7769a8f4b
possible fix for a valgrind reported illegal read
2022-01-24 16:42:12 -07:00
Robin Gareus
5f3cd26d02
Cleanup at exit, delete duplicate_routes_dialog
2022-01-24 21:25:20 +01:00
Robin Gareus
bdb91a434a
Simplify call to find_route_name()
...
Use std::string directly. There's no need to create a temporary
std::string from a char* when the API can use it directly.
2022-01-24 21:25:20 +01:00
Robin Gareus
7128c9958f
Fix crash when duplicating track(s)
...
Compare to PluginInsert::set_state(). The sidechain must not
inherit the name from the template track. That leads
to port-name ambiguities.
Also later there will be a crash when ::update_sidechain_name()
calls IO::set_name since: _name is not found in _current_name.
2022-01-24 21:25:20 +01:00
Paul Davis
4c433106a4
add interview mode to preferences and fix up implementation
2022-01-24 11:29:36 -07:00
Paul Davis
8a310a748a
add new config variable for interview-editing
...
If enabled, this prevents range-selection from propagating across
all tracks when RippleAll is set
2022-01-24 11:29:36 -07:00