summaryrefslogtreecommitdiff
path: root/libs/ardour/amp.cc
AgeCommit message (Collapse)Author
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-09-16Revert "add an Amp to Delivery, remove it from Send, make use of this in ↵Paul Davis
various ::run() methods" This reverts commit 601a34521c2ce1d0167ed2f3c66f2fa6eeeb6b8e.
2015-09-15add an Amp to Delivery, remove it from Send, make use of this in various ↵Paul Davis
::run() methods Delivery::_amp now will handle monitor-related delicks assuming the Session::config.get_use_monitor_fades() is true.
2015-05-27fader: start muted, ramp up/interpolate to targetRobin Gareus
2015-04-26wrap midi negative gain for midi-velocityRobin Gareus
ignore polarity invert, scale_velocity() otherwise claps the factor to zero.
2015-04-26relax gain LPF to 25Hz.Robin Gareus
2015-04-26update amp for negative (polarity-invert) gainRobin Gareus
fixes monitor-section “inv”
2015-04-25midi velocity [fader] automationRobin Gareus
2015-04-25Amp: allow to disable midi velocityRobin Gareus
2015-04-25prepare trim automationRobin Gareus
2015-04-24Amp control: power-scale (fader) and dB-scale (knob)Robin Gareus
2015-04-22Initial Gain Coefficient tweaksBen Loftis
1) Disambiguate 1.0 to GAIN_COEFF_UNITY, and 0.0 to GAIN_COEFF_ZERO 2) Add GAIN_COEFF_SMALL which replaces SMALL_SIGNAL (-140dB) 3) GAIN_COEFF_SMALL can used to avoid interpolating towards -inf on a db scale 4) GAIN_COEFF_SMALL is used to detect very small (denormal?) gains and memset to zero
2015-04-07linear declickRobin 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.
2015-04-05децибелRobin Gareus
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-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-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.
2014-05-26apply gain automation on bounce - fixes 5887Robin Gareus
2014-02-19clear up some stupid thinking in Amp regarding the way the underlying ↵Paul Davis
AutomationControl/Controllable gets set when Amp::set_gain() is called
2013-08-08rework 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-14use const static member instead of a magic numberPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@13500 d708f5d6-7413-0410-9779-e7cbd77b26cf
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-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-14fix up part of the remaining details with automation, so that touch/write ↵Paul Davis
over-writes work correctly git-svn-id: svn://localhost/ardour2/branches/3.0@13041 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-05-24Remove over 500 unnecessary includes (including 54 of session.h).David Robillard
It's slightly possible that this causes trivial build failures on different configurations, but otherwise shouldn't cause any problems (i.e. no actual changes other than include/naming/namespace stuff). I deliberately avoided removing libardour-config.h since this can mysteriously break things, though a few of those do seem to be unnecessary. This commit only targets includes of ardour/*.h. There is also a very large number of unnecessary includes of stuff in gtk2_ardour; tackling that should also give a big improvement in build time when things are modified. git-svn-id: svn://localhost/ardour2/branches/3.0@12420 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-13convert rec-enable control for a Track from PBD::COntrollable to ↵Paul Davis
ARDOUR::AutomatioNControl, and use in MCP git-svn-id: svn://localhost/ardour2/branches/3.0@11956 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-06-19much ado about nothing when it comes to gain controlPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@9748 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-03-07manage Route::_have_internal_generator more accurately and never flush ↵Paul Davis
processors if there is on; correctly manage declicking so that only *TRACKS* without internal generators will declick at transport state transitions (fixes horrible click at transport stop in some configurations git-svn-id: svn://localhost/ardour2/branches/3.0@9100 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-07make sure that fade in and fade out curves reach their target (1.0 and 0.0) ↵Paul Davis
rather than 1 step away from their target git-svn-id: svn://localhost/ardour2/branches/3.0@9086 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-11-27changes associated with save/restore of AutomationControl id'sPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@8109 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-06-09basically, fix all kinds of odds and ends with MIDI playback, including ↵Paul Davis
missed notes and applying gain git-svn-id: svn://localhost/ardour2/branches/3.0@7247 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-04-28more solo/mute architecture work. NOTE: changes to mute points are ignored ↵Paul Davis
right now git-svn-id: svn://localhost/ardour2/branches/3.0@7009 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
2010-02-05Remove weird/pointless Automatable::data().David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@6637 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