summaryrefslogtreecommitdiff
path: root/libs/ardour/control_protocol_manager.cc
AgeCommit message (Collapse)Author
2016-07-14enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.hPaul Davis
2016-05-04OMNIBUS COMMIT: prefer const XMLNode::property method (and provide a real one)Paul Davis
2016-01-01remove debug outputPaul Davis
2015-12-30possible extra housekeeping for control protocol modules.Paul Davis
Currently this code isn't reached because we never call ControlProtocolManager::teardown() on inactive protocols. But at some point it might be appropriate to unload modules (.so/.dll/.dylib) even if the protocol was never instantiated
2015-12-30safer housekeeping for control protocol descriptorsPaul Davis
2015-12-30some good practice.Robin Gareus
2015-12-30fix control surface discovery crash:Robin Gareus
On OSX unloading a module deletes all references to it and the descriptor becomes invalid.
2015-12-29add check for descriptor when deciding whether to register a control surface ↵Paul Davis
request buffer factory
2015-12-28redesign cross-thread registration/signalling systemPaul Davis
This new design will work even when threads that need to receive messages from RT threads are created *after* the RT threads. The existing design would fail because the RT thread(s) would never be known the later created threads, and so signals emitted by the RT thread and causing call_slot() in the receiver would end up being enqueued using a lock-protected list. The new design ensures that communication always uses a lock-free FIFO instead
2015-10-05NOOP, remove trailing tabs/whitespace.Robin Gareus
2015-10-04globally remove all trailing whitespace from ardour code base.Paul Davis
Paul Davis was responsible for introducing almost all of this.
2015-10-02explicitly drop control surface protocols before disconnecting from engine.Paul Davis
This is not bomb/thread proof yet, because it still requires at least one process callback to function
2014-06-25Use PBD::find_files_matching_pattern instead of other variationsTim Mayberry
2014-03-21When finding the control surface DLLs (MSVC built), make sure we only find ↵John Emmas
ones that match our build target
2014-03-10Transfer 'control_protocol_search_path()' into 'libs/ardour/search_paths.cc'John Emmas
2014-01-10Merge windows+cc branch into cairocanvas branch. Not finished, need to now ↵Paul Davis
merge windows branch to get changes from there
2013-12-21new ControlProtocolManager API, and proper handling of view/model changes in ↵Paul Davis
the RC options (prefs) editor
2013-09-06Rename SearchPath class SearchpathTim Mayberry
Windows headers define SearchPath which means we have to undefine it where necessary. This is a pain and can be tricksy, so I feel renaming the class slightly is the easiest solution.
2013-07-11Use glibmm for modules instead of dlfch.hPaul Davis
2013-01-16a bit more debug tracing for control protocolsPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@13849 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-06fix continuing SNAFUs with ::set_state() for control protocols and the ↵Paul Davis
parent/child/grandchild relationship for the XML nodes. this corrects problems with MackieControl git-svn-id: svn://localhost/ardour2/branches/3.0@13794 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-17forward part the backend part of the generic MIDI control fixes from mb2/a2Paul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@13297 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-06-23Use std::string instead of PBD::sys::path in pbd/search_path.h, ↵Tim Mayberry
pbd/file_utils.h and ardour/session_dir.h git-svn-id: svn://localhost/ardour2/branches/3.0@12829 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-05-18major rationalization of use of search paths. ardour now has just 4 ↵Paul Davis
functions used to define how external resources are located: ardour_config_search_path() (for system or user specific configuration data), ardour_data_search_path() (for machine, user and system independent data), ardour_dll_directory() (base directory where shared libraries are found) and user_config_directory(). These are now used throughout the code. the config, data and dll paths/directories can be overridden by environment variables. the user config dir is added as the first element of the first two search paths, and use selectively when searching for a few other things. This commit re-enabes ./waf install, and it is believed that it works fully at this point (more testing likely required) git-svn-id: svn://localhost/ardour2/branches/3.0@12326 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-12don't load symlinks when trying to discover control protocol shared objectsPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@12257 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-08fix up overly-persistent active state for control surfacesPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@12212 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-26fix initialization of control protocols so that brand new sessions get ↵Paul Davis
working control protocols if the user's ardour.rc file indicates to do so; fix MCP bank scrolling git-svn-id: svn://localhost/ardour2/branches/3.0@12096 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-25MCP: dynamic ipMIDI ports, more default key bindings, various minor fixesPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@12092 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-22MCP: a fistful of improvements. probably best to just try it and see what it ↵Paul Davis
broken. KNOWN: pressing vpots without a bank/channel shift will crash ardour git-svn-id: svn://localhost/ardour2/branches/3.0@12053 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-22change several startup messages to be triggered only by -D (debug) optionsPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@10281 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-05-04No-op; coding style.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@9474 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-11Fix a few tiny memory leaks.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@8244 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-17fix deadlock in protocol manager startup; fix some other ::set_session() ↵Paul Davis
SNAFUs; remove last boost::signals2::connection member from libardour git-svn-id: svn://localhost/ardour2/branches/3.0@6375 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-12remove using namespace sigc everywhere to ensure clarity over which ↵Paul Davis
bind/mem_fun is being used; make Config::map_parameters take a boost::function rather than a sigc::slot ; continue debugging crash caused by regionviews not tracking their Region's lifetime git-svn-id: svn://localhost/ardour2/branches/3.0@6357 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-09OSC is now driven by an event loop; fix up lifetime mgmt of Glib::Source to ↵Paul Davis
workaround bug in Glib git-svn-id: svn://localhost/ardour2/branches/3.0@6329 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-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-10-12Set up the ControlProtocolManager singleton in a slightly more robust way.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@5768 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-02string_is_affirmative() fix for 3.0Paul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@5723 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-25Quote includes for control_protocol.David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@4656 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
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
2007-09-04Rename PBD::SearchPath::get_string to PBD::SearchPath::to_stringTim Mayberry
git-svn-id: svn://localhost/ardour2/trunk@2369 d708f5d6-7413-0410-9779-e7cbd77b26cf