summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour
AgeCommit message (Collapse)Author
2017-04-19Use XMLNode::get/set_property in ARDOUR::IO classTim Mayberry
2017-04-19Remove now unused stream operator functions in ardour/types.hTim Mayberry
2017-04-19Use PBD string conversion functions in PBD::Property classTim Mayberry
2017-04-19Add header for PBD::to_string/_to template specializations for Evoral typesTim Mayberry
2017-04-19Add header for PBD::to_string/string_to() specialisations for libardour typesTim Mayberry
Add PBD::to_/string_to specializations for ARDOUR::DataType These could go into the data_type.h header but they don't really need to and it means that ardour/types_convert.h can just be included by source files that need to do type<=>string conversion. A potential problem with this is that if all the specializations are contained in a single header then any class that requires inclusion of that header to do serialization will be recompiled each time types_convert.h is changed. I'm not going to worry about it at this stage, it can always be broken up or improved upon later.
2017-04-16Fix crashes with empty route-lists e.g. mute_release w/o routesRobin Gareus
2017-04-13Faderport8 control surface supportRobin Gareus
2017-04-12Properly expose "well known" comp_redux output.Robin Gareus
2017-04-12Add a ReadOnlyControl parameter abstractionRobin Gareus
This allows to pass a sperici Controllable alike instance around without relying on directly exposing the Plugin instance and parameter-id.
2017-04-07Add session signal to track mute-changesRobin Gareus
In preparation for Faderport8 "Mute Clear" LED Button.
2017-04-01Add option for record-only metronome.Robin Gareus
2017-03-31Add an API to query if the audible frame is latent pending a locateRobin Gareus
eg. at the end of a loop, the session may already be playing the beginning of the loop. The TransportLooped signal was emitted. Yet due to playback latency, the audible frame is still at the end of the loop. To interpolate the playhead position the UI needs to be able to know: Relying on the TransportLooped signal is not sufficient because it does not take playback latency into account.
2017-03-30Count-in is a no-roll operation.Robin Gareus
2017-03-18Resolve copy-c'tor and assignment issue with TempoMapRobin Gareus
There are various issues with copy-construction: no readlock is taken, Tempo/Metric Sections were static-cast to non-const pointers and passed as references... This remove the [now] unused copy-c'tor, and fixes various const issues.
2017-03-18Lua bindings to access MIDI region/source note-eventsRobin Gareus
2017-03-18Prefer const references: Beat-Converter does not modify the TempoMapRobin Gareus
2017-03-17Lua bindings for libardour transient-analysisRobin Gareus
2017-03-13plugin scan tweaks: don't verbosely log by default, bump timeoutRobin Gareus
Some VSTs (e.g. waves) can take a rather long time to scan. (VST-shell: many plugins + online license check)
2017-03-12remove cruft; superseded by ControlGroup::use_meRobin Gareus
2017-03-12Preparations to keep track of stripable color-dialogs.Robin Gareus
This follows the same concept as plugin-UIs (keep a pointer in the backend) to prevent multiple instances to be created from various TAVs and RouteUIs (mixer, editor-mixer, meterbridge,..)
2017-03-12Fix issue with automation-playback constantly marking a session dirty.Robin Gareus
2017-03-08Prepare moving to a dedicated x-thread signal for VST UI resizingRobin Gareus
(this changes the internal API, pending follow-up GUI update)
2017-03-08remove cruftRobin Gareus
2017-03-07Rework VST initialization:Robin Gareus
Set the AEffect* plugin pointer before calling effOpen. effOpen may call back into the host (masterCallback) and invoke actions which depend on _plugin (eg. to call back into the plugin again)
2017-03-06Add support for VST effSetBypass #7266Robin Gareus
This mechanism re-uses internal abstraction (plugin-enable). Other plugin-specs designate a control-port, for VST we 'emulate' a control-port. There is still debug-output to stderr, here while testing.
2017-03-05tempo editing updatesnick_m
- a tempo marker may now be set to always continue (clamped) this means that the end tempo of the previous section will track the start tempo during tempo ops. it mimics the behaviour in 5.8, with the gui indicating the curves to be changed.
2017-03-04offset linked regions to compensate for negative start after trim drag.nick_m
- should fix 7105
2017-02-28Tweak/optimize VST callback:Robin Gareus
The audioMasterAutomate callback from plugin to host does include the parameter-value. Previously there was a redundant call Plugin::parameter_changed_externally() -> get_parameter -> VSTPlugin::get_parameter() back into the plugin to query the value. calling back into the plugin from the callback, may explain oddities and/or crashes with some VSTs.
2017-03-01allow continuation of tempo via right-click 'Continue' where appropriate.nick_m
- this is the opposite of 'Ramp to Next'. it removes discontinuities between the last end tempo and the current by altering the current one.
2017-02-27add TempoMap::next_tempo_section()nick_m
2017-02-27complete changes to tempo type.nick_m
- this implements in the intention behind the previous commit. a tempo mark is constant until its end has been changed by a shift-drag on the next marker.
2017-02-27compile fixBen Loftis
2017-02-27rework tempo editing.nick_m
most changes are due to a new design where tempo discontinuities at the beginning of a ramped section may be set. this allows easier mapping of live performance, especially in the common case of a ramped ritard before the beginning of a new section. feature summary: holding constraint modifier (shift) while dragging the BBT ruler area drags the tempo lines by changing the start tempo (as before) holding copy modifier (control) while dragging the BBT ruler area drags the tempo lines by changing the end tempo (ahem. not quite there) dragging a tempo mark while holding constraint (shift) will change the previous end tempo to match the marker position *worth trying*. holding constraint and copy modifier (control + shift) while dragging the BBT ruler area attempts to'pinch' or twist the surrounding tempi sp that later ones are not repositioned (currently suffereng from rounding errors)
2017-02-26selected Stripables now have a counter to indicate the order they were ↵Paul Davis
selected in
2017-02-24Save Lua script origin (for later updates) -- DSP pluginRobin Gareus
2017-02-22Prepare re-locating missing external files.Robin Gareus
2017-02-21Add API allowing plugin preset load to affect automationRobin Gareus
2017-02-21redesign VCA control over gain (and theoretically other scalar controls)Paul Davis
master(s) value now just scales the control's own value; a trivial bit of math at assign/deassign ensures that values do not change during add/remove master operations
2017-02-19Emit a signal when Lua session script change (prepare UI update to un/set)Robin Gareus
2017-02-18move color_to_rgba to LuaAPI for consistencyRobin Gareus
2017-02-17Allow to use any Lua function factory, produce bytecodeRobin Gareus
2017-02-15Don't copy-construct MusicFrame, pass const reference.Robin Gareus
2017-02-13Prepare record with count-in actionRobin Gareus
2017-02-08an automation control that has to do things before its value is set in an RT ↵Paul Davis
context should potentially tell its ControlGroup This fixes record-enable controls in a group failing generate a call to the required stuff for tracks (moving meter position, preparing diskstream) #7213
2017-02-06use new PBD::Controllable API to correctly save solo and mute controls, ↵Paul Davis
which may be slaved to a master
2017-02-06save/restore VCA master state inside slaves, so that a reloaded session ends ↵Paul Davis
up back in the same state
2017-02-04remove unused empoMap::round_to_beat_subdivision()nick_m
2017-02-04rework snapnick_m
snap now fills in a struct (MusicFrame) which contins a snapped frame along with a music divisor. this gives useful information wrt magnetic snap which may or may not have rounded to an exact musical position. region position may now be set musically (using quarter notes for now). this patch fixes several problems in the current code: - dragging a list of music-locked regions now maintains correct musical offsets within the list. - splitting regions using magnetic snap works correctly (#7192) - cut drag should now work correctly with magnetic snap. - musical length of split midi regions is no longer frame based.
2017-02-02Export option to use snapshot name instead of session nameRobin Gareus
2017-01-31Expose a new lua hook for resetting a plugin processor ( convenience func ↵Ben Loftis
only: this avoids the necessity of an extra cast to PlugInsert )