summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-06-10amend a1b4f9b8ab - handle disconnecting from all mastersRobin Gareus
2017-06-09set first selected stripable for control protocols before they are instantiatedPaul Davis
2017-06-09NO-OP: whitespaceRobin Gareus
2017-06-09Fix deletion of VCA with slaved controls.Robin Gareus
The crashed previously because: A VCA is-a Automatable is-a Evoral::ControlSet After VCA's d'tor completes ~Automatable runs and emits signal to DropReferences of all master-controls. This in turn calls SlavableAutomationControl::master_going_away() for slaved parameters for the given master-control In ::master_going_away() the weak-pointer reference to the master's AutomationControl (owned by the destroyed VCA) is still valid. Execution is in the d'tor of Automatable which is-a ControlSet and the ContolSet keeps a reference to the Control and hence also to the AutomationControl which is-a Evoral::Control. So master_going_away() locks a boost::shared_ptr<ARDOUR::AutomationControl> which is actually the MuteControl owned by the VCA. It calls SlavableAutomationControl::remove_master() which in turn calls MuteControl::pre_remove_master() which uses the MuteMaster API to retrieve the value. The MuteMaster however is the VCA that has just been destroyed. The solution is twofold: 1) emit "drop_references" from the VCA d'tor itself, before the VCA is destroyed. 2) disconnect a slaved control from the master's drop_references signal when un-assigning a master-control.
2017-06-10NoteCreateDrag - Fix incorrect note length due to use of region-relative ↵nick_m
position
2017-06-09Remove Automatable::value_as_string API from libardourRobin Gareus
Keep Pannable::value_as_string() for now. That is another inconsistency which needs cleaning up. GUI StereoPanner and MonoPanner print the value as they see fit, the panner-plugin provided formatting is not used.
2017-06-09Update GUI, drop Automatable::value_as_string() APIRobin Gareus
2017-06-09Prepare to eventually drop Automatable::value_as_string()Robin Gareus
Probably due to historical reasons, there are two APIs to format a control's value. In all both variants end up calling either ARDOUR::value_as_string() or the Controllable's formatting function (except for panners).
2017-06-09Prepare AutomationTimeAxisView for non-route (VCA) automationRobin Gareus
2017-06-09a-EQ: Revert one of the previous changesDamien Zammit
One of the previous changes was not a typo, revert it.
2017-06-09Fix incorrect positioning of tempo line subdivisions if first meter is non-zeronick_m
Commit cebefe6 assumed that frame 0 was the music origin. Silly me.
2017-06-09Add a method for obtaining the frame position of beat/whatever zeronick_m
2017-06-08Fix crash when showing plugin-UI in safe-modeRobin Gareus
2017-06-09TempoLines deletes its bfc on destructionnick_m
2017-06-09Tempo lines display subdivisions correctly over a tempo changenick_m
TempoMap::get_grid() supplies a list of beat positions, leaving the lines to work out any subdivision positions. This is fine, unless a tempo section falls in between beats. Use a BeatsFramesConverter along with a quarter note position (in the BBTPointsList) to make this easier.
2017-06-09Fix reversed logic in legacy tempo secton detectionnick_m
2017-06-09Delete tempo lines when session goes awaynick_m
2017-06-08Do not duplicate note id in copy constructornick_m
This fixes selection undo after copy-dragging notes, but there are probably other cases where duplicate note ids may cause problems.
2017-06-08Remove debugging from TempoTest::qnDistanceTestRamp ()nick_m
2017-06-08Fix uninitialised tempo section variablenick_m
Should fix 7390.
2017-06-08Fix rec-box w/count-inRobin Gareus
Since 478f26b2ad, transport_rolling() is only true when actually rolling. Count-in is a no-roll process (don't move playhead, no playhead UI position interpolation 55b8b448). But transport isn't exactly stopped either (preparing to roll), so during count-in transport_stopped() == transport_rolling() == false.
2017-06-08Update LuaDialog example script to include File/Folder selectionRobin Gareus
2017-06-08Add a file-chooser LuaDialog WidgetRobin Gareus
2017-06-07cut buffer must not mess around with libardour selectionPaul Davis
Fixes range mode selection/cut/copy that would previously clear track selection
2017-06-08a-EQ: DSP bugfixDamien Zammit
Previously there were large spurious spikes in the signal when the bandwidth parameter was adjusted on a pure sine tone for the peaking circuits. This has been *greatly* reduced if not eliminated by fixing a typo in two of the equations.
2017-06-06OSC: add optional paging to sends in select.Len Ovens
2017-06-06Fix a-EQ when parameter changes are very slowNil Geisweiller
If the parameters change too slowly the filter may never get updated. Indeed, in spite of v_f0, v_g or v_bw being updated, set_params may never be called, thus v_filter never updated.
2017-06-03add route dialog now has "Add" and "Add and Close" buttons. "Add" keeps ↵Daniel Sheeler
dialog open so user can add multiple templates.
2017-06-03Apply VCA master gain automation to Amp (Fader, Trim)Robin Gareus
2017-06-03Add infrastructure for evaluating VCA automation curvesRobin Gareus
2017-06-03amend 67f9f6fd: no recursive ReaderLockRobin Gareus
2017-06-03add const-ness: Evaluating a curve does not change it.Robin Gareus
Note that the ControlList's lock and cache are already mutable.
2017-06-03Add a scratch buffer for automation.Robin Gareus
Useful as temporary buffer: This allows a controllable to get a master's automation-curve and combine it with its own (gain, trim, send) automation buffer.
2017-06-03NO-OP: whitespaceRobin Gareus
2017-06-02Import Dialog is Window. Dialog Esc behavior needs to be emulated.Robin Gareus
2017-06-01Remove "Close" button from import-dialog (prefer WM close button)Robin Gareus
2017-05-31if actively recording, prevent interaction between mouse and audio clock ↵Paul Davis
widget(s)
2017-05-31OSC: Some surfaces may use float for ssid. Accept this too.Len Ovens
2017-05-31OSC: check controllable exists before usingLen Ovens
2017-05-30Add Lua bindings for VCAs and VCAManagerRobin Gareus
2017-05-30Prepare for automation control masterRobin Gareus
Basic infrastructure to allow VCA automation and Trim automation: look up events during automation playback.
2017-05-29Credit where credit is dueRobin Gareus
2017-05-29NO-OP: whitespaceRobin Gareus
2017-05-29duplicate routes start off unsoloed to avoid issues related to upstream / ↵Daniel Sheeler
downstream buses
2017-05-29when creating a new session after working on one, the "Cancel" button should ↵Paul Davis
be a quit button. This avoids ending up with a null Session pointer in the GUI (#7369)
2017-05-29Allow export presets for 176.4KHz -- "Ardour6: music for bats"Robin Gareus
2017-05-26Update Russian translationAlexandre Prokoudine
2017-05-26Use string concatenation and PBD::to_string in EventTypeMap::to_symbol()Tim Mayberry
Avoid using PBD::string_compose for serialization as correct behaviour depends on the setting of the global C++ locale.
2017-05-26Remove normalization of property names from libpbd xml codeTim Mayberry
It may have been OK to add this code temporarily at this low level, but as it was introduced in 2008, this change is made with the assumption that any Sessions that were affected have been re-saved since then with corrected property names and that "normalization" is no longer necessary. Timing results before 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) Timing results after changes: XMLTest::testPerfMediumXMLDocumentTiming Create : Count: 10 Min: 21437 Max: 39749 Total: 348622 Avg: 34862 (34 msecs) Write : Count: 10 Min: 42320 Max: 49989 Total: 446135 Avg: 44613 (44 msecs) Read : Count: 10 Min: 63252 Max: 68389 Total: 660841 Avg: 66084 (66 msecs) XMLTest::testPerfLargeXMLDocumentTiming Create : Count: 10 Min: 113458 Max: 263225 Total: 2215595 Avg: 221559 (221 msecs) Write : Count: 10 Min: 305439 Max: 339986 Total: 3150697 Avg: 315069 (315 msecs) Read : Count: 10 Min: 447560 Max: 488121 Total: 4698903 Avg: 469890 (469 msecs)
2017-05-26Use correct property name in generic MIDI surfaceTim Mayberry
Fixes restoring the feedback interval property, but as the mutator/setter method doesn't seem to be used this change should have no affect.