Commit Graph

16894 Commits

Author SHA1 Message Date
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