summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/amp.h
AgeCommit message (Collapse)Author
2018-07-09Remove global declick APIRobin Gareus
De-click will be per disk-reader, latency compensated and buffer-size independent. Cue-monitoring should not be affected by de-click.
2017-11-12Add API to allow buffer offsets when applying gainRobin Gareus
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-19Amend c8a9b28d3 and 40aebce. Fix gain automation edge-cases:Robin Gareus
* drop Trim/Fader automation for bypassed processor * Trim/Fader automation for Busses is always active when rolling
2017-09-18remove getter for Amp::_apply_automation_gain; reset member to false after ↵Paul Davis
use, and true after ::setup_automation_gain runs successfully
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-07-16Remove unused API and a never used execution-branchRobin 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.
2016-06-25major internal plugin & processor API change:Robin Gareus
Pass current (latency compensated) cycle times to plugin. This fixes time-reporting to plugins and also fixes automation and when bouncing (the session->transport* is not valid) etc.
2016-05-31Add PanControllable::get_user_string() (provide indirect access to ↵Paul Davis
Panner::value_as_string(); make ::get_user_string() use a const arg everywhere
2016-01-25change exposed type of various objects' gain controls; remove Amp::gain() as ↵Paul Davis
a shortcut
2016-01-18working version of new gain control designPaul 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
2016-01-02change Controllable::set_value() API to include grouped control consideration.Paul Davis
This also removes Route::group_gain_control() and associated machinery. Not yet tested with Mackie or other surfaces. More work to done to start using the group capabilities, and also potentially to add or derive more controls as RouteAutomationControls
2015-12-27proper display name for Monitor ProcessorRobin Gareus
2015-10-21Add AutomationControl::set_value_unchecked() and ↵Paul Davis
AutomationControl::writable() and use them. Classes derived from AutomationControl now check ::writable() in their ::set_value() methods to ensure that they do not attempt to overwrite data sent to them while automation playback is underway.
2015-09-21processor-box: explicitly check for "Amp" (Fader)Robin Gareus
2015-04-25Amp: allow to disable midi velocityRobin Gareus
2015-04-24Amp control: power-scale (fader) and dB-scale (knob)Robin Gareus
2015-04-07low-pass filter gain-fader.Robin Gareus
fixes various fader zipper noise issues. It voids sample accuate fader automation (the fader-gain is low-pass filtered at 10Hz). Yet all musical purposes this makes a lot more sense than sample accuracy anyway.
2014-12-04Make gain controls step by roughly 1.0/0.1 dB.David Robillard
Shoot for roughly 30 steps for all controls. Always keep sensible step information in ParameterDescriptor and just convert for the UI. This is a little weird, but it's less weird than it was before, and works.
2014-11-02Automation of LV2 plugin properties.David Robillard
Work towards ParameterDescriptor being used more universally to describe control characteristics.
2014-07-18tweaks for the monitor section. refactoring of some buttons, using new ↵Ben Loftis
ArdourKnob instead of VolumeController. New ArdourDisplay shows a controllables user value, and provides support for preset values (hardcoded at present). Further refactoring to come, so that ArdourWidgets are derived from a common class. Controllable now has more responsibility for scaling between internal, user, and interface (knob percent) values. This also needs more refactoring and might have some unintended consequences. tested with audio and nothing seems amiss, yet.
2013-10-17add export visibility macros across libardourPaul Davis
2013-08-02rework MIDI [processor|plugin] chainRobin Gareus
* forward midi-data around plugins that have no MIDI-out * allow to insert plugins with no MIDI-input at a point with one MIDI-channel This works because excess ports (both plugin and route) remain unconnected and use scratch-buffers. Tested with LV2, LXVST and LADSPA. (AU plugins with variable in/out retain the old behavior, no bypass) fixes http://tracker.ardour.org/view.php?id=5630
2012-11-13revert to a 0..2 scale for MIDI velocity control, so that we can increase ↵Paul Davis
MIDI note velocities as well as deccrease them (note: this will make the use of MIDI CC #7 a bit more complex) git-svn-id: svn://localhost/ardour2/branches/3.0@13483 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-13change handling of MIDI gain so that we present a linear fader spanning ↵Paul Davis
0..127. this is based on the realization that we actually have no idea what the MIDI receiver will do with velocity and/or CC #7 values, and so trying to pretend that we can provide some kind of dB value in the display or the behaviour of the fader is completely wrong; ALSO: fix keyboard entry of fader levels for non EN locales (#5027) git-svn-id: svn://localhost/ardour2/branches/3.0@13480 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-09set fader and plugin parameter automation curve default values - what else ↵Paul Davis
needs this? git-svn-id: svn://localhost/ardour2/branches/3.0@12996 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-11Make send automation work (#4734).Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@12650 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-02-27Display amp automation in dB using a logarithmic fader.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@11535 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-21Reinstate user Controllable values, as they are neededCarl Hetherington
for gain (which I forgot about). git-svn-id: svn://localhost/ardour2/branches/3.0@11293 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-21Add a send amp's gain control as a send controllable.Carl Hetherington
Tweak AutomationControl now that PBD::Controllable has a default implementation of user_to_ui and ui_to_user. Add correct implementations of these methods to Amp::GainControl. Hence allow SendProcessorEntry to use the generic mini-fader-adding code from ProcessorEntry. git-svn-id: svn://localhost/ardour2/branches/3.0@11292 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-19Remove unnecessary virtual declaration.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@10229 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-01Fix broken whitespace. I'd apologize for the compile times if it was my ↵David Robillard
fault :D git-svn-id: svn://localhost/ardour2/branches/3.0@9654 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-01-06Take automation into account when reporting Amp gain. Fixes #3669.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@8470 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-03Remove all use of nframes_t.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@8166 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-17megaopus patch #2 for today: remove nframes64_t and sframes_t from sourcePaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@7792 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-19forward port automation handling changes from 2.x, upto and including about ↵Paul Davis
rev 6981 (will need full testing in the 3.X context). as on 2.x, this removes real-time visual updates to automation curves during write/touch automation recording git-svn-id: svn://localhost/ardour2/branches/3.0@7653 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-27change Control::{set,get}_float to Control::{set,get}_double and make almost ↵Paul Davis
all Control-related stuff use double rather than random mixtures of float, double and some integer value ; make hans' program change stuff work quite a bit better (not finished yet) including keyboard edting of pgm change values git-svn-id: svn://localhost/ardour2/branches/3.0@7514 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-25do not apply global transport declick to MIDIPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@7491 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-17Remove muting behaviour from the Amp processor. Fix some smallCarl Hetherington
bugs with delivery muting. The upshot being that muting now definitely happens in a channel's deliveries, and not really in the channel strip at all. When the channel is muted, those deliveries described by the MuteMaster settings are muted. Should fix #3141. git-svn-id: svn://localhost/ardour2/branches/3.0@7115 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-03-10how about that ... a monitor/main section .. GUI is still unfinished .. ↵Paul Davis
several small fixes to processor loading/listen mgmt and a few debug output lines rmeoved. knob images are provisional, and can be found in icons/knob.png and related files git-svn-id: svn://localhost/ardour2/branches/3.0@6744 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-30restore excess calls to sync-order stuff (for now); allow MIDI controllers ↵Paul Davis
to use the same non-linear fader response as the gui; add various flags to PBD::Controllable and remove URI from that class git-svn-id: svn://localhost/ardour2/branches/3.0@6414 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-11-25Give Processor::run a new parameter to say whether or not the run method ↵Carl Hetherington
must leave the passed-in buffers valid. In the case where the main outs delivery is the last processor in a route, this is not necessary (and wasteful). If another processor (e.g. a meter) follows the main outs, the passed-in (scratch) buffers must be valid or the meter will get garbage data. Fixes meters displaying phantom signals in some cases. git-svn-id: svn://localhost/ardour2/branches/3.0@6180 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-15rework Stateful::set_state() patch to avoid default version argumentPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@5787 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-15Part 1 of loading 2.X sessions; some things work, some things don't, hacks ↵Carl Hetherington
a-plenty. LOADING 2.X SESSIONS WITH THIS COMMIT IN PLACE WILL (PROBABLY) CORRUPT THE .ardour FILE, MAKING THE SESSION UNLOADABLE ON 2.X AND LOSING INFORMATION. So don't do that unless you make a backup of the session file first. git-svn-id: svn://localhost/ardour2/branches/3.0@5786 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-14Strip trailing whitespace and fix other whitespace errors (e.g. space/tab ↵David Robillard
mixing). Whitespace changes only. Vimmers, try let c_space_errors = 1 in your .vimrc to highlight this kind of stuff in red. I don't know the emacs equivalent... git-svn-id: svn://localhost/ardour2/branches/3.0@5773 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-07-15processor naming tweaks, processor visibility tweaks and more, trying to ↵Paul Davis
finish this audio routing thing... git-svn-id: svn://localhost/ardour2/branches/3.0@5364 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-07-14add display name to processors (so that it can differ from the "real name"); ↵Paul Davis
pay attention to active status in Amp, Meter and Delivery git-svn-id: svn://localhost/ardour2/branches/3.0@5360 d708f5d6-7413-0410-9779-e7cbd77b26cf