75fe2ce095
generic MIDI: extend select function API and make argument be bank-relative, always
2022-06-05 15:37:04 -06:00
9758e6280f
use new event loop callback to ensure that all surface/control protocol threads have tempo map ptr set
2022-05-16 15:24:52 -06:00
7bf89ce109
Constification: make Stateful::get_state() const, with all other required const-ness added (libs)
2022-04-06 21:56:59 -06:00
9ee4c14bce
generic MIDI: extend menu options to drop ALL MIDI bindings, not just a binding map
2022-01-15 13:15:38 -07:00
9e763c2672
remove all dangling event-loop-precall code
2021-10-11 17:48:53 -06:00
b866335d8f
add glib event loop callback to Generic MIDI surface support
2021-08-13 12:51:30 -06:00
b58dfc7f0f
Resolve microseconds_t ambiguity 1/2
...
This resolves a PBD vs ARDOUR namespace error for some compilers:
```
error: reference to 'microseconds_t' is ambiguous
libs/pbd/pbd/microseconds.h:29:19: error: candidates are: typedef uint64_t PBD::microseconds_t
libs/ardour/ardour/types.h:81:29: error: typedef PBD::microseconds_t ARDOUR::microseconds_t
```
2021-06-27 17:33:05 +02:00
acfa04d700
Update Ctrl-surface MIDI port list when ports change
...
This is a better variant of bbb6851468
, directly using
the GUI context without indirection.
2021-02-04 06:19:37 +01:00
bbb6851468
Subscribe to pretty-port name changes (surfaces)
2021-01-18 03:18:20 +01:00
d100c92731
convert GenericMIDI into a real control protocol module, with its own event loop and ports
2019-12-31 12:06:14 -07:00
365f6d6337
Update plugins/addons GPL boilerplate and (C) from git log
2019-08-03 15:53:18 +02:00
3448f3151e
NO-OP: whitespac
2019-03-23 17:35:26 +01:00
e9b36f2bea
Update GenericMidiControlProtocol to use shared/weak Controllable pointers
...
This fixes a race-condition when a controllable is deleted
while sending feedback to the device.
Previously there was a race-condition MIDIControllable::write_feedback()
triggered from rt-thread, processed in Surface-thread and deleting
a route or processor.
This is a first step, currently state-restore is not fully functional
session->controllable_by_id() does not cover all Controllables.
2019-03-23 02:09:39 +01:00
9a1c22d7e1
Remove unusued API Create/Delete Binding
2019-03-23 01:28:23 +01:00
8a18929d57
remove Session::controllable_by_descriptor() and move code into GenericMIDI code (the only user).
...
This also removes enums introduced to describe well-known parameters for Mixbus. Lookup now involves string
parsing every time, but this is not likely to be a notable cost.
2018-06-21 13:05:58 -04:00
3cb952d7fb
Revert "Prototype to allow embedding sysex in midi-map"
...
This reverts commit 561c8eea0c
.
It is rare that a device needs sysex-initialization every time it is
connected, besides a single simple "Sysex" entry without options
is not very flexible.
2017-12-19 17:45:03 +01:00
561c8eea0c
Prototype to allow embedding sysex in midi-map
2017-12-06 16:33:58 +01:00
eb3f50e15c
change the way ControlProtocols (control surfaces) are notified and handle Stripable selection changes
...
The Editor continues to notify them, but via a direct call to ControlProtocolManager, not a signal.
The CP Manager calls the ControlProtocol static method to set up static data structures holding
selection info for all surfaces and then notifies each surface/protocol that selection has changed.
2017-05-12 14:51:39 +01:00
93f837b43e
generic MIDI: put controllables into touch mode (if appropriate) when data is received
2017-01-23 13:25:56 +01:00
581fe8a237
add MIDI bundles to Generic MIDI support so that the ports show up nicely in the grid
2016-09-27 14:59:30 -05:00
d53d0faf93
a more reliable/robust/less complex version of previous commit
2016-07-21 14:00:18 -04:00
d5127001bb
move ControllableDescriptor from libpbd to libardour; add support for describing VCAs
2016-05-31 15:30:42 -04:00
3d79e3c116
adjust generic MIDI surface support to (1) properly use boost::shared_ptr<Port> (2) detect connection changes
2015-12-07 12:38:17 -05:00
16a100703b
GenericMidi: Partially working IO selectors.
...
2 remaining problems:
* IO selectors are not updated if you change the connection outside the dialog.
* occasional crash on the next startup, after a connection is made from the menu.
2015-12-02 19:18:22 -06:00
22b07e0233
NOOP, remove trailing tabs/whitespace.
2015-10-05 16:17:49 +02:00
4dc63966f0
globally remove all trailing whitespace from ardour code base.
...
Paul Davis was responsible for introducing almost all of this.
2015-10-04 14:51:05 -04:00
6ab04a27c3
Allow any one midi event to control only one thing.
2015-07-27 16:17:38 -04:00
1ab61b8564
major redesign of MIDI port heirarchy and management (part 2)
2013-08-07 22:22:11 -04: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
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
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
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
ea23298f10
Setup fixed ports for MIDI control data; hence remove configuration of those ports. Move MIDI tracer to the Windows menu. Trim some unused code from the midi++ Manager.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7384 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-07 00:40:58 +00:00
77c09fc824
add support for "msg=" bindings and also action="SomeGroup/Action"
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6876 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-04-08 21:05:55 +00:00
a48742043b
remove PBD::Connection (replace use with PBD::ScopedConnection); remove limitation on transport roll after session end
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6834 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-04-02 15:24:53 +00:00
77cc0f7cc8
editors for control protocols (generalized); editor for Generic MIDI that allows choosing a MIDI binding map (or none); support banking in binding URLs, and other miscellany related to generic MIDI; save+restore JACK_MidiPort connection state (but cause a crash at shutdown time)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6411 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-29 21:31:14 +00:00
109acd1568
MIDI binding maps make their debut
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6408 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-28 16:49:44 +00:00
f450df300c
fully implement and deploy explicit x-thread signal connection syntax (testing comes next)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6379 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-21 18:23:07 +00:00
738387f9a4
remove a couple of boost::signals2 trouble spots; fix some --strict compile time warnings
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6378 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-20 16:50:41 +00:00
e5258d4ed1
Fix angle bracket project-local include paths.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@5975 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-30 00:21:40 +00:00
8713667ec1
rework Stateful::set_state() patch to avoid default version argument
...
git-svn-id: svn://localhost/ardour2/branches/3.0@5787 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-15 18:56:11 +00:00
Carl Hetherington
79f91c7a20
Part 1 of loading 2.X sessions; some things work, some things don't, hacks 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-15 00:57:55 +00:00
449aab3c46
rollback to 3428, before the mysterious removal of libs/* at 3431/3432
...
git-svn-id: svn://localhost/ardour2/branches/3.0@3435 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-06-02 21:41:35 +00:00
Doug McLain
9c0d7d72d7
remove empty sigc++2 directory
...
git-svn-id: svn://localhost/ardour2/branches/3.0@3432 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-06-02 05:02:28 +00:00
cb41314642
merge 3.0 from 2.0-ongoing@3243
...
git-svn-id: svn://localhost/ardour2/branches/3.0@3248 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-11 14:06:50 +00:00
Sampo Savolainen
d4a73c373a
A fix to make MIDI controller state save properly, also fixed a bind cancel related segfault. (hopefully)
...
git-svn-id: svn://localhost/ardour2/trunk@1669 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-04-05 22:10:28 +00:00
2b90eeade9
session export starts from session start marker; add tooltips for rude solo + audition; start work on control protocol feedback control (unfinished but compiles and runs
...
git-svn-id: svn://localhost/ardour2/trunk@985 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-10-13 15:07:50 +00:00
0d0f71ee92
fix abort-capture path, including many subtle issues with shared_ptr<>; remove old automation feedback code; make new automation feedback code slightly configurable ; fix zoom focus options for playhead + edit cursor ; prevent zoom < 2 samples per pixel to avoid crashes ; peak building now uses shared_ptr<Source> not Source*
...
git-svn-id: svn://localhost/ardour2/trunk@959 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-10-09 15:50:44 +00:00
26843b34fd
modification to make generic MIDI actually work again
...
git-svn-id: svn://localhost/ardour2/trunk@673 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-10 20:01:47 +00:00