summaryrefslogtreecommitdiff
path: root/libs/pbd/controllable.cc
AgeCommit message (Collapse)Author
2020-03-10Add convenience ControlFlags operatorsRobin Gareus
Explicit functions for operator&=~ and operator|=
2019-09-05Reduce stdout/stderr clutter, prefer DEBUG_TRACERobin Gareus
2019-08-03Update core library GPL boilerplate and (C) from git logRobin Gareus
2019-03-23Remove static Destroyed(*), prefer StatefulDestructable APIRobin Gareus
This also add a debug-dump method to show remaining registered Controllables.
2019-03-23Re-add Controllable registryRobin Gareus
To facilitate a central registry with weak/shared pointer lookup, enable_shared_from_this<ARDOUR::AutomationControl> was migrated to enable_shared_from_this<PBD::Controllable> The main (and only) user is generic-midi surface's state interface :(
2019-03-23Use weak-pointer for Controllable learningRobin Gareus
2019-03-23Remove c-pointer Controllable* registryRobin Gareus
2019-03-23Remove unusued API Create/Delete BindingRobin Gareus
2017-07-02Controllable focus notification APIRobin Gareus
This allows to inform control-surfaces about the current GUI control-element. "Link" control-surface interaction to GUI focus.
2017-06-22Remove LocaleGuard from PBD::Controllable state methodsTim Mayberry
These are no longer necessary as float <=> string conversion is handled by locale independent PBD::to_string/string_to via XMLNode::get/set_property
2017-04-19Use XMLNode::get/set_property API in PBD::ControllableTim Mayberry
2017-04-19Use ID::to_s() in libpbd instead of ID::print()Tim Mayberry
2017-03-10Fix solo/mute when loading old (4.x) sessions.Robin Gareus
2017-02-06add new API to PBD::Controllable, ::get_save_value()Paul Davis
Designed to allow derived classes to *save* a different value than would be reported by ::get_value(). Specifically there so that slaved controls can save/restore their *own* state, not the value that ::get_value() would return.
2016-07-14enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.hPaul Davis
2016-05-31remove debug outputPaul Davis
2016-05-31mostly restore VCA state on session loading.Paul Davis
This does not restore VCA assignments
2016-05-07fix LocaleGuard contstructor (3dc77280)Robin Gareus
2016-05-05we always only use the "C" locale when saving.Robin Gareus
2016-02-03manually revert ec8cf4e4 with an extra comment explaining the significancePaul Davis
2016-01-27Fix µ-iness.Robin Gareus
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-10-04globally remove all trailing whitespace from ardour code base.Paul Davis
Paul Davis was responsible for introducing almost all of this.
2015-01-19use C locale, because POSIX locale is not supported on windows, and ↵Ben Loftis
operation is undefined. C works on all platforms
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-05-15remove two instances of static/global ScopedConnectionList. one remains ↵Paul Davis
worth thinking about for semantics (libs/pbd/controllable.cc:registry_connections) git-svn-id: svn://localhost/ardour2/branches/3.0@12295 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-16Slightly unpleasant fix for creation of tracks fromCarl Hetherington
templates; it would be nice if we could set things up using the Route's logic for setting names of its children, rather than repeating the same logic in XML-land (#4303). git-svn-id: svn://localhost/ardour2/branches/3.0@10655 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-18make Stateful::_id private and provide appropriate methods to set it, and ↵Paul Davis
use them throughout ardour git-svn-id: svn://localhost/ardour2/branches/3.0@10222 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-11major, substantive reworking of how we store GUI information (visibility, ↵Paul Davis
height) for automation data. old design stored (insufficient) identifying information plus actual data in a GUI-only XML node; new scheme adds GUI data via extra_xml node to each AutomationControl object. reworked public/private methods for showing/hiding TimeAxisView objects; changed labelling of automation tracks to just show the name of the controlled parameter - more info can be viewed in the tooltip for the track headers. NOTE: Session file format ALTERED. No data loss but track visibility may be different than previous ardour3 versions git-svn-id: svn://localhost/ardour2/branches/3.0@9703 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-11-28more or less complete restoration of Controllable::_id from XML, with all ↵Paul Davis
that implies for MIDI bindings continuing to work across session reloads, and also that the controlled parameter is now set from Controllable::set_value() during session loading, not directly from its "own" XML value; still some funny stuff going on with Panners. This may have broken 2.X session loading in that panners may not be setup correctly git-svn-id: svn://localhost/ardour2/branches/3.0@8117 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@8111 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-31stop metering thread as we disconnect a session from audioengine; explicitly ↵Paul Davis
drop connections early in ~Route so that we don't still have signals being handled while we destruct; fix up some valgrind warnings git-svn-id: svn://localhost/ardour2/branches/3.0@6425 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-12-22cleanup up cleanup at session destruction; clarify the meaning of 3 signals ↵Paul Davis
(DropReferences & Destroyed in libardour ; CatchDeletion in the GTK UI); clarify ownership of objects (session no longer pays attention to DropReferences for objects that it is considered to own, such as routes, sources, etc); fix up MIDI parsing and a couple of other places by correcting syntax for return of values from a boost::signals2::signal (possible danger elsewhere to be checked) git-svn-id: svn://localhost/ardour2/branches/3.0@6389 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-21fully implement and deploy explicit x-thread signal connection syntax ↵Paul Davis
(testing comes next) git-svn-id: svn://localhost/ardour2/branches/3.0@6379 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-19use new syntax for connecting to backend signals that enforces explicit ↵Paul Davis
connection scope, plus a few other related matters git-svn-id: svn://localhost/ardour2/branches/3.0@6376 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-17switch to using boost::signals2 instead of sigc++, at least for libardour. ↵Paul Davis
not finished yet, but compiles, loads sessions, records and can close a session without a crash git-svn-id: svn://localhost/ardour2/branches/3.0@6372 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-11fix compilation breakages from the last commitPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@6347 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-11(MAY BREAK COMPILATION - unfinished work, being transferred between machines ↵Paul Davis
via svn) ... start to make MidiControllable bind to a URI, not an object git-svn-id: svn://localhost/ardour2/branches/3.0@6346 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-21Fix unused parameter warnings since GCC apparently doesn't feel like ↵David Robillard
listening to -Wno-unused-parameter git-svn-id: svn://localhost/ardour2/branches/3.0@5835 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-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-18Fix 'sticky' sliders when MIDI control feedback is enabled.David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@4628 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-15Oops. Fix XML stuff in GUI as well.David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@4579 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-04-11merge 3.0 from 2.0-ongoing@3243Paul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@3248 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-04-26Merged changes from trunk 1699:1751 into 2.1-stagingPaul Davis
git-svn-id: svn://localhost/ardour2/branches/2.1-staging@1752 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-04-11merged with 1697 revision of trunk (which is post-rc1 but pre-rc2Paul Davis
git-svn-id: svn://localhost/ardour2/branches/2.1-staging@1698 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-12-20small but major fix for Controllable state storage (do not create illegal ↵Paul Davis
XML nodes); set wmclass for plugin windows; use X_() for all wmclass names git-svn-id: svn://localhost/ardour2/trunk@1234 d708f5d6-7413-0410-9779-e7cbd77b26cf