Commit graph

15178 commits

Author SHA1 Message Date
Robin Gareus
e2bc670e6b
Update monitoring display when TB cues change 2022-02-04 01:47:26 +01:00
Robin Gareus
05f4ffa598
Fix cue selection
TriggerEntry has 3 child items:
 * play-button, follow-button, name-button.

On mouse-down the TriggerEntry is grab()bed in preparation
to start a drag. From then on all events are directly sent to
TriggerEntry, which can only pass it up to parent items.
Mouse-release hence reaches the TriggerStrip and selects it.
2022-02-03 23:29:01 +01:00
Robin Gareus
e51427413c
Tweak TB event passthrough
Play/Stop and Follow buttons no longer pass events up.
That way the strip will not be selected on mouse-up.
2022-02-03 21:57:13 +01:00
Robin Gareus
511ff3290f
Implement TriggerStrip selection
This also changes TriggerBox Selection to act on release
(like all other selection). Otherwise strip selection will
de-select the TriggerBox on mouse-release.
2022-02-03 05:50:07 +01:00
Robin Gareus
65e3177910
Trigger Clip Picker: fix crash at exit (auditioner reference) 2022-02-02 23:08:49 +01:00
Robin Gareus
2c8427773f
Trigger-clip audition: show audition-synth GUI (WIP)
This is somewhat experimental, also the Plugin UI is only
available while MIDI audition plays...
2022-02-02 22:09:47 +01:00
Ben Loftis
b250c69eb8 trigger_ui: return the gain-spinner to MIDI clips; it adjusts velocity 2022-02-02 11:47:50 -06:00
cooltehno
bf2ff23e44
Update dark-ardour.colors 2022-02-02 16:45:18 +01:00
Robin Gareus
bb11be9936
Consistent height of MIDI and Audio Track connection buttons
Audio track shows a trim-knob -- which is SCALED(19x19px),
MIDI input button should follow suit.
2022-02-02 14:18:18 +01:00
Ben Loftis
1725fdadf6 pre-size Grid and Draw-option menus so they are less likely to dynamically resize with every click 2022-02-01 17:02:56 -06:00
Ben Loftis
26beea89ea changes to the Draw options should immediately sync state to instant.xml 2022-02-01 17:02:56 -06:00
Ben Loftis
b7a3de126c Fix some menus that occasionally act 'stuck'
* when a menu uses RadioActions, their initial state must be synced
* we use various methods to 'fix' this throughout the program
-> I'm forcing internal state to match in the case the Action is already active
* question:  we tend to use RadioActions for all these menu items,
   because they represent a choice between many options;
   but do we really need to use RadioActions here?
2022-02-01 17:02:56 -06:00
Ben Loftis
a100d46249 midi_input_enable_button does not need to be dynamically allocated 2022-02-01 12:26:41 -06:00
Ben Loftis
6fc4ab87de trigger_ui: MIDI trigger strips have a centered note-icon 2022-02-01 10:34:35 -06:00
Ben Loftis
69cdccb912 Add eighth-note symbols to ArdourMono font file 2022-02-01 10:12:24 -06:00
Robin Gareus
2f94e28f5b
Add Preference to change user clip library dir 2022-02-01 15:47:54 +01:00
Robin Gareus
34c8307a38
Fix DirectoryOption set filename
This properly updates the display if the preference changes.
Even with FILE_CHOOSER_ACTION_SELECT_FOLDER the API is
is get/set_filename -- set_current_folder() sets the parent folder.
2022-02-01 15:47:54 +01:00
Ben Loftis
e5efb57166 terminology: the user-visible name for Trigger object is a 'Trigger Slot' 2022-01-31 20:25:06 -06:00
Ben Loftis
64e4964101 terminology: the TB widget in a mixer strip is called a Trigger Grid 2022-01-31 20:25:06 -06:00
Ben Loftis
da09d1dd9a terminology: the content in a trigger is a Trigger Clip 2022-01-31 20:25:06 -06:00
Ben Loftis
bb99c53cca terminology: change visibility text to 'Cue Window' to match button name 2022-01-31 20:25:06 -06:00
Ben Loftis
2df7a8d961 terminology: set the title of the Cue(s) Window 2022-01-31 20:25:06 -06:00
Ben Loftis
bd7ffdbadb remove trigger visibility from mixer-strip context menu
* we handle trigger visibility from the Track visibility tabs
2022-01-31 20:25:06 -06:00
Ben Loftis
7748e939b8 trigger_ui: remove the popup slot-editor window until it is finished 2022-01-31 20:25:06 -06:00
Ben Loftis
5f10817126 trigger_ui: add menu items and bindings to trigger Cues A-H 2022-01-31 20:25:05 -06:00
Ben Loftis
63912069f4 trigger_ui: remove redundant action bindings; rename trigger_scene to trigger_cue 2022-01-31 20:25:05 -06:00
Ben Loftis
2fdf54874a triggerbox: remove unused enable_triggers config var (reverts 21ed6a) 2022-01-31 20:25:05 -06:00
Ben Loftis
6ca8326c6a trigger_ui: tweak menu actions for multi-jump 2022-01-31 14:59:30 -06:00
Robin Gareus
bfc3f6fa4f
Bouncing to trigger enables Cue-Page visibility 2022-01-31 21:53:57 +01:00
Ben Loftis
3704b47249 trigger_ui: first draft of a multi-jump dialog 2022-01-30 19:00:50 -06:00
Robin Gareus
0da02b582d
Trigger clip picker: button to open library folder 2022-01-30 22:44:39 +01:00
Paul Davis
cdda0b6d30 removal of TriggerBox passthru property, GUI edition 2022-01-30 13:38:10 -07:00
Ben Loftis
663a843484 Add explanatory text to '+' symbol on mixer and recorder pages 2022-01-30 13:44:41 -06:00
Ben Loftis
7d34397a35 triggerbox: handling double-click is necessary to cancel an unneeded grab() 2022-01-30 13:44:38 -06:00
Robin Gareus
97fe05e4de
Improve GUI HiDPI support
* scale default track heights
* scale region-gain, automation lane control points
* scale max. MIDI note lane height
2022-01-29 22:33:07 +01:00
Robin Gareus
0b055ad66e
Add option to copy bounced regions/range to clip library 2022-01-29 20:48:23 +01:00
Robin Gareus
ac6835c7d8
DnD export of Regions to shared clip library 2022-01-29 16:22:51 +01:00
Robin Gareus
57a93380b6
No need to keep the sorter struct around 2022-01-29 05:27:55 +01:00
Robin Gareus
a4ee7fa2fa
Explicitly suspend redisplay while adding/removing tracks
This should not be needed, however Editor::idle_remove_tracks()
has the same priority as Editor::redisplay_track_views() and this
might save us another redisplay call.
2022-01-29 05:27:21 +01:00
Robin Gareus
101829b280
Revert "Fix crash when removing Routes and VCA"
There is probably a good reason why _vca.reset() is called
immediately, and 6dc66ea78f is a better solution to the issue

This reverts commit 83719fba1a.
2022-01-29 05:19:03 +01:00
Robin Gareus
532e212882
Speed up Route deletion
Session::remove_routes() first calls IO::disconnect()
before eventually calling route->drop_references().

RouteTimeAxisView::io_changed() is called while the route still
exists and requests a redraw which in turn emits
_stripable->gui_changed ("track_height").

Since the RTAV is deleted later during an idle-callback, there
was another redraw performed just before the RTAV is actually deleted.
2022-01-29 05:13:23 +01:00
Robin Gareus
83719fba1a
Fix crash when removing Routes and VCA
VCATimeAxisView::self_delete () resets _vca and queues delete_when_idle.
From now on STAV::strippable () will return 0.

Editor::idle_remove_tracks() returns, and before the VCATimeAxisView
is destroyed. Editor::redisplay_track_views() may be called.

The VCATimeAxisView still exists at this point and is in
Editor::track_views, but has no valid stripable.

This causes a crash in TrackViewStripableSorter which depends
on STAV::stripable();
2022-01-29 05:06:57 +01:00
Robin Gareus
92024697aa
Prepare clip-export DnD 2022-01-29 03:04:17 +01:00
Paul Davis
c6a31250ba alter Source::_length from timecnt_t to timepos_t
THe length of a Source(File) is always measured from its start. In this sense,
the length is like a position on the timeline, which is a duration with an
implicit origin, or a Region start, also a duration with an implicit origin (in
that case the start of the Source). There is no good reason for using
a timecnt_t for this value, because the position component of a timecnt_t
(the origin for the duration) is implicit and always zero. So we make
this property into a timepos_t, and include a number of asserts() to check
for common possible coding errors related to the time domain
2022-01-28 15:52:27 -07:00
Robin Gareus
b7bbb27c7c
Fix Editor::write_region for multi-channel regions
This method, and ::write_selection() is currently unused.
It should perhaps be removed after dome discussion.
2022-01-28 02:01:23 +01:00
Robin Gareus
8e7b01bd5f
Remove debug output 2022-01-27 22:26:31 +01:00
Robin Gareus
c9e9843a9e
Fix Trigger DnD
Revert parts of 8c144d6e69 and 0f4a5f2d52
Allow to drag regions out of trigger-boxes (this will be needed
to export triggers).
2022-01-27 22:24:55 +01:00
Paul Davis
93401d1883 remove debug output 2022-01-27 14:02:34 -07:00
Ben Loftis
0f4a5f2d52 trigger_ui: slot-to-slot drag, with static variable implementation (gtk part) 2022-01-27 13:23:05 -06:00
Ben Loftis
8c144d6e69 trigger_ui: trigger-to-trigger drags use a different target-name 2022-01-27 13:15:27 -06:00