Commit Graph

38284 Commits

Author SHA1 Message Date
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
Robin Gareus c4f6385d22
Fix playlist partitioning when mixing time domains 2023-09-27 22:15:25 +02:00
Ben Loftis 9651a2c2e2 region groups: more fixes for Duplicate operations 2023-09-27 11:06:40 -05:00
Ben Loftis 72761734e8 region groups: more fixes for drag-copy and range-paste operations 2023-09-27 11:06:40 -05:00
Robin Gareus 40a9ba746e
Freeze plugin cache version
This allows to copy existing VST2/3 cache files to
a new major version
2023-09-27 17:28:20 +02:00
John Emmas ea8742b030 #include <sys/utime.h> when building with MSVC 2023-09-27 09:36:26 +01:00
Robin Gareus 0be8456d0d Add support for MacOS 14 (Sonoma) 2023-09-27 04:15:41 +02:00
Robin Gareus 947e6c7815
I/O Plugins: fix a heap-use-after-free
I/O plugin Controls are destroyed with ~IOPlug, however
Session::destroy()'s call to drop_references() still
triggers AutomationControl::session_going_away() on the
binding proxy.

This is even properly documented in session_object.h:

> A named object associated with a Session. Objects derived
> from this class are expected to be destroyed before the
> session calls drop_references().
2023-09-27 02:22:22 +02:00
Robin Gareus e79ca8f9ba
Copy plugin cache with old config 2023-09-27 02:22:22 +02:00
Robin Gareus 6494214622
Add option to prefer file timestamps with recursive copy 2023-09-27 02:22:22 +02:00
Robin Gareus 7f453cab9e
Allow to query cache-dir by major version
Luckily "cachename" parameter was unused, so this API
can be changed.
2023-09-27 02:22:22 +02: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 245aac887b
Fix saving patch-change channel undo/redo commands 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 0a6ac2678a canvas: if LineSet does the 0.5 pixel shift, make it the right direction 2023-09-25 20:01:21 -06:00
Paul Davis 5fa5c5d202 canvas: NOOP fix comment about docs on single pixel lines 2023-09-25 19:52:10 -06:00
Paul Davis bc78694a1a canvas: fix bounding box of a LineSet (lower edge was not lower enough) 2023-09-25 19:51:33 -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 496957efdf
Fix layering when copy/pasting regions (1/2)
Playlist::add_region, Playlist::add_region_internal always
adds the region to the top of the playlist, ignoring the
region's layer.

Note that there is also difference between
Region::layer and Region::layering_index.
2023-09-25 22:36:27 +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
Robin Gareus 300de26b3e
Fix XML read error when creating new export profiles
Previously creating a new preset first attempted to load
it from disk, before creating it. This resulted in a
`XML error: failed to load external entity`.
2023-09-25 22:36:24 +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
JungHee Lee f9da85639d
Update ko.po 2023-09-25 18:56:56 +02: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 5082dc62a4
Copy more old config files from v7 to v8 2023-09-25 17:21:10 +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 6db28ef08d remove debug output 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 2c7806835b
Update translation howto 2023-09-24 19:58:25 +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