1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
;KeepOnlySelection
(let ((selection (d-GetSelection)))
(if selection
(let ((movement (d-GetMovement))
(startstaff (list-ref (car selection) 1))
(endstaff (list-ref (cdr selection) 1))
(startbar (list-ref (car selection) 2))
(endbar (list-ref (cdr selection) 2)))
(d-GoToPosition #f endstaff endbar 1)
(if (d-MoveToMeasureRight)
(d-DeleteFromCursorToEnd 'all))
(while (d-MoveToStaffDown)
(d-DeleteStaff)
(d-GoToPosition #f endstaff endbar 1))
(d-GoToPosition #f startstaff startbar 1)
(d-DeleteMeasuresBeforeCursor 'all)
(while (d-MoveToStaffUp)
(d-DeleteStaff))
(if (d-NextMovement)
(begin
(d-DeleteMovement)
(while (> (d-GetMovement) movement)
(d-DeleteMovement))))
(while (d-PreviousMovement)
(d-DeleteMovement)))
(d-WarningDialog (_ "No Selection"))))
|