a7141e1fc3
Transport_play should not jump back.
...
Typical use of transport controls is to ffwd and rewind, then "play".
This doesn't work well if the Play command always resets to starting position.
2016-01-19 14:00:51 -06:00
5493e20c84
Add all_tracks_rec actions
2016-01-19 14:00:03 -06: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
ce7f7e8e00
add 10sec zoom action
2016-01-18 18:24:14 +01:00
c5b93e2a01
track scrolling and zooming
2016-01-18 18:24:14 +01:00
27d82af077
add some horz and vert zoom actions; remove some whitespace from the code of the ui-actions, so they are easier to see and maintain
2016-01-18 18:24:14 +01:00
16623b1cb3
add more remote transport toggles for touchOSC: midi_panic, toggle_roll, stop_forget, set_X_range, quick snapshots. also add boilerplate for monitor controls, but those are not implemented yet
2016-01-18 18:24:14 +01:00
36e1ff48bc
implement mark_in, mark_out, toggle_click
2016-01-18 18:24:14 +01:00
f0d9295dd6
implement remover_marker, jump_by_bars, and jump_by_seconds
2016-01-18 18:24:14 +01: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
64c9198d60
add group disposition argument to Route::set_gain() and use it in various UIs
...
Executive decisions were necessary in a couple of places about the correct group disposition
behaviour, notably faderport and OSC surfaces
2016-01-18 12:11:09 -05:00
1948b50a68
working version of new gain control design
2016-01-18 12:11:08 -05:00
55094b7237
move Amp::GainControl out into its own source module and out of Amp
2016-01-18 12:11:08 -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
440618b463
Add a newly introduced source file to our MSVC project (ardour_osc)
2016-01-15 11:59:43 +00:00
5f61409c90
Fix build of OSC surface caused by missing include of i18n/gettext header
2016-01-15 12:14:52 +10:00
d3ab91d171
touchOSC compat for common route operations
2016-01-15 01:31:12 +01:00
b6c78ad9c8
fix OSC debug messages
2016-01-15 01:29:44 +01:00
6a6f414fc0
OSC-debug: print argument
2016-01-15 00:57:33 +01:00
919feac5f7
use PBD instead of C++11.
2016-01-14 23:46:51 +01:00
141352341c
Generic MIDI: midi controller buttons should only trigger on the PUSH, not release. This might have to be reveisited later, but it looks right to me and it fixes operation on 2 different devices here
2016-01-14 16:39:50 -06:00
ddb362fe17
Generic MIDI: add ToggleRecEnable action, and change all maps to use that instead of separate rec-enable, rec-disable, which didnt work
2016-01-14 16:37:54 -06:00
368be3585e
OSC debugging, allow to log incoming & unhandled messages
2016-01-14 23:34:37 +01: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
5e4d9612e3
faderport: stop event loop when destroying object
2016-01-14 10:59:27 -05: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
d134ba037d
fix compilation of debug builds
...
ArdourSurface::FaderPort::Button::name is private
2016-01-11 11:07:09 +01:00
530dd4255c
faderport: remove wierd shift use design; make user+shift work again
2016-01-10 23:32:21 -05:00
58edc83d11
tweak/add faderport debug messages
2016-01-07 16:42:57 -05:00
b456060388
OSC API update for surfaces that always send float parameters.
2016-01-04 18:18:13 +01:00
d7078df3eb
amend 9e3299f
for Mixbus
2016-01-03 20:39:47 +01: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
b8bb3eae47
generic MIDI support does not have its own request buffer factory, so be sure to initialize descriptor member to null
2015-12-29 05:41:59 -05:00
e2f6c59639
add required request buffer factory for Wiimote
2015-12-28 11:13:04 -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
2f86d1b7dd
properly namespace hacked OSC callbacks, add some notes.
2015-12-16 18:17:38 +01:00
13d704b25d
redundant OSC commands to support TouchOSC and Lemur (vestigial float args)
2015-12-16 10:29:49 -06: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
ff76ef86b4
faderport: long press on fader mode buttons switches fader automation to manual/off; off button is never sent an LED state message to avoid fader disabling
2015-12-14 14:42:12 -05:00
e928edca32
faderport: fix setup of periodic callback (cut-n-paste error)
2015-12-14 14:41:38 -05:00
d59739d728
faderport: add 100msec (10Hz) periodic update to facilitate automation playback
2015-12-14 13:28:31 -05:00
40a352e8a1
faderport: disable automation state button mapping until (if ever) we can figure out why it kills the fader
2015-12-14 13:28:31 -05:00
cc607fa161
fix DEBUG_TRACE messages from faderport that used MackieControlProtocol via cut-n-paste
2015-12-14 13:28:31 -05:00
634321ba45
Fix Trim control range does not match control (issue #6696 )
2015-12-13 15:53:24 -08: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
14ef6017f6
add a few new actions to Faderport menus, and reorganize them slightly
2015-12-10 17:25:29 -06: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
6c99576250
faderport: stop trying to cache LED state (fixes various bugs); blink mute for muted-by-others; blink transport for speed != 1.0 && != 0
2015-12-08 11:09:50 -05:00
bbdd25205d
MCU: fix likely copypaste thinko in mcu panner knobs
2015-12-07 17:31:45 -06:00
3d79e3c116
adjust generic MIDI surface support to (1) properly use boost::shared_ptr<Port> (2) detect connection changes
2015-12-07 12:38:17 -05:00
2f48997dfb
remove unnecessary (?) conditional.
...
Given that we use "port" after the test, the test makes no sense
2015-12-07 12:38:17 -05:00
e3d2898c8d
more Faderport debugging, for windows
2015-12-04 18:11:05 -06:00
0a997f62cc
remove spurious printout
2015-12-04 17:32:23 -06:00
e82cc88c6f
faderport: show current User button bindings in GUI
2015-12-03 21:45:41 -05:00
a9ce37b7ac
faderport: fix long press behaviour, and fix ardour-only behaviour with user button when used as a modifier
2015-12-03 18:38:09 -05:00
b07d86ac61
make faderport support report its port bundles as it should
2015-12-03 12:50:32 -05:00
900f59dcde
faderport: generalized blink on/off code
2015-12-03 08:36:56 -05:00
43e5d639cc
Faderport: Punch indictor was being left on after blinking
2015-12-03 07:27:42 -06:00
20facc4d18
Faderport: map automation indicator LEDs
2015-12-02 20:06:29 -06:00
16a100703b
GenericMidi: Partially working IO selectors.
...
2 remaining problems:
* IO selectors are not updated if you change the connection outside the dialog.
* occasional crash on the next startup, after a connection is made from the menu.
2015-12-02 19:18:22 -06:00
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