function plugindef() -- This function and the 'finaleplugin' namespace -- are both reserved for the plug-in definition. finaleplugin.RequireSelection = true finaleplugin.CategoryTags = "Layout, Measure, Rest" return "Create Tacet", "Create Tacet", "Creates a full tacet 'measure' for the selected region." end -- Load the multimeasure rest prefs local mmrestprefs = finale.FCMultiMeasureRestPrefs() mmrestprefs:Load(1) -- Will not continue if auto-update of mm rests is ON if mmrestprefs.AutoUpdate then print ("Automatic Update is ON in the multimeasure preferences.") return end local ui = finenv.UI() if ui:AlertYesNo("Do you want to create a tacet section in this part? All music in the region will be hidden.", "Are you sure?") ~= finale.YESRETURN then return end local region = finenv.Region() -- Delete all old mm rests from the region -- (In this case, it's safe to delete from the start, since no relocation of data records takes place.) local mmrests = finale.FCMultiMeasureRests() mmrests:LoadAll() for mm in each (mmrests) do if region:IsMeasureIncluded(mm.StartMeasure) or region:IsMeasureIncluded(mm.EndMeasure) then mm:DeleteData() end end local mm = finale.FCMultiMeasureRest() mm.StartMeasure = region.StartMeasure mm.EndMeasure = region.EndMeasure -- Copy from the default MM rest definition mm.NumberHorizontalAdjust = mmrestprefs.NumberHorizontalAdjust mm.NumberVerticalAdjust = mmrestprefs.NumberVerticalAdjust mm.ShapeEndAdjust = mmrestprefs.ShapeEndAdjust mm.ShapeID = mmrestprefs.ShapeID mm.ShapeStartAdjust = mmrestprefs.ShapeStartAdjust mm.StartNumberingAt = 20000 -- A really high value here to hide the number mm.SymbolSpace = mmrestprefs.SymbolSpace mm.UseSymbols = mmrestprefs.UseSymbols mm.UseSymbolsLessThan = mmrestprefs.UseSymbolsLessThan mm.Width = mmrestprefs.Width mm:Save()