13
0
Commit Graph

140 Commits

Author SHA1 Message Date
5ebc8de6cc conform to new CP API design 2013-12-21 15:31:28 -05:00
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
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
1ab61b8564 major redesign of MIDI port heirarchy and management (part 2) 2013-08-07 22:22:11 -04:00
1b97f147eb Revert "C++11 Building - Use new style struct field inititializing" (this code
change breaks gcc on several platforms).

This reverts commit bf153e58a5.
2013-07-16 14:52:52 -04:00
Michael R. Fisher
bf153e58a5 C++11 Building - Use new style struct field inititializing
- clang with std=c++11 enabled was failing here
2013-07-15 22:57:34 -05:00
298da23619 save and restore Generic MIDI threshold/smoothing value 2013-06-10 12:37:09 -04:00
8bfaa2d3d9 move control surface prefs onto their own tab in the user prefs; for Generic MIDI GUI, rename "Threshold" to "Smoothing" and add a tooltip to describe it; fix misuse of S_() in prefs editor 2013-06-06 08:31:46 -04:00
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
2c3dc9861e missing part of the midi map fix 2013-03-18 13:59:12 -04:00
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
b0fa3896f5 remove cruft (old cvsignore files) 2013-03-17 23:08:27 +01:00
1f9b0a86bd fix crash when deleting a processor with a controllable (#5284)
git-svn-id: svn://localhost/ardour2/branches/3.0@13943 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-21 13:20:43 +00:00
5adcb61f60 a few small fixes that help pitchbend control of things, notably the shuttle controller. but note that basically, teh shuttle controller is completely and hopelessly broken through excess complexity and incorrect design
git-svn-id: svn://localhost/ardour2/branches/3.0@13870 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-17 14:48:17 +00:00
2eb43c8310 add copyright comments
git-svn-id: svn://localhost/ardour2/branches/3.0@13859 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-16 18:22:15 +00:00
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
37906d067e feedback for toggled MIDI controls now sends 0 or 127, not various in-between values (should fix #5117, without any bad side-effects
git-svn-id: svn://localhost/ardour2/branches/3.0@13680 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-19 01:28:41 +00:00
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
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
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
b2bbc44eaa forward-port generic MIDI and transport controllable changes from 2.X
git-svn-id: svn://localhost/ardour2/branches/3.0@13066 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-23 13:31:51 +00:00
Carl Hetherington
b97a1bfb97 Connect to controllable->Destroyed in all cases; fixes crash on route removal.
git-svn-id: svn://localhost/ardour2/branches/3.0@12959 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-28 15:38:07 +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
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
266030b79c some generic midi debugging plus an assert
git-svn-id: svn://localhost/ardour2/branches/3.0@12950 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-26 20:49:52 +00:00
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
a054a74dd2 disconnect from a Controllable when it is destroyed
git-svn-id: svn://localhost/ardour2/branches/3.0@12938 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-26 01:55:53 +00:00
Carl Hetherington
0786ff15a0 Patch from royvegard to add a set-bank midi function
(#4949).


git-svn-id: svn://localhost/ardour2/branches/3.0@12927 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-25 19:26:00 +00:00
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
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
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
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
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
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
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
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
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
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
8f7fa7d93b MCP: timeout display of value when altering with fader or pot; range ops on strip buttons should work; select logic may be broken
git-svn-id: svn://localhost/ardour2/branches/3.0@11959 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-13 16:11:55 +00:00
Carl Hetherington
a4c27ff16e Update motorised button when a motorised surface's bindings are loaded.
git-svn-id: svn://localhost/ardour2/branches/3.0@11740 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-21 02:19:59 +00:00
Carl Hetherington
189257dd32 Make toggle MIDIControllables with program changes only respond to the appropriate program change (part of #4780).
git-svn-id: svn://localhost/ardour2/branches/3.0@11739 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-21 02:15:55 +00:00
Carl Hetherington
c5dac2a724 Add GPL boilerplate; use x->foo for (*x).foo; tidy some indentation; use a table to place widgets; add motorised option.
git-svn-id: svn://localhost/ardour2/branches/3.0@11729 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-19 01:34:40 +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
f07ca6397f radically rethink export/bounce/freeze code design. probably not 100% done by freeze+unfreeze now work and behave sensibly w.r.t. processors that do routing
git-svn-id: svn://localhost/ardour2/branches/3.0@11701 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-15 21:40:17 +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
dcccd5b4d6 patch from roy vegard to stop feedback from causing jumps when a MIDI controller and ardour are out of sync
git-svn-id: svn://localhost/ardour2/branches/3.0@11001 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-14 15:57:48 +00:00
e70249ab65 Pack toolbar combo boxes with expand=false and remove size kludges.
Turns out gtk these days sizes combo boxes with precisely enough space if
packed to not expand, none of this mess is necessary any more.


git-svn-id: svn://localhost/ardour2/branches/3.0@10790 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-23 08:35:41 +00:00