Skip to content

Instantly share code, notes, and snippets.

@lasconic
lasconic / createHeaderFromGlyphnames.py
Last active August 29, 2015 13:57
Create header files to include in MuseScore from SMuFL glyphnames
import json
import collections
with open('glyphnames.json') as data_file:
data = json.load(data_file)
data = collections.OrderedDict(sorted(data.items()))
f = open('glyphnames.txt', 'w')
@lasconic
lasconic / symbolUseInMuseScore.py
Created March 20, 2014 16:50
Python script to find all SMuFL symbols used in MuseScore source
import os
import re
def grep(path, regex, regexcontent):
regObj = re.compile(regex)
res = set()
for root, dirs, fnames in os.walk(path):
for fname in fnames:
if regObj.match(fname) and not "sym.cpp" in fname:
"element:symbol", "Symbol"
"element:text", "Text"
"element:instrumentname", "Instrument Name"
"element:slursegment", "Slur Segment"
"element:stafflines", "Staff Lines"
"element:barline", "Bar Line"
"element:stemslash", "Stem Slash"
"element:line", "Line"
"element:bracket", "Bracket"
"element:arpeggio", "Arpeggio"
@lasconic
lasconic / gist:712f15ff9fddbd5edb7b
Created July 13, 2015 14:21
reorder musescore font
import fontforge #Load the module
import json
import shutil
import os
source = "mscore"
#source = "MScoreText"
fontFile = source + ".sfd"
tmpFile = source + "tmp.sfd"
outFile = "out/" + source + ".ttf"
@lasconic
lasconic / gist:975969
Created May 17, 2011 04:47
Applying a function to each note in a selection
// Apply the given function to all notes in selection
function applyToNotesInSelection(func)
{
var cursor = new Cursor(curScore);
var selectionEnd = new Cursor(curScore);
cursor.goToSelectionStart();
selectionEnd.goToSelectionEnd();
var startStaff = cursor.staff;
var endStaff = selectionEnd.staff;
@lasconic
lasconic / youtube-resolver.js
Created June 25, 2011 21:48
Youtube resolver for tomahawk
function getSettings()
{
var settings = new Object();
settings.name = "Youtube Resolver";
settings.weight = 50;
settings.timeout = 5;
settings.maxResults = 5;
return settings;
}
@lasconic
lasconic / readui.js
Created March 10, 2012 17:45
Creating a GUI in QtScript using .ui file
//read the UI file and create a form out of it
var loader = new QUiLoader(null);
var file = new QFile(pluginPath + "/my.ui");
file.open(QIODevice.OpenMode(QIODevice.ReadOnly, QIODevice.Text));
form = loader.load(file, null);
//initialize some widget value if necessary
form.verticalLayoutWidget.myLabel.text = curScore.title;
form.verticalLayoutWidget.myLabel2.text = curScore.composer;
import QtQuick 1.0
import MuseScore 1.0
import QtWebKit 1.0
import FileIO 1.0
MuseScore {
menuPath: "Plugins.ABC Web"
onRun: {
}
import QtQuick 1.0
import MuseScore 1.0
import FileIO 1.0
MuseScore {
menuPath: "Plugins.ABC Import"
width: 640
height: 480
onRun: {}
@lasconic
lasconic / gist:4148636
Created November 26, 2012 14:59
Lyrics
import QtQuick 1.0
import MuseScore 1.0
MuseScore {
menuPath: "Plugins.pluginName"
onRun: {
var cursor = curScore.newCursor();
for (var track = 0; track < curScore.ntracks; ++track) {
cursor.track = track;
cursor.rewind(0); // set cursor to first chord/rest