summaryrefslogtreecommitdiff
path: root/libs/ardour/automatable.cc
AgeCommit message (Collapse)Author
2017-10-04Clean up State API:Robin Gareus
* Processor implement get_state(), classes derived from Processor implement protected ::state() -- as documented in processor.h * likewise for Route, Track: make ::state() a protected interface * removal of "full_state", use explicit "template_save" * use RAII/Unwind to skip saving automation-state
2017-09-18globally change all use of "frame" to refer to audio into "sample".Paul Davis
Generated by tools/f2s. Some hand-editing will be required in a few places to fix up comments related to timecode and video in order to keep the legible
2017-09-18Add support for Latch AutomationRobin Gareus
2017-08-07Explicitly initialize parent in the copy constructorRobin Gareus
2017-07-27Start a new write-pass when writing automation and locating while rollingRobin Gareus
2017-07-24Remove unused "mark" parameter from stop_touch() APIRobin Gareus
2017-07-22NO-OP: consistent [internal] API name for AutomatablesRobin Gareus
2017-07-22NO-OP: Consistent API nameRobin 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-06-21Remove Cruft -- AutomationStyle never did anything.Robin Gareus
Trim automation is planned via SlavableAC as normal AutomationMode. Some of this code have a revival (a special "Trim+Preview" state before merging Automation but that has to be more general than Pan & Gain.
2017-06-09NO-OP: whitespaceRobin Gareus
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-05-30Prepare for automation control masterRobin Gareus
Basic infrastructure to allow VCA automation and Trim automation: look up events during automation playback.
2017-05-05libardour now has CoreSelection object to manage selection status of ↵Paul Davis
Stripables and AutomationControls
2017-01-09save state of an automation list, even if empty, because it might exist in ↵Paul Davis
the history state
2017-01-05Fixing LV2_SUPPORT #ifdefsDobroslav Slavenskoj
2016-08-19MIDI polyphonic pressure, part 2Paul Davis
2016-07-14enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.hPaul Davis
2016-06-28ignore automation for non-automatables.Robin Gareus
Since 4.7-1477-g2c6d595 Ardour implements Control::NotAutomatable. This can lead to situations where automation exists for parameters that were not supposed to be automatable, which in turn caused a "programming-error" abort() in RouteTimeAxisView::add_processor_automation_curve()
2016-05-31implementation side of Controllable::get_user_string() with const argPaul Davis
2016-05-31extend function of Automatable::control_factory() [ this may be the wrong ↵Paul Davis
design ... review coming ]
2016-05-31do not non-automable controls to an Automatable's list of what can be automatedPaul Davis
2016-05-04OMNIBUS COMMIT: prefer const XMLNode::property method (and provide a real one)Paul Davis
2016-01-18move Amp::GainControl out into its own source module and out of AmpPaul Davis
2016-01-18change ownership of the AutomationControl used by Amp.Paul Davis
It used to be owned by Amp. Now it is owned by Amp's owner
2015-11-02Clean up _before XMLNode in AutomationList if no automation write occurred.nick_m
2015-11-01Revert starting write pass only in write mode when transport located.nick_m
2015-10-21fix automation update at transport stop when in automation Play modePaul Davis
2015-10-20Automation - more toggled controller twiddling.nick_m
2015-10-20Automation - fix occasional inverted bool state after write.nick_m
2015-10-20Make automation record undo per pass rather than per touch.nick_m
2015-10-07only subdivide plugin-cycle when automation is playingRobin Gareus
PluginInsert::automation_run() subdivides plugin-run on every control-port automation event (without splitting the process cycle). libevoral has no automation-control context, hence this function must be implemented by Automatable.
2015-10-05use quotes for in-tree pbd/glib wrapper includeRobin Gareus
2015-10-05remove i/ofstream from libardourRobin Gareus
except: * audio-unit (ifstream is known to work on OSX) * evoral curve algorithm debugger * cycle-timer debug code * export_handler's CDMarker -> TODO
2015-10-05NOOP, remove trailing tabs/whitespace.Robin Gareus
2015-05-04add signal for automation state changes per pluginRobin Gareus
2015-04-25prepare trim automationRobin Gareus
2015-03-08Fix compilation with --no-lv2 (#0006169).David Robillard
Not that I condone such backwards behaviour. (Different issue in the ticket, but it was still broken at link time).
2014-12-24Remove warning when adding MIDI model controls.David Robillard
This is fine, unlike the other cases, MidiTrack is not the only thing that can have a MIDI automation control.
2014-12-01Replace half-baked param metadata with descriptor.David Robillard
Among other things, this means that automation controls/lists have the actual min/max/normal/toggled of parameters, and not those inferred from the Parameter ID, which is not correct for things like plugin parameters. Pushing things down to the Evoral::ParmeterDescriptor may be useful in the future to have lists do smarter things based on parameter range, but currently I have just pushed down the above-mentioned currently used attributes.
2014-11-30Replace thinning static state with parameter.David Robillard
2014-11-07Just rename problematic Variant::VOID type.David Robillard
2014-11-02Display gain and midiNote plugin parameters/properties nicely.David Robillard
Show fancy values on generic GUI controls, automation lane controls, and automation lane verbose cursor. Fix text display of midiNote values. Make bigstep of midiNote parameters 12 (one octave). Add ARDOUR::value_as_string() as a stateless one-stop-shop for value printing.
2014-11-02Automation of LV2 plugin properties.David Robillard
Work towards ParameterDescriptor being used more universally to describe control characteristics.
2014-08-31Fix crash when changing automation mode for MIDI track control automation.David Robillard
Also some work towards tolerating automation controls with no automation list, towards actually doing something for these cases, though not required just to fix this crash (MidiTrack::set_parameter_automation_state() avoids those paths).
2014-07-01add partial support for mute automation (playback does not work, data is not ↵Paul Davis
recorded in the session)
2013-01-20Show matching controller name in automation lane header.David Robillard
Completely eliminate static MIDI controller name code. Reduce dependency on midnam_patch.h (which would have saved me several hours if I did it earlier). Store controller name numbers as an integer. Keep controller names in a map keyed by int instead of a list for fast lookup. More cleanup of MIDI::Name code. git-svn-id: svn://localhost/ardour2/branches/3.0@13927 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-19remove unused Automatable::automation_interval and related codePaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@13534 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-25convert from Glib:: to Glib::Threads for all thread-related APIPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@13084 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-13dramatic overhaul of automation. too long to explain here. this work is not ↵Paul Davis
finished - write/touch passes do not correctly overwrite existing data because the semantics of ControlList::insert_iterator need clarification. more to follow git-svn-id: svn://localhost/ardour2/branches/3.0@13038 d708f5d6-7413-0410-9779-e7cbd77b26cf