Commit graph

95 commits

Author SHA1 Message Date
Len Ovens
d3b4ef4eed Add enc to midi map for mcp style encoders. 2015-07-27 16:17:38 -04:00
Len Ovens
6ab04a27c3 Allow any one midi event to control only one thing. 2015-07-27 16:17:38 -04:00
Robin Gareus
b7b1f9a0a6 fix “missing operator<< for PBD::ID” (clang) 2015-07-15 01:21:19 +02:00
Len Ovens
d8f3f9f02d Move learned midi binding reload after midi map load (fixes #6405) 2015-07-13 13:47:00 -07:00
Robin Gareus
937ed39c45 fix PBD::ID string format 2015-07-11 05:17:02 +02:00
Len Ovens
6349570fb2 Add debug for generic midi control 2015-07-10 16:52:43 -04:00
Paul Davis
2ea5962af2 rationalize save/restore of control surface "feedback" property 2015-06-24 13:46:07 -04:00
Tim Mayberry
d9a7d419b2 Change PBD::find_files_matching_regex and PBD::find_files_matching_filter to take a Searchpath 2014-06-25 12:40:10 -04:00
Tim Mayberry
547689a055 Replace all use of PathScanner with equivalent functions from pbd/file_utils.h 2014-06-17 21:41:29 +10:00
Tim Mayberry
0e96d84079 Change PBD::PathScanner API to return results by value to avoid inadvertent memory leaks 2014-06-17 21:13:05 +10:00
Paul Davis
3020b224fa Merge windows+cc branch into cairocanvas branch. Not finished, need to now merge windows branch to get changes from there 2014-01-10 16:07:57 -05:00
Paul Davis
5ebc8de6cc conform to new CP API design 2013-12-21 15:31:28 -05:00
Paul Davis
afabc09fbf change Generic MIDI control so that it handles a SendFeedback request synchronously within a process callback 2013-12-13 16:56:34 -05:00
Paul Davis
bb826f4bee incomplete merge of master into windows (requires upcoming changes to master to be complete) 2013-09-12 11:28:50 -04:00
Tim Mayberry
8ddd12a60d Rename SearchPath class Searchpath
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-09-06 14:31:11 +10:00
Paul Davis
1c49138e00 move MidiPortManager from AudioEngine to Session
This makes the responsibilities and ownership of non-Route related MIDI ports
more clear, and removes a few wierd bits of code. It also ensures that open/close/open
on the same session will retain connections for those MIDI ports
2013-09-05 13:22:34 -04:00
John Emmas
ee7cc091b3 'surfaces/generic_midi' - Minor modification to prevent MSVC from complaining about a malformed comment 2013-09-05 09:47:37 +01:00
Paul Davis
1ab61b8564 major redesign of MIDI port heirarchy and management (part 2) 2013-08-07 22:22:11 -04:00
Paul Davis
298da23619 save and restore Generic MIDI threshold/smoothing value 2013-06-10 12:37:09 -04:00
Paul Davis
6e485c0fc1 fix reload of Generic MIDI binding state when the target state involves just a binding map, with no specific controller bindings at all (should fix #5210) 2013-04-06 09:13:39 -04:00
Paul Davis
2c3dc9861e missing part of the midi map fix 2013-03-18 13:59:12 -04:00
Paul Davis
1847053f66 return the full MIDI map search path from system_midi_map_search_path(), to fix #5379 2013-03-18 11:42:49 -04:00
Paul Davis
397729eb18 fix continuing SNAFUs with ::set_state() for control protocols and the 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
2013-01-06 14:39:27 +00:00
Paul Davis
844ce9f359 prevent crash when saving learned MIDI binding that is now missing its controllable
git-svn-id: svn://localhost/ardour2/branches/3.0@13678 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-19 01:19:48 +00:00
Paul Davis
cff8a65db2 forward part the backend part of the generic MIDI control fixes from mb2/a2
git-svn-id: svn://localhost/ardour2/branches/3.0@13297 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-17 14:36:40 +00:00
Paul Davis
3cd8138a41 convert from Glib:: to Glib::Threads for all thread-related API
git-svn-id: svn://localhost/ardour2/branches/3.0@13084 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-25 17:48:55 +00:00
Carl Hetherington
e09e185e3e Add what I think is a missing lock when reading controllables.
git-svn-id: svn://localhost/ardour2/branches/3.0@12958 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-28 15:37:54 +00:00
Paul Davis
1708ab55b9 fix MIDI binding stuff when the controllable does actually exist the first time we go looking for it (#4950)
git-svn-id: svn://localhost/ardour2/branches/3.0@12957 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-28 14:44:29 +00:00
Paul Davis
dde521f2c6 fix up some issues introduced by lifecycle tracking of Controllable in Generic MIDI control code
git-svn-id: svn://localhost/ardour2/branches/3.0@12947 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-26 19:10:11 +00:00
Paul Davis
92469df6ab add late/lazy binding between generic MIDI bindings and controllable elements in the session. this allows you to load a binding map that refers to elements that have not yet been created in the session, and when they are created, the binding will work
git-svn-id: svn://localhost/ardour2/branches/3.0@12921 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-25 12:33:13 +00:00
Tim Mayberry
4522ef26a2 Use Glib instead of pbd/filesystem.h in GenericMidiControlProtocol
git-svn-id: svn://localhost/ardour2/branches/3.0@12901 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-23 05:09:42 +00:00
Tim Mayberry
bc205191bf Use Glib::file_test instead of PBD::sys::exists
git-svn-id: svn://localhost/ardour2/branches/3.0@12883 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-23 05:09:02 +00:00
Tim Mayberry
105caf23da Use std::string instead of PBD::sys::path in pbd/search_path.h, 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-06-23 05:06:54 +00:00
Carl Hetherington
3dd8fbdefa Hush some debug messages.
git-svn-id: svn://localhost/ardour2/branches/3.0@12779 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-19 13:28:13 +00:00
Carl Hetherington
72642335d1 Slightly tweaked patch from royvegard to add optional threshold for catch-up of non motorised controls in generic MIDI surfaces (#4828).
git-svn-id: svn://localhost/ardour2/branches/3.0@12716 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-13 21:53:50 +00:00
Paul Davis
813c5f0af9 major rationalization of use of search paths. ardour now has just 4 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-18 17:24:06 +00:00
Paul Davis
ec1ef5d6b5 remove the apparently unnecessary "ui_bind()" macro from entire source base
git-svn-id: svn://localhost/ardour2/branches/3.0@12088 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-25 12:58:19 +00:00
Paul Davis
72678cc230 revert previous commit (it should work, but did not); minor tweaks elsewhere
git-svn-id: svn://localhost/ardour2/branches/3.0@12084 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-24 20:27:13 +00:00
Paul Davis
2171bba037 make generic MIDI support handle SendFeedback() in process()-context, not in the MIDIControlUI event loop
git-svn-id: svn://localhost/ardour2/branches/3.0@12083 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-24 19:25:57 +00:00
Paul Davis
4e9173ff62 likely fix for various odd problems with cross-thread callbacks
git-svn-id: svn://localhost/ardour2/branches/3.0@12082 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-24 19:19:39 +00:00
Paul Davis
4bfdcc18bd ControlProtocol doesn't actually need any record of an event loop and doesn't need to connect to any signals itself
git-svn-id: svn://localhost/ardour2/branches/3.0@12063 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-23 10:54:34 +00:00
Carl Hetherington
8063027507 Add set_motorised().
git-svn-id: svn://localhost/ardour2/branches/3.0@11728 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-19 01:34:35 +00:00
Carl Hetherington
fb6895ba86 Add motorised attribute to DeviceInfo for generic MIDI maps so that
we can specify if a surface is motorised, and as such will keep its
phyiscal controls in sync with Ardour's controllables at all times.
If this is not the case, we enable the code to avoid jumps when controls and
controllables are out of sync.  Mark the BCF2000 as motorised.



git-svn-id: svn://localhost/ardour2/branches/3.0@11611 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-07 01:11:22 +00:00
Carl Hetherington
fe86f97563 Work around problems with some JACK<->ALSA midi bridges which don't
transfer multiple MIDI messages when they are written in one
jack_midi_event_write.  Support pitch bend messages in the
generic midi control surface code.


git-svn-id: svn://localhost/ardour2/branches/3.0@11601 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-06 15:08:17 +00:00
Paul Davis
ae5f278202 make control protocol's SelectByRID signal work, thus enabling MIDI binding maps to use function="select" with an argument; fix minor bug in previous commit
git-svn-id: svn://localhost/ardour2/branches/3.0@9991 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-08-14 17:11:33 +00:00
Paul Davis
f75bbfd8ac track changes to config parameters for MMC device id's correctly (from roy vegard)
git-svn-id: svn://localhost/ardour2/branches/3.0@9985 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-08-13 16:27:29 +00:00
Paul Davis
0a07cca64c if a binding map specifies controllables that don't exist in the session, drop those bindings so that we don't crash from having bindings without controllables (should fix #4256)
git-svn-id: svn://localhost/ardour2/branches/3.0@9973 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-08-10 15:57:03 +00:00
Paul Davis
4ef712df25 permit envvar to define where to find MIDI binding maps (for bundle, or other reasons)
git-svn-id: svn://localhost/ardour2/branches/3.0@9203 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-25 21:21:05 +00:00
Paul Davis
665f3bea5a fix all manner of wrongness with port buffer offsets
git-svn-id: svn://localhost/ardour2/branches/3.0@9098 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-07 19:06:42 +00:00
Paul Davis
7cbcf258cc changes associated with save/restore of AutomationControl id's
git-svn-id: svn://localhost/ardour2/branches/3.0@8111 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-11-27 17:43:32 +00:00