13
0
Commit Graph

17051 Commits

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