//============================================================================= // MuseScore // // German note names and fingerings for Tuba // changable for other Brass // // // Copyright (c) 2011 Karl Gerhards, (C)2008 Werner Schweer and others // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License version 2. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. //============================================================================= // // This is ECMAScript code (ECMA-262 aka "Java Script") // //--------------------------------------------------------- // init // this function will be called on startup of mscore //--------------------------------------------------------- function init() { // print("test script init"); } // gibt den Griff zur midi-Nummer function griff(midi) { // change for other Brass midi = midi-20; // edit and uncomment for other Brass // midi = midi-20; // for 4 valves, usually 1+3 = 4 switch (midi){ case 2: return "0"; break; //Bb0 case 3: return "23"; break; case 4: return "1234"; break; case 5: return "134"; break; case 6: return "234"; break; case 7: return "124"; break; case 8: return "24"; break; case 9: return "4"; break; case 10: return "23"; break; case 11: return "12"; break; case 12: return "1"; break; case 13: return "2"; break; case 14: return "0"; break; //Bb1 ******** case 15: return "24"; break; case 16: return "4"; break; //C2 case 17: return "23"; break; case 18: return "12"; break; case 19: return "1"; break; case 20: return "2"; break; case 21: return "0"; break; case 22: return "23"; break; case 23: return "12"; break; case 24: return "1"; break; case 25: return "2"; break; case 26: return "0"; break; //Bb2 case 27: return "12"; break; case 28: return "1"; break; case 29: return "2"; break; case 30: return "0"; break; //D3 case 31: return "1"; break; case 32: return "2"; break; case 33: return "0"; break; case 34: return "23"; break; case 35: return "12"; break; case 36: return "1"; break; case 37: return "2"; break; case 38: return "0"; break; //Bb3 case 39: return "12"; break; case 40: return "1"; break; case 41: return "2"; break; case 42: return "0"; break; case 43: return "1"; break; case 44: return "2"; break; case 45: return "0"; break; case 46: return "23"; break; case 47: return "12"; break; case 48: return "1"; break; default: return ""; } } //------------------------------------------------------------------- // run // this function will be called when activating the // plugin menu entry // // global Variables: // pluginPath - contains the plugin path; file separator is "/" //------------------------------------------------------------------- function run() { var cursor = new Cursor(curScore); cursor.staff = 0; cursor.voice = 0; cursor.rewind(); // set cursor to first chord/rest var CrLf = '\r\n'; var textold = "xxx"; while (!cursor.eos()) { if (cursor.isChord()) { var text = new Text(curScore); text.text = cursor.chord().topNote().name + CrLf + griff(cursor.chord().topNote().pitch); // comment this block for american note names // Nota: le seguenti righe sono state modificate rispetto al plugin originale text.text = text.text.replace("D","Re"); text.text = text.text.replace("A","La"); text.text = text.text.replace("B","Si"); text.text = text.text.replace("C","Do"); text.text = text.text.replace("E","Mi"); text.text = text.text.replace("F","Fa"); text.text = text.text.replace("G","Sol"); // comment the above block for ammerican note names text.yOffset = -6; if (text.text != textold) {cursor.putStaffText(text);} textold = text.text; } cursor.next(); } } //--------------------------------------------------------- // menu: defines were the function will be placed // in the MuseScore menu structure //--------------------------------------------------------- var mscorePlugin = { //change name for menu menu: 'Plugins.TubaGriffe', init: init, run: run }; mscorePlugin;