91fbb1c65b
first steps towards improving straight line drags for velocity
2023-10-27 11:50:15 -06:00
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
830910c787
Region list columns do not use property_markup
...
This fixes an issue with frozen region "<F1>Foo" being
displayed as "<F1<Foo" in the sidebar.
2023-10-26 05:46:11 +02:00
d5c62fe2b9
Add Alexander Mitchell to the list of authors
2023-10-26 03:48:07 +02:00
a5a1caf9fa
NOOP: whitespace changes
2023-10-22 17:15:20 -06:00
8f405f3657
provide preference for scrolling-adjusts-note-velocity
2023-10-22 17:15:20 -06:00
711668267a
Clarify toolbar widget preference
...
PDC toolbar widget is not just showing information,
but also interactive.
2023-10-21 18:08:52 +02:00
b0871f50b8
an icon image for the launchpad x
2023-10-19 23:41:57 -06:00
98ff1307bf
ardev and waf tweaks for launchpad X
2023-10-19 22:19:23 -06:00
2e4ceaf34d
conform to platform expectations for scroomer select mouse ops
2023-10-18 10:14:34 -06:00
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
4974369787
fix logic in MidiRegionView::select_matching_notes() to not add notes when asked not to
2023-10-18 09:05:48 -06:00
b7b2189d95
fix copy-paste but in MidiTimeAxisView::set_note_selection() - use set, not add
2023-10-18 09:05:10 -06:00
d88b9d36ca
freehand draw for velocity only affects selected notes, if any are selected ( #9491 )
2023-10-18 08:26:42 -06:00
edc0e636e2
allow users to opt for "select only the last drawn note" when drawing notes
2023-10-17 22:03:47 -06:00
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
dfbe4f61cd
more debug output for bad buffer sized trout
2023-10-12 21:19:21 -06:00
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
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
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
0f21d26f2c
Mitigate varispeed by percentage issues by constraining range
2023-10-09 23:25:15 +02:00
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
b803179768
Fix label in insert-time dialog
...
The return of the accidentally removed label in 5b038e488
2023-10-09 20:24:19 +02:00
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
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
120979bd76
Remove unused variable
2023-10-07 22:43:27 +02:00
d67e7cd222
remove some preference metadata related to removed options
2023-10-07 13:14:39 -06:00
d6323a1686
GUI side of 122c9141 (API change for TempoMap::move_meter())
2023-10-07 11:11:31 -06:00
cece64e649
Remove another accidentally commited debug message
2023-10-07 18:25:32 +02:00
f78d82a192
Allow single click to create Region-Gain points (again)
...
regression was introduced in 18819a48a9
2023-10-07 18:17:36 +02:00
b962addc8c
Fix Region Gain freehand draw offset for regions with start offset
2023-10-07 17:55:39 +02:00
31730794be
Remove debug output from 5426bbfd57
2023-10-07 16:59:26 +02:00
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
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
4a8dc04f14
Remove ScrubDrag and vari-speed based fake-scrubbing
2023-10-05 21:53:39 +02:00
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
e9bde1c638
Make all "Feedback"s translatable #9461
2023-10-05 21:11:59 +02:00
558b300177
tweaks to arprof to make it more useful with CALLGRIND_* macros
2023-10-05 08:31:11 -06:00
e23f79a8a9
do not create a Gtk::ColorSelectionDialog for every trigger/slot, create on demand
2023-10-05 08:31:11 -06:00
91f50b8a06
in insert time, don't differentiate between audio/music time markers
2023-10-04 18:50:42 -06:00
dd556f6ee8
NO-OP: line formattting
2023-10-04 18:50:42 -06:00
85f0648b6b
don't pass unnecessary argument to Playlist::shift()
2023-10-04 18:50:42 -06:00
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
5b038e488c
no more "glue to ..." concept in GUI
2023-10-04 17:07:34 -06:00
e363da1f90
NOOP: remove unused variable
2023-10-04 17:07:34 -06:00
40a0ad2299
tweak shortcut window so that the tree is expanded to actually show search results
2023-10-04 17:07:34 -06:00
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
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
364c892c68
remove debug output
2023-10-03 11:13:57 -06:00
b2e168e79e
NOOP: whitespace cleanup
2023-10-03 10:16:48 -06:00
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
969dcaa8a6
update all location markers during tempo/meter drags
2023-10-02 16:52:34 -06:00
dd8f5c477f
remove debug output
2023-10-02 16:52:34 -06:00
4d8a0b3535
add a descriptive tooltip to the Timebase selector (needs translations)
2023-10-02 16:02:06 -05:00
e7ced9b855
mergeable line: check callbacks are non-null before calling them
2023-10-02 13:23:52 -06:00
764ed125a4
region gain line freehand draw: ensure drawn line is above waveform
2023-10-02 12:04:57 -06:00
cda1f12845
Update Russian translation
2023-10-02 11:00:05 +02:00
a1fc671a23
Tweak marker rename dialog title
2023-10-02 03:45:21 +02:00
1455619e7d
revert change in 4bed642d71
that made build_session_from_dialog() do nothing at all
2023-10-01 15:06:29 -06:00
0709c20adb
add a note why preffered-time-domain is NOT editable from rc_option_editor
2023-10-01 14:01:11 -05:00
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
df479bf8cd
pre-load the session timebase selector with the user pref
2023-10-01 13:58:45 -05:00
460b9a24ff
add missing file
2023-09-30 12:22:54 -06:00
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
6b64ebdb27
NOOP: do not wrap lines for small screens
2023-09-30 11:09:58 -06:00
b2bb8e9bac
move (empty) Drag destructor into source file and add DEBUG_TRACE
2023-09-30 11:09:58 -06:00
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
2b2112e303
NO-OP: fix line/whitespace
2023-09-30 11:09:58 -06:00
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
f504eba0fe
velocity regions should never be opaque, even when the region is selected
2023-09-29 08:49:40 -06:00
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
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
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
72761734e8
region groups: more fixes for drag-copy and range-paste operations
2023-09-27 11:06:40 -05:00
73991c4190
Clean up the Korean translation from dupes
2023-09-26 21:41:57 +02:00
3166ca7ffd
only UI scale the scroomer itself, not the kbd header
2023-09-26 11:33:48 -06:00
201b9574a2
In Draw mode, do not allow to grab lines.
...
see also 3cf1227421
and c578695a64
2023-09-26 17:03:09 +02:00
1f937fa0b1
Update Russian translation, Part 3
2023-09-26 14:07:03 +02:00
611452df35
Retain Change Dialog settings when MIDNAM model changes
2023-09-26 05:32:57 +02:00
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
70c3142c2c
small visual and peformance tweaks for midistreamview bg draw
2023-09-25 20:03:04 -06:00
6f802015d7
scroomer should follow UIConfiguration's max note height setting
2023-09-25 18:40:12 -06:00
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
eed79f45d7
Fix layering when copy/pasting regions (2/2)
2023-09-25 22:36:28 +02:00
5fe127eb49
Keep preset message dialog on top of export dialog
2023-09-25 22:36:27 +02:00
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
b711da9153
scroomer prelight and handles
2023-09-25 11:01:22 -06:00
d892614742
fix DEBUG_TRACE message about a drag
2023-09-25 11:01:22 -06:00
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
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
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
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
61d8ceaa85
change API of Editor::get_quantize_op() and fix flaky UX when using quantize-notes
2023-09-24 15:01:04 -06:00
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
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
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
32efd92360
Add missing #include for NoteType
2023-09-24 14:27:29 +02:00
184bd500f7
NO-OP: clang-format
2023-09-24 14:25:14 +02:00
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
1386a96af0
MIDI List editor: fix off by one with scroll duration
2023-09-24 13:11:07 +02:00
82fdd08953
MIDI list editor: fix note position scroll
2023-09-24 12:56:44 +02:00
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
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
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
b2f36804be
Add missing Lua bindings (UIConfig get/set)
2023-09-22 17:40:42 +02:00
34c40e0a44
Update Russian translation, Part 2
2023-09-22 12:38:29 +02:00
22e15b135e
Update Russian translation, Part 1
2023-09-22 04:38:32 +02:00
c642611fe8
fix crash in ghostregions after adding notes but not invalidating optimization iter ( #9452 )
2023-09-21 16:26:59 -06:00
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
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
727b666c18
NOOP: reformat comment
2023-09-18 19:57:37 -06:00
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
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
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
Mads Kiilerich
f1bb18ae53
wscript: drop unused path_prefix
...
It is not referenced anywhere, and also not set consistently.
2023-09-17 07:34:55 -06:00
Mads Kiilerich
d220f477ed
wscript: drop unused "mandatory variables" 'top' and 'out' in libs
...
Variables by these names are only used from the local wscript and when
running "waf configure", which already for other reasons only can run at
the top-level.
These variables are thus not mandatory and not used.
2023-09-17 07:34:55 -06:00
Mads Kiilerich
69e987909e
wscript: inline top = '.' for build_i18n
...
'top' was a constant that was set to '.', even when inside
subdirectories. It is thus not really top.
I don't know if the intent was to use the actual top (which is available
as bld.top_dir), but for now we make it explicit what we have and do.
2023-09-17 07:34:55 -06:00
Mads Kiilerich
5d5aa61e0f
wscript: drop unused gtk2_ardour wscript functions
...
This gets rid of an odd use of "out".
2023-09-17 07:34:55 -06:00
Mads Kiilerich
6bf9fd4ffb
wscript: drop unused base_font variable
2023-09-17 07:34:55 -06:00
Mads Kiilerich
aa3f6e3a5c
wscript: drop unused local VERSION variables
...
pyflakes correctly points out problems like:
gtk2_ardour/wscript:537:5 local variable 'VERSION' is assigned to but never used
2023-09-17 07:34:55 -06:00
Mads Kiilerich
7737c17d52
wscript: drop unused imports, scripted
...
Done with ad hoc scripting hacks processing unused imports found by pyflakes:
for f in $( find * -name wscript ); do echo; pyflakes $f; done | grep 'waflib.Logs.* but unused' | cut -d: -f1 | while read f; do sed -i 's/^import waflib.Logs as Logs,/import/g' $f; done
for f in $( find * -name wscript ); do echo; pyflakes $f; done | grep 'waflib.Options.* but unused' | cut -d: -f1 | while read f; do sed -i 's/import waflib.Options as Options, /import /g' $f; done
for f in $( find * -name wscript ); do echo; pyflakes $f; done | grep 'waflib.Options.* but unused' | cut -d: -f1 | while read f; do sed -i 's/^from waflib import Options,/from waflib import/g' $f; done
for f in $( find * -name wscript ); do echo; pyflakes $f; done | grep ' imported but unused$' | sed "s/^\([^:]*\):[0-9]*:[0-9]* '\(.*\)'.*/\1 \2/g" | while read f lib; do sed -i "/^import $lib$/d" $f; done
for f in $( find * -name wscript ); do echo; pyflakes $f; done | grep 'waflib.Options.* but unused' | cut -d: -f1 | while read f; do sed -i '/from waflib import Options$/d' $f; done
for f in $( find * -name wscript ); do echo; pyflakes $f; done | grep 'waflib.TaskGen.* but unused' | cut -d: -f1 | while read f; do sed -i '/from waflib import TaskGen$/d' $f; done
for f in $( find * -name wscript ); do echo; pyflakes $f; done | grep 'waflib.Task.Task.* but unused' | cut -d: -f1 | while read f; do sed -i '/^from waflib.Task import Task$/d' $f; done
for f in $( find * -name wscript ); do echo; pyflakes $f; done | grep 'waflib.Tools.winres.* but unused' | cut -d: -f1 | while read f; do sed -i '/^from waflib.Tools import winres$/d' $f; done
for f in $( find * -name wscript ); do echo; pyflakes $f; done | grep 'waflib.Utils.* but unused' | cut -d: -f1 | while read f; do sed -i '/^import waflib.Utils as Utils$/d' $f; done
2023-09-17 07:34:55 -06:00
Edgar Aichinger
9aaf5d2c8c
update german translation
2023-09-17 14:20:33 +02:00
f11a5880af
more thematically correct scroomer color. TODO: prelight it
2023-09-15 19:13:54 -05:00
376246f0fc
markers should snap when created by context-menu
2023-09-15 19:05:23 -05:00
aaff07f2c9
editor cursors: fix position computation
...
The cairo 0.5 pixel offset for odd-width lines is handled by Canvas::Line and is not
needed in the EditorCursor code
2023-09-15 17:34:30 -06:00
55b862832a
Stretch Markers -> Adjust Markers
2023-09-15 18:05:14 -05:00
12f02a685e
tweak section-marker height so they fill the whole ruler
2023-09-15 18:04:59 -05:00
e49005d0e4
implement color themes for piano roll keyboard and text
2023-09-15 17:41:24 -05:00
53ccede4fb
make piano-keyboard colors theme-able
2023-09-15 17:40:56 -05:00
6716f64032
tone down selection-rect fill
2023-09-15 17:40:32 -05:00
98f926d6f5
'midi meter' is not an appropriate alias color for a widget
2023-09-15 17:32:29 -05:00
cc0c00f807
Snap cursor for section_rect ctx menu, just like popup_ruler_menu
2023-09-15 14:49:33 +02:00
8da5d49e54
Add a checkbox for 'stretch markers' and show it when MouseGrid is active
...
Also, de-sensitize the checkbox if the session is AudioTime
2023-09-14 23:13:14 +02:00
b03f6d8616
Set the default ruler visibility based on the new session's time domain
2023-09-14 23:13:08 +02:00
4bed642d71
Allow user to choose the session time-domain
2023-09-14 23:13:05 +02:00
d7345d7d4d
Remove marker 'Hide' item from context menu.
...
It is accessible in sidebar.
In the sidebar you can both Hide and Show, so less prone to error
2023-09-14 23:12:50 +02:00
214a2a962f
Fix grid off-by one, complete removal of Playhead grid
...
See also 503e6249f4
2023-09-14 20:42:04 +02:00
1cc0870725
tweak scroomer colors and alpha to work better with most themes
...
Blueberry Milk is a problem, but cooltehno will need to take a look
2023-09-14 08:22:06 -06:00
f5d3b1c79f
use new user-immediate API in GUI
2023-09-13 23:58:31 -06:00
a2656d6612
when the "draw channel" is set to auto, consider the midnam display channel
...
This has higher priority than the playback mask
2023-09-13 23:58:31 -06:00
31f45a488a
Add menu items to set/cycle marker click behavior
2023-09-13 20:44:07 +02:00
5644c8587e
only show scroomer note names in draw/internal edit modes (if at all)
2023-09-13 11:53:18 -06:00
36f8d48e93
Add editing mode to select marker click behavior
...
So far this only adds actions, not a GUI dropdown or
context menu. See also f9a121ce9c
2023-09-13 03:16:24 +02:00
94b7ed8d4c
partially revert 218fb. TODO: menu actions need to operate on the clicked section
2023-09-12 08:40:07 -05:00
218fbda6e7
Arrangement Ruler: overhaul context menu, do not select on RMB
2023-09-12 05:39:02 +02:00
0a316f7566
Remove GridTypePlayhead (fix -Wswitch)
2023-09-11 23:34:38 +02:00
b00b80ec7e
Mixbus: cut/copy section always pastes at playhead
2023-09-11 23:18:52 +02:00
964600b9bd
Remove tempo-map cut/copy section warning
2023-09-11 23:18:52 +02:00
d064a2ead1
keep highlighted note in correct place when scrolling
2023-09-11 14:29:03 -06:00
85375397ed
fix semi-random MIDI note separator line vanishing
2023-09-11 14:04:59 -06:00
4b15f94ccf
add theme color names for scroomer
2023-09-11 13:56:22 -06:00
de45fc3882
make scroomer color & opacity themeable
2023-09-11 13:52:31 -06:00
d1caa2401f
the return of double-click on scroomer zooms to data-based note range
2023-09-11 13:16:27 -06:00
e52d9a41da
NO-OP: whitespace/indent
2023-09-11 13:16:27 -06:00
9194dc9843
fix for incorrect text appearing in MIDNAM model selector
...
I do not understand why this works, but all of this code related to MIDNAM
model names is just a total mess in terms of rational design (caused, in turn,
by MIDNAM's design, which might possibly reflect the real world).
2023-09-11 13:16:27 -06:00
885fd2caff
Y is the shortcut key for MouseGrid
2023-09-11 13:22:37 -05:00
25daebbaf2
remove snap-to-grid option (subsumed by SnapTarget preference)
2023-09-11 12:18:16 -05:00
082c009e1b
take Snap Target preference into account when snapping with grid enabled
2023-09-11 12:18:16 -05:00
7672ea9cfe
add a ui_pref to store the users Snap Target preference
2023-09-11 12:18:16 -05:00
28af3c2024
i like nullptr
2023-09-11 10:26:54 -06:00
fa78fe1f33
fix incorrect design of abort-tempo-map-edit operation
2023-09-11 10:26:54 -06:00
88b5613f46
suppress warning about memcpy() use on a struct/class
2023-09-11 10:26:54 -06:00
734a62101f
remove use of Tempo::active() from GUI
...
This has not been accessible in the GUI since 7.0.
2023-09-11 10:26:54 -06:00
730bec5dc1
Reduce ASAN clutter when starting Ardour
...
This currently prints warnings for statically linked libs
here: zita-resampler global Resampler_table::_mutex
Both libardour and ALSA backend statically link against zita-resampler.
2023-09-11 17:16:37 +02:00
b98b984859
Update Codenames
2023-09-11 17:13:06 +02:00
09b368f5db
fix visual update of tempo markers during tempo marker drag
2023-09-10 20:07:41 -06:00
3a19e7d48b
fix redisplay of track headers after UI scale change
...
The suspend/resume routes code requires that there be a call to
Editor::redisplay_track_views() if anything is to happen on resume. This was
missing from the events triggered by a UI scale change.
2023-09-10 18:20:35 -06:00
848e0e0a10
fix manual errors during rebase against master
2023-09-10 18:20:35 -06:00
776d8590f9
fix crash when opening a session created before the midnam-channel GUI property existed
2023-09-10 18:20:35 -06:00
194f0fbed6
finalize (?) some details of note name display options
2023-09-10 18:20:35 -06:00
df95ec6b43
partial response to note name display option
2023-09-10 18:20:35 -06:00
2f0bfedb58
include "Channel" in text for MIDNAM display channel selector
2023-09-10 18:20:35 -06:00
090b9d4f60
remove MIDI scroomer from code
2023-09-10 18:20:35 -06:00
605fd136e0
add preferances item for note name display
2023-09-10 18:20:35 -06:00
8f41576491
add enum declarations
2023-09-10 18:20:35 -06:00
71f168834d
obey note name display preference
2023-09-10 18:20:35 -06:00
b81da94fa2
add UI config var for note name display
2023-09-10 18:20:35 -06:00
b4f684e02f
missing enum convert
2023-09-10 18:20:35 -06:00
6966a2b7d8
add basic Editing enums/types for note name display options
2023-09-10 18:20:35 -06:00
5611e7eeed
tweak gradient width in scroomer area
2023-09-10 18:20:35 -06:00
0b9a54ac32
fix scope of a char* [] buffer
2023-09-10 18:20:35 -06:00
a3838f0c66
alex mitchell's piano roll header: add correct motion event handler
2023-09-10 18:20:35 -06:00
baa32aa5bd
merged commit from alexander mitchell, implementing a new piano roll header
2023-09-10 18:20:35 -06:00
d37f85f9d2
Emit selection RegionsChanged
when region is removed
...
This is required to properly update the selection.
Previously deleting a region did not update selection
markers and other selection displays that depend on
Editor::get_selection_extents (which includes region selection).
This fixes a crash: Select a region (this sets a time-selection).
Delete the region, click on the time-selection markers (red triangles).
2023-09-10 15:25:12 +02:00
c0287cb0de
Fix thinko in e81b2353cc
, selection may not start at a marker
...
This fixes a crash when selecting a section, and then changing
the time-selection. Previously it was assumed that the section
context menu can only be shown for sections. But it applies to
any time[line]-selection.
2023-09-09 21:27:11 +02:00
Asahi Lina
d1cc71150f
Adjust interpretation of swing amount
...
Previously,
0 -> no swing (1:1, 50%)
50 -> triplet swing (2:1, 66%)
75 -> hard swing (3:1, 75%)
100 -> sextuplet swing (5:1, 83%) (default!)
150 -> absolute maximum (inf:1, 100%)
This is rather confusing...
One common interpretation uses percentages of the beat, where triplet
swing is 66%. However, that causes precision issues since it's really
66.666...
Since we already default to 100 and take "no swing" as zero, let's make
that reference point triplet swing. Then the scale becomes:
0 -> no swing (1:1)
100 -> triplet swing (2:1)
150 -> hard swing (3:1)
200 -> sextuplet swing (5:1)
300 -> absolute maximum (inf:1)
300 doesn't make any sense, so let's change the range to -250 .. 250
which covers all useful values.
Also remove the division through 100 and back, to avoid rounding issues.
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-09-09 20:06:37 +09:00
Asahi Lina
ca25b5c841
Fix quantize threshold setting
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-09-09 20:06:37 +09:00
Asahi Lina
577918dc07
Fix quantize beat divisions
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-09-09 20:06:37 +09:00
aca5d7d988
place lollipops in correct location on timeline
...
It is not immediately clear to me why the + radius expression is reqired
2023-09-08 16:16:15 -06:00
503e6249f4
remove GridTypePlayhead
2023-09-08 15:27:04 -05:00
d57676b9c7
Maybe clear time-selection when switching to draw tool
2023-09-08 14:50:43 +02:00
e81b2353cc
Indicate arrangement section selection on canvas
2023-09-08 03:26:00 +02:00
b243b93072
Allow to reuse range context menu w/o track/region selection
2023-09-08 03:25:59 +02:00
019a3a1976
Allow to select Arrangement sections
...
This also adds interaction with sections in the
Arrangement Ruler.
Note that selecting a range switches to the Range tool.
This is enforced because time-range selection is only meaningful
with tools that perform edit operations on the whole timeline.
2023-09-08 03:25:59 +02:00
b6e9f37007
Arrangement Sidebar: follow-edits locates to selected section
2023-09-08 03:25:59 +02:00
d2b083f385
Arrangement Sidebar: allow name edit by double-click
2023-09-08 03:25:59 +02:00
78db634321
Unconditionally show time-selection in info box with object tool
...
Arrangement Section can be selected with the object tool,
and should be indicated even when not using Smart mode.
2023-09-08 03:25:59 +02:00
20b646e962
Handle MouseGrid cursor (fix -Wswitch, amend 784d2ecc
)
2023-09-08 03:25:59 +02:00
250174b16e
don't bother locating at end of no-motion marker drag if using external sync
2023-09-07 14:23:08 -06:00
f9a121ce9c
click (no drag) on markers locates there, unless using marker as edit point
2023-09-07 14:23:08 -06:00
3f14b27ee3
remove (unimplemnted) Stretch MIDI checkbox
2023-09-07 15:18:36 -05:00
cc47b5fe3c
Only allow grid-tool with musical grid
2023-09-06 23:56:10 +02:00
966dce5516
remove now-invalid tempo edit menu items
2023-09-06 15:29:55 -06:00
da4d2a645f
remove tempo-mapping bar, tempo_meta group. this reverts 8fbf2c and related
2023-09-06 19:31:00 +02:00
784d2ecce4
Add the tool for Grid, and accompanying buttons and event-handling
2023-09-06 19:30:56 +02:00
268d1d33c7
Add invisible Rectangle to initiates Tempo(grid) drags
2023-09-06 19:14:14 +02:00
80a813ff1c
Fix use-after-free when undoing marker creation
...
Create a marker by ctrl-click, hover over it and then ctrl+z
undo. This used to crash in Editor::get_preferred_edit_position()
gtk2_ardour/editor.cc:5179, checking for entered_marker->position()
2023-09-06 17:37:11 +02:00
3851a93e39
Update selection-markers on track and time selection
2023-09-06 00:02:36 +02:00
10ff5ad599
Use section delete for Editor::Delete operation
2023-09-06 00:02:31 +02:00
6e87a46ba4
convention for selection (as used on track headers) is red border, red tint
2023-09-05 23:08:30 +02:00
29430ac550
NO-OP: clang-format
2023-09-05 23:08:30 +02:00
68ccbc8ac3
Arrangement: locate on double-click
2023-09-05 23:08:30 +02:00
e5e40c751f
if user moves selection markers, convert selection to a timeline section
2023-09-05 23:08:30 +02:00
4217a68852
Arranger: implement bi-directional selection
2023-09-05 23:08:30 +02:00
5ceb66c902
Arranger: allow renaming by context-menu
2023-09-05 23:08:29 +02:00
cf9f9db48b
Set length of new percussive hits to 1 tick
...
This prevents overlap of successive hits.
Ardour 7 added a new duration select drop-down menu,
which defaults to "Auto" (musical grid) and removed
the special case when drawing percussive notes.
It was possible to accidentally create overlapping notes,
without the user being aware of doing so.
2023-09-04 23:26:54 +02:00
7d95334c0d
fix thinko in e53a7 which resulted in unmatched tempo-map UNDO transactions
2023-09-04 08:48:49 -05:00
774adfb33c
Fix rounding of arrangement markers
2023-09-01 21:53:26 +02:00
a6844279ad
arranger-treeview 'search' function was stealing keybd events
2023-09-01 07:18:22 -05:00
0d89bc5789
fix height of tempo ruler curve elements
...
These were being drawn in a way that failed to really convey relative
tempos very well. This is now better, though perhaps there are other
improvements possible
2023-08-31 18:25:18 -06:00
da9140a390
polish the way we print tempo numerics in tempo ruler
2023-08-31 10:34:48 -06:00
43d6d4187c
display tempo with only 1 digit of decimals
2023-08-31 10:34:48 -06:00
b5b4be96e3
Use "Arrangement" in GUI instead of Section (amend 2f6a0abf
)
2023-08-31 16:12:50 +02:00
1bc795509b
Use "Arrangement" in GUI instead of Section (amend 2f6a0abf
)
2023-08-31 05:29:29 +02:00
b162ffbca8
Clear Arrangement rects when closing a session
2023-08-31 00:58:51 +02:00
8209cb0ab5
launchpad pro: remove color map; implement note/x,y mapping
2023-08-30 16:06:13 -06:00
9d153af72d
image for launchpad pro "gui"
2023-08-30 16:06:13 -06:00
3fa15d9162
skeleton for launchpad pro support
2023-08-30 16:06:13 -06:00
7997c83b01
Allow to edit arrangement label in sidebar
2023-08-30 23:04:39 +02:00
44e1de4261
no warning dialog about tempo map cut/copy/paste
...
Left in place since it may come back in a different form
2023-08-30 14:16:21 -06:00
076320430a
assert() that the tempo & Meter markers associated with a BBT marker exist
2023-08-30 14:16:21 -06:00
797c362500
Fix segfault when undoing marker deletion
...
find_location_markers() may return NULL.
This also consolidates code from acc55083e5
2023-08-30 20:46:20 +02:00
aaff022fd2
Fix typo in dbda07f6b7
2023-08-30 19:40:19 +02:00
affea2b83b
NO-OP: remove reducant code
2023-08-30 18:31:13 +02:00
dbda07f6b7
Update Markers when Location flags change
...
Since b66e12610
there is a dedicated Marker type for
Section/Arrangement so changing location flags may need to
update the Marker type.
2023-08-30 18:27:21 +02:00
366e84e10e
arrangement ruler: theme tweak
2023-08-29 23:06:42 -05:00
54c713c794
remove another instance of time-domain icon
2023-08-29 23:02:05 -05:00
acc55083e5
arrangement ruler: aesthetic changes
2023-08-29 23:02:05 -05:00
b66e12610b
arrangement ruler: create Section marker type, so we can customize it a bit
2023-08-29 23:02:05 -05:00
14792a0aee
arrangement ruler: move arrangement ruler to the bottom
2023-08-29 23:02:05 -05:00
2e9432e281
amend 2f16: cue markers should be reparented to their own ruler lane
2023-08-29 23:02:05 -05:00
c5d4a0c172
Amend previous commit (initial marker group)
2023-08-29 22:03:16 +02:00
2f16f87e4f
Do not re-parent ruler markers depending on ruler visibility
...
Previously CD-markers and Arrangement-markers were shown
in the default Maker ruler when CD or Arrangement ruler
were hidden.
This also fixes a bug that could result in marker-labels
being cut short. Editor::update_marker_labels calculates
overlap with other markes in the same group; but re-parenting
did not update the sorted_marker_lists[group] index.
2023-08-29 21:53:50 +02:00
24ae92ce1e
Consistently use Mark (not Range) for Arrangement markers
...
Otherwise changing the marker type will cause inconsistently
rendered marks
2023-08-29 17:00:24 +02:00
a14f216f3e
Highligh ranges in arrangement ruler
2023-08-29 00:34:29 +02:00
2f6a0abf04
Use "Arrangement" in GUI instead of Section
...
Reserve Section for time-selection without track selection
2023-08-28 21:02:43 +02:00
498c113750
Increase blueberry-milk tooltip contrast
2023-08-27 20:46:39 +02:00
32b18073e8
more enforcement of left->right freehand drawing (fixes velocity drawing)
2023-08-27 10:43:47 -05:00
40719ec67d
Section Arranger: overhaul selection and keyboard interaction
...
* clear treeview selection when time selectoin changes
* act on key-down for consitency, also helps with properly
prpagating shortcuts
2023-08-27 16:50:28 +02:00
b92e3e6695
move Range Properties to bottom of sidebar, to avoid juggling the Section items around
2023-08-27 08:38:07 -05:00
1f6db3a865
Add context menu to Section Arranger
2023-08-27 15:20:54 +02:00
1f772d30d3
Update Location UI to include section marker flags
2023-08-26 15:10:40 +02:00
3aadf2daf0
Add Section Arranger to Editor sidebar
2023-08-26 14:09:54 +02:00
9c984fc2ad
Add dedicated Section Ruler and UI for section boundary markers
2023-08-26 14:09:53 +02:00
c084c9dbfa
NO-OP: clang-format utils.cc
2023-08-26 14:06:33 +02:00
09e82c1607
Move format_position to utils
...
This will allow other places to reuse this method.
2023-08-26 14:06:33 +02:00
8dbd76e81c
UF8: add ctrl surface icon for SSL/UF8
2023-08-24 19:18:44 +02:00
30ed0669c0
Redraw markers when moving them between rulers
...
When un/setting the CD-marker flag the marker vanished
until the GUI forced a redraw of the ruler.
2023-08-23 03:18:42 +02:00
6c96c9bd4a
Add workaround for blank engine-dialog with some XWayland installs
2023-08-22 20:57:43 +02:00
b15fa57017
freehand draw; use ensure_snap to force non-magnetic snap during drag (if snapping)
2023-08-19 13:39:27 -06:00
c8819d73c8
freehand draw: require left-to-right drawing
2023-08-19 13:39:27 -06:00
5c423d3dda
freehand draw: slight logic improvement for first move
2023-08-19 13:39:27 -06:00
3b9c63fbac
editor: add additional parameter to ::snap_to_with_modifier()
...
Allows passing ensure_snap value through to ::snap_to_internal
2023-08-19 13:39:27 -06:00
c578695a64
in draw mode, mouse drags in automation tracks are always freehand drawing
2023-08-18 17:42:51 -06:00
Albert Graef
b354f41fc2
Fix compile error introduced in rev. 7c029f5f
.
2023-08-17 17:17:41 +02:00
23c7c0b4fd
no more beamed 1/8th note symbol in marker text
...
All locations use the same domain now, so it is redundant
2023-08-16 16:32:03 -06:00
bb8858be81
remove debug output from editor mouse -> tempo dragging startup
2023-08-16 09:06:43 -06:00
e53a70722a
fix ordering of reversible command initiation and tempo mapping ops
2023-08-16 09:05:18 -06:00
7c029f5f6a
next iteration of changes to handle time domain bounces as undoable (GUI)
2023-08-14 23:42:08 -06:00
36de312324
Update Russian translation
2023-08-11 05:03:52 +02:00
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