summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-07-17Purify libcanvas, remove libardour dependencyRobin Gareus
A canvas is just a canvas. Move WaveView into its own library.
2017-07-17Clean up library inheritance (colors.h, utils.h)Robin Gareus
make libwidget independent of libcanvas. Confine basics to pbd and gtkmm2ext.
2017-07-17Remove ArdourPrompter wrapperRobin Gareus
2017-07-17Remove <gtkmm.h> include from header files.Robin Gareus
2017-07-17Move more Gtkmm2ext widgets into libwidgetRobin Gareus
2017-07-17Remove unused sources & includesRobin Gareus
2017-07-17Move Gtkmm2ext widgets into libwidgetRobin Gareus
2017-07-17remove cruft (no more ButtonJoiner)Robin Gareus
2017-07-17Separate Ardour UI widgets into dedicated libraryRobin Gareus
2017-07-17fix behaviour of AddRouteDialog "Add" buttonPaul Davis
2017-07-17if user has edited name entry in add route dialog, type changes should not ↵Paul Davis
reset it. But using a response button should
2017-07-17Fix a typo in recent commitJulien "_FrnchFrgg_" RIVAUD
2017-07-16Fix loading bundles #7426Robin Gareus
2017-07-16Data less than or equal to zero should be considered "off"Robin Gareus
2017-07-16Fix merging boolean automation + mute disconnect.Robin Gareus
2017-07-16Some notes for later.Robin Gareus
2017-07-16Remove Timers to watch Controllable valuesRobin Gareus
Depend on Changed() signals alone, which are usually much less frequent than rapid-timer events. As side-effect we now need to make the widgets insensitive when playing automation. Previously the user could not change the value because the Timer periodically reset it.
2017-07-16Remove unused API and a never used execution-branchRobin Gareus
2017-07-16Consistent Automation evaluation:Robin Gareus
Rule #89: The *owner* of each automation-control is responsible to evaluate automation of automated automation-controls (and emit Changed() signals to notify the GUI and slaved controls). This can happen during run(), when the Processor evaluates automation (eg. PluginInsert does that), but needs to regardless, every cycle. Emit Changed signal for GainControl This follow the same concept as PluginInsert: The Changed signal is called on demand when evaluating automation.
2017-07-16Add API to run automation only (emit Changed signal).Robin Gareus
Note: MuteControl already implemented this, This removes the special case of boolean_automation_run(). Likewise this removes special-cases for actually_set_value() during automation playback.
2017-07-16Rename private methodRobin Gareus
The same name (automation_run) is used in different context (mute) for only processing automation.
2017-07-15required #include for earlier gccPaul Davis
2017-07-15new script to globally switch from "audio frames" to "audio samples"Paul Davis
To be run at some point in the near future after various PRs and development branches have been merged into master.
2017-07-15Force filename suffix and ask confirmation before overwriting ...Johannes Mueller
... existing files, when exporting template archives.
2017-07-15Only make the export button sensitive if there's something to exportJohannes Mueller
2017-07-15Inflate template archives rather in `.config/ardour5/` than in ...Johannes Mueller
`.config/ardour5/(templates|route_templates)`. We put as toplevel directory of the archive `templates` or `route_templates`. Then no matter if the user imports a session template or a route template archives, we always put them into the correct folder. As now the user can also import route templates while the SessionTemplateManager is visible and vice versa, we need to signal the successful import to the corresponding template manager. Therfor we introduce the signal TemplatesImported.
2017-07-14Add johmue to authors listRobin Gareus
2017-07-14Turn Summary into a horizontal scrollbar (drop y-axis sensitivity)Robin Gareus
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)