13
0
Commit Graph

1048 Commits

Author SHA1 Message Date
90275ded6a faderport: a clever hack to make the Shift modifier "sticky"
The user can now press+release Shift, then another key OR press Shift, then another key before releasing Shift. Both
event sequences will have the same result
2015-12-02 17:40:58 -05:00
ba02c171f1 add session safeguards to OSC callbacks 2015-12-02 22:40:36 +01:00
Johannes Mueller
f11e18555e Cleanup to make it coding style compliant. 2015-12-02 22:38:29 +01:00
Johannes Mueller
4a429fab0e Add support to signal the transport state by OSC
Implement transport_speed in the same style like transport_frame. Up to
now transport_speed and record_enabled are implemented.
2015-12-02 22:38:29 +01:00
aaebeb3d2b fix typo in variable name 2015-12-02 00:59:32 +01:00
0544e74fdf merge from mixbus branch.
keep control surfaces special cases upstream.
2015-12-02 00:55:01 +01:00
b0fe298f72 faderport: factor out encoder divider into a const double 2015-12-01 18:47:29 -05:00
ee9524c9b6 faderport: make punch button LED indicate punch status 2015-12-01 18:45:43 -05:00
fd44adfe01 faderport: change panning dividers to give full range across very roughly 270 degrees of rotation 2015-12-01 18:32:55 -05:00
cb965cba16 start tweaks to make Shift sticky; remove Shift-press combobox from gui since we don't allow that to be bound (next-marker) 2015-12-01 16:19:16 -05:00
37961a6bbe faderport: switch long-press mechanism to a timeout
This makes the long press action fire after the timeout even if the user is still holding the button,
which feels more satisfactory
2015-12-01 13:15:38 -05:00
03a4926790 faderport: allow User button to be bound to ANY possible action.
This does involve nagivating some really gnarly menus, which is unfortunate, but we don't have a good general
solution for this yet (it is fundamentally the same problem that affects the key binding editor and Mackie support
2015-12-01 11:20:09 -05:00
0e629cd162 faderport: add punch action 2015-12-01 10:35:37 -05:00
0c9fd363ca faderport: GUI tweaks 2015-12-01 10:35:37 -05:00
daf02e8c73 remove "medium-length" press concept from faderport code and GUI 2015-12-01 09:23:08 -05:00
620f1caf23 faderport: stick a nice little image of the faderport in the surface GUI
Ideally, the PNG file would be part of the surface GUI but for now just put the PNG into gtk2_ardour/icons
2015-12-01 09:23:08 -05:00
254c1e2c91 faderport: correctly restore mix/proj/trns state from XML 2015-11-30 20:54:23 -05:00
41d0336f80 faderport: cleanup 2015-11-30 20:34:51 -05:00
f1dd53e37a faderport: add some "curated" actions for mix, proj and trns; make new bindings use release, not press 2015-11-30 15:05:30 -05:00
b8ed62453f faderport: restore button actions, and correctly indicate current action in GUI 2015-11-30 13:50:33 -05:00
682e152aaf faderport: some code cleanups, add timing for button presses, add new comboboxes to GUI to allow more button programming, save button state 2015-11-30 12:51:18 -05:00
149f6795bb no-op: add comment to faderport button ID definitions 2015-11-29 11:58:36 -05:00
73d1de3b75 NOOP, remove trailing whitespace, replace tabs in python scripts 2015-11-29 17:54:31 +01:00
c6dfb947eb faderport: add two functioning actions for the mix button 2015-11-29 11:43:14 -05:00
6380403dad basic structure for Faderport GUI
Not fully functional (or sensible yet) but the pieces are all there
2015-11-29 11:33:23 -05:00
bbaa5c6f45 faderport: shift+encoder controls pan width (for ardour only), input trim now controlled by user+encoder.
User is now a modifier key
2015-11-27 16:41:26 -05:00
779ec041b5 faderport: basic panning via encoder knob.
Doesn't help with 2=>2 panner, where width control is also required
2015-11-27 16:34:01 -05:00
b842495be0 fadeport: make fader touch work 2015-11-27 10:22:01 -05:00
3893f62657 Mackie Control: Disable Selected group in User/Selected view mode to allow individual adjustment. 2015-11-26 06:55:25 -08:00
d138f8981d implement more Faderport buttons (window and fader automation). ToDo: automation LEDs, fader banking 2015-11-25 17:33:49 -06:00
d6186fba32 use human readable port-names in Mackie config. 2015-11-26 00:30:52 +01:00
e1794ae678 faderport: simpler logic for master/monitor/other
When choosing master or monitor, do NOT save master or monitor as the pre_{master,monitor}_route under
any circumstances. This means that master/monitor choices do not stack, and just switch between them.
2015-11-25 17:56:22 -05:00
e1ea14f10a faderport: handle mute for monitor out by using monitor processor ops; try to blink mute button when cut-all is in effect.
Still some logic bugs when switching between master, monitor and other
2015-11-25 17:20:00 -05:00
9cbab4070f faderport: fix odd interaction when selecting master-then-monitor or monitor-then-master and toggling back 2015-11-25 16:55:14 -05:00
1450fc07c1 faderport: fix odd interaction when selecting master-then-monitor or monitor-then-master and toggling back 2015-11-25 16:51:53 -05:00
d53993fd83 faderport: output button is a toggle between master (or monitor) and currently used route 2015-11-25 16:47:20 -05:00
104ec39b50 faderport: enable "Output" button to select master out (or, with Shift, monitor out if it exists) as the target route 2015-11-25 16:34:11 -05:00
487ada6630 handle encoder changes. shift+knob = input trim. ToDo: panner control 2015-11-25 14:52:58 -06:00
4e014da61a cruft removal from faderport code 2015-11-25 13:37:00 -05:00
dd6cbac20e faderport: implement fader support 2015-11-25 13:37:00 -05:00
fe06e3b7e8 faderport: track GUI selection, use first selected route; implement mute, solo, rec 2015-11-25 12:38:22 -05:00
68da5a1402 faderport: put back the working version of operations.cc 2015-11-25 07:35:50 -05:00
3ded5fc3f6 stub file to enable nightly builds 2015-11-24 23:37:49 -06:00
000b11dc4d faderport: more global button functions added 2015-11-24 23:41:10 -05:00
2e3721ecf4 add goto_zero() function for BasicUI 2015-11-24 23:40:54 -05:00
7ae380c7f6 faderport: more interesting behaviour for the play button (locate to last start if pressed while rolling, then keep rolling) 2015-11-24 23:31:29 -05:00
9c64d63ebb clarify a DEBUG_TRACE remark 2015-11-24 23:29:03 -05:00
e7a3a5ab9c faderport: make loop, prev marker, next marker and marker buttons do stuff 2015-11-24 23:27:55 -05:00
35577f439d add debug "bits" for FaderPort 2015-11-24 23:20:39 -05:00
2ea4d5c7b5 faderport: allow forcing LED state for use in ::all_lights_out() 2015-11-24 23:13:02 -05:00
34d847e060 faderport: fix modifiers for rewind, stop, undo etc ; listen to session transport signals and display state with button LEDs; add blinking 2015-11-24 23:06:19 -05:00
3a86b386fa fadeport: restructure button info actions to allow modifiers (shift, rewind, stop) and set up undo and shift-undo (redo) 2015-11-24 22:32:40 -05:00
7c8cc3cfa9 give the faderport its own thread and event loop, rather than riding on the back of the MIDI UI thread in libardour 2015-11-24 21:41:44 -05:00
8765359db2 faderport: after connecting, turn off all lights, then party with them, then turn them all off 2015-11-24 21:10:22 -05:00
84ebad120e add some faderport infrastructure for button handling, and bind up the transport functions to their obvious methods 2015-11-24 21:02:18 -05:00
9106512000 namespace and filename cleanup 2015-11-24 20:12:12 -05:00
ff62cec27d remove debugging output 2015-11-24 18:20:24 -05:00
b280301a65 create data structure to handle the fact that faderport firmware 1.38 uses different button IDs for input and output (!!!) 2015-11-24 18:20:07 -05:00
a15cf9f0b3 get faderport i/o working, basics of identifying control activity 2015-11-24 18:00:11 -05:00
2f1cdd3ffe rough-in for faderport protocol backend 2015-11-24 14:18:14 -06:00
3c9b71b50e allow use of (N)RPN messages in generic MIDI binding maps (UNTESTED) 2015-11-23 12:27:51 -05: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
2397429e99 use quotes for in-tree pbd/glib wrapper include 2015-10-05 22:15:18 +02:00
97bd6db2b7 remove i/ofstream from libardour
except: 
 * audio-unit (ifstream is known to work on OSX)
 * evoral curve algorithm debugger
 * cycle-timer debug code
 * export_handler's CDMarker  -> TODO
2015-10-05 22:15:17 +02: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
cf33204e35 always use session rt-event to un/set solo 2015-10-04 02:04:59 +02: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
7ac691ec82 use pbd's gstdio compatibility wrapper 2015-09-17 14:37:57 +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
b8b6f61d6c save/load generic-midi motorized setting - fixes #5296 2015-08-20 00:19:32 +02: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
1a51f19493 Clean up extra white space added by editor. 2015-07-27 16:17:38 -04:00
8b4a237ee3 Handle the 4 common encoder types. 2015-07-27 16:17:38 -04:00
d3b4ef4eed Add enc to midi map for mcp style encoders. 2015-07-27 16:17:38 -04:00
ae3d4efce0 Make program change toggle or 1 only. 2015-07-27 16:17:38 -04:00
6ab04a27c3 Allow any one midi event to control only one thing. 2015-07-27 16:17:38 -04:00
b7b1f9a0a6 fix “missing operator<< for PBD::ID” (clang) 2015-07-15 01:21:19 +02:00
d8f3f9f02d Move learned midi binding reload after midi map load (fixes #6405) 2015-07-13 13:47:00 -07:00
937ed39c45 fix PBD::ID string format 2015-07-11 05:17:02 +02:00
ed8ab2c80a Fixed pb in toggle mode to switch at half way (fixes #6424) 2015-07-10 16:52:43 -04:00
a29b050883 Fixed generic MIDI program change event size to two bytes (fixes #6426) 2015-07-10 16:52:43 -04:00
6349570fb2 Add debug for generic midi control 2015-07-10 16:52:43 -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
7a966c81bd Don't close OSC server sockets explicitly (the subsequent call to 'lo_server_free()' will close the socket anyway) 2015-06-09 16:25:20 +01: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
f33c8aeb33 Add a new preprocessor directive (UINTSDEFINED) which is rather annoyingly needed if liblo gets built with MSVC 2015-06-09 12:09:21 +01:00
b79c5d4f1b Add a new link library that's needed when building against the newer version of liblo (0.28)
(probably only needed when building with MSVC)
2015-06-09 12:06:49 +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
1e5be9ebfd add OSC trim control 2015-04-25 21:23:37 +02:00
4512d013eb put all of the Mackie control surface code into the ArdourSurface namespace 2015-04-15 20:37:20 -04:00
7f659a0463 add ArdourSurface to OSC class to help reduce global namespace pollution 2015-04-15 17:21:55 -04:00
d00ab0221a allow to set/change loop-range via OSC 2015-04-12 23:40:35 +02:00
7c146a9e22 fix OSC parameter mapping, fixes #6224
(ignore non control ports in numbering)
2015-04-04 03:16:53 +02:00
2a9d7286f9 fix AWOL semicolon in 9f842f3 2015-03-20 22:08:17 +01:00
9f842f3247 NOOP, whitespace 2015-03-20 21:38:26 +01:00
410cf8e79d OSC log errors 2015-03-20 21:32:56 +01:00
7619edd1f6 OSC: fix crash when trying to set output params 2015-03-20 21:19:25 +01:00
17e1e2641b OSC fix plugin numbering:
ignore non-plugin processors for OSC
/ardour/routes/plugin/parameter

fixes issue with hidden internal processors. (rec-en
track adds a hidden [meter] processor at the top,
internal returns on busses have returns etc.)
2015-03-20 20:27:15 +01: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
dafcaec023 Limit Wiimote surface discovery to 5 connection attempts
If you don't connect a Wiimote then the connection attempts were
endless.
2014-12-21 12:53:00 +07: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
7204702c3f Reduce coupling between Plugin and PluginInsert. 2014-11-03 13:40:50 -05:00
6dfb11c2d0 Move ParameterDescriptor from Plugin to its own header.
This fixes circular dependency issues that arise when using ParameterDescriptor more widely.
2014-11-02 02:10:24 -05: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
2f4a8cf693 avoid const cast warning 2014-10-24 12:18:46 -04: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
576f39d6a0 Add the MSVC project file for building libs/surfaces/osc 2014-07-27 11:26:41 +01:00
7984cd2321 Changes needed for building surfaces/osc (control surface protocol) with MSVC
(for testing on the non-Windows platforms)
2014-07-22 22:19:46 +01:00
928881b24a Update vcproj files for changed LILV config define. 2014-07-15 15:50:12 -04:00
cd12698b9c Rename PBD::find_file_in_search_path to just PBD::find_file
saves a bit of typing and not necessary if you look at how it is used.
2014-06-25 12:40:10 -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
8c9749e42f merge with master and fix 4 conflicts by hand 2014-06-02 11:32:13 -04:00
f3349a797c more gettimeofday() -> g_get_monotonic_time() 2014-05-16 19:58:46 +02:00
5fba8a2015 and one more gettimeofday() transition (mackie timers) 2014-05-16 18:35:42 +02:00
1b989a93c2 remove redundant os.path.join() calls when specifying install path as bld.env['LIBDIR'] 2014-04-28 21:18:02 -04:00
058986f77b finish unfinished work at basing all install paths on the program name 2014-04-28 21:11:08 -04:00
8a4fdbf023 final eradication of jack header files from anything except the JACK backend 2014-04-11 02:52:28 -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
af0c42ec4f midi-controller, support log parameters - fixes #5890 2014-03-23 18:59:24 +01:00
495c0de4ac fix up waf build in wake of search path changes earlier today 2014-03-10 17:30:12 -04:00
912f07b919 mingw build fixes (tested with i686-w64-mingw32 on linux-x86_64) 2014-03-04 15:25:58 +01:00
e6c3cece64 remove recently added conflation of mingw64 and msvc with respect to symbol export 2014-03-02 14:59:08 -05:00
03fd396286 fix a related-to-last-commit problem in build script for OSC support
This would have had the effect of hiding -DPACKAGE="ardour_osc" but since there is no i18n stuff in our OSC support,
it really had no effect.
2014-03-01 16:58:22 -05:00
19395ac258 when mingw is mingw64, it appears that we need to use __declspec() and not __attribute__((visibility)) for export control 2014-03-01 15:16:39 -05: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
29b3c299a1 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 13:22:52 -05:00
79b7fb82f3 try to get export/visibility and build conditionals right for surfaces/, once more 2014-01-25 13:57:28 -05:00
065e1e6334 alter surfaces build wscript to use "children" idea (like top level wscript)
Still not clear why this file requires the global keyword to make children global, but the toplevel wscript does not.
2014-01-23 13:39:43 -05:00
d16edb530e fix up obj.defines for generic MIDI wscript 2014-01-23 13:38:45 -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
8eed05be54 use correct export/visibility macros 2014-01-23 13:37:28 -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
5062a00c7d move -fvisibility=hidden to the top of the source tree, and remove its internal use; use libtimecode as a shared lib again 2014-01-12 15:40:47 -05: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
897fbdc652 Small patch to see if Ben's build problem gets fixed 2014-01-05 15:08:38 +00: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
84f55440a3 fix redrawing of canvas with an optimized build
Best guess right now is that optimization does something bad when ceil() is called twice on a very large dbl-precision number,
which results in a zero (empty) redraw area. Without the removal of the redundant ceil & floor functions, no expose events
would be delivered to the canvas in an optimized build during drags (and maybe more).
2013-12-23 15:35:49 -05:00