Paul Davis
b0fe298f72
faderport: factor out encoder divider into a const double
2015-12-01 18:47:29 -05:00
Paul Davis
ee9524c9b6
faderport: make punch button LED indicate punch status
2015-12-01 18:45:43 -05:00
Paul Davis
fd44adfe01
faderport: change panning dividers to give full range across very roughly 270 degrees of rotation
2015-12-01 18:32:55 -05:00
Paul Davis
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
Paul Davis
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
Paul Davis
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
Paul Davis
0e629cd162
faderport: add punch action
2015-12-01 10:35:37 -05:00
Paul Davis
0c9fd363ca
faderport: GUI tweaks
2015-12-01 10:35:37 -05:00
Robin Gareus
4bd66dd17c
fix AU preset list
...
Don't require user-presets to be present in order to include
factory presets
2015-12-01 15:26:24 +01:00
Paul Davis
daf02e8c73
remove "medium-length" press concept from faderport code and GUI
2015-12-01 09:23:08 -05:00
Paul Davis
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
Tim Mayberry
44f46d2b0d
Fix broken load-session utility and change it to load and save a session
...
Rename run-session-tests.sh script to load-save-session.sh and make it operate on
only a single session and add a separate load-save-session-collection.sh script
Add --massif option to load-save-session.sh script
Rename some poorly named variables and add some documentation to the
load-save-session.sh script
2015-12-01 15:44:10 +10:00
Tim Mayberry
7f3118c8fe
Don't indent inside namespace declaration to be consistent with ardour style
2015-12-01 14:22:38 +10:00
Tim Mayberry
e025415516
Use PBD::demangle_symbol in PBD::demangled_name<T> to reduce code duplication
2015-12-01 14:22:38 +10:00
Tim Mayberry
36fa670309
Rename PBD::symbol_demangle and some variable names to improve readability
...
Rename PBD::symbol_demangle to demangle_symbol so the transitive verb is
infront of the object.
Rename some local variables and fix documentation.
2015-12-01 14:22:38 +10:00
Tim Mayberry
5f4f89fb39
Move PBD symbol demangle functions into pbd/demangle.h/cc
...
Add pbd/demangle.cc source file and move functions from pbd/stacktrace.cc into
it
2015-12-01 14:22:38 +10:00
Paul Davis
254c1e2c91
faderport: correctly restore mix/proj/trns state from XML
2015-11-30 20:54:23 -05:00
Paul Davis
41d0336f80
faderport: cleanup
2015-11-30 20:34:51 -05:00
Paul Davis
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
Paul Davis
b8ed62453f
faderport: restore button actions, and correctly indicate current action in GUI
2015-11-30 13:50:33 -05:00
Paul Davis
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
Paul Davis
149f6795bb
no-op: add comment to faderport button ID definitions
2015-11-29 11:58:36 -05:00
Robin Gareus
73d1de3b75
NOOP, remove trailing whitespace, replace tabs in python scripts
2015-11-29 17:54:31 +01:00
Paul Davis
c6dfb947eb
faderport: add two functioning actions for the mix button
2015-11-29 11:43:14 -05:00
Paul Davis
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
Robin Gareus
7a5cea45e1
fix seamless midi-looping - fixes #5438
...
well, now...
- Midi-Ports have a midi-buffer.
- Midi-Tracks have a midi-buffer.
- Midi-tracks have a diskstream.
- Midi-diskstream has a midi-ring-buffer.
- Midi-tracks have a delivery
- The delivery can get a reference to the actual backend-ports
- The delivery calls the Midi-Port's flush() buffer to send out queued events
at the end of a cycle
all clear ? :)
- when splitting the process-cycle: only the Ports are informed.
all other objects see a "normal" short process cycle starting at "0".
The offset needs to be applied early on, so that internally routed buffers
push the event at the correct time when combining the buffer with
immediate and async events.
Luckily Port::port_offset() is a static member, available to all, objects,
which allows to bridge the conceptual gap between the diskstream and
the delivery.
There's a snag:
When there's a note-on directly at the beginning of the loop it coincides
with the panic message sent when looping.
The panic comes before note events, so it *should* be good.
Also the final note-offs (state tracker end of loop/region) are sent
1 sample too early (smells like an off-by-one), and are hence dropped.
(no matter we send a panic right after it).
It should really be at the same time, just before the panic.
2015-11-29 01:27:18 +01:00
Robin Gareus
c4f8a69526
don't clear MIDI buffers during split-cycles
...
if dst_offset is zero, MidiBuffer::read_from() clears the buffer.
copy_to_outputs() eventually calls MidiBuffer::read_from().
2015-11-28 23:40:03 +01:00
Robin Gareus
5bdab24746
add some midi-debug printf() to the dummy backend
2015-11-28 22:54:00 +01:00
Robin Gareus
1fd04baeb3
fix typo in panic message, honor event-time.
2015-11-28 22:34:54 +01:00
Robin Gareus
aa8d512ee7
midi-panic needs to honor split-cycle buffer offset,
...
otherwise panic message will be delivered out-of-order when
seamlessly looping.
2015-11-28 22:33:43 +01:00
Robin Gareus
03ed56b247
filling the midi playback buffer is a private operation.
2015-11-28 22:30:54 +01:00
Paul Davis
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
Paul Davis
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
Paul Davis
b842495be0
fadeport: make fader touch work
2015-11-27 10:22:01 -05:00
Len Ovens
3893f62657
Mackie Control: Disable Selected group in User/Selected view mode to allow individual adjustment.
2015-11-26 06:55:25 -08:00
Ben Loftis
d138f8981d
implement more Faderport buttons (window and fader automation). ToDo: automation LEDs, fader banking
2015-11-25 17:33:49 -06:00
Robin Gareus
d6186fba32
use human readable port-names in Mackie config.
2015-11-26 00:30:52 +01:00
Paul Davis
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
Paul Davis
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
Paul Davis
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
Paul Davis
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
Paul Davis
d53993fd83
faderport: output button is a toggle between master (or monitor) and currently used route
2015-11-25 16:47:20 -05:00
Paul Davis
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
Ben Loftis
487ada6630
handle encoder changes. shift+knob = input trim. ToDo: panner control
2015-11-25 14:52:58 -06:00
Paul Davis
4e014da61a
cruft removal from faderport code
2015-11-25 13:37:00 -05:00
Paul Davis
dd6cbac20e
faderport: implement fader support
2015-11-25 13:37:00 -05:00
Robin Gareus
0189b1eae9
restore measured Insert latency
...
(XML underscore vs dash)
2015-11-25 19:09:23 +01:00
Paul Davis
fe06e3b7e8
faderport: track GUI selection, use first selected route; implement mute, solo, rec
2015-11-25 12:38:22 -05:00
Paul Davis
68da5a1402
faderport: put back the working version of operations.cc
2015-11-25 07:35:50 -05:00
Ben Loftis
3ded5fc3f6
stub file to enable nightly builds
2015-11-24 23:37:49 -06:00