Paul Davis
d074bc586e
Merge branch 'master' into audioengine
2013-09-03 17:41:49 -04:00
Paul Davis
41f6f5574b
fix confusion about whether flip_mode in the Mackie support code is a bool or an enum
2013-08-24 11:46:44 -04:00
Paul Davis
9ac6bb9bef
part-way through getting the audioengine changes to compile
2013-07-24 19:29:45 -04:00
Paul Davis
cd6cbba299
rename Route::is_hidden() to Route::is_auditioner() and Route::Hidden to Route::Auditioner. this has been the meaning of these terms for years now and it would be better to make it explicit
2013-04-06 16:04:02 -04:00
Paul Davis
8f091de64b
for MCP devices that don't handshake, turn them on as soon as we call ::connectivity_established() so that _active == true, and we will actually write to them
...
git-svn-id: svn://localhost/ardour2/branches/3.0@14165 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-03-06 20:15:28 +00:00
Paul Davis
99b94fad77
avoid crash when switching devices in mackie control code, add locks to protect surfaces list (hopefully done without adding any deadlocks - can't test this at present)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13750 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-31 16:04:46 +00:00
Paul Davis
104da317ff
avoid crashing in a wierd case (possibly a race) in Mackie support
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13749 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-31 15:27:38 +00:00
Carl Hetherington
d341088f13
Fix some uninitialised variable warnings.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12702 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-13 15:38:15 +00:00
Rodrigo Severo
1bd34a34f7
Small change to Timecode display (SMTPE) in the Mackie.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12694 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-13 03:09:46 +00:00
Rodrigo Severo
335bf3d21e
Prevents a master fader being created without a control at Surface::setup_master_fader;
...
Several DEBUG_TRACE changes to help identify race conditions;
git-svn-id: svn://localhost/ardour2/branches/3.0@12693 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-13 03:07:50 +00:00
Paul Davis
71427323ec
MCP: latest patch from Rodrigo:
...
* fixes Master Fader Touch button in the Mackie;
* implements a MasterFaderTouch global button;
* removes unused MackieControlProtocol::_transport_previously_rolling property;
* implements DeviceInfo::get_global_button() method;
* creates GlobalButtonsInfo and StripButtonsInfo types in DeviceInfo;
* implements Surface::_last_master_gain_written property to help master fader feedback;
* makes Surface respect _mcp.device_info().strip_cnt() to create master fader and when connecting signals for strips and master fader instead of using hardcoded 8;
* removed a few unnecessary updates in Surface::turn_it_on();
* included master_gain_changed() in Surface::periodic();
* implemented MackieControlProtocol::master_fader_touch_press and
* MackieControlProtocol::master_fader_touch_release;
git-svn-id: svn://localhost/ardour2/branches/3.0@12631 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-09 19:06:52 +00:00
Paul Davis
a56ab30261
MCP: latest patch from Rodrigo:
...
* delays Mackie's led initialization until the Mackie is actually ready to receive messages;
* at the button X function mapping customization interface in Preferences:
o show specific device names instead of global ones;
o mark the buttons that are actually available in the device with a *;
o included a bottom text explaining what the * means;
* created a DeviceInfo::get_global_button_name(Button::ID) method;
* included several DEBUG_TRACE in mackies code;
* renamed device buttons and groups according to the following logic: Mackie buttons are named exactly like a actual (mine) Mackie names them on the interface itself. Logic Control buttons are named exactly like they appear at Logic Pro 7.2.1 Dedicated Control Surface Support manual;
* improved timecode display (new format);
git-svn-id: svn://localhost/ardour2/branches/3.0@12582 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-06 12:20:57 +00:00
Paul Davis
6d46299df3
MCP: another patch from rodrigo:
...
* setting a (arbitraty) limit to zoom out to prevent segfaults because out of memory condition;
* setting initial update of master fader, and read, play and stop leds on the Mackie;
* changed the timecode display char selection for update algorithm as chars are sent one by one and not all right most;
* implemented method of showing timecode at the mackie to better deal with the differences between Ardour's foramts and Mackie's, i.e, use spaces in place of the zeros that had no meaning;
* preventing timecode display updates when the surface isn't yet active.
git-svn-id: svn://localhost/ardour2/branches/3.0@12541 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-02 14:51:53 +00:00
Paul Davis
bbcfffc2da
revert part of earlier MCP patch from rodrigo
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12534 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-01 21:25:12 +00:00
Paul Davis
ba5e71b50f
MCP: Patch from Rodrigo that:
...
* implements Metering on/off through Button::Read as per Seablade's suggestion. I choose this button as it's the "Show meters" button in Traktion;
* removes redundant code from Meter::update_transport_rolling();
* renames Meter::update_transport_rolling() to Meter::notify_metering_state_changed();
* renamed Surface::notify_transport_state_changed() to Surface::notify_metering_state_changed();
* renamed Strip::notify_transport_state_changed() to Strip::notify_metering_state_changed();
* created MackieControlProtocol::notify_metering_state_changed() and made MackieControlProtocol::notify_transport_state_changed() use it;
* implemented turning off of timecode display and two char display in Surface::zero_all ();
* implemented master fader zeroing in Surface::zero_all ();
* calling Surfaces->zero_all() at MackieControlProtocol destructor;
* implemented restore of 2nd LCD line content after metering being active.
git-svn-id: svn://localhost/ardour2/branches/3.0@12520 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-01 12:56:20 +00:00
Paul Davis
28e3bc3ac7
MCP: metering changes from rodrigo, makes metering work correctly on the MC Pro (also checked on the nucleus)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12489 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-30 14:32:27 +00:00
Paul Davis
cd58caa93b
MCP: remove misleading and confusing and out of date comment
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12485 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-30 00:01:15 +00:00
Paul Davis
28aed9e0d1
MCP: correct display of timecode
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12484 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-29 23:44:34 +00:00
Paul Davis
1491787cfb
MCP: fix assigment of outbound sysex messages, and don't drain port->selectable() for ipMIDI devices, since this throws away all incoming data, which arrives on the same fd as port->selectable() (unlike JACK MIDI)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12483 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-29 23:30:13 +00:00
Paul Davis
d7a32eb85e
MCP: remember to drain the x-thread FIFO that tells us that JACK MIDI data has been received
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12453 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-27 10:57:36 +00:00
Paul Davis
60904be8ef
fully tear down Mackie GUI when disabling mackie
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12258 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-12 14:12:51 +00:00
Paul Davis
edad92a944
control surfaces: make it possible to keep display of current GUI/selection state as we bank through tracks/bussses. note careful use of weak_ptr<Route> to avoid messing with Route lifetimes. this scheme may change
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12115 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-28 01:43:38 +00:00
Paul Davis
d1af0b89a8
MCP: failure to rebank for cases where num_routes < num_strips but we're not on bank 0
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12112 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-27 20:35:45 +00:00
Paul Davis
ae2e8c6765
MCP: ctrl-select toggle selections status, analogous to GUI op
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12102 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-26 22:10:32 +00:00
Paul Davis
ab8ebe97bb
MCP: fix handling of vpot presses
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12100 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-26 21:22:36 +00:00
Paul Davis
834f94c60a
fix initialization of control protocols so that brand new sessions get 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-26 16:18:03 +00:00
Paul Davis
3b7e2f7d67
MCP: properly (?) handle bank/channel scrolling with locked strips
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12095 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-26 14:28:41 +00:00
Paul Davis
ec97b8e58d
MCP: lots of good stuff - recenable bug fixed, cursor keys for vertical scroll work, loop button lights/unlightspan pots don't adjust if there is no panner, etc.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12093 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-26 03:46:18 +00:00
Paul Davis
2bae75fa0b
MCP: dynamic ipMIDI ports, more default key bindings, various minor fixes
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12092 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-25 21:21:36 +00:00
Paul Davis
b31400207e
MCP: various fixes, plus removal of ui_bind() (just for mackie code)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12086 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-25 04:42:01 +00:00
Paul Davis
d5e14b3d91
eventloop and abstractui debugging, lots more commenting on abstractui/eventloop implementation; minor tweaks elsewhere
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12076 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-24 16:45:38 +00:00
Paul Davis
33140f3267
add support for IP MIDI (multicast MIDI over IP UDP sockets) to ardour and use it if requested inside MCP code. required renaming the pre-existing MIDI::Port as MIDI:JackMIDIPort - MIDI::Port becomes the base type for both JackMIDIPort and IPMIDIPort
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12069 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-24 02:28:51 +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
Paul Davis
ac1b2a6647
MCP: another bevy of changes, including working jog wheel
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12056 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-22 17:37:52 +00:00
Paul Davis
82c867bf2a
MCP: a fistful of improvements. probably best to just try it and see what it 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
2012-04-22 02:15:24 +00:00
Paul Davis
95f5c3cc80
MCP: some button handling fixes
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12019 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-18 21:34:15 +00:00
Paul Davis
260db68a69
update timecode/position display where appropriate
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12015 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-18 18:27:06 +00:00
Paul Davis
56281ba906
MCP: gui changes; more debugging for button bnding lookup
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12002 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-18 12:20:28 +00:00
Paul Davis
40750ba0bb
MCP:maybe functioning button binding stuff, plus save-to-disk-on-change (still needs naming interaction for new profile)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12000 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-18 03:24:59 +00:00
Paul Davis
b9ff443085
MCP: various work on the button binding GUI
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11997 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-17 20:41:31 +00:00
Paul Davis
bf107f93e1
MCP: no fake touch for anything, actually
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11989 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-16 19:08:22 +00:00
Paul Davis
02c498a8fa
MCP: make v-pot press work; work ongoing on general keybindings
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11985 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-16 13:06:39 +00:00
Paul Davis
d314490797
share buttons IDs where feasible
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11977 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-15 13:41:20 +00:00
Paul Davis
65fe4f9edf
new button IDs, one for MCP one for LCP, plus methods associated with them; SSL Nucleus now declares itself to be using Logic Control
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11976 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-15 13:28:45 +00:00
Paul Davis
2ed2b61224
MCP: redesign to allow device-specific button IDs, since we know that at least one device (nucleus) does not honor mackie's specification document
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11972 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-14 19:02:54 +00:00
Paul Davis
e240fb16bd
MCP: hack for Nucleus fader touch messages
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11968 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-13 22:49:58 +00:00
Paul Davis
e36aa889eb
MCP: off by one error
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11967 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-13 22:10:41 +00:00
Paul Davis
69830c477e
MCP: catch noteOff to see note-on+velocity=zero messages; more GUI tweaks
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11966 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-13 21:46:26 +00:00
Paul Davis
ae09d046c1
MCP: better display of parameter values, off by one error when collecting controls for buttons, more GUI
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11964 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-13 20:27:08 +00:00
Paul Davis
9502fa261d
MCP: more button tracing, more config stuff
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11963 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-13 19:17:28 +00:00