summaryrefslogtreecommitdiff
path: root/gtk2_ardour/selection.cc
AgeCommit message (Collapse)Author
2020-04-16change Selection object to be more clear about the status of MidiRegionViews ↵Paul Davis
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.
2019-08-03Update GPL boilerplate and (C)Robin Gareus
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.
2018-02-24NO-OP: whitespaceRobin Gareus
- 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-11SoloSelection: gui part.Ben Loftis
2017-09-24convert codebase to use Temporal for various time typesPaul Davis
2017-09-18globally change all use of "frame" to refer to audio into "sample".Paul Davis
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-08-06Update Selection API to include all StripablesRobin Gareus
2017-08-06Allow to select VCAsRobin Gareus
2017-07-22Rework region selection XMLnick_m
Ensures that selection is restored in the same object type order it was created in, which may some day make a difference.
2017-07-22Fix time selection undo for multiple time selectionsnick_m
This is in mantis somewhere but i can't find it. timbyr?
2017-06-17Ignore Selection::set() without actual changesRobin Gareus
2017-06-09Prepare AutomationTimeAxisView for non-route (VCA) automationRobin Gareus
2017-06-07cut buffer must not mess around with libardour selectionPaul Davis
Fixes range mode selection/cut/copy that would previously clear track selection
2017-05-05maintain CoreSelection order in GUI track selectionPaul Davis
2017-05-05use CoreSelection for track selectionPaul Davis
2017-04-24Add regions at once rather than individually when restoring Selection stateTim Mayberry
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-19Use XMLNode::get/set_property API in Selection classTim Mayberry
There were many possible value truncations occuring and some precision loss with the double conversions.
2017-02-26make Selection::set (TrackViewList*) more efficient and emit less PI::Change ↵Paul Davis
signals
2017-02-26avoid doing needless duplicate work in Selection::add (TimeAxisView*)Paul Davis
2017-02-24the daily dose of const'nessRobin Gareus
2017-02-21fix crash when removing a TimeAxisView from the selectionPaul Davis
2017-02-18Prevent direct and indirect selection of VCAsRobin Gareus
the ::selection_filter() does not cover select-all and various other indirect selection operations.
2017-02-08stop a crash during selectionPaul Davis
2017-01-28minor logic changes to editor selectionPaul Davis
Prevent mulitple PresentationInfo::Change signals if toggling several tracks
2017-01-27remove editor/mixer selection change signals; make editor and mixer use ↵Paul Davis
PresentationInfo::Change more correctly; make Selection a bit smarter when setting track selection
2016-11-15Fix crash when selecting MIDI noteTim Mayberry
Replace now always invalid assertion with initialization Related to #7110
2016-11-15change note selection node name - should fix 7110nick_m
2016-11-14potential fix for #7110 (older sessions have no id)Robin Gareus
2016-10-15Note selection state uses note event_id_t.nick_m
2016-07-14enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.hPaul Davis
2016-07-06many changes associated with rationalizing selection flowPaul Davis
2016-06-05tweak API of SelectablePaul Davis
2016-05-04OMNIBUS COMMIT: prefer const XMLNode::property method (and provide a real one)Paul Davis
2016-03-28fix gain automation copy/paste -- #6842Robin Gareus
2016-01-29use new selection API to avoid double signal when a track or tracks are SET ↵Paul Davis
as the selection
2016-01-29modify Selection API to provide (default-valued) "with_signal" argument to ↵Paul Davis
all ::clear_*() methods This allows the clear methods to be used before calling ::add(), to avoid the emission of a signal saying "there are no <foo> selected right now". There should be no side-effects from this commit. Note that correct use of this new API is complex, and requires avoiding the use of wrapper methods like clear_objects().
2016-01-14Change handling of Midi note selection to eliminate signal emission/delays.Tim Mayberry
Each MidiRegionView(MRV) is connected to the Selection::ClearMidiNoteSelection signal that is used to notify the all MRV instances to clear their note selection. The MRV class also has a private static SelectionCleared signal that is used to signal other MRV instances when their selection has been cleared. When the Selection::ClearMidiNoteSelection signal is emitted it causes each MRV to also emit the SelectionCleared signal. So the emission takes quadratic time. With 1500 MRV instances emission takes about 2.2 seconds on my machine, and some operations like track selection cause it to be emitted 3 times(another issue). The Selection class in the Editor knows which MRV instances have note selections, as it is notified by MidiRegionView whenever the selection count becomes zero or becomes non-zero. Clearing the Note selection should then just be O(N) and direct calls can be used rather than signals. This change removes both the signals and uses the existing references between Selection and MRV class to control note selection. There should be no behavioural changes in Midi note selection with this change.
2015-10-20Add error check to region gain control point selection undo.nick_m
2015-10-20Add region gain point selection undo.nick_m
2015-10-20Make control point selection more consistent.nick_m
- disallow simultaneous events via ControlList::editor_add () - clicking on an automation line selects the points that define it. - don't 'flash' a region selection when using mousedraw mode. - cp click selection resembles region selection. - region gain points respect snap modifier (a la automation points).
2015-07-23rename Marker classRobin Gareus
Classes are in the global namespace. OSX has a flat namespace and OSX32bit/Carbon has a Marker too.
2015-03-17initialize uninitialized variableRobin Gareus
just another hint for clang/static analysis.
2015-02-19fix some static-analysis warningsRobin Gareus
2015-01-17Fix note resize double undo bug.nick_m
Newly drawn notes are selected. Clear midi note selection on Selection::set_state().
2015-01-11clean up whitespace & debug output in 44203ceRobin Gareus
2015-01-11Fix AutomationTrackItem rubberband click thinking it was unhandled.nick_m
Fix several other cases where a single mouse click could cause several (not nested) selection ops. Fix missing selection memento for midi notes and midi commands. Rename some variables. Fix random style issues.
2015-01-02Add automation track control points to undo history (and selection_op history).nick_m
2015-01-02Removed unrelated change in Selection::set_state () (clear_points()).nick_m
2015-01-02Separate selection operations into their own temporary history mechanism.nick_m
The user can now replay *all* earlier selection operations until the next session undo/redo command, or the completion of a new operation. Nothing relating to selection ops is stored, and selection operation history is begun on first idle. Selection operation history is fundamentally different from the history of operations which act on a selection in terms of both their viewport and the amount of information required to replay them. WRT undo, the user of a selection op doesn't care about the viewport state at the beginning of an op, but rather that at the end of the previous one.
2014-12-3132/64bit compatRobin Gareus