13
0
Commit Graph

173 Commits

Author SHA1 Message Date
b2d4280e0f
Add support for Region Fx Automation 2024-04-23 21:56:22 +02:00
83e4b49a9e
Retain first-selected-stripable when removing ATAV
This allows ctrl surfaces (notably Faderport) to keep
editing plugin settings, when some unrelated plugin is removed.

Route::processors_changed calls RouteTimeAxisView::processors_changed,
and if a plugin automation line vanishes ~AutomationTimeAxisView
deselected the track. This triggered a control surface update.
2024-01-13 17:56:33 +01:00
d37f85f9d2
Emit selection RegionsChanged when region is removed
This is required to properly update the selection.
Previously deleting a region did not update selection
markers and other selection displays that depend on
Editor::get_selection_extents (which includes region selection).

This fixes a crash: Select a region (this sets a time-selection).
Delete the region, click on the time-selection markers (red triangles).
2023-09-10 15:25:12 +02:00
fbce94d55d
Fix playlist use-count 1/2 2023-06-10 03:33:51 +02:00
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
a309f237f2
Allow direct trigger -> trigger selection changes
Previously there were two signals for a ::set()
1. Clear Selection -> Emit Signal
2. Select TriggerEntry -> Emit Signal

As result the Trigger Patch Selector was reset and hidden at (1),
only to be set and presented again at (2).

This should perhaps be done for other ::set() calls as well.
2022-02-09 21:09:46 +01: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
96137739a7
Reduce includes required for Selection
Previously a triggerbox_ui.h change triggered a complete UI
rebuild. This follows the concept of other editor_selection
lists which use forward declarations.
2022-01-11 05:21:51 +01:00
3c03e4951e
Use updated temporal API 2/2 2021-12-11 15:51:31 +01:00
9d0d8e1785 Selection: Region Operations in a Slot need a RegionView proxy (ToDo) 2021-12-08 12:40:20 -06:00
1489fabbcd Selection: make trigger slots more exclusive wrt some other selectables 2021-12-08 12:40:20 -06:00
a9949f20e6 basic architecture for Trigger selection
This is all done in the GUI, using GUI objects. THe primary goal
here is to allow actions to be applied to selected triggers, so
there's no real need for a trigger aspect to libardour (core)
selection.
2021-11-10 16:37:15 -07:00
2a08e4bdaa continued work on timeline types conversion. in theory, just editor_ops.cc remains 2021-08-13 12:51:29 -06:00
5b2a435e02 getting editor_drag.cc to compile 2021-08-13 12:51:29 -06:00
7433bc27e0 intermediate, unfinished snapshot of ongoing timeline types work on GTK GUI 2021-08-13 12:51:29 -06:00
ece174ca47 region selection toggle in RippleAll mode applies across all tracks 2021-08-13 12:51:27 -06:00
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
d4c3e43b03
Address another -Wunused-private-field
TrackSelection is just a different name for TrackViewList
the private _editor is no longer needed nor used.
2021-03-18 04:06:46 +01:00
4ad1c19166
Special case MIDI note selection auditioning - #8358
This adds a few exceptions to the general preference
"Sound MIDI notes as they are being selected in the editor".

* Select all no longer plays _all_ notes.
* Remain silent when selection is inverted or a range is selected.
* Play no sound when a saved selection is restored on session load.
2020-08-09 20:37:56 +02:00
40aa1b3c91
Fix typo in 54ffd92fde 2020-06-04 22:24:36 +02:00
54ffd92fde
Fix ATAV identification by Parameter (2/2) #8201, 8203
Allow to uniquely identify Processor ATAV using the control ID.
2020-06-04 21:20:32 +02:00
0ab13e7b29
Fix ATAV identification by Parameter (1/2) #8201, 8203
See also 72af571f0c, ATAV for Processors cannot be identified by
Parameter alone. STAV uses a std::map<Evoral::Parameter, ..>
that is only valid for unique parameters.

The map cannot store Evoral::Parameter(PluginAutomation)
because it its not unique.
2020-06-04 21:20:32 +02:00
ba424352a2 change Selection object to be more clear about the status of MidiRegionViews and notes
1) Notes are only present in a Selection object if it is being used as a cut buffer. They are never stored
there as part of "normal selection" - that is delegated/left to MidiRegionViews that own the notes.

2) MidiRegionViews are stored in the Selection as "just" RegionViews, so provide a convenience
method to access them. This doesn't actually change much, since even the old MidiRegions object
was actually just a RegionSelection i.e. RegionViews.
2020-04-16 17:48:12 -06:00
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
ceac42cc03 NO-OP: whitespace
- remove trailing whitespace
- remove space after opening brackets and before closing brackets
- add space around operators
- do not use '//' for multi-line comments, do not use "//" on line-start
  to comment-out code breaking indenting (-Wmisleading-indent)
- do add a single space after comment-start /*{SPACE}... or //{SPACE}...
- reserve duplicate whitespace "  " for alignment, remove other duplicate
  whitespace
- use established "TODO" and "XXX" (highlighted keywords)
- remove equal-sign series "====" (those indicate merge conflicts)
2018-02-24 13:55:20 +01:00
0299229e41 SoloSelection: gui part. 2018-02-11 09:39:45 -06:00
7db12f6b12 convert codebase to use Temporal for various time types 2017-09-24 12:03:54 -04:00
30b087ab3d globally change all use of "frame" to refer to audio into "sample".
Generated by tools/f2s. Some hand-editing will be required in a few places to fix up comments related to timecode
and video in order to keep the legible
2017-09-18 12:39:17 -04:00
7009ff0300 Update Selection API to include all Stripables 2017-08-06 22:17:58 +02:00
0ae9cda51d Allow to select VCAs 2017-08-06 22:17:42 +02:00
nick_m
515cdb6b32 Rework region selection XML
Ensures that selection is restored in the same object type order
it was created in, which may some day make a difference.
2017-07-22 02:15:20 +10:00
nick_m
6e5c046f90 Fix time selection undo for multiple time selections
This is in mantis somewhere but i can't find it. timbyr?
2017-07-22 02:15:20 +10:00
8fa60eaf05 Ignore Selection::set() without actual changes 2017-06-17 16:11:24 +02:00
b0f68a0f5c Prepare AutomationTimeAxisView for non-route (VCA) automation 2017-06-09 16:54:21 +02:00
6ac76734f5 cut buffer must not mess around with libardour selection
Fixes range mode selection/cut/copy that would previously clear track selection
2017-06-07 12:28:53 -04:00
589f6f67a3 maintain CoreSelection order in GUI track selection 2017-05-05 18:56:25 +01:00
dc0139d4af use CoreSelection for track selection 2017-05-05 18:56:25 +01:00
1b2bc203ac Add regions at once rather than individually when restoring Selection state
This is a workaround for performance issues with the current implementation
when adding many regions to the selection one at a time.

If the Selection implementation was to change at some point and adding regions
to the selection only takes a small constant amount of time, then this
optimization may no longer be necessary.

Related to: #7274
2017-04-24 08:41:30 +10:00
8219e3c6ee Use XMLNode::get/set_property API in Selection class
There were many possible value truncations occuring and some precision loss
with the double conversions.
2017-04-19 09:36:57 +10:00
5456fd5717 make Selection::set (TrackViewList*) more efficient and emit less PI::Change signals 2017-02-26 18:24:56 +01:00
e653da32c0 avoid doing needless duplicate work in Selection::add (TimeAxisView*) 2017-02-26 18:24:56 +01:00
89c02f4fd7 the daily dose of const'ness 2017-02-24 16:10:14 +01:00
2926555e29 fix crash when removing a TimeAxisView from the selection 2017-02-21 19:11:14 +01:00
85e3d2158e Prevent direct and indirect selection of VCAs
the ::selection_filter() does not cover select-all and various other
indirect selection operations.
2017-02-18 00:45:37 +01:00
62995bd38d stop a crash during selection 2017-02-08 16:27:36 +01:00
08bca2a07d minor logic changes to editor selection
Prevent mulitple PresentationInfo::Change signals if toggling several
tracks
2017-01-28 11:20:05 +01:00
cc82fc675b remove editor/mixer selection change signals; make editor and mixer use PresentationInfo::Change more correctly; make Selection a bit smarter when setting track selection 2017-01-27 22:17:53 +01:00
c16eb83fec Fix crash when selecting MIDI note
Replace now always invalid assertion with initialization

Related to #7110
2016-11-15 08:16:31 +10:00
nick_m
0b2ae7dad9 change note selection node name - should fix 7110 2016-11-15 03:48:20 +11:00
6794a83661 potential fix for #7110 (older sessions have no id) 2016-11-14 04:12:58 +01:00