summaryrefslogtreecommitdiff
path: root/libs/ardour/automatable.cc
AgeCommit message (Collapse)Author
2009-10-23Fix sketchy casts.David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@5893 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-06-09the big Route structure refactor. !!!! THIS WILL ***NOT LOAD*** PRIOR 3.0 ↵Paul Davis
or 2.X SESSIONS !!!! BREAKAGE IS EXPECTED !!!! IF YOU HAVE AND NEED A WORKING 3.0 DO **NOT** UPDATE. !!!! otherwise, update and enjoy the steadily emerging joys of this major reworking of ardour internals git-svn-id: svn://localhost/ardour2/branches/3.0@5137 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-05-07The great audio processing overhaul.David Robillard
The vast majority of Route signal processing is now simply in the list of processors. There are definitely regressions here, but there's also a lot of things fixed. It's far too much work to let diverge anymore regardless, so here it is. The basic model is: A route has a fixed set of input channels (matching its JACK input ports and diskstream). The first processor takes this as input. The next processor is configured using the first processor's output as input, and is allowed to choose whatever output it wants given that input... and so on, and so on. Finally, the last processor's requested output is used to set up the panner and create whatever Jack ports are needed to output the data. All 'special' internal processors (meter, fader, amp, insert, send) are currently transparent: they read any input, and return the same set of channels back (unmodified, except for amp). User visible changes: * LV2 Instrument support (tracks with both MIDI and audio channels) * MIDI in/out plugin support * Generic plugin replication (for MIDI plugins, MIDI/audio plugins) * Movable meter point Known Bugs: * Things seem to get weird on loaded sessions * Output delivery is sketchy * 2.0 session loading was probably already broken... but it's definitely broken now :) Please test this and file bugs if you have any time... git-svn-id: svn://localhost/ardour2/branches/3.0@5055 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-25*** NEW CODING POLICY ***David Robillard
All #include statements that include a header that is a part of a library bundled with ardour MUST use quotes, not angle brackets. Do this: #include "ardour/types.h" NOT this: #include <ardour/types.h> Rationale: This is best practice in general, to ensure we include the local version and not the system version. That quotes mean "local" (in some sense) and angle brackets mean "system" (in some sense) is a ubiquitous convention and IIRC right in the C spec somewhere. More pragmatically, this is required by (my) waf (stuff) for dependencies to work correctly. That is: !!! FAILURE TO DO THIS CAN RESULT IN BROKEN BUILDS !!! Failure to comply is punishable by death by torture. :) P.S. It's not that dramatic in all cases, but this (in combination with some GCC flags specific to the include type) is the best way I have found to be absolutely 100% positive the local ones are being used (and we definitely want to be absolutely 100% positive on that one). git-svn-id: svn://localhost/ardour2/branches/3.0@4655 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-15Trim include dependency tree (particularly on evoral/Sequence.hpp).David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@4589 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-01-28* more user friendly MIDI automation lane namesHans Baier
git-svn-id: svn://localhost/ardour2/branches/3.0@4451 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-10-13Fix wrongly exposed set_parameter methods on PluginInsert.David Robillard
Have plugin GUI stuff twiddle plugin parameters correctly. git-svn-id: svn://localhost/ardour2/branches/3.0@3957 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-10-03Apply panners/automation patch from torbenh (Panner is-a Processor).David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@3848 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-29Can't call the wrong function when there's only one of them: remove ↵David Robillard
ARDOUR::Parameter and just use Evoral::Parameter (move Ardour specific functionality to EventTypeMap where it belongs). Less than pretty in places but easily seddable just in case... git-svn-id: svn://localhost/ardour2/branches/3.0@3838 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-29Plugin automation fixes from torbenh.David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@3826 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-28Fix shadowing problem with *Control::set_value.David Robillard
Fix nasty situation when setting value on a plugin automation control that's playing back. git-svn-id: svn://localhost/ardour2/branches/3.0@3823 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-21- Call channel pressure channel pressure, not aftertouch (that's key specific).David Robillard
- Add context menu items to add a bender or pressure automation track to a MIDI track. - Now just need to figure out creation of program change events and you can create everything MIDI ardour understands from the GUI... git-svn-id: svn://localhost/ardour2/branches/3.0@3782 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-21Display recorded controller data (fix show all/existing automation).David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@3779 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-19Restore visible CC/etc automation tracks on session load.David Robillard
Fix CC/channel mismatch when creating a new CC track. Always display CC with 1-based numbering (like channel). git-svn-id: svn://localhost/ardour2/branches/3.0@3763 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-19Factor out sequencing related things into an independant new library: "evoral".David Robillard
Anything related to the storage of events/values over a range of time lives in evoral. This includes MidiModel (Evoral::Sequence) and automation data (AutomationList (Evoral::ControlList), Automatable (Evoral::ControlSet), etc). libs/evoral synced with http://svn.drobilla.net/lad/trunk/evoral r1511. git-svn-id: svn://localhost/ardour2/branches/3.0@3754 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-12make tracks visible againPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@3719 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-06-02rollback to 3428, before the mysterious removal of libs/* at 3431/3432Paul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@3435 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-06-02remove empty sigc++2 directoryDoug McLain
git-svn-id: svn://localhost/ardour2/branches/3.0@3432 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-21More petty clean ups of MIDI stuff.David Robillard
Use more complete header I had laying around for MIDI controller names / depollute Automatable. git-svn-id: svn://localhost/ardour2/branches/3.0@3378 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-21* Made the MIDI standard names show up for controllers instead of just ↵Hans Baier
controller numbers git-svn-id: svn://localhost/ardour2/branches/3.0@3376 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-03* MidiModel::const_iterator::operator++: added AUTOMATION typeHans Baier
* automatable.cc/parameter.cc: Added friendly names for the new Midi parameter types * fixed a failed assertion problem (note on channel != note off channel), but have no idea how :) * changed lots of whitespace :| git-svn-id: svn://localhost/ardour2/branches/3.0@3309 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-02-16Merge with 2.0-ongoing R3071.David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@3074 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-10-11merge from 2.0-ongoing by hand, minus key binding editorPaul Davis
git-svn-id: svn://localhost/ardour2/trunk@2539 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-01use XML state to store processors in mixer (strips) and fixup crash caused ↵Paul Davis
by missing AutomationController for integer LADSPA plugin params git-svn-id: svn://localhost/ardour2/trunk@2215 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-07-20Trimmed some code by removing silly Java-isms.David Robillard
Real men make references to functions, and like it! git-svn-id: svn://localhost/ardour2/trunk@2158 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-07-07Note modes: note, percussion.David Robillard
Percussion tracks display diamonds. Separated/fixed MIDI and audio mode menus. CC automation modes: discrete, line. Bar controllers follow setting (hard steps or line) on playback. Sent CC data is always discrete (line not implemented yet). Discrete tracks show no lines, and always show control points. Separated ControlPoint from AutomationLine. Added some basic information (range) to Parameter (to be fleshed out..). git-svn-id: svn://localhost/ardour2/trunk@2123 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-07-06Fix 'live' CC sending of bar controllers after loading session (previously ↵David Robillard
only worked when immediately created by user). git-svn-id: svn://localhost/ardour2/trunk@2116 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-07-05Replace remaining references to 'param_id' (with 'parameter').David Robillard
git-svn-id: svn://localhost/ardour2/trunk@2109 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-07-04Add AutomationControl::parameter() for terseness.David Robillard
Future-proof automation track GUI 'extra' XML (<GUI><AutomationChild automation-id="gain"> instead of <GUI><gain> so Parameter.to_string isn't used as an XML node name). Fix automation track controller bar shown/hidden state. Fix automation track initial show bug. git-svn-id: svn://localhost/ardour2/trunk@2103 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-07-03s/ParamID/Parameter/David Robillard
git-svn-id: svn://localhost/ardour2/trunk@2098 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-07-03Pan automation/serialization fixes.David Robillard
"Live" Midi CC sending from Midi CC automation track controllers. git-svn-id: svn://localhost/ardour2/trunk@2097 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-30Pan automation work. Almost, but not quite, working.David Robillard
git-svn-id: svn://localhost/ardour2/trunk@2093 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-30Another not-quite-there-but-better commit.David Robillard
Brought plugin automation into the fold of new automation system. Fixed plugin automation, broke panner automation :] (pending Panner work). Made AutomationController better at automatically following it's controller value (mimic what gain meter does). Fixed some visible automation track bugs (but still broken WRT serialization). git-svn-id: svn://localhost/ardour2/trunk@2092 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-29Further automation refactoring - bring in the concept of Controllable, work ↵David Robillard
towards making automation + GUI + play/write/touch generic and easily reusable. Added bar controller to automation track controls (mostly relevant for MIDI CC, but added for gain and pan too Just Because). Fixed glaring "redirect" list errors. Fix plugin controls/automation loading. git-svn-id: svn://localhost/ardour2/trunk@2080 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-27Renamed Insert to Processor and Redirect to IOProcessor.David Robillard
git-svn-id: svn://localhost/ardour2/trunk@2071 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-27Big ol' automation refactor.David Robillard
Things with automation parameters now inherit from Automatable, which handles serialization, fetching/adding/removing parameters, etc. Use AutomationList everywhere instead of Curve, make Curve a member of AutomationList instead (towards other types of "Curve" needed for CC, among other things). Work towards MIDI CC sending "automation" tracks. git-svn-id: svn://localhost/ardour2/trunk@2069 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-23Insert/Redirect refactoring, towards better MIDI support in mixer strip, andDavid Robillard
http://ardour.org/node/1043 style things. git-svn-id: svn://localhost/ardour2/trunk@2027 d708f5d6-7413-0410-9779-e7cbd77b26cf