summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-10-14Revert "change return type of AutomationControl::actually_set_value() from ↵Paul Davis
void to bool, to indicate if value was changed." This reverts commit c104c9d4726f3ba1ecd352d13b88a57f2f964510.
2016-10-14GUI to allow aux-send feedback loopsRobin Gareus
2016-10-14allow feedback (loops) from internal sendsRobin Gareus
This facilitates custom "Echo" chains: Bus 1 [FX] [aux-send to Bus 2] -> master Bus 2 [FX] -> Bus 2
2016-10-13fix math ambiguity & OSX compilationRobin Gareus
cc121.cc: In member function 'void ArdourSurface::CC121::encoder_handler(MIDI::Parser&, MIDI::EventTwoBytes*)': cc121.cc:413: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second: /usr/include/architecture/i386/math.h:343: note: candidate 1: double pow(double, double) /usr/include/c++/4.2.1/cmath:357: note: candidate 2: float std::pow(float, float)
2016-10-13new scheme for managing port deletionPaul Davis
shared_ptr<Port> now uses a deleter functor which pushes Port* to a lock-free FIFO so that the Port is always deleted (and thus unregistered with the PortEngine/backend) in a safe context w.r.t. various callbacks in the host. Currently the auto_connect_thread in Session has been tasked with doing these deletions.
2016-10-13stop using gkd_pango_context_get() in ArdourCanvas::Canvas and require ↵Paul Davis
concrete instances to supply a Pango::Context; do this for GtkCanvas and Push2Canvas
2016-10-13fix panner reset when switching to aux-sends -- fixes #6893Robin Gareus
2016-10-13Small improvement and change to comply with coding standardW.P. van Paassen
2016-10-13Inital support for Steinberg's CC121 control surfaceW.P. van Paassen
2016-10-13OSC added plugin activate/deactivateMichiel de Roo
2016-10-13handle blink-rec-arm change without application restartRobin Gareus
2016-10-13Add region position to note start in the midi list editorNil Geisweiller
2016-10-13Don't reset the audio tracks name when changing the channel configuration.Robert Scott
2016-10-13Update cubasish-ardour.colorscooltehno
file:///home/cooltehno/DATA/ARDOUR_EXP/.темы/3_cubasish/cor_131016.jpg This commit changes the clip indicator from white to red coloured (from "color 9" to "color 55"). Also the "color 55" is changing from orange (f85813) to maximum bright red color (ff0009)
2016-10-13Allow a LV2 plugin to mark the session dirtyRobin Gareus
If some plugin-internal state changes (GUI <> Plugin e.g. load a sample) no ports change and the host does not know that the plugin state has changed. The session may be closed without save. This is a prototype using an ardour.org URI, pending upstream lv2plug.in
2016-10-13Improve check in tempoAtPulseTestnick_m
2016-10-13Fix ramp test, add tempoAtPulseTest.nick_m
2016-10-13Allow opening sessions with files embedded from removable drivesRobin Gareus
Otherwise Windows shows a critical error for files embedded from removable devices.
2016-10-12change return type of AutomationControl::actually_set_value() from void to ↵Paul Davis
bool, to indicate if value was changed. Don't call Session::set_dirty() when no change occurs
2016-10-12peak level numeric display now uses "clip indicator" for base color, not ↵Paul Davis
"bright indicator" Should address #7010
2016-10-12add gtk_clip_indicator as a separate color from gtk_bright_indicatorPaul Davis
2016-10-12Fixed array index out of bounds in Push2Menu::set_active()Nathan Stewart
2016-10-12Fixes minor memory leak found in color_theme_manager.cpp:326Nathan Stewart
2016-10-12map::clear() calls erase. Cleans up cpp check warning 'iterator used after ↵Nathan Stewart
element has been erased'
2016-10-12Clarify documentation of Lua inter-processor communicationRobin Gareus
2016-10-11cleaner version of feed9648 -- fixes #7067Robin Gareus
2016-10-11Revert "Allow loading sessions with missing external files #7067"Robin Gareus
This reverts commit feed9648e19f5750b102a161a1028bb143ea16c5.
2016-10-11Allow loading sessions with missing external files #7067Robin Gareus
The issue was introduced in dbf86a495b, forcing must_exist = true for *all* files that have a absolute _origin, including stub SilentFileSources. If an external file is no longer available and a user chooses to "ignore, skip" an SilentFile is created instead of the actual source, The SilentFileSource has the same XML state which includes _origin. ARDOUR::SilentFileSource::SilentFileSource () c'tor calls AudioFileSource::AudioFileSource (,.., must_exit = false) but since the file has an absolute _origin, the AudioFileSource c'tor sets must_exist = true; throws and the session cannot be loaded.
2016-10-11add missing symbol for windows compileRobin Gareus
2016-10-11cater for Note translations. e.g. "Ré ♯" UTF-8Robin Gareus
2016-10-11Bundle session-scripts for linux buildsRobin Gareus
2016-10-11Hide Dummy backend from optimized release buildsRobin Gareus
Prepare to bundle session-utils with releases. Session-utils use libardour which needs an Engine. "Dummy" is the only engine that always works
2016-10-11skip Push2 unit-test for now:Robin Gareus
The test segfaults due to missing screen and prevents other libardour unit tests from running.
2016-10-11allow to run single tests from ./artestRobin Gareus
2016-10-11make raw-midi script pass unit-tests (no midi port on track)Robin Gareus
2016-10-11Unit-tests to check Lua session+DSP scriptsRobin Gareus
2016-10-10add const'ness (allowing LuaScriptList::const_iterator)Robin Gareus
2016-10-10Example Lua script for inter-plugin communicationRobin Gareus
2016-10-10Add Lua-bindings for inter-processor communicationRobin Gareus
2016-10-10Forward "owner" from Processor to PluginRobin Gareus
2016-10-10Allow to get a route reference from SessionObject*Robin Gareus
The motivation is to allow a Processor (here Lua) to get a pointer to the owning Route without resorting to iterative lookup.
2016-10-10Wrong iterator used with IDSortedListJohn Emmas
2016-10-10add missing #includeRobin Gareus
2016-10-10convert VST parameter names to UTF8Robin Gareus
Another fix for "µ-iness" (ec8cf4e4f58a, d121e6bf15cbf6f, 57b9dab27cb05d) this time for Windows.
2016-10-10Fix order of Playlist XML nodes changing on Session save, bug #7053Tim Mayberry
Playlists in SessionPlaylists are sorted by pointer/address which means the order they are written in the Session XML file usually changes the first time the Session is re-saved. Sort the Playlists by PBD::ID before iterating and writing XML so that playlists are always written in the same order.
2016-10-10Fix indentation in SessionPlaylists::add_state()Tim Mayberry
2016-10-10Use std::vector::reserve to improve performance of adding propertiesTim Mayberry
The number of properties per node roughly corresponds to the number of members of the class the node is representing and should be fairly low. Use std::vector::reserve to prevent reallocation on insert for most node types, there are exceptions like Region(~40 properties). This seems worth it as part(maybe 1/10th of the total time) of saving a Session is a combination of what occurs in "Create" and "Write" in this test. Perf results before changes: XMLTest::testPerfMediumXMLDocumentTiming Create : Count: 10 Min: 30610 Max: 42656 Total: 376672 Avg: 37667 (37 msecs) Write : Count: 10 Min: 42804 Max: 54277 Total: 460455 Avg: 46045 (46 msecs) Read : Count: 10 Min: 70364 Max: 85484 Total: 750909 Avg: 75090 (75 msecs) XMLTest::testPerfLargeXMLDocumentTiming Create : Count: 10 Min: 164360 Max: 356995 Total: 3064482 Avg: 306448 (306 msecs) Write : Count: 10 Min: 308655 Max: 372953 Total: 3226707 Avg: 322670 (322 msecs) Read : Count: 10 Min: 517243 Max: 541839 Total: 5289950 Avg: 528995 (528 msecs) Perf results after changes: XMLTest::testPerfMediumXMLDocumentTiming Create : Count: 10 Min: 30375 Max: 48253 Total: 431727 Avg: 43172 (43 msecs) Write : Count: 10 Min: 42553 Max: 49163 Total: 453353 Avg: 45335 (45 msecs) Read : Count: 10 Min: 70307 Max: 75987 Total: 734923 Avg: 73492 (73 msecs) XMLTest::testPerfLargeXMLDocumentTiming Create : Count: 10 Min: 154486 Max: 307856 Total: 2678989 Avg: 267898 (267 msecs) Write : Count: 10 Min: 304273 Max: 343274 Total: 3169158 Avg: 316915 (316 msecs) Read : Count: 10 Min: 496920 Max: 541394 Total: 5260410 Avg: 526041 (526 msecs)
2016-10-10Remove PropertyMap from XMLNode classTim Mayberry
It appears that there is no performance benefit from storing properties in a map for faster lookup or it is counteracted by the penalty of storing and maintaining the additional data structure. Timing results before changes with an optimized build: XMLTest::testPerfMediumXMLDocumentTiming Create : Count: 10 Min: 41293 Max: 63746 Total: 564448 Avg: 56444 (56 msecs) Write : Count: 10 Min: 42932 Max: 49221 Total: 453955 Avg: 45395 (45 msecs) Read : Count: 10 Min: 80160 Max: 84678 Total: 824506 Avg: 82450 (82 msecs) XMLTest::testPerfLargeXMLDocumentTiming Create : Count: 10 Min: 228759 Max: 420236 Total: 3587597 Avg: 358759 (358 msecs) Write : Count: 10 Min: 307095 Max: 348767 Total: 3205704 Avg: 320570 (320 msecs) Read : Count: 10 Min: 572400 Max: 657219 Total: 5959630 Avg: 595963 (595 msecs) Perf results after changes: XMLTest::testPerfMediumXMLDocumentTiming Create : Count: 10 Min: 30610 Max: 42656 Total: 376672 Avg: 37667 (37 msecs) Write : Count: 10 Min: 42804 Max: 54277 Total: 460455 Avg: 46045 (46 msecs) Read : Count: 10 Min: 70364 Max: 85484 Total: 750909 Avg: 75090 (75 msecs) XMLTest::testPerfLargeXMLDocumentTiming Create : Count: 10 Min: 164360 Max: 356995 Total: 3064482 Avg: 306448 (306 msecs) Write : Count: 10 Min: 308655 Max: 372953 Total: 3226707 Avg: 322670 (322 msecs) Read : Count: 10 Min: 517243 Max: 541839 Total: 5289950 Avg: 528995 (528 msecs)
2016-10-10Use references rather than copying containers in libpbd xml codeTim Mayberry
It is slightly surprising but there seems to be little difference to performance with these changes. Possibly a slight improvement in "Create" test with a large xml document(~5%). Timing results before these changes with an optimized build using new XML perf tests: XMLTest::testPerfMediumXMLDocumentTiming Create : Count: 10 Min: 38656 Max: 63827 Total: 571228 Avg: 57122 (57 msecs) Write : Count: 10 Min: 43594 Max: 49279 Total: 459907 Avg: 45990 (45 msecs) Read : Count: 10 Min: 80247 Max: 84912 Total: 827207 Avg: 82720 (82 msecs) XMLTest::testPerfLargeXMLDocumentTiming Create : Count: 10 Min: 230706 Max: 456054 Total: 3850998 Avg: 385099 (385 msecs) Write : Count: 10 Min: 312322 Max: 353789 Total: 3264211 Avg: 326421 (326 msecs) Read : Count: 10 Min: 573556 Max: 610865 Total: 5951908 Avg: 595190 (595 msecs) Timing results after these changes: XMLTest::testPerfMediumXMLDocumentTiming Create : Count: 10 Min: 41293 Max: 63746 Total: 564448 Avg: 56444 (56 msecs) Write : Count: 10 Min: 42932 Max: 49221 Total: 453955 Avg: 45395 (45 msecs) Read : Count: 10 Min: 80160 Max: 84678 Total: 824506 Avg: 82450 (82 msecs) XMLTest::testPerfLargeXMLDocumentTiming Create : Count: 10 Min: 228759 Max: 420236 Total: 3587597 Avg: 358759 (358 msecs) Write : Count: 10 Min: 307095 Max: 348767 Total: 3205704 Avg: 320570 (320 msecs) Read : Count: 10 Min: 572400 Max: 657219 Total: 5959630 Avg: 595963 (595 msecs)
2016-10-10Add test of pbd/xml++.h API performance with three file sizesTim Mayberry
Generate, write and then read three Session like XML files to test the performance of changes made to pbd/xml++.h API