mirror of
https://github.com/Ardour/ardour.git
synced 2026-01-02 03:47:42 +01:00
Lua bindings to access editor selection + region selection bindings
This commit is contained in:
parent
71fd94b422
commit
1e4e97019d
6 changed files with 116 additions and 1 deletions
42
scripts/select_every_2nd_region.lua
Normal file
42
scripts/select_every_2nd_region.lua
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
ardour {
|
||||
["type"] = "EditorAction",
|
||||
name = "Region Select/2",
|
||||
license = "MIT",
|
||||
author = "Ardour Team",
|
||||
description = [[select every 2nd region on all selected tracks]]
|
||||
}
|
||||
|
||||
-- select every 2nd region on all selected tracks
|
||||
function factory () return function ()
|
||||
|
||||
local sl = ArdourUI.SelectionList () -- empty selection list
|
||||
|
||||
local sel = Editor:get_selection () -- get current selection
|
||||
-- for each selected track/bus..
|
||||
for route in sel.tracks:routelist ():iter () do
|
||||
-- consider only tracks
|
||||
local track = route:to_track ()
|
||||
if track:isnil() then
|
||||
goto continue
|
||||
end
|
||||
|
||||
local skip = false;
|
||||
-- iterate over all regions of the given track
|
||||
for region in track:playlist():region_list():iter() do
|
||||
if skip then
|
||||
-- skip every 2nd region
|
||||
skip = false;
|
||||
else
|
||||
skip = true;
|
||||
-- get RegionView (GUI object to be selected)
|
||||
local rv = Editor:get_regionview_from_region (region)
|
||||
-- add it to the list of Objects to be selected
|
||||
sl:push_back (rv);
|
||||
end
|
||||
end
|
||||
::continue::
|
||||
end
|
||||
|
||||
-- set/replace current selection in the editor
|
||||
Editor:set_selection (sl, ArdourUI.SelectionOp.Set);
|
||||
end end
|
||||
Loading…
Add table
Add a link
Reference in a new issue