Commit Graph

16839 Commits

Author SHA1 Message Date
Ben Loftis 3af055e0c0 tempo-marker start bpm text was not being updated during+after a mouse drag 2023-09-28 09:09:37 -05:00
Krzysztof Gajdemski 3a6a70c240
Update Polish translation 2023-09-28 01:20:46 +02:00
Robin Gareus bed041cf96
Set DnD time's time-domain
Drag::_raw_grab_time is set to the correct time-domain. However
during ::motion() and other operations the adjusted time was
always AudioTime.

Most notably this caused editor->selection->time to have
different time-domains for start and end.
2023-09-28 00:41:17 +02:00
Ben Loftis 72761734e8 region groups: more fixes for drag-copy and range-paste operations 2023-09-27 11:06:40 -05:00
Alexandre Prokoudine 73991c4190 Clean up the Korean translation from dupes 2023-09-26 21:41:57 +02:00
Paul Davis 3166ca7ffd only UI scale the scroomer itself, not the kbd header 2023-09-26 11:33:48 -06:00
Robin Gareus 201b9574a2
In Draw mode, do not allow to grab lines.
see also 3cf1227421 and c578695a64
2023-09-26 17:03:09 +02:00
Alexandre Prokoudine 1f937fa0b1 Update Russian translation, Part 3 2023-09-26 14:07:03 +02:00
Robin Gareus 611452df35
Retain Change Dialog settings when MIDNAM model changes 2023-09-26 05:32:57 +02:00
Robin Gareus 3c5ea74aca
Fix patch-change dialog channel switch
* Correctly show initial patch when switching channels
  prefer plugin's information, if available
* Retain channel and bank when MIDNAM is updated
2023-09-26 05:32:57 +02:00
Paul Davis 70c3142c2c small visual and peformance tweaks for midistreamview bg draw 2023-09-25 20:03:04 -06:00
Paul Davis 6f802015d7 scroomer should follow UIConfiguration's max note height setting 2023-09-25 18:40:12 -06:00
Robin Gareus 3cf1227421
Revert "in draw mode, mouse drags in automation tracks are always freehand drawing"
This reverts commit c578695a64.

When hovering over a control point there is still the "Fader"
cursor shown. It is also handy to be able to directly modify
a control-point right after adding it.

A freehand draw operation can be still be initiated above,
below, or left/right of a given control point.
2023-09-26 01:10:16 +02:00
Robin Gareus eed79f45d7
Fix layering when copy/pasting regions (2/2) 2023-09-25 22:36:28 +02:00
Robin Gareus 5fe127eb49
Keep preset message dialog on top of export dialog 2023-09-25 22:36:27 +02:00
Robin Gareus ccef22f998
ArdourMessageDialog allow for NULL parent window
This is handy on Windows, where Widget::get_toplevel() may
return NULL or not-a Gtk::Window.
2023-09-25 22:36:27 +02:00
Paul Davis b711da9153 scroomer prelight and handles 2023-09-25 11:01:22 -06:00
Paul Davis d892614742 fix DEBUG_TRACE message about a drag 2023-09-25 11:01:22 -06:00
Robin Gareus ed60ef40b0
Fix arrangement rectangle prelight
This follows the general rule to lighten a widget on hover
(like ArdourButton, Triggermaster etc)
2023-09-25 18:55:04 +02:00
Robin Gareus d7c611e025
Guess UI scale for copy-config dialog
This dialog shows before the new user wizard,
where a user would configure HDPI/UI scaling.
2023-09-25 17:07:15 +02:00
Paul Davis 9f475d5427 avoid double call to ::model_changed() during set up of a MidiRegionView
There is a DisplaySuspender in MidiRegionView::init(), and another invoked
during the addition of a RegionView to a StreamView. Before this change, both
suspenders were created to invoke a full "model-changed" redisplay. Since every
RegionView must be added to a StreamView to be visible, we only need the second
suspender to invoke the model-change. The first one can be just a view
change (and probably isn't necessary at all, but I did not want to change that
much at this point in time).
2023-09-24 18:41:51 -06:00
Paul Davis 1f13b311fd midi display: ensure that lollipops are visible right after import
VelocityGhostRegion used the visibility of the "parent" note canvas item of a
lollipop canvas item to determine the lolli's visibility. But during the
construction of the MidiRegionView, the note's container is not yet visible, so
this fails.

In addition this logic would hide lollis for notes that are outside the current
visible note range of the track (because the parent note item was not visible).

This change adds a method to MidiRegionView to decide if a note is within the
region's time range, and if so, we show the lollipop item. This means that
lollis for notes outside the note-range will still be visible, which seems more
correct. In addition, the nascent condition of the parent note's container no
longer affects lolli visibility.
2023-09-24 18:38:20 -06:00
Paul Davis 61d8ceaa85 change API of Editor::get_quantize_op() and fix flaky UX when using quantize-notes 2023-09-24 15:01:04 -06:00
Paul Davis 318af69057 do not grab magic widget focus for MIDI editing purposes
The bindings use will all work just fine without this focus grab; the focus
grab in turn confuses the use of some/all global bindings (such as the spacebar
to toggle tranport state)
2023-09-24 15:01:04 -06:00
Robin Gareus 39595244e8
Credit where credit is due 2023-09-24 19:58:59 +02:00
Martin Vlk 5ec2c9ed4d
Czech translation updated for the 8.0 release. 2023-09-24 19:57:25 +02:00
JungHee Lee 8a0efbed7a
Update ko.po 2023-09-25 00:07:24 +09:00
Krzysztof Gajdemski b745a463df
Update Polish translation
This is a major update as previous translation was very dated.
2023-09-24 16:39:02 +02:00
Paul Davis a38a4954a7 add a few new configuration params/preferences to the metadata list
Technically this breaks our string freeze, but only for searching preferences, not
for text displayed in the GUI
2023-09-24 07:52:18 -06:00
Robin Gareus 32efd92360
Add missing #include for NoteType 2023-09-24 14:27:29 +02:00
Robin Gareus 184bd500f7
NO-OP: clang-format 2023-09-24 14:25:14 +02:00
Robin Gareus ad24d397f5
Fix various MIDI List editor issues (#9457)
* Fix crash when inserting note to empty region
* Consistently use fine-grained modifier
* Don't allow to edit BBT as text field
  This is currently not supported.
* Fix GTK_IS_CELL_EDITABLE assertions (Tab to next)
2023-09-24 14:15:45 +02:00
Robin Gareus 1386a96af0
MIDI List editor: fix off by one with scroll duration 2023-09-24 13:11:07 +02:00
Robin Gareus 82fdd08953
MIDI list editor: fix note position scroll 2023-09-24 12:56:44 +02:00
Robin Gareus 2d24a5fe88
MIDI list editor: fix note-length dropdown (#9457) 2023-09-24 12:55:10 +02:00
Krzysztof Gajdemski 82d03607b8
PortGroup: fix missing "_" in "Tracks"
This small typo prevented (a rather important) noun "Tracks" from being
translated.
2023-09-23 14:10:54 +02:00
Paul Davis 44d32d6325 move MIDI note draw actions from Editor tab to MIDI tab, and rename
Sorry translators, this is a small string freeze breakage.
2023-09-22 22:45:28 -06:00
Paul Davis 979e96a342 fix a char[] scope issue reported by ASAN 2023-09-22 15:18:27 -06:00
jujudusud 2d2660a6eb
Update FR translation for ardour8 2023-09-22 19:52:49 +02:00
Robin Gareus b2f36804be
Add missing Lua bindings (UIConfig get/set) 2023-09-22 17:40:42 +02:00
Alexandre Prokoudine 34c40e0a44 Update Russian translation, Part 2 2023-09-22 12:38:29 +02:00
Alexandre Prokoudine 22e15b135e Update Russian translation, Part 1 2023-09-22 04:38:32 +02:00
Paul Davis c642611fe8 fix crash in ghostregions after adding notes but not invalidating optimization iter (#9452) 2023-09-21 16:26:59 -06:00
Robin Gareus 0a1ab716a1
Try to track down abort() reported by Nathan
This should have had a `fatal` message like other
all abort() calls.
2023-09-21 20:49:36 +02:00
Mads Kiilerich 226ff63e3c temporal: avoid using superclock in Editor::initialize_canvas before creating the session
cb78043adc "Indicate selection extents in time ruler" introduced use of
superclock before it has been set. But as it only is used at time 0, the
actual superclock doesn't matter. Still, we work around it in order to
avoid triggering any warnings of uninitialized use.
2023-09-20 12:30:53 -06:00
Robin Gareus b3f26354a9
New Session dialog, reorder folder/timebase options
This keeps the folder option next to the filename.
Which is handy when using Tab to move focus.
2023-09-20 00:31:33 +02:00
Paul Davis 727b666c18 NOOP: reformat comment 2023-09-18 19:57:37 -06:00
Paul Davis 5122036054 startup: fix use-after free of startup FSM object
In some startup flows, the entire loading process happens inside
StartupFSM::start(). In others, that call gets things moving but
we return from it and loading is not complete until later.

Deleting the StartupFSM while still inside the ::start() call
led to a use-after-free error. This new code will leak the StartupFSM
in some startup flows.
2023-09-18 16:27:11 -06:00
Paul Davis bc91ea3c42 startup: fix logic/design error that led to deep errors
The old state in this commit would lead to an existing session
being loaded with the claim that it was a new session. This went
unnoticed until 4bed642d71, where newness impacted the time
domain of the session (and actually led to it being set to a random memory
value).
2023-09-18 16:27:11 -06:00
Paul Davis 9dd50d4536 provide an easy way to get core dumps with address sanitizer
The options to make this work are quite long and hard to remember. So just set
ASAN_COREDUMP and adev_common.sh.in will take care of it for you
2023-09-18 16:27:11 -06:00