feat: use range instead of location/arrangement markers

Signed-off-by: Christopher Arndt <chris@chrisarndt.de>
This commit is contained in:
Christopher Arndt 2024-01-20 17:21:11 +01:00
parent 8a14996bb1
commit 65506891f6
1 changed files with 7 additions and 8 deletions

View File

@ -3,10 +3,10 @@ ardour {
name = "Rename regions from markers", name = "Rename regions from markers",
license = "MIT", license = "MIT",
author = "Christopher Arndt", author = "Christopher Arndt",
description = [[Rename selected regions using track name and label of location marker at region start]] description = [[Rename selected regions using track name and label of range marker at region start]]
} }
function factory () function factory()
-- there is currently no direct way to find the track -- there is currently no direct way to find the track
-- corresponding to a [selected] region -- corresponding to a [selected] region
function find_track_for_region(region_id) function find_track_for_region(region_id)
@ -20,11 +20,10 @@ function factory ()
assert (0) -- can't happen, region must be in a playlist assert (0) -- can't happen, region must be in a playlist
end end
return function () return function()
local sel = Editor:get_selection () -- get current selection local sel = Editor:get_selection () -- get current selection
local loc = Session:locations() -- get locations local loc = Session:locations() -- get locations
-- prepare undo operation -- prepare undo operation
Session:begin_reversible_command ("Rename regions from markers") Session:begin_reversible_command ("Rename regions from markers")
@ -32,17 +31,17 @@ function factory ()
for region in sel.regions:regionlist():iter () do for region in sel.regions:regionlist():iter () do
-- test if it's an audio region -- test if it's an audio region
local ar = region:to_audioregion () local ar = region:to_audioregion ()
if ar:isnil () then if ar:isnil() then
goto next goto next
end end
--~ print("Region:", region:name()) --~ print("Region:", region:name())
local rid = region:to_stateful():id() local rid = region:to_stateful():id()
--~ print("ID:", id:to_s()) --~ print("ID:", rid:to_s())
-- get marker at region start position -- get range marker at region start position
local pos = region:position() local pos = region:position()
local mloc = loc:first_mark_at(pos, Temporal.timecnt_t(0)) local mloc = loc:range_starts_at(pos, Temporal.timecnt_t(0), true)
if not mloc then if not mloc then
goto next goto next
end end