"BigTime": Large time signatures plugin [Release, proof-of-concept]
Large time signatures have been requested in MuseScore for some time, but currently are not natively supported. This is a plugin which "converts" MuseScore time signatures into text-based large time signatures.
Plugin: https://gitlab.com/RunasSudo/musescore-bigtime-plugin/-/blob/master/Big…
Some notes:
- Internally, the native time signatures are stretched to reserve space for the large time signatures, and hidden by making the opacity 0.
- The large time signatures have the User-1 style applied. For correct results, reduce the line spacing (e.g. 0.34li).
This is a very simple implementation and has some shortcomings – e.g. there is limited customisability – but given how long this feature request has stood I thought I'd put this up as a proof-of-concept of sorts.
Comments
Wow, interesting idea, never would have thought of trying to use a plugin for this. Thanks for doing this!
Thanks L'Moose on Discord for the suggestion – I've updated the plugin to use SMuFL large time signature symbols from Bravura. This removes the need to download and install any separate fonts!
Sorry, I really don't understand it. What exactly do I have to do to apply this?
In reply to Sorry, I really don't… by [DELETED] 28444986
It's a plugin, after downloading it to the plugins folder you can run it the same way as other plugins: https://musescore.org/en/handbook/3/plugins
In reply to It's a plugin, after… by RunasSudo
Ok, thanks. How do I open the plugin manager?
In reply to Ok, thanks. How do I open… by [DELETED] 28444986
see the handbook linked to above
In reply to Ok, thanks. How do I open… by [DELETED] 28444986
In the menubar, Plugins -> Plugin Manager
In reply to In the menubar, Plugins ->… by RunasSudo
Ok, i use it and this is what I see now:
How do I get to the big time signatures now?
In reply to Ok, i use it and this is… by [DELETED] 28444986
Hmm, that should have worked. I'll look into it.
In reply to Hmm, that should have worked… by RunasSudo
Orchestra_1_-_w__introducing_melody.mscx
In reply to [inline:Orchestra_1_-_w_… by [DELETED] 28444986
Interesting, it works for me. (I'm on Linux, maybe a Linux vs Windows problem... I'll try again on Windows if I have time.)
Do you see the big time signatures in the attached file?
In reply to Interesting, it works for me… by RunasSudo
Strangely enough, I see that.
In reply to Strangely enough, I see that… by [DELETED] 28444986
It looks suitable at 0.33 li.
In reply to Ok, i use it and this is… by [DELETED] 28444986
Was indeed a Linux vs Windows thing – have just pushed version 1.3 to fix this: https://gitlab.com/RunasSudo/musescore-bigtime-plugin/-/blob/master/Big…
It should work on Windows now if you re-download it!
In reply to Was indeed a Linux vs… by RunasSudo
It works better now, thank you!
In reply to Ok, i use it and this is… by [DELETED] 28444986
//=============================================================================
// MuseScore
// Music Composition & Notation
//
// Note Names Plugin
//
// Copyright (C) 2012 Werner Schweer
// Copyright (C) 2013 - 2019 Joachim Schmitz
// Copyright (C) 2014 Jörn Eichler
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License version 2
// as published by the Free Software Foundation and appearing in
// the file LICENCE.GPL
//=============================================================================
import QtQuick 2.0
import MuseScore 3.0
MuseScore {
version: "3.0"
description: qsTr("This plugin names notes as per your language setting")
menuPath: "Plugins.Notes." + qsTr("Note Names") // this does not work, why?
function nameChord (notes, text) {
for (var i = 0; i < notes.length; i++) {
console.log(notes);
console.log(i);
console.log("回数; " +notes[i].tpc);
console.log("ピッチ; " +notes[0].pitch);
//cursor.add("あ");
var sep = "\n"; // change to "\n" if you want them vertically
if ( i > 0 )
text.text = sep + text.text; // any but top note
// change below false to true for courtesy- and microtonal accidentals
// you might need to come up with suitable translations
// only #, b, natural and possibly also ## seem to be available in UNICODE
if (false) {
switch (notes[i].userAccidental) {
case 0: break;
case 1: text.text = qsTranslate("accidental", "Sharp") + text.text; break;
case 2: text.text = qsTranslate("accidental", "Flat") + text.text; break;
case 3: text.text = qsTranslate("accidental", "Double sharp") + text.text; break;
case 4: text.text = qsTranslate("accidental", "Double flat") + text.text; break;
case 5: text.text = qsTranslate("accidental", "Natural") + text.text; break;
case 6: text.text = qsTranslate("accidental", "Flat-slash") + text.text; break;
case 7: text.text = qsTranslate("accidental", "Flat-slash2") + text.text; break;
case 8: text.text = qsTranslate("accidental", "Mirrored-flat2") + text.text; break;
case 9: text.text = qsTranslate("accidental", "Mirrored-flat") + text.text; break;
case 10: text.text = qsTranslate("accidental", "Mirrored-flat-slash") + text.text; break;
case 11: text.text = qsTranslate("accidental", "Flat-flat-slash") + text.text; break;
case 12: text.text = qsTranslate("accidental", "Sharp-slash") + text.text; break;
case 13: text.text = qsTranslate("accidental", "Sharp-slash2") + text.text; break;
case 14: text.text = qsTranslate("accidental", "Sharp-slash3") + text.text; break;
case 15: text.text = qsTranslate("accidental", "Sharp-slash4") + text.text; break;
case 16: text.text = qsTranslate("accidental", "Sharp arrow up") + text.text; break;
case 17: text.text = qsTranslate("accidental", "Sharp arrow down") + text.text; break;
case 18: text.text = qsTranslate("accidental", "Sharp arrow both") + text.text; break;
case 19: text.text = qsTranslate("accidental", "Flat arrow up") + text.text; break;
case 20: text.text = qsTranslate("accidental", "Flat arrow down") + text.text; break;
case 21: text.text = qsTranslate("accidental", "Flat arrow both") + text.text; break;
case 22: text.text = qsTranslate("accidental", "Natural arrow down") + text.text; break;
case 23: text.text = qsTranslate("accidental", "Natural arrow up") + text.text; break;
case 24: text.text = qsTranslate("accidental", "Natural arrow both") + text.text; break;
case 25: text.text = qsTranslate("accidental", "Sori") + text.text; break;
case 26: text.text = qsTranslate("accidental", "Koron") + text.text; break;
default: text.text = qsTr("?") + text.text; break;
} // end switch userAccidental
} // end if courtesy- and microtonal accidentals
} // end for note
}
onRun: {
if (typeof curScore === 'undefined')
Qt.quit();
} // end onRun
}
MuseScore笙プラグインβ版0606.txt
MuseScore笙プラグインβ版0606.txt を表示しています。
In reply to //==========================… by shinkyoto6521
What's your point?
Hi there! It's 2024 and I decided to Download this plugin. I have no idea if it is still supported, but as Musescore is my notation engine of choice, I would really like to use this plugin. I downloaded the 1.4 version and enabled it in my plugins folder, but it is not applying or running correctly for me. I have a Windows 10 Desktop and running the most recent version of Musescore Studio 4.3. Whenever I launch and try to apply the plugin to my time signature(s), it gives me "Run Plugin BigTime" as the of prompt. I click it and my software crashes.
If this comment reaches you, I am in need of some clarification. If I missed a step, or if there is anything wrong.
In reply to Hi there! It's 2024 and I… by Mason Kistler
That plugin hasn't been ported to Mu4, esp. it does use
Qt.quit()
, which does crash in Mu4In reply to Hi there! It's 2024 and I… by Mason Kistler
Hi there, I am aware the plugin sadly isn't compatible with MuseScore Studio 4. It is on my to do list to fix, but I am not actively using the plugin at the moment and so unfortunately it is not an immediate priority.
If anyone is interested I would welcome code contributions or for someone to fork and continue maintenance.
In reply to Hi there, I am aware the… by RunasSudo
Try this, and tell us whether it works...
It should work in Mu3 and Mu4 (including 4.4), just 7 added and 4 changed lines:
In reply to Try this, and tell us… by Jojo-Schmitz
Im sorry, I believe I am not that fluent in Musescore's code. Outside of the forums, is there a to-do list or video showing how to add the code? I am sorry it took so long to reply!
In reply to Im sorry, I believe I am not… by Mason Kistler
WAIT! I just tried it again before updating to 4.4.2 and it is working!
In reply to Try this, and tell us… by Jojo-Schmitz
Does not work in 4.4.4.