summaryrefslogtreecommitdiff
path: root/gtk2_ardour/audio_region_view.cc
AgeCommit message (Collapse)Author
2017-02-04rework snapnick_m
snap now fills in a struct (MusicFrame) which contins a snapped frame along with a music divisor. this gives useful information wrt magnetic snap which may or may not have rounded to an exact musical position. region position may now be set musically (using quarter notes for now). this patch fixes several problems in the current code: - dragging a list of music-locked regions now maintains correct musical offsets within the list. - splitting regions using magnetic snap works correctly (#7192) - cut drag should now work correctly with magnetic snap. - musical length of split midi regions is no longer frame based.
2017-01-24suffix region gain to TAVitem nameRobin Gareus
2017-01-11coverage frames must still be deleted when switching back to Overlay modePaul Davis
2016-08-17removed commented code, now that the comment is actually correctPaul Davis
2016-07-14enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.hPaul Davis
2016-07-10AudioRegionView - don't do coverage frames unless we're in stacked mode.nick_m
2016-06-02various safety checks for the result of dynamic_cast-ing a TimeAxisView to ↵Paul Davis
RouteTimeAxisView Now that we have VCATimeAxisView, this needed to be done, but it also potentially applied with automation
2016-05-27Crapola - this is an experimental performance hack that must be reverted.nick_m
2016-05-01GUI updates for transient reworkRobin Gareus
2016-02-22remove all trace of SAE from source code.Paul Davis
This had become incoherent over time, and posed a development hazard and burden going forward
2015-10-30Use automation line's frame of reference for y position.nick_m
- removes the need for 'pixel hunting' wrt NAME_HIGHLIGHT_SIZE. - new control points generated by clicking on a line are placed where the verbose canvas cursor says they are.
2015-10-22Remove GhostRegion::CatchDeletion signal to reduce session close timesTim Mayberry
Currently when a GhostRegion is deleted by its "parent" RegionView it emits the static GhostRegion::CatchDeletion signal which is connected to the RegionView::remove_ghost method of every RegionView instance. With a static GhostRegion::CatchDeletion signal a particular test session causes 31 Million calls of RegionView::remove_ghost on Session deletion and the session takes 70 seconds to close with a debug build. The lifetime of a ghost region is tied to both the TimeAxisView(TAV) and RegionView(RV) in that when a RegionView is deleted all GhostRegion instances associated with the RegionView should be deleted or when a TimeAxisView is deleted all ghost regions that are contained in the view should be deleted. This means that there needs to be notification between GhostRegion and both classes. Instead of using a signal for this as we know there are only two listeners and GhostRegion already holds a reference to the TimeAxisView, also take a reference to the parent RegionView in the GhostRegion constructor and use it to notify the RegionView when GhostRegion destructor is called so it can drop any references it holds. Using a direct function call in the GhostRegion destructor to notify the TimeAxisView and RegionView "parents" brings the unload/close time down for the test session from 70 seconds to 4.5 seconds. The GhostRegion also references canvas items that are added to the TimeAxisView canvas group or at least a canvas group that it manages. So when the TimeAxisView is destroyed and the canvas group that is the parent of those items is destroyed, the GhostRegion's canvas items will also be deleted/destroyed by the parent canvas item/group. This means the GhostRegions must be destroyed when the TimeAxisView they are contained in is destroyed or there will be dangling references to canvas items that have already been deleted and trying to delete them again will be bad.
2015-10-20Fix incorrect snap when adding region gain points.nick_m
2015-10-20Add missing diff to last commit.nick_m
2015-10-20Amend last commit.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-10-05NOOP, remove trailing tabs/whitespace.Robin Gareus
2015-10-04globally remove all trailing whitespace from ardour code base.Paul Davis
Paul Davis was responsible for introducing almost all of this.
2015-09-29is there a better way to make gcc+enumwriter happy?Robin Gareus
2015-09-29set waveform height depending on Layer modeRobin Gareus
Fixes background peakfile/waveform creation. Waves need to be created directly with the proper attributes as set by StreamView.
2015-09-16Move UIConfiguration Singleton into UIConfiguration headerTim Mayberry
This removes the direct dependence on ardour_ui.h from 39 files
2015-09-15GUI part: cleanup peak-filesRobin Gareus
2015-09-15pending-peaks: checker pattern.Robin Gareus
2015-09-15visually indicate peak-file rebuildRobin Gareus
Not yet a checker pattern, but closing it :)
2015-09-06highlight regions with pending peak-filesRobin Gareus
2015-09-06properly disconnect peak-ready connectionRobin Gareus
2015-09-06fix peak-thread, GUI-thread race conditionRobin Gareus
2015-07-16merge fixBen Loftis
2015-07-11fix “Show waveform in regions” Preference.Robin Gareus
2015-06-19various tweaks to the height/sizing of audioregion views and their waveformsPaul Davis
2015-06-19AudioRegionView now uses ControlList::editor_add().nick_m
2015-06-01Fix some visual loopholes when switching tools inside a region:Ben Loftis
switching to Grab should show the fade handles... ...switching away from grab should hide them. Also, change "always show gain" preference to show lines, but not control points.
2015-05-26Rationalize some aspects of region-gain control-point visibility:Ben Loftis
Visibility is driven by the currently selected mouse mode. Visibility no longer depends on entering/exiting the region. Range mode shows the lines but not the points. Fixed option text to reflect new operation.
2015-04-30x-fade pixel huntRobin Gareus
2015-03-08allow to drag gain-envelope pointsRobin Gareus
2015-02-10skip drawing the first pixel of waves in an audio region view.Paul Davis
This means that they do no overwrite the frame border of the time axis item
2014-12-22move all (G)UI related configuration parameters into UIConfiguration, not ↵Paul Davis
RCConfiguration
2014-12-18Remove internal edit mode and add "content" tool.David Robillard
2014-12-18Add editor selection state to session history via a SelectionMemento, whichnick_m
combines selection related editor properties with the current editor selection. The related editor properties are: mouse mode, zoom setting, left frame of the canvas, y origin of the canvas. Selection state now includes region views (storing the underlying region id) and time. This patch also fixes a region mute undo bug.
2014-12-15next modifierPaul Davis
2014-12-15next modifierPaul Davis
2014-12-15add 22 modifiers to dark.colors and start using the first one (for crossfade ↵Paul Davis
alpha)
2014-12-14fix up requested color names everywhere.Paul Davis
Thank <deity> for emacs ... space-uncamelcase-word-at-point FTW
2014-12-14initial pass to replace all UIConfiguration::get_XXXXXX() calls with ↵Paul Davis
UIConfiguration::color(name). IMPORTANT: names have not been downcased and spaced yet, so many colors are not found
2014-12-14fixed merge conflictPaul Davis
2014-12-07Unify gain and draw tools.David Robillard
There might be a few special cases lingering around from attempts at magic tool business, but this seems to work fine as far as I can tell.
2014-11-25Remove dead code.David Robillard
2014-11-07use new canvas colors header as necessaryPaul Davis
2014-11-07remove TimeAxisViewItem::RIGHT_EDGE_SHIFT; fix up x-coordinate for right ↵Paul Davis
edge of an audio fade out
2014-11-01one off by one off - red-selection outlineRobin Gareus
This mitigates issues introduced with 3.5-3406-g90872c2 but is not a final solution. The x-axis is still broken. see #5589 comment0015955