13
0
Commit Graph

787 Commits

Author SHA1 Message Date
d98021624f mackie: stop playing games with start/end range LEDs 2016-02-01 12:22:23 -05:00
ca813315bf mackie: add new bindings for Save,Undo,Cancel,Enter
these now control punch in, punch out, external sync and follow edits, respectively
2016-02-01 12:22:01 -05:00
5eccbbfbd6 mackie: fix stupid thinko, and use BaseUI::access_action() to correctly accesss GUI actions 2016-02-01 12:20:55 -05:00
c69514afe9 Mackie protocol: clear Marker modifer 2016-01-31 22:28:13 -06:00
55967972b6 mackie: slightly less fragile/more readable code for compute new controllable values from vpot events
This is still not really right - it doesn't do the right thing, i think, for trim controls
2016-01-31 22:43:21 -05:00
c66d7e8cf9 mackie: consistent use of Shift to mean "InverseGroup" 2016-01-31 22:42:29 -05:00
de29ed02bc mackie: display correct numerical send level 2016-01-31 22:41:46 -05:00
20d74585fd mackie: implement trim, monitoring, solo iso and solo safe for trackview submode 2016-01-31 21:54:01 -05:00
9cfd76c026 mackie: make shift-click use InverseGroup semantics as intended, not NoGroup 2016-01-31 21:53:29 -05:00
23f457e81e NOOP: comment fix 2016-01-31 21:52:46 -05:00
27b565d5cc mackie: make vselect events and pot events handle toggle/enumeration controls correctly (or more correctly 2016-01-31 21:52:14 -05:00
69b4228176 mackie: partially working trackview submode.
More controls/pots to come
2016-01-31 13:20:18 -05:00
da665a5dc5 mackie: fix bug that prevents global view mode from working without first banking 2016-01-31 13:20:18 -05:00
f44acc4857 mackie: fix some awful cut-n-paste errors 2016-01-31 13:20:18 -05:00
3631cc1532 mackie: remove Trim pot mode, and add skeleton for TrackView subview mode 2016-01-31 13:20:18 -05:00
d3dfd74497 mackie: strengthen behaviour of clear solo button 2016-01-31 11:36:46 -05:00
2491549923 mackie: make replace (finish-range) LED flash at the right time 2016-01-31 11:36:31 -05:00
6780b7eb54 mackie: make nudge work as modifier and on its own 2016-01-31 11:17:23 -05:00
b78be4d705 mackie: hard-code drop+replace buttons to start/finish-range-from-playhead
With some LED action that would even better with blinking
2016-01-31 11:02:21 -05:00
af1028bd90 mackie: make marker button work as Mackie intends it (as a modifier for rewind/ffwd) 2016-01-31 11:01:41 -05:00
2b56dc17e3 mackie: add "clean" method to invoke GUI actions from button events, in code 2016-01-31 11:00:16 -05:00
ef793d3762 mackie: shift-stop additionally requests MIDI Panic, as well as regular stop 2016-01-31 09:11:43 -05:00
e622f3e5b6 Mackie protocol: Fix stuck-on Read LED. 2016-01-30 21:38:18 -06:00
9115a2c5d2 Surfaces with separate meters should meter even when stopped. 2016-01-30 09:46:37 -06:00
f762cbff35 mackie: remove mention of "blinkers" concept 2016-01-29 18:40:56 -05:00
d5a8825ce8 mackie: basically (fully?) operation fader automatio control for first selected route 2016-01-29 18:37:03 -05:00
da35f58218 mackie: initial attempt at making automation-related buttons set fader automation state for selected routes 2016-01-29 16:29:52 -05:00
9fe4b7a92a mackie: if a subview mode is not OK because there's no selection, show no message 2016-01-29 16:15:41 -05:00
4a6724868d NOOP: change brace placement to avoid confusing emacs 2016-01-29 16:15:41 -05:00
42fbb96674 mackie: make group button (appear) to do something 2016-01-29 16:15:41 -05:00
9088944db2 Mackie protocol: More LED indicator fixes. 2016-01-29 14:26:08 -06:00
39a61dba83 mixbus: vpot press in non-subview mode should toggle master bus send 2016-01-29 12:58:50 -05:00
c6ea3515d1 mackie: in Sends subview mode, the enable control for the send should be looked upin the subview route, not the strip's own route 2016-01-29 12:41:50 -05:00
4b70a0aa0d Button::AudioInstruments should not be lit without good reason. 2016-01-29 11:28:15 -06:00
0a2377e9b4 mackie: redesign display logic entirely
Strips now maintain a pair of pending display strings (upper and lower).
A periodic timeout writes the pending value to the actual hardware if it
differs from the current string. This new design makes it easy to put a
message on the display and then after some period of time, revert to
whatever was there before.
2016-01-29 12:27:46 -05:00
8aaa027ed3 mackie: fix Global View button function
Bug introduced changing logic for set_view_mode()
2016-01-28 23:20:03 -05:00
d0668e5511 mackie: don't overload "Audio Instruments" and "Instruments" buttons.
With the MCU Pro, the button labelled "Instruments" uses the Dyn button ID.
The one labelled "Audio Instruments" does not.

This may break Nucleus support - needs to be checked
2016-01-28 23:05:28 -05:00
e862be7300 mackie: use Route::send_name() rather than Route::nth_send() 2016-01-28 23:05:28 -05:00
f1ed01b97f mackie: fix display of send level value 2016-01-28 23:05:28 -05:00
cf558ee18c Buses and Auxes are slightly different view-filters in Mixbus 2016-01-28 17:21:42 -06:00
54c3c9e494 prevent bank/channel switching past the end of the available routes; do nothing when a view mode finds no matching routes 2016-01-28 16:27:33 -05:00
ea895efb97 mackie: improvements to display when switching subview modes 2016-01-28 15:08:26 -05:00
d19b1b64b1 make Send button light appropriately 2016-01-28 15:08:25 -05:00
420206705d mackie: fix subview mode logic 2016-01-27 19:05:47 -05:00
e63c805fe2 mackie: clean up (some) interactions between subview mode and selection
Also, stop Plugin button from doing anything, since it has nothing to do yet
2016-01-27 19:00:27 -05:00
c61e5dbc18 remove debug output 2016-01-27 16:26:50 -05:00
66686a4e2a mackie: semi-working Sends subview mode 2016-01-27 14:15:41 -05:00
9b2af90328 remove mackie send pot mode (subview mode for sends coming up) 2016-01-27 12:41:01 -05:00
9e5b7db89f first compiling, mostly working version of group controls changes 2016-01-22 11:58:31 -05:00
fe7aac8dac mackie: remove unnecessary connection to route group property change signal 2016-01-19 14:25:48 -05:00
fe3d85b204 Revert "mackie: still respond to route groups visibility changes"
This reverts commit a9ec547457.
2016-01-19 14:16:49 -05:00
a9ec547457 mackie: still respond to route groups visibility changes 2016-01-19 13:38:29 -05:00
22c5cb47f7 mackie: remove changes to group activation status when fetching routes to display
This creates an activation loop, because we fetch new routes to display when
group active status is changed. This was done to provide individual access to
routes that are in a group. We plan to do this using a shift modifier instead.
2016-01-19 12:46:08 -05:00
5a55ac582d mackie: shift-fader overrides group settings 2016-01-18 12:11:09 -05:00
c2bf0fc94e remove shift-fader-touch as a way to reset gain to default 2016-01-18 12:11:09 -05:00
746d5c6624 add API to allow mackie controls to use GroupControlDisposition 2016-01-18 12:11:09 -05:00
19af86ece2 Mackie Control: Fix crash in multi-surface setup when add/remove tracks. 2016-01-18 08:58:07 -08:00
ef7c6730cb Groups: Fix un/set hidden/show should reset RID for tracks involved. 2016-01-17 14:17:02 -08:00
23041fda88 Mackie Control: fix math error that tried to change bank to very high number 2016-01-16 11:17:52 -08:00
92dba5bfa3 Mackie Control: Added hidden tracks view mode. 2016-01-16 07:32:30 -08:00
9dfdaff1a4 Mackie Control: Need signal from session if group parameters change so strips redisplay if group un/hides. 2016-01-15 16:19:15 -08:00
b3fd65d149 Mackie Control: Don't show hidden groups either. 2016-01-15 13:58:08 -08:00
6b356448e3 Mackie Control: Don't show hidden routes. 2016-01-15 13:16:24 -08:00
0b58cde467 Mackie Control: Remove unused global_solo_* functions, moved functionality to clearsolo_* functions.
Changed to clear only rather than toggle and added Listen Clear as well.
2016-01-14 13:06:14 -08:00
b81504581b another DEBUG_TRACE for mackie control x-thread requests 2016-01-12 23:30:14 -05:00
7cbf35a3d6 Mackie Control, Fix sends after monitor not showing. 2016-01-12 08:15:57 -08:00
9e3299f97d change Controllable::set_value() API to include grouped control consideration.
This also removes Route::group_gain_control() and associated machinery.
Not yet tested with Mackie or other surfaces. More work to done to
start using the group capabilities, and also potentially to add
or derive more controls as RouteAutomationControls
2016-01-02 04:58:30 -05:00
0d9efc1148 redesign cross-thread registration/signalling system
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-12-28 10:14:17 -05:00
85e12e8095 Mackie control: non-existent controls zero pot ring fix. 2015-12-19 11:50:13 -08:00
07e4377d7b NoOp: removed spaces, replaced with tabs. 2015-12-16 20:41:50 -08:00
82f31fe624 Mackie Control: Re-enable view_mode display and make sure all text vanishes after timeout. 2015-12-16 14:38:21 -08:00
8bb4ac0ac7 Fix MCP time display sometimes doesn't update to zero time on return to zero (shift-rew) 2015-12-16 12:24:10 -08:00
bff1fcbe48 mackie: restore access to trim and pan width control
Change from Evoral::Parameter to AutomationType caused this glitch
2015-12-16 11:05:40 -05:00
3b872fb207 fix some merge issues from cherry-picking mackie changes from a mixbus repo 2015-12-16 06:31:06 -05:00
93d5fe83c8 mackie: properly track lifetime of subview route; fix subview/potmode LED state mgmt 2015-12-16 06:01:55 -05:00
a9a4cfb166 mackie: track compressor mode changes in display 2015-12-16 06:01:47 -05:00
1152bf87a2 make vselect-press in subview mode act as a toggle for toggled controls 2015-12-16 06:01:38 -05:00
a6da818bc4 add dynamics support to mackie control 2015-12-16 06:01:29 -05:00
e3d0de3bf6 mackie: use new route API for universal access to pan/eq/dynamics parameters to provide panning and EQ control 2015-12-16 06:01:20 -05:00
81179389d3 mackie: cleanup subview mode a little 2015-12-16 05:55:10 -05:00
8ba8f1c0b0 fix cherry-pick conflict 2015-12-16 05:54:43 -05:00
e302ce8662 only use 1/100th gap between markers if transport is stopped, to prevent repeated user action from adding multiple markers when stopped (mackie version) 2015-12-16 05:52:47 -05:00
a1ef99b9b7 add beginnings of EQ and dynamics control to mackie for mixbus 2015-12-16 05:52:36 -05:00
99764e946a add UserA and UserB buttons to mackie button list 2015-12-16 05:52:27 -05:00
616e925322 tentative mcu panning for mixbus. hey, it compiles 2015-12-16 05:46:52 -05:00
29416edbbf remove debug output 2015-12-13 08:38:54 -05:00
8bdab38d43 track add/remove of monitor and/or master busses in mackie support code.
Somehow fails to move master fader to correct position when monitor section is added
2015-12-13 08:33:09 -05:00
0103de801a Mackie Control, fix timecode sometimes won't update. Do full display if transport moves faster than 800%. 2015-12-11 12:57:24 -08:00
548989fc75 Fix MCP send display value scaling. 2015-12-08 22:45:59 -08:00
2d03db51cd there is no "default" mackie device profile 2015-12-09 00:19:15 -05:00
014f010489 if Mackie device profile name is empty, use a default name that makes sense and that will be rediscovered on next startup 2015-12-09 00:12:28 -05:00
fcf20ee91a Set vpot to the same range as the fader. Fixes trim from -16 to -20. 2015-12-08 19:30:57 -08:00
bbdd25205d MCU: fix likely copypaste thinko in mcu panner knobs 2015-12-07 17:31:45 -06:00
3893f62657 Mackie Control: Disable Selected group in User/Selected view mode to allow individual adjustment. 2015-11-26 06:55:25 -08:00
d6186fba32 use human readable port-names in Mackie config. 2015-11-26 00:30:52 +01:00
fb96170178 Fix fader in mackie control to work with groups. 2015-11-14 10:39:53 -08:00
09672f4a50 Mackie Control: Initialize vpot assignment on start-up. 2015-11-06 19:28:24 -08:00
ace771bc91 Mackie Control: Add send functionality to vpot assign section. 2015-11-06 16:18:13 -08:00
84d44eb5a3 Don't handle possible phase change if no audio channels in mackie control 2015-11-01 19:25:45 -08:00
8ae23c6952 Fix Mackie surface phase control for flip and more than one audio channel. 2015-11-01 15:30:36 -08:00
2e9de2def0 Added Phase control mackie controls as part of the Trim (track) vpot assignment. 2015-11-01 13:35:02 -08:00
7c24957d30 Changed MCP trim detection to match method used in GUI. 2015-10-25 08:22:02 -07:00
96c6da0804 Make mackie control view mode save bank for all modes.
Also moved duplicated code to one function.
2015-10-22 15:30:34 -07:00
7a453d2329 Make sure Mackie Control view modes start with route 1 except Mixer mode goes to last position. 2015-10-20 19:31:04 -07:00
81f6ad0d0c Added "Selected" view mode to Mackie Control. 2015-10-20 18:54:56 -07:00
48f91c6ef4 Add Audio Tracks and Busses too. 2015-10-18 19:55:56 -07:00
0185c9f25a Added Midi Tracks View mode. 2015-10-18 18:13:16 -07:00
f7e3117c3b Only display Trim for tracks that have Trim. On the way:
-fixed flip mode.
	-fixed no controlable for vpot or fader
2015-10-18 07:38:40 -07:00
5461b50cdb Assign Global view to get back to Mixer. 2015-10-17 16:23:46 -07:00
334cc37e1b Reduced delay in last commit/10 2015-10-14 05:55:10 -07:00
1f85691870 fix MCP ports hang on device change and multi-surface device reconnect. 2015-10-13 22:19:36 -07:00
53a28c230a mackie support omnibus patch
Fixes all kinds of miscellaneous issues with MCP. Also removes several theoretical pan modes, replace "Tracks"
pan mode with "Trim", and takes a tiny step towards view modes
2015-10-13 15:34:53 -04:00
0043dc38a3 introduce separate-meters concept for Mackie.
Devices like the SSL Nucleus have meters displayed separately from their 55x2 display
2015-10-13 10:04:58 -04:00
3169ac0444 fix the design of Mackie XML state management 2015-10-13 07:33:27 -04:00
fbdb4c602e more corrections for mackie GUI layout 2015-10-13 07:33:27 -04:00
ef08cd6e4a move incorrectly packed touch sensitivity slider for Mackie GUI 2015-10-13 07:33:27 -04:00
8e83ca5753 Only flip if not already in desired state. Fixes fader jerk on banking. 2015-10-12 13:52:10 -07:00
1eb1391cfd expose terminal, rather than just physical, MIDI ports in Mackie GUI 2015-10-12 14:42:49 -04:00
d4e0e8e963 make MCP port buttons work 2015-10-12 13:36:22 -04:00
79113144ef Correct wrong value on LCD strip when fader is touched (fixs #6619 from Petr Vejsada) 2015-10-11 23:24:14 -07:00
796e404819 Don't use old session connections on MCP device change, Solves crash on device change. 2015-10-11 22:27:13 -07:00
104f43ad37 Fix MCP extension number and get master on right surface. 2015-10-11 21:37:04 -07:00
f8875df18f Several changes to Mackie support. Breaks existing Mackie state on disk but not
in any way that causes problems, just loss of pre-existing connectivity.

1. retain state of current device (and serialize to disk) when switching
devices, and restore that state when switching back to it.
2. fix port and surfacenaming.
3. fix bundle assembly so that all ports (for multi-surface combos) work.
4. rationalize master position numbering
5. add small sleep before starting device handshake after reconnection. This
is ugly but seems to be necessary, unfortunately.
2015-10-11 12:01:27 -04:00
6faec91dd9 Force Flip normal before Bank (fixes #6630) 2015-10-10 19:59:29 -07:00
7535947eb1 Display parameter that matches mode. 2015-10-10 19:40:28 -07:00
965b135842 numerous changes to Mackie support, generally offering better robustness 2015-10-10 17:14:30 -04:00
9b5a071c33 varied and wide changes to get input and output combos closer to working 2015-10-09 14:01:22 -04:00
7e771c9fdc move location where port handling stops during Mackie::Surface destructor 2015-10-09 11:12:28 -04:00
6acd51d48e NOOP: whitespace/indent fix 2015-10-09 11:11:36 -04:00
03018aeefb add TrimAutomation to list of possible pot parameters for routes 2015-10-09 11:11:15 -04:00
d700576171 remove unused and useless stuff relating to bundles inside Mackie::Strip
What was someone (Paul? John ?) thinking?
2015-10-09 11:10:44 -04:00
9c7139e505 set up control_by_parameter map in a Mackie::Strip so that subsequent array-syntax lookup does not crash 2015-10-09 11:09:47 -04:00
6bcbace73a add device-info specific component to Mackie GUI to allow direct wiring of MIDI ports (non-functional) 2015-10-08 21:55:38 -04:00
8338fd8ac6 add DeviceChanged signal to MCP and make surface lock mutable for use in const methods.
Also add nth_surface() API to MackieControlProtocol
2015-10-08 21:55:38 -04:00
36088b53b1 add new API to access AsyncMIDIPort members of Mackie Surface port 2015-10-08 21:55:38 -04:00
bda0ba173c for an ipMIDI surface, make the GSource used for input hold the only reference on the GUIChannel. 2015-10-08 21:55:37 -04:00
7e10c21468 make Mackie::Surface keep a reference to the input source+channel and clean up in destructor 2015-10-08 21:55:37 -04:00
33fe33f268 fix initialization sequence for ipMIDI Mackie surfaces 2015-10-08 15:28:37 -04:00
0c448c387b fix crash when switching from regular MIDI to ipMIDI Mackie surface 2015-10-08 15:28:21 -04:00
d3efef7f5c fix logic to reshow strip "name" after a message display 2015-10-08 14:58:28 -04:00
02181174c3 remove debugging display of message on MCP device 2015-10-08 14:51:27 -04:00
49be513bfa fix rebase conflicts left over after pull 2015-10-08 13:40:00 -04:00
0cb1c7b58c lots of changes to try to get the Mackie Control display be more useful and usable 2015-10-08 12:51:44 -04:00
4677d047a5 more mackie strip redisplay renames, and add a global block to redisplays\n 2015-10-08 12:51:18 -04:00
0f978a90f4 subtle rework/rename of per-strip revert-to-vpot-display code 2015-10-08 12:50:05 -04:00
4a1790b75e remove unused per-surface button timer 2015-10-08 12:50:05 -04:00
6899bd7c15 Add Trim to Mackie controls. 2015-10-07 21:36:16 -07:00
c9658134ce add button time and explicit bank switching to MCP support 2015-10-07 15:13:03 -04:00
ce9b271a92 track Mackie MIDI port connection status as primary trigger for handshake with device 2015-10-07 13:17:49 -04:00
33d614359a only use HUI heartbeat with HUI devices 2015-10-05 12:24:15 -04: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
a333edcb28 Initialize variable every loop so MCP devices don't accumulate too. 2015-10-03 13:15:18 -07:00
4b69495f82 Initialize variable every loop so MCP profiles don't accumulate. 2015-10-03 13:06:34 -07:00
2dddf6504b NOOP: delete trailing whitespace 2015-10-03 14:03:29 -04:00
1e5672de98 reset IP MIDI port when deleting a mackie surface port 2015-10-03 13:51:17 -04:00
9d7b5f6df9 reset shared_ptr to master surface when clearing surfaces, to ensure Surface destructor is called 2015-10-03 13:50:59 -04:00
4403ce4bd4 make a start on providing direct choice of MIDI ports where an MCP device can be reached 2015-10-03 13:13:58 -04:00
91d3aabf53 NOOP: reformat indentation 2015-10-03 13:13:58 -04:00
76398911d4 more code-control when laying out Mackie Control GUI panel 2015-10-03 13:13:58 -04:00
6bf0d4f627 add basic support for HUI heartbeat, only used for HUI devices 2015-10-03 13:13:58 -04:00
4ef45aacc1 add DeviceType specifier for mackie devices.
Incomplete, because we need a way to handle multiple devices of different types
2015-10-03 13:13:58 -04:00
13765d41e3 NOOP: reformat indentation 2015-10-03 13:13:58 -04:00
c8448cb0dd add device type to Mackie device info 2015-10-03 13:13:57 -04:00
53c47e0ccd add support to display and set key aliases in mackie GUI 2015-10-03 13:13:57 -04:00
f0c1d58f59 fix windows compilation 2015-10-03 11:20:15 +02:00
3733fd7f31 remove undefined and unused method declaration 2015-10-02 22:08:15 -04:00
0ee737f129 another change from modifier_state() to main_modifier_state() 2015-10-02 22:08:15 -04:00
c78426968f avoid handling pitchbend (fader) messages while SHIFT modifier is active.
See comment in code for more detail
2015-10-02 22:08:15 -04:00
40a4e2e6af no longer call ::zero_all() when deleting an MCP surface object.
The ports required may no longer exist, and it requires a lot of messages. A reset is sent instead
2015-10-02 22:08:14 -04:00
9476657cd1 use ::main_modifier_state() in some more places 2015-10-02 22:08:14 -04:00
ef6b0bdb07 necessary header changes for new redisplay code in MCP 2015-10-02 22:08:14 -04:00
4d47760d61 add new (fast) redisplay timer that pushes parameter display text to MCP device.
Changes are queued in a FIFO, and pulled when a timeout in the MCP event loop fires.
2015-10-02 22:08:14 -04:00
05a8107ff6 fix comment spelling 2015-10-02 22:08:14 -04:00
2cdfeda884 use Surface::reset() when deleting MackieControlProtocol, rather than sending lots of messages.
This may be a bit "strong" because on the MCU Pro (at least) it causes a fader recalibration.
2015-10-02 22:08:14 -04:00
ccf505c3a2 implement backlight, fader touch sensitivity and recalibrate fader functions for MCP GUI 2015-10-02 22:08:14 -04:00
04b9df1fd9 avoid sending replicated fader set position messages 2015-10-02 22:08:14 -04:00
918133a342 fix handler of fader (pitchbend) messages in Mackie Control so that the outbound messages match the inbound ones
Pitch bend values really can span 0 to 16384, not 16383
2015-10-02 10:22:00 -04:00
71bf231199 allow aliasing Mackie Control buttons to other buttons 2015-10-02 10:21:20 -04:00
5c63ed589c catch changes in click status and alter LED appropriately 2015-10-02 07:32:56 -04:00
a4fced6d63 change zoom and scrub handling to use modifier bits 2015-10-02 07:32:56 -04:00
d28c8c9bb4 spelling correction in error message 2015-10-02 07:32:56 -04:00
239da0efb5 Fix Mackie control metering (fixes #6608). 2015-09-28 20:13:15 -07:00
b1424dab79 Vpot assign buttons don't do anything, don't light LEDs either. 2015-09-21 10:04:06 +02:00
47976ed4fa Make Mackie control surface LEDs for modifier keys only light while pressed. (fixes #6601) 2015-09-21 10:03:56 +02:00
f8912b8b57 Made master fader touch and jog go to _master_surface instead of first surface. 2015-09-08 20:47:16 -07:00
4129b8865c Fixed Mackie control port naming for extender use (fixes #6500) 2015-08-14 08:57:13 -07:00
962ba01cfd Fixed feedback for MCP buttons and LEDs not working. 2015-08-13 13:00:04 -07:00
39240c9d37 Added end of line to debug statment 2015-08-13 09:55:32 -07:00
2a3f5d0107 Make MCP MasterPosition match MIDI port number. 2015-08-09 22:27:40 -04:00
2ea5962af2 rationalize save/restore of control surface "feedback" property 2015-06-24 13:46:07 -04:00
974e5dcc0c Add option to mackie control profile editor to remove binding (fixes #6301) 2015-06-21 12:42:48 -04:00
801af5df9e Add the new (UINTSDEFINED) preprocessor directive to all out MSVC projects (just to be on the safe side) 2015-06-09 13:18:42 +01:00
72416e9432 Don't allow user to change function of modifier buttons. 2015-06-08 17:22:34 -04:00
71ae8d2abe Add an option in the MCP .device file to set master position (fixes #6357) 2015-06-04 15:07:43 -07:00
71feea97a0 Clean up mackie surface profile editor from things that don't work or match the mackie hardware (fixes #6342) 2015-06-04 15:02:51 -07:00
f8c4c0b5b8 Make ctl put v-pot in fine mode. 2015-06-04 14:04:46 -07:00
5e1ba50731 fix unsigned/signed math error 2015-05-27 08:57:16 -04:00
e5c3efe9a3 ensure that Mackie Control bank left/right commands always hit the same boundary (Len Ovens) 2015-05-27 07:11:15 -04:00
fb649f43ea fix for MCP panner width - closes #6341 2015-05-24 17:56:40 +02:00
ce259edbcd professionalize peak-meters
The peak meter needs to withstand various test-signals
without visual jitter (in particular 1kHz sine) regardless
of settings (period-size, sample-rate, custom fall-off).

This needs to be done in sync (and not by a random non-rt
‘smoothing’ thread).

On the downside this voids the ‘visual smoothing’ particularly 
with large buffersizes - but then again exactly this “always 
fall-off no matter what [the next real data will be]” is the
problem.

One the upside, there’s one less high-frequency (100Hz) thread
(Yay!) PS. it probably never worked on windows, anyway.

Only peak-meters are affected by his change.
K-meters, IEC I/II and VU were never visually smoothed.
2015-05-02 03:46:49 +02:00
4512d013eb put all of the Mackie control surface code into the ArdourSurface namespace 2015-04-15 20:37:20 -04:00
40c04867ef Bundle API user update
cherry-pickable follow up to 0582221
2015-03-08 22:39:34 +01:00
8a93a87db0 remove lib versioning for internal plugins
Those objects do not have a versioned API by themselves.
This fixes issues with duplicate deployment (OSX, Linux bundles: cp) and
ardour listing control-surfaces multiple times (file index plugin dir).
2015-02-16 17:32:56 +01:00
95091a52a0 When building with MSVC make sure any backends / panners etc get copied to the correct target folder
(i.e. 'lib/ardour3' or 'lib/mixbus3' as appropriate)

These changes are MSVC specific and shouldn't affect the other builds
2015-01-12 14:43:22 +00:00
0fdb846625 try alternate Glib:: API for conversion from UTF-8 to ascii in Mackie support code 2014-12-15 15:06:10 -05:00
e3f376107e nominal fix for sending UTF-8 text to Mackie surface 2014-12-15 14:44:05 -05:00
602e390649 changes to Mackie Control support for new crossthreadchannel implementation 2014-12-03 21:22:34 -05:00
d3e2de8b4e modify Mackie surface code to use crossthreadchannel on all platforms 2014-12-03 20:57:58 -05:00
25e1eddc50 remove "port sources" management from MidiControlUI and Mackie support.
This was necessary due to a bug/design issue between Glibmm and Glib (see https://bugzilla.gnome.org/show_bug.cgi?id=561885)
 but the problem needs to be managed by the *creator* of the IOSource and that has now moved inside CrossThreadChannel.
2014-11-26 18:22:22 +02:00
1f58f81aa6 Fix order of parameters to stop_touch() in Mackie::Control
Reverse the parameters of Mackie::Control::stop_touch() to make them
consistent with AutomationControl::stop_touch(), and fix up the call to
AutomationControl::stop_touch() to have the parameters in the correct
order.

Unfortunately, I don't possess any devices that speak the Mackie protocol, so
though the patch seems logical and correct to me, I have no way of testing it.
If anyone has a device with touch faders that speaks Mackie, I'd be glad of any
confirmation that it at least doesn't break anything.
2014-11-25 14:59:48 +00:00
ea5876b836 Remove dead code. 2014-11-25 02:11:44 -05:00
bfe49540b9 remove use of CrossThreadChannel::selectable() to allow cross-platform implementation of CrossThreadChannel via Glib::IOSource 2014-11-23 17:37:13 +02:00
973d40e3ac Add support for USE_CAIRO_IMAGE_SURFACE when building with MSVC
(new preprocessor directive - greatly improves CPU loading)
2014-10-29 17:36:30 +00:00
d8e64103a6 fix CPI window handling:
Move control-surface editor-window management to the control surface.
The Preferences-Dialog is not aware of session specific or surface
specific actions and cannot properly manage the window.
2014-09-13 16:59:02 +02:00
65715dd298 Make sure all our VC projects agree that the product is called 'Mixbus3' (as opposed to just 'Mixbus')
It'd be nice if we could use 'ARDOUR::config_dir_name' for this purpose (or perhaps 'PROGRAM_VERSION'). However, neither is implemented widely enough at present to make this practical. Keep an eye on them though, as possible future strategies.
2014-08-28 07:57:20 +01:00
45afed5e9a Modify our VC project files to work with msvc32-fixup.pl 2014-08-04 09:02:17 +01:00
928881b24a Update vcproj files for changed LILV config define. 2014-07-15 15:50:12 -04:00
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
547689a055 Replace all use of PathScanner with equivalent functions from pbd/file_utils.h 2014-06-17 21:41:29 +10:00
0e96d84079 Change PBD::PathScanner API to return results by value to avoid inadvertent memory leaks 2014-06-17 21:13:05 +10:00
12cf9d5be8 fix pathscanner / stl_vector related memory leaks 2014-06-15 13:24:39 +02:00
5fba8a2015 and one more gettimeofday() transition (mackie timers) 2014-05-16 18:35:42 +02:00
058986f77b finish unfinished work at basing all install paths on the program name 2014-04-28 21:11:08 -04:00
077a194430 Add the main VC project files for building Ardour3 with Microsoft Visual Studio
Note that there's no 'VS Solution' file at present and some targets haven't been built yet (e.g. 'fst')
2014-04-08 09:49:35 +01:00
912f07b919 mingw build fixes (tested with i686-w64-mingw32 on linux-x86_64) 2014-03-04 15:25:58 +01:00
80d83fd238 add a hack to deal with device discovery race, in which the devices were not actually known to be ready before the last update_surfaces() call (which is where binding between strips and routes occurs) ; add support for Mackie Control touch on/off messages 2014-02-19 23:25:08 -05:00
79b7fb82f3 try to get export/visibility and build conditionals right for surfaces/, once more 2014-01-25 13:57:28 -05:00
9d01082243 mackie code does not use poll(2) and so does not need poll.h 2014-01-23 13:38:23 -05:00
37b1f5017e merge with master 2014-01-14 21:13:21 -05:00
35c170937d NOOP, semantic update, don't pannable's panner for direct access. 2014-01-15 02:51:53 +01:00
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
b0e4f81eb3 merge exportvis branch into cairocanvas, to reduce the number of "floating" branches.
Still need to add API export/visibility macros for the canvas library.
2013-12-27 14:29:06 -05:00
362769e967 new CP API and fix several egregious bugs with port handling when switching devices, setting state etc. 2013-12-21 15:31:28 -05:00
644ead06b4 remove debug output 2013-12-21 15:31:28 -05:00
f6c9fa4d89 fix a crash caused by not checking if MackieControlProtocol::_surfaces_state exists
I forgot to add this check when i changed the member variable to a pointer.
2013-12-14 11:10:54 -05:00
85cd647226 Mackie Control support now saves & restores port connections for devices not using ipMIDI (not required for ipMIDI anyway) 2013-12-13 16:04:34 -05:00
a17bafa964 remove some unused code from mackie support 2013-12-13 16:04:34 -05:00
f85c67501c reverse the visibility.h files assumptions that we don't build shared libs by default
This avoids having to define define LIBFOO_DLL=1 all over the place. If we ever go with static libs we will
need to define LIBFOO_STATIC=1 but hopefully in some central location like the top level wscript.

Oh, and I also dropped support for gcc older than version 4.x because ardour will already not build
on such an old version.
2013-10-18 11:50:44 -04:00
b855e5f322 Merge remote-tracking branch 'remotes/origin/exportvis' into windows+cc
Conflicts (hopefully resolved):
	gtk2_ardour/wscript
	libs/ardour/ardour/audioregion.h
	libs/ardour/ardour/debug.h
	libs/ardour/ardour/directory_names.h
	libs/ardour/ardour/filesystem_paths.h
	libs/ardour/ardour/session_event.h
	libs/gtkmm2ext/gtkmm2ext/utils.h
	libs/panners/1in2out/wscript
	libs/panners/2in2out/wscript
	libs/panners/vbap/wscript
	libs/pbd/pbd/debug.h
	libs/pbd/pbd/file_utils.h
	libs/pbd/pbd/pathexpand.h
	libs/pbd/pbd/ringbuffer.h
	libs/pbd/pbd/ringbufferNPT.h
	libs/pbd/pbd/search_path.h
	libs/pbd/pbd/stacktrace.h
	libs/pbd/pbd/uuid.h
	libs/pbd/pbd/uuid_boost.h
	libs/surfaces/control_protocol/control_protocol/basic_ui.h
	libs/surfaces/control_protocol/control_protocol/control_protocol.h
2013-10-18 10:03:22 +01:00
61c1956ef9 add -fvisibility=hidden to evoral, and make things work 2013-10-17 15:02:20 -04:00
2fab8182cc add -fvisibility=hidden to libgtkmm2ext, and make things work 2013-10-17 14:36:41 -04:00
98c93ee53e tweak up DLL=1 defs for control surfaces 2013-10-17 13:30:18 -04:00
75b933eadb Merge remote-tracking branch 'remotes/origin/master' into windows+cc 2013-10-16 15:55:59 +01:00
58e8f43052 reduce default height of mackie control GUI, as per #5713 2013-10-15 13:28:01 -04:00
69a8fc43e2 Merge branch 'master' into windows 2013-10-15 11:17:12 -04:00
f6ba1d2271 fix signed/unsigned issue pointed out by old apple gcc 2013-10-15 10:58:46 -04:00
bb826f4bee incomplete merge of master into windows (requires upcoming changes to master to be complete) 2013-09-12 11:28:50 -04:00
79fed95c1b tighten up error handling a little bit during various setup functions for Mackie Control 2013-09-06 10:39:14 -04:00
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