Commit Graph

264 Commits

Author SHA1 Message Date
Paul Davis 5b038e488c no more "glue to ..." concept in GUI 2023-10-04 17:07:34 -06:00
Robin Gareus 3cf1227421
Revert "in draw mode, mouse drags in automation tracks are always freehand drawing"
This reverts commit c578695a64.

When hovering over a control point there is still the "Fader"
cursor shown. It is also handy to be able to directly modify
a control-point right after adding it.

A freehand draw operation can be still be initiated above,
below, or left/right of a given control point.
2023-09-26 01:10:16 +02:00
Ben Loftis e81b2353cc
Indicate arrangement section selection on canvas 2023-09-08 03:26:00 +02:00
Robin Gareus 3851a93e39
Update selection-markers on track and time selection 2023-09-06 00:02:36 +02:00
Paul Davis c578695a64 in draw mode, mouse drags in automation tracks are always freehand drawing 2023-08-18 17:42:51 -06:00
Ben Loftis a7a24def36
region groups: prioritize explicitly grouped and ungrouped regions 2023-08-10 16:55:25 +02:00
Robin Gareus cb78043adc
Indicate selection extents in time ruler 2023-05-17 01:53:40 +02:00
Robin Gareus dd542b8f4d
Use ARDOUR::PlaylistSet instead of local typedefs 2023-04-06 02:13:51 +02:00
Paul Davis b35518e212 switch from boost::{shared,weak}_ptr to std::{shared,weak}_ptr
This is mostly a simple lexical search+replace but the absence of operator< for
std::weak_ptr<T> leads to some complications, particularly with Evoral::Sequence
and ExportPortChannel.
2023-03-24 14:19:15 -06:00
Robin Gareus bd3f713d0e
Fix gain menu (polarity, envelope) with multiple selection 2022-12-17 19:13:26 +01:00
Robin Gareus 0f949bc02b
Add region polarity invert to Region menu 2022-12-17 13:15:42 +01:00
Paul Davis 254297355e increment/decrement name changes ... out with old in with the new (gui) 2022-10-07 17:30:45 -06:00
Paul Davis 45e21de209 implement and adopt new conventions for AudioClock use
The class now has two separate methods for setting a duration or a point
value. They MUST be used appropriately, because their behavior is different.

When ::set_duration() is used in timecode mode, an extent (inclusive-end
length) is shown rather than a length.

Some objects, such as the TimeInfoBox, now deliberately shown an inclusive end
for their "end" clock, but this not universally followed, pending more feedback
from users and investigating of conventions in other DAWs.
2022-10-07 16:24:56 -06:00
Paul Davis eadd26b379 amend 31640a9a5b by reverting action name back to fork-region
This avoids breaking bindings, and since the action name is generally not a part of the GUI,
really doesn't hurt anything in terms of understandability
2022-08-18 09:27:43 -06:00
Colin Fletcher 31640a9a5b gtk2_ardour: implement "Unlink from unselected" for MIDI regions
An attempt to satisfy #8848.

Add a new action, "fork-regions-from-unselected", which unlinks all
selected MIDI regions from any unselected regions, but maintains links
within the selection, and add the new action to the region MIDI context
menu as "Unlink from unselected". Rename the existing "fork-region" action
to "fork-selected-regions", and amend the existing "Unlink from other
copies" menu item to "Unlink all selected regions" to (try to) clarify the
difference.

Attach the <Tertiary>U default key-binding to the new action: I personally
think it's generally slightly more useful (otherwise I wouldn't have
implemented it), though I'm not that fussed.

In the case that there's only one MIDI region selected, or that none of
the selected regions are mutually linked, both actions will have exactly
the same result. Ideally, we'd only show a single menu item in this case,
but that would require (a) implementing a function to check whether the
selection contains any linked regions, and (b) making the region MIDI
context sub-menu dynamically generated, so that it can change based on the
result of that function, neither of which I've tried to do yet.
2022-08-18 09:18:25 -06:00
Paul Davis 2f7f313f6d MIDI combine (basically operational)
May need some tweaks to address notes that are cut off by the end of the region
2022-08-18 07:45:05 -06:00
Ben Loftis 419f934ecd support group-override when starting a new Range selection 2022-07-14 17:28:07 -05:00
Robin Gareus 7b7f17085b
Fix crash when using get_all_equivalent_regions wih VCAs in a session 2022-06-22 22:22:52 +02:00
Paul Davis a127399f5e click on a region in TimeFX mode should not switch back to grab mouse mode 2022-05-31 13:21:11 -06:00
Ben Loftis 764aa75f09 reset_region_scale_amplitude is redundant with reset_region_gain 2022-05-10 15:47:56 -05:00
Ben Loftis 01ef5a5b24 ripple (gui part): should_ripple_all() encapsulates modes Ripple+RippleAll 2022-03-14 19:26:41 -05:00
Robin Gareus 5b3eacd421
Make editor independent of EditorRoutes 2022-01-27 01:28:49 +01:00
Robin Gareus 3c03e4951e
Use updated temporal API 2/2 2021-12-11 15:51:31 +01:00
Paul Davis b6f290add2 timeline type changes for new ripple code and post-conflict-resolution fixups 2021-08-13 12:51:36 -06:00
Paul Davis cce695d33a changes required by fixing ambiguities in timepos_t/timecnt_t API (GUI edition) 2021-08-13 12:51:31 -06:00
Paul Davis 18d64f0402 change all Region::nt_*() methods to names without the nt_ prefix (GUI version) 2021-08-13 12:51:30 -06:00
Paul Davis 2a08e4bdaa continued work on timeline types conversion. in theory, just editor_ops.cc remains 2021-08-13 12:51:29 -06:00
Paul Davis 12b536d8f2 add API to fetch all regionviews after a given position 2021-08-13 12:51:28 -06:00
Paul Davis ece174ca47 region selection toggle in RippleAll mode applies across all tracks 2021-08-13 12:51:27 -06:00
Paul Davis 38cb16f521 in ripple all edit mode, extend-region selection operation works across all tracks 2021-08-13 12:51:27 -06:00
Paul Davis e5175f51d6 make region-selection on click apply across tracks if RippleAll is in use 2021-08-13 12:51:27 -06:00
Ben Loftis cc104d3fd3 Playlist UI tweaks: bugfix: mapover_groupd_routes should include the basis route (but only once) 2021-06-08 12:43:26 -05:00
Ben Loftis 285101d88c Cruft removal: behavior of Region List no longer needs these functions (gtk part) 2021-06-08 08:33:48 -05:00
Ben Loftis a8395718bc Playlist UI tweaks: rationalize playlist functions in Editor::
* new global playlist functions for {all | rec-armed | selected} tracks.
* new API passes (bool copy) arg instead of separate functions for copy_X.
* consistently use mapover_X functions to consolidate code
* update Lua bindings to match
2021-06-08 08:33:48 -05:00
Ben Loftis cf999ecaa9 Playlist UI tweaks: clarify purpose of get_region{view}s_corresponding_to 2021-06-08 08:33:48 -05:00
Ben Loftis 537d44e3ae Track selection as a side-effect of a Range selection should obey group->selection property 2021-05-28 18:51:22 -05:00
Robin Gareus 5c579ed52d
Remove unused #include<> (1/2)
PBD::stacktrace() is not used nor needed by default.
It should be used sparingly.
2021-05-05 17:43:28 +02:00
Paul Davis 5a4ef850ce better fix for same issue as 985eb93674
Copy region selection so that when it is invalidated, iteration doesn't break
2021-03-18 13:17:02 -06:00
Paul Davis 985eb93674 avoid possible iterator corruption in MIDI region selection handling 2021-03-18 12:50:06 -06:00
Robin Gareus cf6e785ed3
Move Playlist GUI functions to RouteUI
This allows to re-use playlist editing in all RouteUI derivatives,
not just the main editor time axis header.

The change is mostly a NO-OP, simply moving methods from
RouteTimeAxisView (is-a RouteUI), to RouteUI.
2021-01-26 01:54:33 +01:00
Paul Davis 48886565cf fix mouse-audition playback of a given region 2020-05-12 13:08:38 -06:00
Paul Davis 668ff4b638 if setting the selected MIDI region view to the currently selected MRV, do nothing 2020-05-05 18:00:05 -06:00
Paul Davis 575c818482 when a MIDI region has a note selected with none previously, cancel existing MIDI region/note selection 2020-05-01 17:39:13 -06:00
Paul Davis 65f7a6a938 changes to deal with region/note selection when changing into/out of internal edit mode
Also, activate MIDI editing actions so that they are effective in internal edit mode
2020-04-16 17:48:12 -06:00
Ben Loftis 142ce953da Split Select-All-Tracks into 2 appropriately named actions
Existing function select-all-tracks is now renamed select-all-visible-lanes, to match its behavior.

New function select-all-tracks will select all Tracks, as the name implies.

To maintain consistency for those users who actively used select-all-tracks,
  the default shortcut ctrl+t  will continue calling select-all-visible-lanes.
2020-01-22 10:33:15 -06:00
Ben Loftis 30553a2675 Apply some missing widget names 2020-01-12 18:13:47 -06:00
Robin Gareus e0f7514e82
Fix nested comments 2019-12-07 01:13:38 +01:00
Robin Gareus 2920bd0253
Region selection cannot change without a session
Without a session, there are no regions. Besides,
there is an unconditional call using _session directly
after the if (_session) clause, which would segfault...
2019-08-23 23:54:34 +02:00
Robin Gareus 128623e7fb
Fix midi-note selection invert
Selecting Notes in a region does not select the region itself.

Invert-selection needs to iterate over midi-regions that contain
the selection.
2019-08-12 02:28:38 +02:00
Robin Gareus 4050ca5633
Update GPL boilerplate and (C)
Copyright-holder and year information is extracted from git log.

git history begins in 2005. So (C) from 1998..2005 is lost. Also some
(C) assignment of commits where the committer didn't use --author.
2019-08-03 15:53:15 +02:00