Commit graph

29790 commits

Author SHA1 Message Date
Paul Davis
0b7d0ebfd6 remove debug output 2020-04-17 10:47:01 -06:00
Robin Gareus
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
Paul Davis
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
Paul Davis
70e27e0bf2 fix Beats::operator-() 2020-04-16 21:38:33 -06:00
Paul Davis
e4e035c6e2 remove debug output 2020-04-16 17:48:12 -06:00
Paul Davis
696f891554 fix names and add descriptions of MIDI actions 2020-04-16 17:48:12 -06:00
Paul Davis
3b1549e36d fix some MIDI keybindings 2020-04-16 17:48:12 -06:00
Paul Davis
3de9d5d09b fix namespaces for MIDI note bindings 2020-04-16 17:48:12 -06:00
Paul Davis
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
Paul Davis
921e3e75b5 bindings for MIDI editing operations 2020-04-16 17:48:12 -06:00
Paul Davis
3391fa0f51 NOOP: use braces as per style guide 2020-04-16 17:48:12 -06:00
Paul Davis
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
Paul Davis
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
Paul Davis
eca7888047 NOOP: newline removal 2020-04-16 17:48:12 -06:00
Paul Davis
0bea4f2374 fix up action names for MIDI editing 2020-04-16 17:48:12 -06:00
Paul Davis
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
Paul Davis
abe275c3e0 add a bunch of argument-free methods to MidiRegionView for use as actions 2020-04-16 17:48:12 -06:00
Paul Davis
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
Paul Davis
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
Robin Gareus
cc74c7b7ad
Fix two more typos 2020-04-17 00:02:38 +02:00
Robin Gareus
899d696a97
Fix another typo #8016 2020-04-16 22:09:01 +02:00
Robin Gareus
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
Robin Gareus
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
Robin Gareus
87626e0bdd
NO-OP: remove trailing whitespace 2020-04-16 16:53:48 +02:00
Robin Gareus
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
Robin Gareus
2d4e125802
Prefer std::string for print_parameter API 2020-04-16 16:47:13 +02:00
Robin Gareus
daf9fe2550
Tweak engine startup, shorten initial silence timeout
see also 23baeee829
2020-04-16 16:47:08 +02:00
Paul Davis
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
Robin Gareus
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
Robin Gareus
4e43aaef64
Add automation lane for poly-key-pressure 2020-04-15 15:37:54 +02:00
Robin Gareus
b955bb04ec
Only CCs can have custom MIDNAM labels 2020-04-15 15:37:23 +02:00
Robin Gareus
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
Robin Gareus
895b9c2051
Fix PolyKeyPressure, consolidate AutomationType checks 2020-04-15 15:31:59 +02:00
Robin Gareus
2d18d512e3
NO-OP: whitespace 2020-04-15 15:22:53 +02:00
Robin Gareus
9fac6139ea
Fix assert when showing embedded LV2 plugin UI -- #8013 2020-04-15 04:19:23 +02:00
Robin Gareus
a3af5e31f1
Update labels in MIDI Automation Lanes when MIDNAM changes 2020-04-15 02:38:18 +02:00
Robin Gareus
4130bc3a86
Update CC Automation menu when MIDNAM changes 2020-04-15 01:51:05 +02:00
Robin Gareus
4b9f6208e7
Limited listed CC-channels to ChannelNameSet channels 2020-04-15 01:51:05 +02:00
Robin Gareus
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
Len Ovens
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
Robin Gareus
41ea63cead
Keep string markdown untranslatable 2020-04-14 19:01:10 +02:00
Robin Gareus
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
Robin Gareus
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