summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-07-14Simplify _midifilter.lua exampleJulien "_FrnchFrgg_" RIVAUD
Instead of and-ing the first byte to extract the event type, it is simpler and easier to understand to bitwise-shift it, so that we don't get the result as a multiple of 2^4, but as values corresponding to the MIDI specification. Currently, a guard is put against events with completely empty data, though maybe ardour discards those earlier on since that would not be valid MIDI.
2017-07-14Accommodate newly introduced source(s) in our MSVC project (gtk2_ardour)John Emmas
2017-07-13Fix total number of process threadsRobin Gareus
2017-07-12Switch to g_dir_make_tmp() to make the tmpdir.Johannes Mueller
2017-07-12First draft of import and export templatesJohannes Mueller
Don't use this now, except for testing as the archive format will change. TBD: * error handling * check template would be overwritten by import * dinstinguish between session and track templates
2017-07-12Some more error handlingJohannes Mueller
Try to undo the renaming of the template dir in case the writing of the new template file fails.
2017-07-12Remove template dirs using PBD::remove_directory()Johannes Mueller
This makes sure that all state directories of the template are erased properly.
2017-07-12Adjust template names inside template filesJohannes Mueller
This concernes: * LV2 states: LV2 states are stored in the template directories and their paths are stored int the template files using absolute paths. Therefore we have to adjust the template-dir property of every lv2 node referring to a state dir. * Names of route templates. The name of the route template is stored in the first child of the xml root node in the property `name`. This needs to be adjusted when renaming the template. By now we rely on that only lv2 states and the route template name need to be adjusted on renaming a template.
2017-07-12Also handle Route templatesJohannes Mueller
Following measures: * Split up into two classes * TemplateDialog: the general dialog * TemplateManager: A widget to rename and remove templates * Make TemplateManager abstract and derive a class for session templates and one for route templates. This is needed, as session templates and route templates are stored in a different way. Thus we need different methods to rename and remove them.
2017-07-12Some cosmeticsJohannes Mueller
2017-07-12First draft of a template management dialogJohannes Mueller
Goal is to a simple dialog that can rename and remove templates. This is helpful in order to keep the template list tidy. So far it works for session templates. Track templates tbd.
2017-07-12Don't try to chop of the file name extension from a template dirJohannes Mueller
Template files reside in .config/ardour5/templates/$(template_name)/$(template_name).template We run through .config/ardour5/templates/ and find there the names of the directories the .template-files are located in. These directory names don't have a .template extension. So we shouldn't try to chop the non existing extension of, because then we only modify template names with a '.' in them.
2017-07-12Fix duplicate ‘const’ declaration specifierJelle van der Waa
2017-07-12Honor groups for mixer selectionRobin Gareus
2017-07-08Don't use VST ->user points, prefer host-reserved ptrRobin Gareus
Apparently "user" is for plugins (not hosts) to use.
2017-07-08Add select-all-tracks mixer-shortcut (following editor)Robin Gareus
2017-07-08Remove old API (unused, incorrect for grouped tracks)Robin Gareus
2017-07-08Fix gain inc/dec with multiple-selection spanning groupsRobin Gareus
When tracks in a gain-sharing group are selected, stepping gain up/down affected the tracks N times: for-each selected track inc/dec gain w/grouping. When a mix of grouped and un-grouped tracks is selected, this lead to inconsistent gain changes. The new approach expands the groups first. Ignoring groups is not correct either for single selection.
2017-07-08Add API to expand/flatten AC groupsRobin Gareus
2017-07-07Don't drop processor references with process-lockRobin Gareus
_processors = new_list; may drop the last shared-ptr reference. This may deadlock in ~IO() for I/O processors or plugins with sidechain inputs. It's been mostly a non-issues since the GUI usually holds a last shared-ptr reference for a processor to be deleted, but that is not always the case.
2017-07-07Drop region references when hiding the TimeFX dialog.Robin Gareus
2017-07-07Fix VCA Automation Lane selectionRobin Gareus
This moves child-selection API up into TAV (Superclass of StripableTAV which actually owns the children)
2017-07-07Czech translation update by pfri #7190Robin Gareus
2017-07-07Consistent ControlList freezing -- fixes #7419Robin Gareus
AudioRegion::set_fade_in() freezes the original ControlList, then assigns a new one and thaws that. Frozen state needs to be retained during assignment. Related: The overloaded assignment operator in AutomationList performed duplicate signal emission and didn't freeze the list.
2017-07-06fix void return with value (amend d5d297c4)Robin Gareus
2017-07-06Fix FP8 shutdown sequence (amend d421e56fc)Robin Gareus
2017-07-06Remove cruft, steps cannot be 0.Robin Gareus
2017-07-06Consistently set parameter steps.Robin Gareus
And it's actually mostly moot. interface_to_internal maps any range to 0..1. The GUI could just hardcode min/max 0, 1 and steps 1/30, 1/300. Except for controls that have explicit range-steps & ctrl surfaces.
2017-07-05Make an info string translatableRobin Gareus
2017-07-05OSC: add delta controls to master, monitor and select as wellLen Ovens
2017-07-04Fix session-event queue (multiple writer, single reader)Robin Gareus
The reading is done in rt-process thread, but multiple UIs (surfaces, GUI) can produce events to be queued.
2017-07-04Compatibility with old out-of-range automation-lane dataRobin Gareus
Ardour may have ignored log-scale for parameters 0..N and allowed writing '0'. Force those values into the valid range on session load. Also mark the list as "needs sorting" which removes potential duplicates.
2017-07-04Work-around for plugins with log-scale parameter 0..SR/2Robin Gareus
2017-07-04Fix a plugin-insert position off-by-one and remove cruft.Robin Gareus
Route::before_processor_for_index() uses display_to_user() which includes the Amp. Insert position is still be wrong with the debug mode ProcessorBox::show_all_processors == true, but that's not a regression.
2017-07-04Always add plugins in the order given by the Manager UI.Robin Gareus
2017-07-04Retain plugins order for copy/cut/paste + DnD #7416Robin Gareus
2017-07-04Allow DnDVbox to sort the selection, using original orderRobin Gareus
In preparation for Processors to be copy/pasted in the same order as they appear on the strip -- not order in which they are selected.
2017-07-03OSC: Add system osc preset directoryLen Ovens
2017-07-03OSC: GUI tweakingLen Ovens
2017-07-03FP8: "Link" mode works with AutomationControl only.Robin Gareus
2017-07-03Make VCA mute+solo buttons bindableRobin Gareus
2017-07-03Revert "Prefer Stereo-Balance Panner for stereo tracks"Robin Gareus
This reverts commit e9ee454cedda06403a57d1e17239fa2fbfb36638. This needs more work to preserve non-customized panners in existing sessions. "user-panner" is only set if a user explicitly selects a panner.
2017-07-03Another approach for stuck splash-screens:Robin Gareus
Use Editor::first_idle() which is invoked every time when a session is loaded (via set_session). This will catch ALL successful session loads. Failed session-loads explicitly pop down the splash in ARDOUR_UI::load_session. This only leaves "abort session open" which returns to the session-open dialog (which pops back the splash).
2017-07-03PBD::init() failing is fatal in main(), don't silently exit.Robin Gareus
2017-07-03Don't just silently exit if initialization fails.Robin Gareus
2017-07-03Fix another crash at exit.Robin Gareus
During ARDOUR_UI::finish(), after destroying various instances: close_all_dialogs() -> ArdourDialog::on_response() -> GUIIdle() The event loop recurses and may execute a previously scheduled Editor::idle_visual_changer()
2017-07-03Prefer Stereo-Balance Panner for stereo tracksRobin Gareus
2017-07-03FP8: toggle editor/mixer (now that "link" button is used)Robin Gareus
..and some TODO notes.
2017-07-03Re-introduce toggle-editor-and-mixer (for ctrl-surfaces)Robin Gareus
6af51b52 moved to dedicated show-editor/show-mixer actions for keybindings because the Mixer has a dedicated handler. For Control-surfaces a common action is still practical. Note: This is still broken for detached windows. it currently only toggles tabs correctly.
2017-07-02Allow to bind generic plugin-ui dropdown + clickboxesRobin Gareus