a7a24def36
region groups: prioritize explicitly grouped and ungrouped regions
2023-08-10 16:55:25 +02:00
8818d8484e
region groups: allow the user to explictly group and ungroup regions
2023-08-10 16:55:25 +02:00
fe2473b0cc
region groups: some actions must retain a group-id for the life of the op
2023-08-10 16:55:25 +02:00
b3a5e0b2b1
API change for the start of making tempo mapping undoable (GUI)
2023-08-07 16:33:16 -06:00
afe5331a0b
pbd: fairly unconscionable that Command in libpbd is not namespaced, so now it is
2023-08-07 16:33:16 -06:00
1f5db4234c
markers: no tooltips for metric markers
2023-08-02 15:23:43 -06:00
16dfb95617
tempo/meter edits: no position fields if marker is part of a BBT marker
2023-08-02 15:23:43 -06:00
f9e1357fed
editing a MusicTimePoint as a TempoPoint (from GUI) now operates as it should (or closer)
2023-08-02 15:23:43 -06:00
e36dfa1f09
change display and interaction for BBT Markers
...
Draw regular tempo/meter markers for BBT markers, and move them when BBT marker is dragged
This will (does) allow regular editing workflow for the tempo/meter at at BBT marker
2023-08-02 15:23:43 -06:00
e051b0cad0
remove time domain items from track header menu (reason in comment)
2023-08-02 15:23:43 -06:00
7609df4418
hide tracks-follow-session option
...
Until we can do elastic-audio and audio-timed MIDI, this option needs to remain hidden
2023-08-02 15:23:43 -06:00
bd341bdd0b
expose new-tracks-follow-session time in session properties editor
2023-08-02 15:23:42 -06:00
908c530834
region property editor uses clock mode based on region time domain
...
Still needs to track changes
2023-08-02 15:23:42 -06:00
a4b43a6f69
gui support for changing tracks' time domain
2023-08-02 15:23:42 -06:00
9461911a86
editor uses the session default time domain as its default time domain
2023-08-02 15:23:42 -06:00
d14a3b924e
locations now follow session time domain, always (probably) (GUI edition)
2023-08-02 15:23:42 -06:00
693bdbeed7
add time domain menu to track header menu
2023-08-02 15:23:42 -06:00
6fb57e0213
slightly reorganize Session properties dialog and add default time to Misc
2023-08-02 15:22:52 -06:00
e9585ad530
objects don't have a time domain, they have a time domain provider (GUI)
2023-08-02 15:22:52 -06:00
e430b54554
class name change to clearly disambiguate Evoral::ControlList (a list of time/value pairs) from lists of Controls in libardour (GUI edition)
2023-08-02 15:22:52 -06:00
30d2d7824e
selection-as-group is not an option
2023-08-02 14:11:06 -06:00
1f5a9c4444
correctly redraw marker lanes
...
Old code just redrew them at the same timeline position (which may
or may not be a different pixel position). They need to be updated
with the underlying position of the marker they represent
2023-08-02 14:11:06 -06:00
darless
9f4a0b444e
Fix #9421 : F7 tied to velocity 96 but it was not present in the velocity menu
2023-08-01 22:19:24 +02:00
1d31ace29d
adjust GainMeter* API and design to handle stripables, not just routes for selection/group behavior
2023-07-31 21:12:00 -06:00
200194b134
use identical logic for gain/trim controls as others when it comes to group/select stuff
2023-07-31 18:31:03 -06:00
b338b946b8
remove ill-though assert() - VCAs have gain-faders too
2023-07-31 13:54:00 -06:00
fa38a14120
GUI changes to support new selection/group logic
2023-07-31 13:36:25 -06:00
d1fe9f2846
fold solo-safe and solo-isolate controls into selection-is-group logic
2023-07-31 10:58:56 -06:00
2cf18120c6
use selection-as-group logic for monitoring choice control
2023-07-31 10:58:47 -06:00
78e023fcc2
deselecting a grouped track no longer deselects the entire group
...
I believe this to be more useful behavior than the previous state of affairs
2023-07-28 17:13:29 -06:00
16e1188a2f
move logic for use-selection-as-group into ARDOUR_UI and use it everywhere
2023-07-28 09:50:23 -06:00
639c206432
fix thinko with selection-as-group for GainMeter
2023-07-27 13:31:12 -06:00
fe7c36c04b
allow selection-as-group control of trim controls
2023-07-27 13:30:50 -06:00
c4838f5d87
remove RouteGroup method from RouteUI::maybe_use_select_as_group()
...
No longer necessary, after logic change.
2023-07-27 13:28:51 -06:00
8f70356b81
fix group action disposition for solo/mute/recenable
2023-07-27 11:44:11 -06:00
f400c166cc
change for logic for when to use selection-as-group
2023-07-27 11:43:43 -06:00
c9a58bfae1
consolidate rules for selection-as-group and extend to solo/mute/recanable
2023-07-26 21:06:19 -06:00
e0a491f0ee
NO-OP: add braces mandated by coding style guide
2023-07-26 21:05:35 -06:00
d79e0e9039
add preferences dialog item to control selection-as-group
2023-07-26 18:54:09 -06:00
70e97e2724
move region information preferences into Appearance
...
This makes some space on the Editor tab/page, and they were more appearance
related anyway
2023-07-26 18:39:48 -06:00
acac9ac006
add and use UI config variable to decide whether selection-as-group is allowed
2023-07-26 18:30:59 -06:00
bc407151cd
fix thinko with selection-based gain control
2023-07-26 18:15:42 -06:00
5497c4e74e
extend use-selection concept to solo control on mixer strip
2023-07-26 18:09:26 -06:00
e60c1840cb
remove modifier for use-selection on gain controls
...
The condition is now: use selection if route is not in a group that shares gain
2023-07-26 18:09:04 -06:00
6ba69cfd57
gain slider: correctly new push/pop group for use selection
2023-07-26 16:42:12 -06:00
d7ed491f75
gain controls: tenatively use new "use selection" feature
2023-07-26 13:39:05 -06:00
3c2112abf5
widgets & GUI: Start/StopGesture signals should pass on GDK event state
2023-07-26 13:11:52 -06:00
darless
e28eaa843d
Fix #8857 : Remove snap from decision making about number of divisions
2023-07-25 08:51:35 -06:00
dfc52fd5fb
Plugin analysis: cairo coordinate system fixes
2023-07-18 18:13:34 +02:00
ec7d502959
cairo single pixel line offset fix, part 2
...
This will need careful visual inspection of the items drawn by the
affected code to make sure they are still precisely as intended
2023-07-17 20:55:13 -06:00
b8af596a92
update all marker positions after a tempo map change
2023-07-15 11:08:45 -06:00
460266de13
NOOP: whitespace fix
2023-07-15 11:08:45 -06:00
John Emmas
35c04d0ee7
Add a missing namespace specifier
2023-07-15 12:55:30 +01:00
509efdb290
temporal: refactor ::get_grid() for performance reasons
...
the API now provides the option to call ::get_grid() with an iterator which may
be re-used on subsequent calls. This avoids unbounded O(N) "walks" from the
marker preceding the start point of the grid to the start point.
This commit also includes "fast-path" code for the common case of a single
tempo and single meter
2023-07-14 13:03:36 -06:00
ae5755dbe5
do not mark sections of menu/action paths as translatable, since they are not
2023-07-14 13:03:36 -06:00
ed869da97e
reserve space for tempo map grid (GUI side)
2023-07-14 13:03:36 -06:00
f41505a8c6
add Editor::count_bars() after removing it from libtemporal
2023-07-14 13:03:36 -06:00
df52c39ce0
freehand line drawing: automation & velocity share the same basic code
2023-07-14 13:03:26 -06:00
2c48aabe08
Handle race condition when removing route before routeUI
...
This fixes a crash when removing the monitor section.
The monitor route goes away, but the GUI remains. The
IOButton may still process previously queued
cross-thread signals.
In many cases this was not an issue since the route's
memory was not immediately released or shared_ptr
destruction only happened a short time later.
2023-07-14 19:03:32 +02:00
bedab69338
Pin Dialog: hide send polarity invert
2023-07-14 16:59:54 +02:00
8145e92b43
Clarify Control point edit dialog messages, add tooltip
2023-07-11 01:16:58 +02:00
4c8b414fb6
Allow to numeric ctrl point edit to apply to all selected points
2023-07-11 00:53:48 +02:00
ac68fcb880
automation drawing: fix right-to-left free drawing
2023-07-10 14:39:23 -06:00
f6f1f3393d
automation drawing: fatter line
2023-07-10 14:38:58 -06:00
d12aa315fc
automation drawn: ensure the right-to-left drawn lines are ordered correctly
2023-07-10 14:23:39 -06:00
9d5b6a78d5
automation drawing: better line color
2023-07-10 14:16:59 -06:00
25d17e857f
when free-drawing straight lines, allow retrograde motion
2023-07-10 13:42:25 -06:00
57167dafbe
use configurable thinning factor, not a hard-coded constant
2023-07-10 13:42:06 -06:00
67d9fa885a
use mid-drag key events to allow Alt to force a line break
2023-07-10 12:22:16 -06:00
a14c534d16
dragging: add possibility of handling key events mid-drag
...
Currently only called from a canvas automation track event handler.
2023-07-10 12:21:27 -06:00
6453049c0a
automation drawing: add point at grab start & use new ControlList API for speed
2023-07-10 11:20:47 -06:00
7f653de3e2
automation drawing: don't draw staircases when there are no staircases
2023-07-09 22:14:38 -06:00
c584bfd374
automation drawing: thinning does not work well with snapped-drawn lines
...
Also, adding points to a ControlList can fail and that's OK
2023-07-09 22:10:18 -06:00
caa278ae55
fix reverse drags and a compiler warning
...
Not quite sure what to do if we fail to add a point, yet
2023-07-09 21:01:22 -06:00
0a0a882f5a
snapping, straight lines, and merge drawn points to list for auto draw
2023-07-09 20:42:09 -06:00
e0c24f5bcf
automation drawing: stay in your lane and keep moving in the same direction
2023-07-09 18:12:08 -06:00
86d5e2472c
automation drawing: we have the squiggly
2023-07-09 17:39:32 -06:00
78bca64a81
fix (and maybe break) two Drag classes that used the wrong name for setup_pointer_offset()
...
This might have unexplored consequences
2023-07-09 17:39:11 -06:00
6743c09b4a
change return type from ptr to reference for AutomationTimeAxis::base_item()
2023-07-09 17:37:22 -06:00
94f413c399
basic empty skeleton for automation draw drag
2023-07-09 16:33:16 -06:00
0c8fd48d6f
velocity lane: appropriately hide automation controls until we have line automation
2023-07-08 17:18:14 -06:00
2a1d4ffce9
Add note about LuaSignal for windows
2023-07-05 19:38:51 +02:00
9b8040a9f4
Add Lua signal emitted when editor selection changed
2023-07-04 21:13:52 +02:00
b757dd9fd8
Vertically center markers
...
see also 64d633cd26
2023-07-03 18:35:56 +02:00
7e121f4e13
Fix alloc-dealloc-mismatch (malloc vs operator delete)
2023-07-02 23:54:16 +02:00
168b67bd17
Allow to initiate Rubberband-drag on blank Trackview
2023-07-02 21:19:46 +02:00
1f4490fff9
Allow to select region-gain points via rubber-band drag
2023-07-02 20:47:41 +02:00
64d633cd26
amend/fix b490f7d2a1
to correctly (?) place marker text
2023-07-01 21:07:25 -06:00
d688af76c0
clean up mapping bar context menu, extend with clear tempos
2023-06-30 15:50:47 -06:00
bfa13ad714
temporal: reference time for BBT_Argument is always superclocks (GUI)
2023-06-30 12:10:50 -06:00
e756786a13
bbt markers: remove tempo&meter marker on deletion
2023-06-28 18:05:34 -06:00
ac491fce0e
bbt markers: now have an (insensitive) tempo and meter marker visible
...
probably needs more work for event handling on the tempo and
meter markers.
2023-06-28 18:03:38 -06:00
b490f7d2a1
markers: fix position of BBT marker text (tiny tweak)
2023-06-28 18:03:38 -06:00
c53a476f15
allow drawing automation control points in mouse object mode
...
This is a tentative change and if it proves unwise we can back it out.
I just find it awkward to have to change modes to draw when it is
completely obvious whether I am drawing or not.
2023-06-28 13:44:59 -06:00
99c87e0614
no smart mode behavior for automation region views (it makes no sense)
2023-06-28 13:44:59 -06:00
36769dd94c
part 2 of showing region selection in MIDI CC (automation) tracks
2023-06-28 13:44:59 -06:00
64b08a1c70
when a parent (audio/MIDI) regionview is selected, raise matching AutomationRegionView
...
Currently, we only use AutomationRegionView to show MIDI CC data
2023-06-28 13:44:59 -06:00
78037a532c
when displaying region selecting, compare regions not regionviews
...
This worked before because nothing happened to AutomationRegionViews
when an AudioRegionView or MIDIRegionView was selected, and so
testing based on the regionview worked (the potential RV could
be the actual RV).
But when displaying region selection (in any way) on other TimeAxisViews,
the correct test is whether the RegionView shows the same region
as the selected region(view).
2023-06-28 13:44:59 -06:00
ed48758fb6
NO-OP: add comment
2023-06-28 13:44:59 -06:00
e54e24a7a0
no need for two raise-to-top; set_velocity_mode() will do it
2023-06-27 14:07:47 -06:00
58a6fcfe37
lollis: note selection should move corresponding lolli to top
2023-06-27 14:07:31 -06:00
ce1ec1107c
fix layering of automation views
...
This code is awful, and ought to be restricted only to velocity lanes by
a better design
2023-06-27 12:53:08 -06:00
294de8d64f
no automation line event stuff for velocity tracks (for now)
2023-06-27 09:42:14 -06:00
e6b4d38e52
remove debug output
2023-06-27 09:21:56 -06:00
1febe07480
lollis: use layering to enable editing of overlapping regions
2023-06-27 09:19:29 -06:00
f7176b411e
lollis: fix crash when a note is removed
2023-06-26 16:28:32 -06:00
57fc25c28d
lollis: tweak color of dragging line (still not sure about this)
2023-06-26 14:18:18 -06:00
7dc532a646
lollis: only allow velocity editing on currently selected region
2023-06-26 14:18:18 -06:00
6ef84ca376
increase transparency of velocity ghost regions
2023-06-26 14:18:18 -06:00
b3de53eb95
when a playlist is relayered, relayer ghost regions too
2023-06-26 14:18:18 -06:00
296d0756a1
lollis: add left/right|earlier/later outlines to ghost region
2023-06-26 14:18:18 -06:00
744208f556
lollis: no more channel-based choice, just a single check menu item like gain/pan/etc.
2023-06-26 14:18:18 -06:00
60256282e3
lollis: make a single drag be represented by a single Command object (for undo/redo)
2023-06-26 14:18:18 -06:00
006779d4c3
lollis: better selection algorithm during drag, plus drawn line
2023-06-26 14:18:18 -06:00
6ea7e8c8f4
improve button up/down tracking during velocity draw drag
2023-06-26 14:18:18 -06:00
6d4bbae48c
prototyping mouse-drag-paint velocity
2023-06-26 14:18:18 -06:00
31de7e93bf
lollis: show note selected status (using note selection outlien color)
2023-06-26 14:18:18 -06:00
f3e996bdb7
NOOP: remove unnecessary namespace qualifier
...
BTW, ColorMode needs to move from libardour into the GUI
2023-06-26 14:18:18 -06:00
25bb43e285
lollis: color management during drag, and verbose cursor
2023-06-26 14:18:18 -06:00
c75b9a11ef
lollis: fix drawing and positioning glitches
2023-06-26 14:18:18 -06:00
62bb8ccbeb
removed unnecessary files
2023-06-26 14:18:18 -06:00
01381dad77
lollis: remove unnecessary drag object member
2023-06-26 14:18:18 -06:00
2d9a2ad668
lollis: also adjust velocity bars during the drag
2023-06-26 14:18:18 -06:00
f7130f5c02
lollipop drag: move all selected notes
2023-06-26 14:18:18 -06:00
077c5ba5d1
NO-OP: add helpful comment
2023-06-26 14:18:18 -06:00
cf7ba80fc1
the basics of lollipop dragging
2023-06-26 14:18:18 -06:00
2977205f3a
add skeleton for lollipop drags
2023-06-26 14:18:18 -06:00
0a530d3c18
manual fixes following rebase on master
2023-06-26 14:18:17 -06:00
16f682110f
local lollippop fix for newer canvas lollipop API
2023-06-26 14:18:17 -06:00
2a8f275174
sort of no-op: change variable name for slightly better legibility
2023-06-26 14:18:17 -06:00
4b155cb946
Revert "file deleted"
...
The files are back.
This reverts commit c7e3e824d10bf211367a62f69287f6076d36106e.
2023-06-26 14:18:17 -06:00
178917e627
Revert "do not need these files"
...
Seems that we will have a use for them after all.
This reverts commit f9ec3a952553deefea0a17809a97dc92d5cf6db7.
2023-06-26 14:18:17 -06:00
4305ef34f8
switching between lollis and line now allows lollipop events
2023-06-26 14:18:17 -06:00
5c03ffd6f5
fix assignment/comparison typo
2023-06-26 14:18:17 -06:00
2de0e62695
for velocity automation lanes, make sure ghosts group is on top
...
otherwise, it's the streamview on top, and that prevents lollipops receiving
events.
this may have to change once the line becomes an option.
2023-06-26 14:18:17 -06:00
60628a62be
somewhat active lollipop event handling
2023-06-26 14:18:17 -06:00
f7e97be115
canvas lollipops: object redesign and reimplementation
2023-06-26 14:18:17 -06:00
7e4a3dce01
lollipop pixel pushing
2023-06-26 14:18:17 -06:00
1a4ef77222
C++11 FTW
2023-06-26 14:18:17 -06:00
9089694e36
pops visible and somewhat responsive to note changes
2023-06-26 14:18:17 -06:00
805ba0442f
file deleted
2023-06-26 14:18:17 -06:00
b157132807
do not need these files
2023-06-26 14:18:17 -06:00
4bafadc419
steps to an ecology of lollipops
2023-06-26 14:18:17 -06:00
52f10ad2a8
velocity views will be ghost regions
2023-06-26 14:18:17 -06:00
e54e8f3f4c
tweaks to GhostRegion to prepare for possible inheritance
2023-06-26 14:18:17 -06:00
ba2f9411e2
oops, remove typo
2023-06-26 14:18:17 -06:00
59ccc9c5ee
velocity region views: strip out existing event handling (avoids crash)
2023-06-26 14:18:17 -06:00
9e071f70d7
remove debug output
2023-06-26 14:18:17 -06:00
2797ea9666
remove unusued "MIDI underlay" cruft
2023-06-26 14:18:17 -06:00
fcba147acd
remove concept of a velocity time axis view, just use velocity region view
2023-06-26 14:18:17 -06:00
bc60f7492f
automation stream view now creates VelocityRegionView when appropriate
2023-06-26 14:18:17 -06:00
5c42f6ea71
copy VelocityRegionView from AutomationRegionView
2023-06-26 14:18:17 -06:00
db055df9d8
add new files
2023-06-26 14:18:17 -06:00
ea6717f041
empty, useless velocity lane for MIDI tracks
2023-06-26 14:18:17 -06:00
6cb4d01f1f
add velocity item to MIDI track automation menu
2023-06-26 14:18:17 -06:00
Edgar Aichinger
fbc776de52
fix typos, clean up and complete new time/range section strings, ensure consistent translation of "playhead"
...
(recreated after broken merge and reset to upstream master)
2023-06-26 13:17:36 +02:00
87ad86d464
More codenames
2023-06-26 13:16:55 +02:00
e1950ec49e
Update Russian translation
2023-06-23 03:10:52 +02:00
705321b015
Fix compilation with --luadoc
2023-06-23 00:49:58 +02:00
JungHee Lee
52d488e2ce
Update ko.po
2023-06-22 15:49:13 +02:00
a996645ef1
Update plugin-pin dialog when route or plugin name changes
2023-06-22 15:28:37 +02:00
71a83ed199
Fix heap-use-after-free when toggling manual pin-control
...
When toggling "Manual Config", Route::customize_plugin_insert()
or Route::reset_plugin_insert() emits processors_changed.
This destroyed the widget from which the change was initiated,
in ppw.clear(), leading to a use-after-free in
ArdourButton::on_button_release_event(_GdkEventButton*) ../libs/widgets/ardour_button.cc:995
The PluginPinDialog does not need to refill the widget list
when manual config is toggled, only the PluginPinWidget itself
needs to updated.
2023-06-22 04:50:43 +02:00
92b86d8dd6
Prepare for systemic_hw_*_latency API removal
...
This API is not used by any backend anymore.
2023-06-21 23:58:46 +02:00
1b6ba4d71d
Improve error message
2023-06-18 16:24:33 +02:00
311c1bff4e
EngineDialog: MIDI config is always directly apply-able
...
`can_change_systemic_latency_when_running()` is only relevant for
Audio. This allows to en/disable MIDI ports and set MIDI port
systemic latency with the PortAudio backend.
2023-06-18 02:41:06 +02:00
b55575d7c6
Hide snapped cursor when changing edit-point ( #7966 )
2023-06-17 23:49:42 +02:00
1251b90b66
midi notes: fix visual end point of notes
...
ArdourCanvas::Rectangle has exclusive end coordinates, so the - 1
is not necessary.
2023-06-15 20:10:32 -06:00
de334c14b1
drop use of Editor::sample_to_pixel_unrounded() in some cases
...
We want things rounded to the nearest pixel in these (and perhaps all) cases.
2023-06-15 20:10:32 -06:00
a7c21de229
Update Link to VST3 location spec
2023-06-16 01:38:59 +02:00
73ed3bc7e0
midi copy drag: select all new notes after drag
...
Cut-n-paste worked before, but Primary-drag only selected the dragged note.
This also contains several code changes to use for (auto ...) syntax.
2023-06-14 21:42:23 -06:00
b516d6abf9
Add keyboard shortcut for delete-section
2023-06-14 20:10:33 +02:00
f602618170
Expose delete-section function
...
(insert-section still remains hidden, it inserts the length
of the selection at the edit-point, it should perhaps insert
at the start of the selection instead)
2023-06-14 19:43:58 +02:00
6319980746
Fix TempoDialog port-list when devices are hotplugged
2023-06-13 17:03:27 +02:00
05c29e25f9
reorder tempo dialog contents, provide non-presented var to control focus behavior
2023-06-12 18:00:21 -06:00
d742e876d1
region/source lists: try to allow primary-(cxv) functionality when editing name/tag fields
2023-06-12 15:34:54 -06:00
a8fdf7315b
keyboard: if a magic widget has focus, handle Primary-(x,c,v) specially
...
propagate first, so that the magic widget can handle things, then activate.
This fixes cut/copy/paste bindings within a "magic" widget.
2023-06-12 14:42:08 -06:00
66e714b476
fix crash when using -D accelerators
2023-06-12 14:41:41 -06:00
04b728fb38
MIDI: fix list editor display of note length (names) ( #9371 )
...
Triplets are still not handled well.
2023-06-12 14:01:06 -06:00
50232a23a7
temporal: hide superclock_t variant of TempoMap::metric_at()
...
This fixes several callsites that were passing samplepos_t to get a TempoMetric,
some of them somewhat significant (e.g. VST plugins that want tempo information).
Bad API design on my part, apologies.
This commit combines libs/ and gtk2_ardour because the new private status
of the ::metric_at() call would be a blocking point for git bisect
2023-06-12 12:36:16 -06:00
ac2ed95677
Keep Script-Dialog on top of Script-Manager Window
2023-06-10 21:37:09 +02:00
16030f63a1
Keep Ardour dialog on top of parent
2023-06-10 21:36:31 +02:00
b3f9b38088
Make it convenient to use ASAN
2023-06-10 16:47:38 +02:00
6ac0aae35f
Implement playlist switch undo/redo
2023-06-10 15:03:46 +02:00
322e7c328e
Vkeybd: Bind F5 to F8 keys to velocity
2023-06-10 15:03:09 +02:00
fbce94d55d
Fix playlist use-count 1/2
2023-06-10 03:33:51 +02:00
9486b4e6cb
Fix port-disconnection label w/pipewire ( #9355 , #9364 )
2023-06-09 19:19:41 +02:00
72850d456f
implement time-stretch from left of region
...
Make click & drag in the left-hand half of a region with the Timestretch
tool stretch the region on its left, leaving the end position of the new
time-stretched region in the same place as the end of the original.
2023-06-09 17:57:52 +01:00
96eb7652c9
fix warning from fallthrough comment typo
...
Fix "warning: this statement may fall through [-Wimplicit-fallthrough=]",
caused by the misspelling of "fallthrough" as "fallthough" in
editor_ops.cc.
Note that if you use ccache, you'll need to clear its cache to actually
get rid of the warning, because the pre-processed file (with comments
removed) is identical before & after this change, and thus won't get
recompiled otherwise.
Fix the equivalent typos in marker.cc too, though in those cases there's
no actual warning, because presently all the fall-throughs are from empty
cases.
2023-06-09 16:45:31 +01:00
586b109f9e
Remove unused variable, fix small memory leak
2023-06-08 23:14:33 +02:00
a5946ba2e2
Fix heap-use-after-free at exit
...
Deleting _track_canvas_viewport automatically destroys
any child Items. The LocationMarker's group was already destroyed
when ~ArdourMarker() runs and calls `delete group`.
So first delete the marker, then the canvas
2023-06-08 22:50:15 +02:00
44a6069694
Allow nonsensical meter-types for by default for tracks #9341
2023-06-07 22:22:52 +02:00
b4d95eec57
Do play MIDI notes on selection/draw by default
...
Since 4ad1c19166
"select all" etc no longer plays
all notes, and possibility to get a loud speaker-blasting
cacophony is greatly reduced.
We may still want to add some additional heuristics, or
special case drawing new notes/hits, but for now this it
is sensible to enable this by default.
2023-06-07 22:22:52 +02:00
91579608b2
Remove duplicate API to find session files (ignore ._
files)
...
Session::possible_states correctly filters files
and also directly returns sorted base-names.
We can remove the redundant `get_state_files_in_directory`
API now.
see also 193b35e885
2023-06-07 17:37:40 +02:00
04d50ab880
Fix mouse edit-point cursor when dragging
...
Editor::motion_handler() only updates the snap-cursor
when no drags are active. While dragging, Drag::motion is
responsible to set the cursor accordingly.
In many cases the snap-cursor simply remained stuck at
the most recent position. Since in many cases
(e.g. RubberbandSelectDrag) it makes no sense to show the
cursor, so Drag::start_grab now hides the cursor by default.
This also fixes cases where the cursor is shown, but
was displayed in the wrong location.
2023-06-07 02:38:39 +02:00
3468ffddbb
Update GUI: add new section operations
2023-06-06 02:42:43 +02:00
961c6ae8d7
Prepare UI for section cut/copy API update
2023-06-06 02:42:43 +02:00
54fac9abac
Allow user to not be reminded about tempo-map not being pasted
2023-06-05 20:04:41 +02:00
dc338b7e93
Downgrade error messages that users cannot do anything about
...
Besides, it can happen under normal circumstances that the
Editor window, or any other window with clocks (prefs) is
visible while no session is loaded.
2023-06-05 15:58:50 +02:00
464df06419
Fix signal emission order ambiguity (record regionview)
...
A rec-region is added to the streamview just like any other region
(::add_region_view_internal). This subscribes to region->DropReferences.
When the DropReferences is handled first by StreamView::remove_region_view
the corresponding RegionView is destroyed.
This can happen even while recording is still active, eg. when locating
(which stops the current recording).
MidiStreamView::setup_rec_box() is called and crashes in
`dynamic_cast<MidiRegionView*> (rec_regions.back().second);`
due to a use after free.
Strictly speaking this is a logic error in how ::setup_rec_box()
determines if to add or remove the rec-box. But due to the
asynchronous nature of signal emission and transport-state changes
the best solution is to destroy the rec-region at the same
when the RegionView is destroyed.
To reproduce:
* create a session with a MIDI track
* disconnect the input (empty MIDI regions are removed)
* Preferences > Transport > *enable* latched-record-enable
* use the Dummy backend's MIDI generator
* connect Hardware > MIDI > MMC -> Ardour misc > MMC in
OR use JACK-transport to locate while recording.
2023-06-04 21:42:02 +02:00
1feb9b5e89
Streamview: NO-OP, consolidate code
2023-06-04 20:21:41 +02:00