13
0
Commit Graph

29869 Commits

Author SHA1 Message Date
037248a7d6
Support MIDNAM with Performances in PatchSelector #7536
Some modern keyboards spread out patches over various banks,
and group them using explicit "PatchMIDICommands".
A given PatchBank does not have a common MIDI Bank.

Previously those PatchBanks were not listed in the MIDI Patch
Selector, which is based on MIDI Bank + Program grid.

The current view is some sort of compromise, retaining a
per MIDI-bank view, but allowing Monatages/performance mappings.

The Patch Change *dialog*, or dropdown is more useful for those
sparse modern mappings.
2020-04-19 16:32:33 +02:00
c32fef2660
WebSockets: hotfix crash when a session has VCAs
This eventually needs a better solution, special casing VCAs
on the top-level.
2020-04-19 15:44:39 +02:00
674554d978
Solo isolate foldback busses - #8020 2020-04-19 03:40:35 +02:00
8edc94edea
Update a-Amplifier, use Ardour::Amp
This fixes an issue with a-Amp interpolating the parameter in dB,
resulting in a double-exponential fade when the parameter changes.

Now fade is linear in dB, also using Ardour' Amp processor is more
efficient, since interpolation happens in C++.
2020-04-19 00:49:43 +02:00
9875a95829
RAII collect processor-change signals 2020-04-18 23:54:24 +02:00
b7c7c02680
Optimize realtime listen-position change 2020-04-18 23:19:58 +02:00
a90b0daadd
Support for lock-free AFL/PFL changes
Session::listen_position_changed() calls Route::listen_position_changed()
for every route in the session. Each call tool the process-lock
in turn.
2020-04-18 22:11:49 +02:00
606d6de4b1
Consistent Lua script error and print() output 2/2 2020-04-18 18:16:12 +02:00
a2f07f66a5
Consistent Lua script error and print() output 1/2 2020-04-18 18:16:12 +02:00
Julien '_FrnchFrgg_' RIVAUD
a4cfdd338d First part of translation review 2020-04-18 11:26:10 +02:00
Julien '_FrnchFrgg_' RIVAUD
5766cf24aa Update French po files from code 2020-04-18 11:22:07 +02:00
5c5f0c8282
Allow to hide inline-controls using shift+right click 2020-04-18 01:04:45 +02:00
929754f48c
Prefer PBD::Unwinder to temporarily change a variable 2020-04-17 22:49:45 +02:00
f2f9798df1 shift-tab generates shift-iso_left_tab so fix MIDI editing bindings 2020-04-17 13:14:34 -06:00
d745f5c53d fix name of MIDI editing action 2020-04-17 13:14:34 -06:00
2ee80b4eb7 expand everything for a key editor tab is there is only 1 child node 2020-04-17 13:14:34 -06:00
bc9b490e90
Fix canvas scroll-event zoom-focus
Unconditionally use the mouse-cursor as zoom-focus when holding
<ctrl> while scrolling on the canvas.
This is consistent with using ctrl + scroll in the ruler area.
2020-04-17 20:51:47 +02:00
0b67abca1d change default (non-modified) transpose kbd action to use 1 semitone 2020-04-17 12:40:28 -06:00
fa8858b3e8 NOOP: newline removal 2020-04-17 12:40:28 -06:00
fea7834e78 do not reset import status to cancel for every path imported before starting; fixes failure of cancel to stop import 2020-04-17 12:40:28 -06:00
Luciano Iam
28dd253231
WebSockets: make the mixer-demo look good on small screens 2020-04-17 20:15:11 +02:00
Luciano Iam
1a6997e0c8
WebSockets: change mixer-demo color palette to look closer to Ardour's default skin 2020-04-17 20:15:10 +02:00
Luciano Iam
137042f80c
WebSockets: rename _lws_mnt_index to _lws_mnt_root
This mount point not only serves the index but everything that is under
/ , including the built-in surfaces directory
2020-04-17 20:15:10 +02:00
Luciano Iam
36a27b8a90
WebSockets: prevent crashes by validating inbound message addr and val sizes 2020-04-17 20:15:10 +02:00
Luciano Iam
50ba8dea96
WebSockets: improve JS client and demo
add methods to callback.js
automatically reconnect js client on disconnection
mixer-demo do not recreate UI on reconnection
NO-OP: indentation in message.js
make client JS reconnection optional
fix mixer-demo scrolling
minor JS client refactor
improve mixer-demo readability
2020-04-17 20:15:10 +02:00
Luciano Iam
612c71aa25
WebSockets: allow serving SVG files using libwebsockets < 3 2020-04-17 20:15:10 +02:00
Luciano Iam
2ba8dab95e
WebSockets: update JS client and demo
avoid hardcoded node name strings in mixer-demo
improve mixer-demo design
split ardour.js client into control and metadata mixins
rename JS client class Ardour to ArdourClient
JS client improve mixin implementation
JS client improve manifest parser
NO-OP whitespace and comments
NO-OP update websurface manifest versions
add Ardour icon in mixer-demo
improve mixer-demo scrolling on touch screens
2020-04-17 20:15:10 +02:00
b9674115b7 when re-entering the track canvas in internal edit mode, ensure that kbd focus is set 2020-04-17 11:34:34 -06:00
ba585e440d fix actions names & description for note transport to reflect semitone not tone 2020-04-17 10:47:01 -06:00
0b7d0ebfd6 remove debug output 2020-04-17 10:47:01 -06:00
7ae4e0f7ba
Allow to override zoom-focus to mouse
When Prefs > Editor > Zoom to mouse position... is disabled.
Ctrl + Scroll now allows to override the current zoom-focus,
and zoom in/out at the mouse-cursor position.
2020-04-17 16:16:23 +02:00
ca9e54100a more sane design for MidiRegionView::nudge_notes()
Use nudge clock if snap/grid is disabled; use grid (and grid/4 if "fine" adjustment is chosen)
2020-04-16 21:39:38 -06:00
70e27e0bf2 fix Beats::operator-() 2020-04-16 21:38:33 -06:00
e4e035c6e2 remove debug output 2020-04-16 17:48:12 -06:00
696f891554 fix names and add descriptions of MIDI actions 2020-04-16 17:48:12 -06:00
3b1549e36d fix some MIDI keybindings 2020-04-16 17:48:12 -06:00
3de9d5d09b fix namespaces for MIDI note bindings 2020-04-16 17:48:12 -06:00
65f7a6a938 changes to deal with region/note selection when changing into/out of internal edit mode
Also, activate MIDI editing actions so that they are effective in internal edit mode
2020-04-16 17:48:12 -06:00
921e3e75b5 bindings for MIDI editing operations 2020-04-16 17:48:12 -06:00
3391fa0f51 NOOP: use braces as per style guide 2020-04-16 17:48:12 -06:00
cc32d42388 use new API to get selected MIDI regions and clear current note selection in a MIDI region 2020-04-16 17:48:12 -06:00
8545250936 MidiRegionView no longer handles any keypresses or alters editor "note selection"
1. Alt is still handled to change drag behavior
2. Selection doesn't store notes unless they are part of the cut buffer, which means we should not
be altering the note selection in the editor's selection object most of the time.
2020-04-16 17:48:12 -06:00
eca7888047 NOOP: newline removal 2020-04-16 17:48:12 -06:00
0bea4f2374 fix up action names for MIDI editing 2020-04-16 17:48:12 -06:00
ba424352a2 change Selection object to be more clear about the status of MidiRegionViews and notes
1) Notes are only present in a Selection object if it is being used as a cut buffer. They are never stored
there as part of "normal selection" - that is delegated/left to MidiRegionViews that own the notes.

2) MidiRegionViews are stored in the Selection as "just" RegionViews, so provide a convenience
method to access them. This doesn't actually change much, since even the old MidiRegions object
was actually just a RegionSelection i.e. RegionViews.
2020-04-16 17:48:12 -06:00
abe275c3e0 add a bunch of argument-free methods to MidiRegionView for use as actions 2020-04-16 17:48:12 -06:00
c03c3332e8 change algorithm for activation/propagation of key events to allow multiple bindings
We now check from the focus widget (if any) for any widget heirarchy bindings, and try to use them.
Next use the "top level" bindings passed in (top level is quoted because they may be owned by a tab,
rather than a window).
Finally, if the event is still not handled, try the global bindings

This model more closely matches what I think a reasonable programmer with experience of other
GUI toolkits would expect, and allows us to have multiple bindings present (though not
simultaneously used) in a given window
2020-04-16 17:48:12 -06:00
ffd9aa2fc9 if the action associated with a binding is insensitive, do not activate it, and return false from Bindings::activate()
This allows "stacking" of bindings by desensitizing the actions associated with a "lower" level
of bindings at certain times (e.g. MIDI editing bindings thare are sensitized in the appropriate
editing modes
2020-04-16 17:48:12 -06:00
cc74c7b7ad
Fix two more typos 2020-04-17 00:02:38 +02:00
899d696a97
Fix another typo #8016 2020-04-16 22:09:01 +02:00