13
0
Commit Graph

20181 Commits

Author SHA1 Message Date
2f9d5077dc GUI part of LocaleGuard optimization. 2016-05-07 17:17:41 +02:00
e59ab55831 a few strategic LocaleGuards..
..to prevent switching forth and back during  individual
::state(), ::set_state() when loading/saving the session or locating.
2016-05-07 17:16:59 +02:00
2066afe28c fix LV2 locale guard (missed in 6d343ba search/replace) 2016-05-07 15:38:17 +02:00
a6e4494482 Revert "Add a global state localeguard (and one for route templates)"
This reverts commit 2b7a047e92.
2016-05-07 12:20:40 +02:00
6d343ba3c6 fix LocaleGuard contstructor (3dc77280) 2016-05-07 12:19:41 +02:00
f445ba8bdc locale debugging 2016-05-07 12:15:12 +02:00
3d7cbe9d94 trying to get to the bottom of the decimal comma. 2016-05-07 01:22:32 +02:00
2b7a047e92 Add a global state localeguard (and one for route templates) 2016-05-07 01:11:28 +02:00
86c76656cc add a locale-guard to panner state 2016-05-07 01:06:20 +02:00
d8ac5eddf7 add missing include 2016-05-06 21:25:21 +02:00
514da9881d convert WinMME Device names to UTF-8 2016-05-06 20:59:24 +02:00
962dd96aea amend baca1fd3 (actually use preset) 2016-05-06 16:26:22 +02:00
baca1fd377 Create new track by dragging an instrument from the favorites sidebar 2016-05-06 16:04:05 +02:00
70160db4be allow lua to construct PresetRecords 2016-05-06 16:02:24 +02:00
766a120a3c add API to load Instrument Preset when creating a Midi track 2016-05-06 16:02:04 +02:00
b15ed28f79 separate Preset + Favorite DnD Targets
Sidebar is a source of "Favorites" and a destination for Presets.
2016-05-06 14:55:36 +02:00
864f9e497d DnDTreeview: allow to handle multiple drag-targets 2016-05-06 14:51:29 +02:00
24e864d770 fix a -Wreorder 2016-05-06 04:02:34 +02:00
05baa2d1c1 use WindowManager toggle API for script-manager 2016-05-06 03:59:02 +02:00
cdb1395a99 NO-OP whitespace 2016-05-06 03:09:20 +02:00
5c9660b62e re-introduce "add track/bus" from mixer window 2016-05-06 03:08:46 +02:00
e89e799eb5 lua script to bounce regions w/processing and replace the region 2016-05-05 23:49:44 +02:00
7fed1ce085 what an oversight! 2016-05-05 23:44:33 +02:00
3dc7728038 we always only use the "C" locale when saving. 2016-05-05 21:49:56 +02:00
2624c0966b remove assert()s from LocaleGuard 2016-05-05 20:29:28 +02:00
bb99df867f minor comment change 2016-05-05 14:21:55 -04:00
25603d810f spelling fixes and an explanatory comment 2016-05-05 14:21:02 -04:00
f2c5522f0f rework locale-guard for C and C++ locales
let's hope querying the C-locale is more lightweight than setting it
on windows.
2016-05-05 20:02:48 +02:00
a644212506 no need to force a change here.
Fixes an issue with Mixbus where set_active() is a NO-OP for mixbusses.
2016-05-05 18:33:50 +02:00
17ace643e4 OMNIBUS COMMIT: prefer const XMLNode::property method (and provide a real one) 2016-05-04 23:09:45 -04:00
9b3b1d945f fix another menu typo in fda03d1 2016-05-05 01:59:32 +02:00
ffc9901807 fix "warning: this decimal constant is unsigned only in ISO C90" 2016-05-05 01:28:17 +02:00
b402e12d54 fix ppc builds 2016-05-05 01:21:53 +02:00
6a8b177f06 don't bother compiling nsview code swizzling for PPC
The platform has no support for libdispatch which is handy when setting up an objective C block,
and also has no Retina, which means it doesn't suffer the problem this code is intended to fix
2016-05-04 17:38:26 -04:00
8882ef79d3 use existing API to find the instrument 2016-05-04 17:52:17 +02:00
106851b33a add option to limit track-header meters to stereo 2016-05-04 17:36:40 +02:00
6236c201bd NO-OP, whitespace 2016-05-04 12:57:30 +02:00
e48da9d5d0 tweak cases where pin-mapping is reset & always sanitize map 2016-05-03 20:12:58 +02:00
abb3c0f220 fix typo in fda03d1f1 2016-05-03 19:24:49 +02:00
dc1a2fbca7 MSVC won't compile 'const float _demolition[]' because it uses 'divide by zero' while initializing
Hopefully we can use INFINITY and NAN for the relevant initializers ?
2016-05-03 17:30:58 +01:00
a12288d9b5 Accommodate newly introduced source(s) in our MSVC project (audiographer) 2016-05-03 17:26:41 +01:00
ad4fe51255 handle single-bus, non-variable i/o Audio Units w/multiple configurations. 2016-05-03 18:17:29 +02:00
e3e7901688 Update Russian translation 2016-05-03 16:01:30 +02:00
1535cffbb0 Sidechain is one word 2016-05-03 14:42:39 +02:00
fda03d1f17 consistent menu labels 2016-05-03 14:33:37 +02:00
f148d70d41 batch remove tracks 2016-05-03 14:27:57 +02:00
4c40fe8d04 another (non critical) concurrency issue:
Ignore latency-updates while removing tracks.

remove_tracks() calls disconnect_all() which can trigger the backend
to perform a latency-recompute in a different thread (process thread).
That calls Session::update_latency() which iterates over all routes
including the one(s) to be deleted.

At the same time disconnect_all() may propagate Port::PostDisconnect()
leading to a lock contention.

(no crash just a lot of unnecessary work. remove_routes() calls
update_latency_compensation() which triggers a recompute if needed)
2016-05-03 14:27:52 +02:00
433f18049b skip updating editor-route display when closing the session 2016-05-03 14:27:48 +02:00
d5050cd0f4 mark initial TAV as hidden to speed up initial display.
This prevents an extra call to "redisplay" from TAV::hide() which
triggers handle_gui_changes.
Visible TAVs are positioned using show_at() which unsets _hidden.
2016-05-03 14:27:42 +02: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