summaryrefslogtreecommitdiff
path: root/gtk2_ardour/ghostregion.cc
AgeCommit message (Collapse)Author
2016-11-25midi ghost region fill colour is per event. don't store it. ensure _outline ↵nick_m
is set.
2016-10-16Slightly improve note update performance, fix note resizing for non-4.0 ↵nick_m
meter divisors.
2016-07-10Use Note::set (Rect) for speed improvement when rendering notes.nick_m
2016-07-10Improve midi model redraw performance by caching colours.nick_m
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-09-16Move UIConfiguration Singleton into UIConfiguration headerTim Mayberry
This removes the direct dependence on ardour_ui.h from 39 files
2015-02-11remove use of TimeRectanglePaul Davis
2014-12-28Automation ghost notes for percussive hits.David Robillard
2014-12-16Various color tweaks.David Robillard
This commit changes some color names, nuke your theme. This isn't quite ideal yet, but takes some steps towards where I think things should go aesthetically: Make automation tracks/regions colors correspond to their parent's type. Make selected MIDI notes outlined in red like most everything else, and scrap separate min/mid/max fill colors for selected MIDI notes. Color automation ghost MIDI notes based on original note color. Try to kill 90's looking brightish gray gradients in general.
2014-12-15next modifierPaul Davis
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-11-07fix up dimensions of ghostregion colored rectPaul Davis
2014-11-03use ArdourCanvas::TimeRectangle for regions, notes, markersPaul Davis
2014-10-21remove "canvasvar_" from all functions related to obtaining values from ↵Paul Davis
ARDOUR_UI::config()
2014-10-21fix midi-ghost region y-scaleRobin Gareus
2014-09-08Vertically align Midi Notes, Piano Roll & Canvas Line GridRobin Gareus
2014-09-04Revert "cont'd work on automation-track headers (amend ba53af1c5)"Robin Gareus
This reverts commit beb5e3e777b0e92e8dde7ee12c324b32c679ff63.
2014-09-03cont'd work on automation-track headers (amend ba53af1c5)Robin Gareus
now that the separator line is at the top, offset region-contents y0 by 1px.
2014-06-22more canvas refactoring.Paul Davis
Remove Canvas::Layout, use Canvas::Container for the same purpose, move child-rendering into Item::render_children() so that it could theoretically be used by any derived type.
2014-06-21use newly factored canvas in gtk2_ardourPaul Davis
2014-03-11fix error in height computation of MIDI region views (FUDGE!) use ↵Paul Davis
Rectangle::set_outline_all() and avoid the removed integer version of ::set_outline_what()
2014-02-25fiddle with single pixel adjustments to time axis view item heights; fix ↵Paul Davis
region gain envelope visibility
2014-02-14fix vertical placement of ghostregionsPaul Davis
2013-11-03send enter events to EVERY newly entered item (ignore the bool return from ↵Paul Davis
the event handler); other canvas debugging aids;switch items_at_point() to use canvas coordinates
2013-04-24many pervasive changes primarily related to waveform drawing, particular ↵Paul Davis
content-dragging, colors, and more
2013-04-16change UIConfig to use accessor/setter methods like RCConfig so that ↵Paul Davis
ParameterChanged methods can actually be emitted; add variable (over a small range) background shading for all TimeAxisViewItems
2013-04-16add back various functionality to waveviews such as zero line, amplitude scalingPaul Davis
2013-04-12change frames_per_pixel to samples_per_pixelPaul Davis
2013-04-04commit immediately post linkingPaul Davis
2013-04-04initial commit of hand merging, plus getting "ancient" waf script to work ↵Paul Davis
correctly
2011-11-17Concatenate MidiGhostRegion::Note and MidiGhostRegion::Event.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@10660 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-17Remove ghost notes when actual notes are deleted, and ensure the ↵Carl Hetherington
_optimization_iterator is valid even after things have been removed from the list (should fix #4483). git-svn-id: svn://localhost/ardour2/branches/3.0@10659 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-01Delete trailing whitespaceDavid Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@9656 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-02-28Fix a couple of memory leaks.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@8987 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-02-28Remove unused code.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@8986 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-02-28Update ghost MIDI regions in automation tracks when zoom changes. Fixes #3803.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@8985 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-02-28Remove unused code.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@8984 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-30Fix up midi ghost regions. Should fix #3629.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@8388 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-22cleanup up cleanup at session destruction; clarify the meaning of 3 signals ↵Paul Davis
(DropReferences & Destroyed in libardour ; CatchDeletion in the GTK UI); clarify ownership of objects (session no longer pays attention to DropReferences for objects that it is considered to own, such as routes, sources, etc); fix up MIDI parsing and a couple of other places by correcting syntax for return of values from a boost::signals2::signal (possible danger elsewhere to be checked) git-svn-id: svn://localhost/ardour2/branches/3.0@6389 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-19use new syntax for connecting to backend signals that enforces explicit ↵Paul Davis
connection scope, plus a few other related matters git-svn-id: svn://localhost/ardour2/branches/3.0@6376 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-17switch to using boost::signals2 instead of sigc++, at least for libardour. ↵Paul Davis
not finished yet, but compiles, loads sessions, records and can close a session without a crash git-svn-id: svn://localhost/ardour2/branches/3.0@6372 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-14Strip trailing whitespace and fix other whitespace errors (e.g. space/tab ↵David Robillard
mixing). Whitespace changes only. Vimmers, try let c_space_errors = 1 in your .vimrc to highlight this kind of stuff in red. I don't know the emacs equivalent... git-svn-id: svn://localhost/ardour2/branches/3.0@5773 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-07-21Fix some unused parameter warnings.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@5403 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-07-09Back out big shared_ptr change. Moving to a branch. Apologies all.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@5343 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-07-09Use shared_ptr for the TimeAxisView hierarchy.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@5339 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-05-12Remove most using declarations from header files.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@5069 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-25*** NEW CODING POLICY ***David Robillard
All #include statements that include a header that is a part of a library bundled with ardour MUST use quotes, not angle brackets. Do this: #include "ardour/types.h" NOT this: #include <ardour/types.h> Rationale: This is best practice in general, to ensure we include the local version and not the system version. That quotes mean "local" (in some sense) and angle brackets mean "system" (in some sense) is a ubiquitous convention and IIRC right in the C spec somewhere. More pragmatically, this is required by (my) waf (stuff) for dependencies to work correctly. That is: !!! FAILURE TO DO THIS CAN RESULT IN BROKEN BUILDS !!! Failure to comply is punishable by death by torture. :) P.S. It's not that dramatic in all cases, but this (in combination with some GCC flags specific to the include type) is the best way I have found to be absolutely 100% positive the local ones are being used (and we definitely want to be absolutely 100% positive on that one). git-svn-id: svn://localhost/ardour2/branches/3.0@4655 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-15Trim include dependency tree (particularly on evoral/Sequence.hpp).David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@4589 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-01-02Cleanups and a few comments.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@4374 d708f5d6-7413-0410-9779-e7cbd77b26cf