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