Commit Graph

29781 Commits

Author SHA1 Message Date
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
029527c4c9
Fix typos #8016
Duplicate "the", missing "file"
2020-04-16 21:55:42 +02:00
Edgar Aichinger
5fbce4b5db
Update German translation 2020-04-16 21:08:24 +02:00
eb06e67628
Update french translation #8016 2020-04-16 21:06:06 +02:00
Nikolaus Gullotta
4fffb39258
Fix Mixer Recall script
Add new Mixbus internal processors to well_known list, and ensure that
proc is not nil before invalidation
2020-04-16 10:59:44 -05:00
87626e0bdd
NO-OP: remove trailing whitespace 2020-04-16 16:53:48 +02:00
bb62f7eaec
Plugin: bypass <> enabled mapping
LV2 uses "enabled": -1: inactive, 0: bypassed, 1:enabled
VST3 has "bypass: 0:active, 1: bypassed
2020-04-16 16:47:13 +02:00
2d4e125802
Prefer std::string for print_parameter API 2020-04-16 16:47:13 +02:00
daf9fe2550
Tweak engine startup, shorten initial silence timeout
see also 23baeee829
2020-04-16 16:47:08 +02:00
8ea608b3d9 fix plurals and other mistakes in error strings; switch to PBD::warning since these are not user errors nor fixable 2020-04-15 15:26:34 -06:00
Nikolaus Gullotta
858bb4294d
Fix Mixer Store/Recall
Two main problems are addressed by this commit.

First, storage of
parameters was broken because the index for values was set by the
parameter count, not the control port count which set_processor_param()
expects.

Second, the value was not clamped to pd.upper and pd.lower causing some
parameters to fail when set.

This invalidates previous mixer store files.
2020-04-15 13:38:33 -05:00
250da353d4
Disable spill when target-bus is removed #8014
Individual mixer-strip already revert to default display when
the send vanishes. This also resets the mixer view.
2020-04-15 20:21:27 +02:00
Edgar Aichinger
e20f74dcf1
Fix typos, consistent translatable strings 2020-04-15 18:02:35 +02:00
4e43aaef64
Add automation lane for poly-key-pressure 2020-04-15 15:37:54 +02:00
b955bb04ec
Only CCs can have custom MIDNAM labels 2020-04-15 15:37:23 +02:00
21df7279d2
Prefer parameter_is_midi() API, fixes PolyKeyPressure
Previously MidiNotePressureAutomation was not assumed to be
MIDI automation.
2020-04-15 15:36:45 +02:00
895b9c2051
Fix PolyKeyPressure, consolidate AutomationType checks 2020-04-15 15:31:59 +02:00
2d18d512e3
NO-OP: whitespace 2020-04-15 15:22:53 +02:00
9fac6139ea
Fix assert when showing embedded LV2 plugin UI -- #8013 2020-04-15 04:19:23 +02:00
a3af5e31f1
Update labels in MIDI Automation Lanes when MIDNAM changes 2020-04-15 02:38:18 +02:00
4130bc3a86
Update CC Automation menu when MIDNAM changes 2020-04-15 01:51:05 +02:00
4b9f6208e7
Limited listed CC-channels to ChannelNameSet channels 2020-04-15 01:51:05 +02:00
984dc1694d
Allow MIDNAM lookup of valid channels for controllers 2020-04-15 01:51:04 +02:00
Johannes Mueller
6d75d40533 Quick and dirty dropping support for rippling across tracks
Ripple editing will be reworked some point after 6.0
2020-04-14 23:45:17 +02:00
Johannes Mueller
d2f5edf64f Fix #8012 to some extent.
As soon as we ripple drag the selected region out of the original track,
::remove_unselected_from_views() is called and the rippled regions on the
original track are not covered when ::remove_selected_from_views() is called
again in ::finished(). Therefore we need to shift the regions remaining on the
original track back and forth again, in order to have them properly in the undo
history.
2020-04-14 22:43:15 +02:00
Nikolaus Gullotta
07709b39c1
Reset master send control along with sends 2020-04-14 13:34:49 -05:00
c34abd094e changed text for adding a foldback send from monitor
Menu item was added before name was finalized
	but needs to match names used everywhere else
2020-04-14 10:36:18 -07:00
41ea63cead
Keep string markdown untranslatable 2020-04-14 19:01:10 +02:00
701605129e
Drag/Drop import region to where it was dropped
Previously only drag/drop to existing tracks used the target
time-position and files imported as new tracks using the drop-zone
were placed at 00:00:00:00.
2020-04-14 17:58:28 +02:00
ab1bc6b7d7
Make import-dialog independent of only-copy preference
This also fixes a logic error when "get_only_copy_imported_files"
was unset.

The condition under which "copy" was mandatory was rather convoluted,
so this also provides a more consistent user-experience.
2020-04-14 17:37:06 +02:00
e3e7d22c38
Change default for embedding files via DnD
Man new users drag/drop files onto the canvas without being aware
that Ardour only references external files. This can break sessions
when those files [re]moved.
2020-04-14 17:28:12 +02:00
26bb781ecd
Fix disk-reader alignment when creating tracks while playing 2020-04-14 16:39:30 +02:00
daec036faa
NO-OP: whitespace 2020-04-14 04:01:36 +02:00
ea2bda6668
Fix playback alignment when adding/removing channels
The disk-reader assumes that all playback ringbuffers are in sync
and have the same fill_level.
2020-04-14 03:57:26 +02:00
Johannes Mueller
d5f25f998b Fix #7007: ::clear_owned_changes() on rippled Playlist before commit
RegionMoveDrag::finished_no_copy() calls ::clear_changes() on every selected
Region and then sets their positions again before committing the command to the
UndoHistory. By doing that no changes from the previous transaction spill over
into the current transaction.

This needs to be done in a similar way by in RegionRippleDrag::finished()
because otherwise a following undo action would also undo the changes of the
previous transaction for all the non selected rippled regions.

RegionRippleDrags across tracks are still borked, though.
2020-04-13 23:56:52 +02:00
Luciano Iam
83353b3125
WebSockets: add client getSurfaceManifest() example in mixer-demo 2020-04-13 16:29:42 +02:00
Luciano Iam
9fa7eb15ac
WebSockets: avoid hardcoding node names in mixer-demo, fix typo in message.js 2020-04-13 16:29:41 +02:00
Luciano Iam
da670aa186
WebSockets: improve support for callbacks in JS client lib 2020-04-13 16:29:41 +02:00
Luciano Iam
1f3b40f4bd
WebSockets: improve wording in latest commit instructions 2020-04-13 16:29:41 +02:00