Commit Graph

17179 Commits

Author SHA1 Message Date
Paul Davis 25310e49c3 add metadata to session property editor so that search "works" there
There's still relatively limited amounts of metadata available there
2024-02-14 09:23:18 -07:00
Edgar Aichinger 7ee7cf5f4e correct a few escape character errors in german (gtk2_ardour) and czech
(libs/ardour) translation strings, fixes .mo generation
2024-02-14 11:50:27 +01:00
Alexandre Prokoudine 4fb2407944 Update Russian translation 2024-02-13 12:37:15 +01:00
Alija Strömkvist 2383c9bb37
Fix incorrect variable mistake
hide_button was used when width_button should've been
2024-02-13 06:59:19 +01:00
Julien Taverna 63103785e6 Update French translation 2024-02-05 22:47:27 +01:00
Edgar Aichinger 177f020745 update german translation 2024-02-05 22:41:11 +01:00
Martin Vlk d84363329b Czech translation updates. 2024-02-03 21:12:02 +01:00
Olivier HUMBERT cfb162e085
French translation update 2024-02-01 18:43:56 +01:00
Paul Davis 07407c4e7c add a tooltip to describe ops on the pianoroll header, incl note select 2024-01-31 14:39:03 -07:00
Robin Gareus f03e598340
Expose Surround Send Enable Sharing in UI 2024-01-30 23:58:43 +01:00
Robin Gareus 0e824cce0b
Fix gtk-critical message when monitor section is not present 2024-01-28 21:59:14 +01:00
Robin Gareus 7946e442d3
Consolidate code, use API 2024-01-28 14:59:17 +01:00
Ben Loftis b37414e01c Srnd: only update LUFS and dBTP displays while transport is rolling 2024-01-21 10:58:23 -06:00
jean-emmanuel 390ffb2253 ui: add some padding in tooltips 2024-01-20 16:09:33 +01:00
jean-emmanuel 971cd9226a theme: missing new outline colors in dark adwaita theme 2024-01-20 15:43:05 +01:00
jean-emmanuel be0e6ac613 ui: fader: use sementically correct color name for fader outline 2024-01-20 15:38:35 +01:00
jean-emmanuel e4d53629ed ui: meter: use sementically correct color name for meter outline 2024-01-20 15:38:35 +01:00
jean-emmanuel feed0008bc ui: editor: fix track/canvas separator alignement with 0 or more rulers visible 2024-01-20 14:46:03 +01:00
jean-emmanuel 783bb84338 ui: mixer: consistent bg color for the master bottom spacer 2024-01-20 14:44:30 +01:00
jean-emmanuel 1fad5fd6e9 ui: editor: consistent track separator color with mixer view 2024-01-20 14:44:30 +01:00
jean-emmanuel 97e32a7a61 ui: mixer: adjust plugin inline display for a more consistent look (same border radius as faders, 1px distance with the edges of the containers and with the connection pins). Does the plugin drawer need to be tricked into drawing to the exact adjusted surface now ? 2024-01-20 14:44:30 +01:00
jean-emmanuel bf0d73b3f1 ui: mixer: remove extraneous outline around strip processor list 2024-01-20 14:44:30 +01:00
jean-emmanuel b8317c9b87 ui: tooltip: remove out of place outline color (use tooltip background color) 2024-01-20 14:44:30 +01:00
jean-emmanuel 08ad1af9dc ui: button: themable outline color instead of hard-coded black 2024-01-20 14:44:30 +01:00
jean-emmanuel 83c23f5f26 gtkrc: remove hard-coded black background around time info box (use theme's darkest) 2024-01-20 14:44:30 +01:00
jean-emmanuel 404a206960 time axis view: remove selected track inner shadow / border (less fuzzy render, and allows using a more contrasted color for strip selection border in mixer view without messing up the time axis view) 2024-01-20 14:44:30 +01:00
Robin Gareus adb196dcde
Show automation lane on touch, now spills related ctrls 2024-01-19 02:55:47 +01:00
Robin Gareus d01bb73548
Mixer: place surround-monitor after master (and before monitor section) 2024-01-15 22:40:35 +01:00
Alexandre Prokoudine f7d022e38c Update Russian translation 2024-01-15 00:28:16 +01:00
Robin Gareus 3d752fc770
Fix snap to triplet 2024-01-14 15:32:02 +01:00
Robin Gareus a6ea40552c
Don't show automation of hidden plugins 2024-01-13 17:56:47 +01:00
Robin Gareus 83e4b49a9e
Retain first-selected-stripable when removing ATAV
This allows ctrl surfaces (notably Faderport) to keep
editing plugin settings, when some unrelated plugin is removed.

Route::processors_changed calls RouteTimeAxisView::processors_changed,
and if a plugin automation line vanishes ~AutomationTimeAxisView
deselected the track. This triggered a control surface update.
2024-01-13 17:56:33 +01:00
Ben Loftis ee6d46d403 Ardour repo should not distinguish between Mixbus variants 2024-01-08 08:25:18 -06:00
Nicolas Petton aac7f82bc8
Add a new color theme inspired by Adwaita (GNOME desktop) 2024-01-07 14:18:26 +01:00
Robin Gareus cbf38408c9
Fix crash when using Ripple with a RegionMoveDrag
See also 1a2fff932f
2024-01-07 14:15:36 +01:00
Robin Gareus ad51c7c2ba
Localize stripped down gtk2
This is intended mainly for GNU/Linux distros who will remove
GTK2 support in the near future.
2024-01-06 21:52:48 +01:00
Robin Gareus 2a928dae19
Vapor: Simple Export GUI 2024-01-06 20:28:42 +01:00
Robin Gareus 7228144d6e
Vapor: GUI support to add Surround Bus 2024-01-06 20:27:03 +01:00
Robin Gareus 9cc966120c
Consolidate internal bus checks (2/2) 2024-01-06 20:21:54 +01:00
Robin Gareus 46a2b45443
Tweak translatable strings
* add spaces around "->"
* consistently use "time domain" (instead of "timebase")
* remove "Edit ->" from "Preferences" (on macOS Prefs
  are not in the edit menu
2023-12-17 20:58:11 +01:00
Edgar Aichinger eeadd04b14 update german translation (this time for real) 2023-12-17 11:45:15 +01:00
Robin Gareus 1434c624ff
Fix ffmpeg-5+ encoding drop-frame framerates 2023-12-13 17:41:44 +01:00
Robin Gareus e7cc096d19
Fix location list order (amend 7ee5a3f24) 2023-12-11 15:54:30 +01:00
Robin Gareus fa0d1d98f9
Update Section list (once) in the background
This can accumulate multiple signal emissions into a
single idle update.
2023-12-10 04:10:01 +01:00
Robin Gareus bdfee53d1f
Fix signal emission for Locations::ripple (2/2) 2023-12-10 04:08:55 +01:00
Robin Gareus fe3827b1d8
Fix crash when session range is created (bug introduced in 7ee5a3f) 2023-12-10 01:48:13 +01:00
Paul Davis f407d4e3b7 ensure that MidiStreamView calls a color handler for each region
This allows MIDI regions to auto-update during theme editing
2023-12-09 14:07:58 -07:00
Robin Gareus 7ee5a3f24d
Keep location lists ordered by start-time 2023-12-09 02:26:49 +01:00
Robin Gareus 1da5c7f389
Fix ordering of locations
There are two lists, one for ranges, and one for
everything else.
2023-12-09 01:43:40 +01:00
Robin Gareus 62f20d126f
Another speedup when multiple locations change
This is mainly relevant for redo, and ripple
when all multiple locations are changed and static signals
are emitted by each Location.
2023-12-08 23:03:38 +01:00
Robin Gareus 857d8096a9
Revert "Keep Location List ordered by start-time"
This reverts commit 67f6363dcd.

This VERY slow when there are many locations in the session
e.g. with #9568 it can take seconds.
2023-12-08 22:14:04 +01:00
Robin Gareus 67f6363dcd
Keep Location List ordered by start-time
Now that Location signal(s) are only emitted when the
drag ended, the list can be kept in sync.

This also adds a further optimization to only update the
list once, even when multiple locations have been changed.
2023-12-08 22:03:22 +01:00
Robin Gareus 067a124fd1
Suspend signal emission of Locations during Drag
This significantly speeds up Location Drag/motion
2023-12-08 21:48:23 +01:00
Robin Gareus 7b1997ffda
Speed up Location changes #9568
Section Markers only need to be updated when an actual
section-marker is modified OR flags change.

This also removes duplicate signal subscriptions and
caches sorted Location list when iterating over section markers.
2023-12-08 17:22:32 +01:00
Robin Gareus 87181710b2
Drop UI shared_ptr references to Transport Masters
This allows ARDOUR::cleanup to unregister ports before
destroying the Audio Engine. This fixes a crash at exist
with JACK since 0786be8.
2023-12-05 04:37:39 +01:00
Robin Gareus 8576db5642
Fix buffer-overflow in power range spectral analysis (#9560) 2023-11-30 19:43:27 +01:00
Robin Gareus de7d0a986b
Foldback: fix memory leak 2023-11-29 02:20:09 +01:00
jujudusud 5138d174cb French translations 2023-11-28 01:07:08 +01:00
Robin Gareus e3128e932c
Compile and install libAAF 2023-11-27 23:25:04 +01:00
Robin Gareus 3355e753bf
Keep track of LV2 externalUI visibility
This allows Ardour to re-open previously shown plugins,
and toggle externalUI.

This worked in the distant past, before Ardour 3.3 introduced
the Ardour Window Manager.
2023-11-26 20:07:00 +01:00
Robin Gareus 04be971238
Properly stop message emission when closing external UI 2023-11-26 20:06:07 +01:00
Nils Philippsen e995daa375 Fix failure to build with libxml2 version 2.12
This declared some xmlError pointers const, which probably was always
assumed, but not made explicit.

Signed-off-by: Nils Philippsen <nils@tiptoe.de>
2023-11-25 00:30:04 +01:00
Paul Davis 253dcb312b make note joining code a bit cleaner and preserve note velocities 2023-11-24 09:29:31 -07:00
Paul Davis d6beba67dc note joining should occur per-channel 2023-11-24 08:32:28 -07:00
Paul Davis f95e94bc29 note tupling tweaks, and note join added
bindings moved to s/S and j, no need to use split-by-grid first

split-by-grid still needs work for non-grid aligned notes
2023-11-23 22:42:04 -07:00
Robin Gareus 438bd7a720
Import Dialog: clean up MIDI information 2023-11-23 18:35:56 +01:00
Paul Davis b92b2389fd make note-tupling work on multiple notes 2023-11-22 19:37:46 -07:00
Paul Davis fb930e8f47 add invalidator() calls to MixerStrip as it connects to ParameterChanged
when the surround bus is removed, it (probably erroneously) causes
changes to the I/O routing for the auditioner, which will be
delivered to anyone who cares via an RCConfiguration ParameterChanged
signal. This will be emitted from a non-GUI thread, and so will not
be handled synchronously. The GUI thread will first handle the notification
that the surround bus was deleted, and that will include deleting the
MixerStrip for the surround bus. But another call_slot() request will
be pending to notify the now-deleted MixerStrip about the auditioner change.

Adding invalidator() calls ensures that the deletion of the MixerStrip removes
all of these pending call_slot() requests.
2023-11-22 17:24:26 -07:00
Paul Davis c3d14b1169 basic note-tupling functionality implemented 2023-11-21 17:07:42 -07:00
Paul Davis 7f779bb934 define new MIDI note splitting actions 2023-11-21 17:07:42 -07:00
Paul Davis 3792bf86e4 MidiRegionView: stubs for new methods 2023-11-21 17:07:42 -07:00
Paul Davis 0f170ec87b MidiRegionView: initialize new members 2023-11-21 17:07:42 -07:00
Paul Davis e39709863a add new state and methods to MidiRegionView for note splitting 2023-11-21 17:07:42 -07:00
Robin Gareus 71e049202c
Fix crash when clicking on region boundary box to start Drag
The box outlines a given region, the grab position may be earlier
than the region's position.

Previously this caused a crash (uncaught exception):

```gdb
__cxa_throw () at /lib/x86_64-linux-gnu/libstdc++.so.6
Temporal::timecnt_t::timecnt_t(Temporal::timecnt_t const&, Temporal::timepos_t const&) at ../libs/temporal/timeline.cc:79
RegionMoveDrag::setup_pointer_offset() at ../gtk2_ardour/editor_drag.cc:2226
```
2023-11-21 20:17:20 +01:00
Paul Davis 4647dd6b41 fix crash when freezing a track with > 1 region (#9539)
deleting regionviews changed the region selection, but the regionview
ptr had not been removed from the RegionViewList. The selection change signal
caused an iteration over the list, and manipulated the deleted regionview.
2023-11-20 19:13:22 -07:00
Mate Pušić e010cf91b9
Fixed a typo 2023-11-20 20:04:27 +01:00
Robin Gareus bea9215a0e
Remove noop include (deprecated, unused gtk header) 2023-11-19 20:28:48 +01:00
Paul Davis da175cc2e8 temporal: remove TempoMap::insert_time() and use shift() instead
The former was incorrectly implemented, and the latter has already been tested more
in real life.

We should likely remove ::remove_time also and use shift() there too, but that
requires testing negative shifts more broadly.
2023-11-19 12:14:10 -07:00
Paul Davis b76c3b11d9 when importing SMF tempo map, use copy&paste to keep position 2023-11-17 10:02:34 -07:00
Paul Davis e0d9970056 remove mistakenly retained stacktrace() call 2023-11-14 19:47:17 -07:00
Paul Davis 7762fa47ea make an attempt to show note length with verbose cursor
Likely much more intelligent string formatting is needed to make this
actually useful to most people
2023-11-14 11:05:13 -07:00
Paul Davis f5af821aba startup: in the usual weird logic, mark startupFSM complete from startup_done()
this disconnects the startupFSM from signals it should no longer
handle, even if its existence continues as a leak (noted
elsewhere in the code).
2023-11-14 11:03:09 -07:00
Paul Davis 729eb60de3 startupFSM: move definition of ::set_complete into source file
and also disconnect from Keyboard signal when called.
2023-11-14 11:02:08 -07:00
Paul Davis 8e583f4c4c startup FSM: save connection to Keyboard::HideMightMeanQuit signal 2023-11-14 11:01:39 -07:00
Robin Gareus 7be61b0909
Fix typo in 69c7db8595 2023-11-13 22:19:03 +01:00
Robin Gareus 69c7db8595
Add Mute button to recorder view 2023-11-13 00:08:38 +01:00
Paul Davis adb508b189 no-strobe behavior for varispeed blink 2023-11-11 10:11:30 -07:00
Paul Davis a5ac6e097e switch no-strobe from cmdline to UI config preference 2023-11-10 15:50:44 -07:00
Paul Davis cc5bd6c63a provide a (visible) UI preferences option for no-strobe 2023-11-10 14:33:39 -07:00
Paul Davis 863ad01a90 no strobe for rec-enable buttons (all of them) 2023-11-10 11:18:17 -07:00
Paul Davis 1b35d5824b remove non-existent method decl 2023-11-10 11:17:53 -07:00
Paul Davis 9c5600ad87 no strobe for mixer ui meters 2023-11-10 10:56:03 -07:00
Paul Davis 5e087864f6 no strobe for editor-visible meters 2023-11-10 10:55:44 -07:00
Paul Davis 08af0fe04a no strobe for the transport peak meter 2023-11-10 10:54:54 -07:00
Paul Davis 036596ba3f no-strobe changes for clocks 2023-11-10 10:37:07 -07:00
Paul Davis 6b5b63240b fix missing inclusion of 's' in opts list 2023-11-10 10:21:28 -07:00
Paul Davis d60dae8cbe new command line flag to control strobe-like effects in the GUI 2023-11-10 10:18:58 -07:00
Robin Gareus 6b3eb55ff6
Fix Lua 1Hz timer signal (#9529) 2023-11-10 14:27:19 +01:00
Robin Gareus db9e11d973
Hide internal plugins from users in the GUI 2023-11-09 02:02:43 +01:00
Paul Davis e658056cd7 length (& position) of the region added for step entry shouuld use in beat time 2023-11-06 20:38:08 -07:00
Robin Gareus 7cd681ec9e
Retain Region layering when duplicating Regions
Editor::duplicate copies regions one at a time. This lead
to region layeres not being retained, particularly since
Playlist::duplicate() puts the duplicated layer at the top.
2023-11-07 00:57:22 +01:00
Paul Davis 673e41434e add image for launchpad mini 2023-11-04 15:13:01 -06:00
Paul Davis 9240b96bea reduce default size of lollis and make them scale with the UI scale factor 2023-11-04 12:27:55 -06:00
Paul Davis cd29e03c05 selection dragging: use time domain given to drag, not editor default 2023-11-03 15:11:38 -06:00
Paul Davis 1b76e90246 when drawing range selection rect, use exclusive end semantics 2023-11-03 15:11:38 -06:00
Robin Gareus 7664b15617
Fix build, amend previous commit 2023-10-31 20:25:18 +01:00
Robin Gareus c162aa7aca
Consistently use context-menu button action
This fixes an issue where brining up a menu can directly activate an
action in the menu. Notably on macOS.

Nathan reports that this may also address #9515

Note: mac touchpads are not affected since right-click there is
effectively a "press and hold".
2023-10-31 20:16:23 +01:00
Robin Gareus 49abbe5777
RhythmFerret: fix heap-use-after-free
After splitting regions, the AudioRegionView of the original
Region no longer exists when the RhythmFerret calls
`clear_transients()` at the end.
2023-10-31 04:31:08 +01:00
Robin Gareus 560885b7da
Do not automatically set `font-size` on macOS
freetype on macOS does not scale fonts, font-scale and ui_scale
have to remain at 100% otherwise other UI elements change size
while the font does not.
2023-10-30 21:52:43 +01:00
Martin Vlk 562a6335de
Czech translation updates. 2023-10-29 02:41:18 +02:00
Paul Davis d5a7e5f289 pass vectors for velocities by reference 2023-10-28 17:48:33 -06:00
Robin Gareus e22415f0ce
Disambiguate In/Out for translations (1/2) #9512 2023-10-28 14:45:33 +02:00
Paul Davis 4ea676b855 lollipops: try to make sure we use the right velocity when setting lolli heights (dragging vs. not dragging 2023-10-27 14:11:47 -06:00
Paul Davis ef0938a16d more improvements to velocity drawing (including straight line) 2023-10-27 11:50:15 -06:00
Paul Davis 91fbb1c65b first steps towards improving straight line drags for velocity 2023-10-27 11:50:15 -06:00
Robin Gareus b8551eed7e
Properly unload VST3 plugins
The InstrumentSelector keeps a PluginPtr reference to all
instruments. By default Ardour does not destroy the editor
at exit, So 3 instances of Instrument Selector can remain

 * TriggerClipPicker in the editor sidebar (owned by _editor)
 * TriggerClipPicker on the TriggerPage (owned by trigger_page)
 * SoundFileOmega (sfbrowser owned by Editor)

If a shared_ptr reference is retained, VST3 Module is not
unloaded at exit. This leads to issues with various plugins.
eg. Reason Rack does not terminate, Ardour hangs at exit.
2023-10-27 00:39:03 +02:00
Robin Gareus 830910c787
Region list columns do not use property_markup
This fixes an issue with frozen region "<F1>Foo" being
displayed as "&lt;F1&lt;Foo" in the sidebar.
2023-10-26 05:46:11 +02:00
Alexandre Prokoudine d5c62fe2b9 Add Alexander Mitchell to the list of authors 2023-10-26 03:48:07 +02:00
Paul Davis a5a1caf9fa NOOP: whitespace changes 2023-10-22 17:15:20 -06:00
Paul Davis 8f405f3657 provide preference for scrolling-adjusts-note-velocity 2023-10-22 17:15:20 -06:00
Robin Gareus 711668267a
Clarify toolbar widget preference
PDC toolbar widget is not just showing information,
but also interactive.
2023-10-21 18:08:52 +02:00
Paul Davis b0871f50b8 an icon image for the launchpad x 2023-10-19 23:41:57 -06:00
Paul Davis 98ff1307bf ardev and waf tweaks for launchpad X 2023-10-19 22:19:23 -06:00
Paul Davis 2e4ceaf34d conform to platform expectations for scroomer select mouse ops 2023-10-18 10:14:34 -06:00
Paul Davis 71ba96aa3b improve/fix mouse click logic on piano roll header
ctrl-click now toggles that note row's selected status, as intended
2023-10-18 09:29:39 -06:00
Paul Davis 4974369787 fix logic in MidiRegionView::select_matching_notes() to not add notes when asked not to 2023-10-18 09:05:48 -06:00
Paul Davis b7b2189d95 fix copy-paste but in MidiTimeAxisView::set_note_selection() - use set, not add 2023-10-18 09:05:10 -06:00
Paul Davis d88b9d36ca freehand draw for velocity only affects selected notes, if any are selected (#9491) 2023-10-18 08:26:42 -06:00
Paul Davis edc0e636e2 allow users to opt for "select only the last drawn note" when drawing notes 2023-10-17 22:03:47 -06:00
Robin Gareus 1f7abff38b
Include Track name when consolidating ranges 2023-10-16 21:12:44 +02:00
Mads Kiilerich 2973e82a90 wscript: sanitize strings from fetch_*_revision_date early instead of applying str() all over
This can perhaps be simplified further when Python2 support is dropped.
2023-10-15 10:47:16 -06:00
Mads Kiilerich 0e3e51d958 wscript: drop str() on VERSION
It will already have been converted to str in sanitize(), and even
python2 is fine without the extra str.
2023-10-15 10:47:16 -06:00
Mads Kiilerich 92aca32652 wscript: stop loading misc where nothing is using it
It is apparently only used in gtk2_ardour/wscript - and it seems to be
enough to load it in configure(), even though it is used in build().
2023-10-15 10:47:16 -06:00
Mads Kiilerich 88cecdfaef wscript: drop repeated autowaf.set_options - it is enough to set at top level 2023-10-15 10:47:16 -06:00
Paul Davis dfbe4f61cd more debug output for bad buffer sized trout 2023-10-12 21:19:21 -06:00
Robin Gareus 653cd3fa17
Fix double free, heap-use-after-free
_canvas_grid_zone and _section_box are destroyed when the
Canvas Container (here: `_track_canvas_viewport`) deletes
child items.
2023-10-11 16:06:35 +02:00
Robin Gareus 273f81fad7
VarispeedDialog fixes, use 100% for speed 1.0
* Honor max-speed
* Fix percentage off-by one (100%)
* keep cents in range -50 .. +50
2023-10-10 05:12:53 +02:00
Robin Gareus 417f3647cc
Keep shuttle ctrl in sync with actual speed
When using "VS" the numeric control shows the "default speed"
when not rolling. Then when starting to roll default speed will
be the actual speed.

Previously the shuttle was not updated when `last_speed_displayed`
was the current speed. This dated back to before "VS" showed
default speed.
2023-10-10 04:18:53 +02:00
Robin Gareus 0f21d26f2c
Mitigate varispeed by percentage issues by constraining range 2023-10-09 23:25:15 +02:00
Robin Gareus 1b0f248e68
Fix creating sessions using CLI arguments (#9473)
Initialize uninitialized variable. Previously this crashed
when setting up the session's time-domain.
2023-10-09 21:16:09 +02:00
Robin Gareus b803179768
Fix label in insert-time dialog
The return of the accidentally removed label in 5b038e488
2023-10-09 20:24:19 +02:00
Paul Davis 0fa63b6d37 add percentage field to varispeed dialog
All fields are kept sync'ed to each other, so it does not matter
which one(s) you use
2023-10-09 11:09:07 -06:00
Robin Gareus c0d91362cf Fix duplicate close-session dialog on macOS
Previously [GtkApplicationDelegate applicationShouldTerminate:]
triggered both StartupFSM::queue_finish and ArdourUI::queue_finish.
Both of which registered an idle-callback to call ArdourUI::finish.
2023-10-09 17:19:17 +02:00
Robin Gareus 120979bd76
Remove unused variable 2023-10-07 22:43:27 +02:00
Paul Davis d67e7cd222 remove some preference metadata related to removed options 2023-10-07 13:14:39 -06:00
Paul Davis d6323a1686 GUI side of 122c9141 (API change for TempoMap::move_meter()) 2023-10-07 11:11:31 -06:00
Robin Gareus cece64e649
Remove another accidentally commited debug message 2023-10-07 18:25:32 +02:00
Robin Gareus f78d82a192
Allow single click to create Region-Gain points (again)
regression was introduced in 18819a48a9
2023-10-07 18:17:36 +02:00
Robin Gareus b962addc8c
Fix Region Gain freehand draw offset for regions with start offset 2023-10-07 17:55:39 +02:00
Robin Gareus 31730794be
Remove debug output from 5426bbfd57 2023-10-07 16:59:26 +02:00
Robin Gareus 5426bbfd57
Allow single-click on TempoMap Ruler markers
This fixes the abort, when clicking on a Tempo, Meter or BBT
Marker using the grid tool.
2023-10-07 15:54:23 +02:00
Robin Gareus b87937a20e
Fix crash when double-clicking on TempoMap Ruler markers
heap-use-after-free. Marker is deleted (and re-created), when
the tempo-map edit is aborted:

```
    #0 0x7f77528ac017 in operator delete(void*) ../../../../src/libsanitizer/asan/asan_new_delete.cpp:160
    #1 0x55f81062800d in TempoMarker::~TempoMarker() ../gtk2_ardour/marker.cc:794
    #2 0x55f80ffb2fc0 in Editor::reset_tempo_marks() ../gtk2_ardour/editor_tempodisplay.cc:205
    #3 0x55f80ffb2b19 in Editor::reset_metric_marks() ../gtk2_ardour/editor_tempodisplay.cc:185
    #4 0x55f80ffb49fb in Editor::tempo_map_changed() ../gtk2_ardour/editor_tempodisplay.cc:301
    #5 0x55f80ffbdf00 in Editor::abort_tempo_map_edit() ../gtk2_ardour/editor_tempodisplay.cc:850
    #6 0x55f80fcf967a in TempoMarkerDrag::finished(_GdkEvent*, bool) ../gtk2_ardour/editor_drag.cc:333
```

Since no movement occurred, the tempo-map was not changed.
however we need to drop the lock and writable thread-pointer...
2023-10-07 15:35:15 +02:00
Robin Gareus 4a8dc04f14
Remove ScrubDrag and vari-speed based fake-scrubbing 2023-10-05 21:53:39 +02:00
Robin Gareus 96c45b65ee
Remove more or less useless Mouse Audition Button
Audition action is very much preferred and also works with
multiple selection.
2023-10-05 21:49:55 +02:00
Robin Gareus e9bde1c638
Make all "Feedback"s translatable #9461 2023-10-05 21:11:59 +02:00
Paul Davis 558b300177 tweaks to arprof to make it more useful with CALLGRIND_* macros 2023-10-05 08:31:11 -06:00
Paul Davis e23f79a8a9 do not create a Gtk::ColorSelectionDialog for every trigger/slot, create on demand 2023-10-05 08:31:11 -06:00
Paul Davis 91f50b8a06 in insert time, don't differentiate between audio/music time markers 2023-10-04 18:50:42 -06:00
Paul Davis dd556f6ee8 NO-OP: line formattting 2023-10-04 18:50:42 -06:00
Paul Davis 85f0648b6b don't pass unnecessary argument to Playlist::shift() 2023-10-04 18:50:42 -06:00
Paul Davis 0ffb9d6c8a following c40f40, make insert/remove time apply to all markers
That is, since there is no "glued-to" concept any more, if markers
are moving, then all markers are moving
2023-10-04 17:07:34 -06:00
Paul Davis 5b038e488c no more "glue to ..." concept in GUI 2023-10-04 17:07:34 -06:00
Paul Davis e363da1f90 NOOP: remove unused variable 2023-10-04 17:07:34 -06:00
Paul Davis 40a0ad2299 tweak shortcut window so that the tree is expanded to actually show search results 2023-10-04 17:07:34 -06:00
Robin Gareus c1be897eed
Explicitly sandbox Lua instances (3/4)
This allows UI scripts (saved in preferences) to access
os.* functions (non-sandboxed), while preventing other
scripts to do so.

Lua scripts that can run os commands can execute arbitrary
code on the system. While this is a nice feature, it can be
equally dangerous.
2023-10-04 02:50:38 +02:00
Krzysztof Gajdemski 7e7337aa61 Update Polish translation 2023-10-04 01:09:24 +02:00
Paul Davis 945ce377aa tempo mapping (like all other drags) must use button1 only
Without this, Editor::button_release_handler() will handle a button3 press
without checking for an active drag, resulting in two drags, and two reversible
commands, and an abort ...
2023-10-03 16:00:35 -06:00
Paul Davis 364c892c68 remove debug output 2023-10-03 11:13:57 -06:00
Paul Davis b2e168e79e NOOP: whitespace cleanup 2023-10-03 10:16:48 -06:00
Paul Davis 2194ae70da must reset BBT markers in GUI after reset_tempo_marks()
reset_tempo_marks() will have destroyed the tempo marks referenced by any
existing BBT marks
2023-10-03 10:16:36 -06:00
Paul Davis 969dcaa8a6 update all location markers during tempo/meter drags 2023-10-02 16:52:34 -06:00
Paul Davis dd8f5c477f remove debug output 2023-10-02 16:52:34 -06:00
Ben Loftis 4d8a0b3535 add a descriptive tooltip to the Timebase selector (needs translations) 2023-10-02 16:02:06 -05:00
Paul Davis e7ced9b855 mergeable line: check callbacks are non-null before calling them 2023-10-02 13:23:52 -06:00
Paul Davis 764ed125a4 region gain line freehand draw: ensure drawn line is above waveform 2023-10-02 12:04:57 -06:00
Alexandre Prokoudine cda1f12845 Update Russian translation 2023-10-02 11:00:05 +02:00
Robin Gareus a1fc671a23
Tweak marker rename dialog title 2023-10-02 03:45:21 +02:00
Paul Davis 1455619e7d revert change in 4bed642d71 that made build_session_from_dialog() do nothing at all 2023-10-01 15:06:29 -06:00
Ben Loftis 0709c20adb add a note why preffered-time-domain is NOT editable from rc_option_editor 2023-10-01 14:01:11 -05:00
Ben Loftis 2f4838db68 if user changes session:property:time-domain, switch the rulers
* if the user has explicitly made any ruler settings, they will be found
   and this will not take effect
2023-10-01 13:59:30 -05:00
Ben Loftis df479bf8cd pre-load the session timebase selector with the user pref 2023-10-01 13:58:45 -05:00
Paul Davis 460b9a24ff add missing file 2023-09-30 12:22:54 -06:00
Paul Davis 18819a48a9 region gain and MIDI CC freehand line drawing
This involved a significant change in event handling for automation region views,
but it brings it into line with how it works for other things. On button press
we initiate a drag, then if no motion occurs, the Drag returns false during
finalization, and only then do we continue through Editor::button_release_handler()
to eventually end up in ::add_automation_event().

Although it is a substantial change, the fact that it now works the same
way for audio regions, automation regions and automation tracks seems
like a definite plus.
2023-09-30 11:09:58 -06:00
Paul Davis 6b64ebdb27 NOOP: do not wrap lines for small screens 2023-09-30 11:09:58 -06:00
Paul Davis b2bb8e9bac move (empty) Drag destructor into source file and add DEBUG_TRACE 2023-09-30 11:09:58 -06:00
Paul Davis 944fcf251d initial refactoring of freehand line drawing
This sets the state to use it with MIDI CC and region gain.

class names LineMerger and MergeableLine need revisiting
2023-09-30 11:09:58 -06:00
Paul Davis 2b2112e303 NO-OP: fix line/whitespace 2023-09-30 11:09:58 -06:00
Ben Loftis 8681d46fbc fix the case where the grid-tool stopped working when you vertically scroll the canvas
there is no need to calculate the size of the grid_zone, just make it "huge"
2023-09-30 07:41:49 -05:00
Paul Davis f504eba0fe velocity regions should never be opaque, even when the region is selected 2023-09-29 08:49:40 -06:00
Paul Davis c72a94250c update to aca5d7d988 to fix lollipop position
As noted in the commit message for that earlier commit, the radius
adjustment should not be required
2023-09-29 08:45:14 -06:00
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