/* * GNU General Public License v3.0 * author: sammik (C) 2022 */ import QtQuick 2.0 import MuseScore 3.0 MuseScore { menuPath: "Plugins.Beamed Halves" description: "Change noteheads to half in style of Couperin" version: "1" onRun: { var fullScore = !curScore.selection.elements.length if (fullScore) cmd("select-all"); curScore.startCmd(); var sel = curScore.selection; var els = sel.elements; for (var i in els) { var el = els[i]; var dur = el.duration || el.parent.duration var num = dur ? dur.numerator:null; var den = dur ? dur.denominator:null; console.log("num:",num,den) if (num > 1) den = den / 2 if (num > 3) den = den / 2 if (el.type == Element.NOTE) { if (den < 4){ el.headType = (den < 2) ? NoteHeadType.HEAD_BREVIS : NoteHeadType.HEAD_WHOLE; el.parent.noStem = true; } else el.headType = NoteHeadType.HEAD_HALF; } /* if (el.type == Element.REST) { el.visible = false; var sym = newElement(Element.SYMBOL); var dot = newElement(Element.SYMBOL); dot.symbol = "augmentationDot"; if (den == 1) sym.symbol = "restDoubleWholeLegerLine" if (den == 2) sym.symbol = "restWholeLegerLine" if (den == 4) sym.symbol = "restHalfLegerLine" if (den == 8) sym.symbol = "restQuarter" if (den == 16) sym.symbol = "rest8th" if (den == 32) sym.symbol = "rest16th" if (den == 64) sym.symbol = "rest32nd" // element.add() doesn't work //el.add(sym); if (num == 3) { //sym.add(dot); dot.offsetX = 1.5 dot.offsetY = -0.5 } if (num == 7) { var ddot = dot.clone(); //dot.add(ddot); ddot.offsetX = 1; ddot.offsetY = 0; } } */ } curScore.endCmd(); if (fullScore) cmd("escape"); Qt.quit() } }