13
0
Commit Graph

13395 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
Edgar Aichinger
eb5a41e3a3
Fix typos in the GUI in preparation for translations 2020-04-13 16:10:07 +02:00
3a39254338 Changing Foldback bus with show sends enabled broken
leaves mixer in fanout to old bus
	turn show sends off
	change bus
	turn show sends on for user expected result
2020-04-12 18:41:06 -07:00
Johannes Mueller
0f806d1322 Same as 97e07f4, only for MidiStreamview, duh 2020-04-13 02:28:35 +02:00
Johannes Mueller
97e07f4f4c Fix for #8005: Remove rec_box also when transport stopping.
Under some circumstances the transport FSM is still in stopping state when
::non_realtime_stop() already emits TransportStatechange. In that case the rec
boxes are not removed if we consider transport stopping == rolling.
2020-04-13 02:05:36 +02:00
6df03b2f1f
Reset track header meters - e1a9034a0e #7465 2020-04-12 21:01:01 +02:00
5a0e0a41e2 update all *.po files 2020-04-12 09:00:32 -06:00
08d7a8ac3a when binding a key, if it is already bound, offer to replace the existing binding
Telling the user to that first was a bit ... silly.
2020-04-12 08:57:59 -06:00
134b2162ba
Fix waveform update when channel-count changes
7434478a35 introduced a race, IOchange triggers updating the
GUI and re-configuring processors. The latter needs to complete
first, otherwise Track::n_channels() returns the previous
channel count.
2020-04-12 13:45:45 +02:00
e1a9034a0e
Synchronize meter-reset #7465
Queue reset to be handled when the meter is updated.
Also only call set_name(), set_active_state() when the
state changes.
2020-04-10 23:50:10 +02:00
a2f7abc70b
Continue to load session after MIDI latency calibration
This amends e6febe040a
2020-04-10 01:43:11 +02:00
e6febe040a
Continue to load session after latency calibration #7998 2020-04-09 23:31:45 +02:00
ca022f6bb7 show transport master ports in their own "Sync" bundle in the global port matrices 2020-04-09 14:01:47 -06:00
980a38a988 still show port names in bundles with only a single port a given type
The bundle name is typically insufficient to identify the port
2020-04-09 14:01:47 -06:00
7434478a35
Update Waveform display when channel-count changes 2020-04-08 17:40:32 +02:00
f7abab11a3
Add preference to reset x-run counter on rec-start #6706 2020-04-07 23:52:16 +02:00
1eb98316a3
Rename KeyboardLayout to PianoKeyBindings
This is to prevent polluting the global namespace with a
symbol name that is likely to cause conflicts.
2020-04-07 18:40:04 +02:00
d4d57c844f
Styleguide #12 avoid get_ for accessors 2020-04-07 18:30:34 +02:00
Nil Geisweiller
7ffaae77a7
Rename KeyboardLayout::set_keyboard_layout to set_layout
Since the class indicates that it is a keyboard layout, no need to over
load the name with it.
2020-04-07 18:26:45 +02:00
Nil Geisweiller
104d37e5a2
Move keyboard layout in its own class 2020-04-07 18:26:45 +02:00
3cd2ad85af
Fix restoring custom MIDNAM #7984 2020-04-07 14:16:53 +02:00
eeb62c99fb
Fix typo in API name (2/2) 2020-04-07 04:07:34 +02:00
2991d74da5
GUI: follow LatencyUpdated signal handler, prevent duplicate updates 2020-04-07 00:14:09 +02:00
21b2ffbae6
Indicate ambiguous latency in the GUI 2020-04-07 00:09:38 +02:00
fbc48bdf34
Fix end vs. length bug when creating regions - #7978
set_length() includes the end.
A Region starting at 0 and ending at 0, has a length of 1
(think counting fence-posts, or video-frames).
2020-04-05 20:24:11 +02:00
14a2a50e93
Simplify snap-to magnetic distance calc 2020-04-05 20:24:11 +02:00
6b9bdbf0ff
NO-OP: cleanup snap-to code, mostly whitespace 2020-04-05 20:24:11 +02:00
Johannes Mueller
605b3d83a8 Fix #7971: Adjust paths of template archive entries exported on MacOS
... on Ardour5.

On MacOS g_dir_make_tmp() does not return the canonical path. Thus, exported
template archives end up with wrong entry paths. This has been fixed by
e52bdc55ad for exporting templates. However, template archives that have been
exported on Ardour5 are not affected by the fix. Therefor we need a workaround
for the case we are importing legacy template archives from Ardour5.
2020-04-05 16:34:48 +02:00
419af82645
Revert "replace use of gdk_pixmap_unref() with g_object_unref"
This reverts commit fdf0db02a0.

Even though `gdk_pixmap_unref` is deprecated, it is the correct way
to free `gdk_pixmap_new` objects.
This fixes a memory leak and glib warning:
GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed

PS. Eventually this pixmap should be replaced by a cairo surface.
2020-04-05 00:59:54 +02:00
e52bdc55ad Fix template export on MacOS
By default Apple uses a private TMP folder.

g_dir_make_tmp() returns `/var/folders/...` while the real
absolute path is `/private/var/folders/...`.
This caused a problem when the tmp-prefix is chopped off when building
the archive.
2020-04-05 00:10:41 +02:00
bb925ea151 Editor-mixer-strip: fix intermittent crash if we try to set up gui before set_route() is called (amends d2032d) 2020-04-04 12:03:45 -05:00
d2032df2e5 Fix for Editor-mixer-strip: polarity buttons were not updating with route selection changes. 2020-04-04 10:54:33 -05:00
0ecf1e40ea add Editor-level action to toggle track layer display 2020-04-03 18:54:51 -06:00
c2b026831c yes, RouteTimeAxisView::set_layer_display() really never applies to the selection 2020-04-03 18:54:51 -06:00
743fbaf7bf change implementation of layer display menu items and handlers
The menu items no longer ever apply to the selection, because there will be an Editor-level
action to change things "globally"
2020-04-03 18:54:51 -06:00
d1e55ff5b7 add RouteTimeAxis::toggle_layer_display() 2020-04-03 18:54:51 -06:00
1c53e73599 add two new ptr-to-menu-item, and remove an unused one, for RouteTimeAxis 2020-04-03 18:54:51 -06:00
ac6bd95e3a move automation menu to under View in main menu 2020-04-03 18:54:51 -06:00
a6d1890168
NO-OP: whitespace 2020-04-04 01:48:31 +02:00
4e005540c6
Update PatchChange when instrument/midnam changes 2020-04-04 01:48:30 +02:00
096d23fcc2 change text describing relayout after UI scaling change 2020-04-03 14:31:51 -06:00
8a1f1a3005 remove border around ATAV controls table (looks better with new theme) 2020-04-03 14:25:32 -06:00
626d97b13a a better solution for automation axis name labels 2020-04-03 14:25:13 -06:00
be2322ef2b set size request for automation lane name label, to prevent it from changing tracker header width 2020-04-03 14:11:14 -06:00
f26dd1f13d add automation item to top level edit menu 2020-04-03 13:28:58 -06:00
9ca9aa8ae1 add new Editor method to toggle all existing automation
Applies to selected tracks if non-empty; all tracks otherwise
2020-04-03 13:28:58 -06:00
97d1ee9822 move templated foreach methods from TrackSelection into parent (TrackViewList)
This allows the same methods to be used on e.g. Editor::track_views
2020-04-03 13:28:58 -06:00
e954303fec move automation show/hide methods into public access
Note that they are still intended to be called via a specific mechanism from Editor, not
directly.

Also remove unnecessary duplicate virtual decls
2020-04-03 13:28:58 -06:00
71ab4614f8
Fix fan-out port connection race-condition
This directly creates tracks without auto-connect.
2020-04-03 15:37:49 +02:00
11f28a4b1d
NO-OP: cleanup and remove debug messages 2020-04-03 14:49:03 +02:00
714e2f1736
Optimize MTAV creation, speed up new MIDI track
This removes various duplicate code-paths leading to midi-model
updates, and expensive context-menu rebuilds. This significantly
speeds up MIDI track creation.
2020-04-03 03:42:56 +02:00
14f15ca1e9
Move RouteUI::fan_out to Mixer_UI
The previous version had various issues, in particular
when creating Tracks with an instrument, the RouteUI was not
available when the signal was emitted (likely caused by recent
ee-work of Audio+MIDI and Tape track removal).

However as side-effect fanned-out tracks/busses may now
be ordered before the new instrument route.

This also fixes an edge case of multiple fan-out in case
there is more than one RouteUI instance (mixer, editor-mixer,
meter-bridge).
2020-04-02 20:27:51 +02:00
652f62f20a
Remove signal in preparation to rework fan-out 2020-04-02 20:27:48 +02:00
849bce6e4d
Add LTC output port preference #7932 2020-04-02 16:46:05 +02:00
Johannes Mueller
41fa647b69 Template descriptions no longer dirty when saved or changes discarded 2020-04-02 14:37:12 +02:00
Johannes Mueller
64cb0a6e4b Let the user also choose template archives from Ardour 5.x 2020-04-02 14:37:12 +02:00
42af08fb92
Consolidate MIDNAM control display code 2020-04-01 23:26:13 +02:00
a6c9c04fd6
Hide snap cursor when not using mouse edit #7966 2020-04-01 22:55:06 +02:00
75adc33629
Remove unused variable 2020-04-01 22:55:06 +02:00
38caf9ddd3 NOOP: whitespace 2020-04-01 10:10:50 -06:00