13
0
Commit Graph

14 Commits

Author SHA1 Message Date
8d90723e8c Use XMLNode::set_property API in GUIObject class 2017-04-19 09:36:56 +10:00
cf52d6e4b4 enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h 2016-07-14 14:45:23 -04:00
9ff94edd6e some comments 2016-07-05 23:49:58 +02:00
17ace643e4 OMNIBUS COMMIT: prefer const XMLNode::property method (and provide a real one) 2016-05-04 23:09:45 -04:00
6f858b51d2 speed up track creation
For every added Trackview/Mixerstrip, Ardour looks up GUI properties which
results in a total of 13 calls for the initial default items per track:
("height", "visible", "layer-display", "strip-width")

Since the tracks don't yet exist, the properties don't either.
Every lookup result in iterating over all all XMLNotes and for every
"Object". ->property ("id") and ->value () allocates memory.

Adding 64 tracks to an empty session results in 528293 string
allocations and deallocations in XMLNode::property() taking ~30%
of the track creation time.

This commit XMLnode's const method to prevent memory allocation
and caches a pointer to the XMLNode* to skip iterating over object
state.
2016-05-03 14:27:36 +02:00
22b07e0233 NOOP, remove trailing tabs/whitespace. 2015-10-05 16:17:49 +02:00
4dc63966f0 globally remove all trailing whitespace from ardour code base.
Paul Davis was responsible for introducing almost all of this.
2015-10-04 14:51:05 -04:00
75e0f5a023 remove GUI object state when tracks/busses are removed.
Not doing this results in accumulation of useless GUI object state which is never cleaned up.
Taken from work by Grygorii Zharun.
2015-03-30 15:27:23 -04:00
cbfe2f2fa5 remove operator= from GUIObjectState since its no longer required (the default will do the right thing)
git-svn-id: svn://localhost/ardour2/branches/3.0@11613 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-07 02:08:46 +00:00
Carl Hetherington
5a53f2f1b9 Simple approach to putting plugin controls into the
processor box.


git-svn-id: svn://localhost/ardour2/branches/3.0@11288 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-20 18:02:48 +00:00
Carl Hetherington
3396a9a851 Simplify GUIOBjectState a bit by just walking the XML
directly rather than maintaining internal data
structures.


git-svn-id: svn://localhost/ardour2/branches/3.0@11287 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-20 18:02:43 +00:00
Carl Hetherington
80972784e3 Fix non visibility of previously-visible MIDI automation
tracks on session reload.


git-svn-id: svn://localhost/ardour2/branches/3.0@9863 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-13 17:13:30 +00:00
6dc74f8c87 clean up GUIObjectState API, and use bools when setting "visible" property rather than string (not that it matters); don't unconditionally set visible to true unless a non-hidden track/bus has no visibility property already
git-svn-id: svn://localhost/ardour2/branches/3.0@9843 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-11 20:32:33 +00:00
10cb0a7646 introduce GUIObjectState; massive, pervasive changes in visibility and height management for track displays in the editor
git-svn-id: svn://localhost/ardour2/branches/3.0@9796 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-07 00:37:13 +00:00