MuseScore - Plugin-Programmierung verstehen - Notennamen

die Bezeichnungen der Noten müssen über die Lokalisierung ermittelt werden.

Mir ist jetzt nicht klar, was in diesem Zusammenhang Lokalisierung bedeutet, hatte aber gerade beim "Rumlaufen" eine Idee zum Thema "Sprachen". Kann man da nicht eine Auswahltabelle machen, die sich beim Starten des Plugins öffnet?
Die Auswahl springt dann einen bestimmten Abschnitt des Codes an, in dem dann eine der Varianten der Notenbezeichnungen aufgerufen wird. Zusätzlich könnte man die Berechnung einer Octavversetzung ind die Auswahlliste einbauen. Dann wären alle angesprochenen "Probleme" untergebracht. Oder?

Zitatfunktion
- Cursor im Antwortkasten dort hin positionieren, wo das Zitat auftauchen soll.
- Textausschnitt mit gedrückter linker Maustaste in einem der sichtbaren Posts markieren > Maus loslassen > ein Menü wird sichtbar > auf "Zitieren" klicken > Text im Antwortkasten

Viele Grüße
Lisa
--- Beiträge wurden zusammengefasst ---
Wenn Du mit dem Komprimieren Schwierigkeiten hast:
Das Plug-In ist ja nicht sehr lang, Du kannst das Coding auch direkt mit ...

???
Es ging doch um die Noten, die ich als Grafik eingefügt habe.
 
???
Es ging doch um die Noten, die ich als Grafik eingefügt habe.

Ach so, ich dachte, es ging auch um das von Dir schon angepaßte Plu-In-Coding (mit den deutschen Notennamen...)
 
Ah, ok.
Bin noch am "rumlaufen". Vor Morgen wird das nichts mit in Ruhe hinsetzen und "basteln". Muss die Daten vom "Inselrechner" herunter holen und mittels mobilem Datenträger auf den altersschwachen I-net-Rechner bugsieren.
 
Hallo Ihr Zwei
Hier zwei Code-Schnipsel.
Ich hoffe, ich habe das richtig gemacht.
Um die Oktavlagen in der Midi-Variante darstellen zu können, habe ich die "," und die " ' " gegen die entsprechenden Zahlen ausgetauscht.
Jetzt weiß ich nur nicht, wo der Code geändert werden muss, damit auch alle Zahlen hinter dem Buchstaben stehen. So sieht das Ergebnis etwas merkwürdig aus. :engel:

Code:
  property variant
  tpcText : [
  "Feses", // -1
  "Ceses",  // 0
  "Geses",
  "Deses",
  "Asas",
  "Eses",
  "Heses",
  "Fes",
  "Ces",
  "Ges",
  "Des",
  "As",
  "Es",
  "B",
  "F",
  "C",
  "G",
  "D",
  "A",
  "E",
  "H",
  "Fis",
  "Cis",
  "Gis",
  "Dis",
  "Ais",
  "Eis",
  "His",
  "Fisis",
  "Cisis",
  "Gisis",
  "Disis",
  "Aisis",
  "Eisis",
  "Hisis"
  ];


Code:
   property variant octaveSymbols : [
"00",
"0",
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"10"
  ]

Gruß
Lisa
 
Hallo Lisa,

alles wird gut.

Wenn Du anstelle der oktav-Symbole "," und " ' " sehen, willst, dann mußt Du die entsprechenden Propertiers verändern:

property variant flgShowOctaveSymbol : true
property variant flgShowOctaveNumber : false

Ansonsten: habe das plugin weiter überarbeitet und melde mich morgen mit dem aktuellen Stand.

Grüße
 
  • Gefällt mir
Reaktionen: 1 Benutzer
Hallo Lisa,

als angehängte Datei der aktuelle Stand.

Den Inhalt der zip-Datei in das (Nutzer) plugin-Verzeichnis entpacken. Es ist wichtig, daß der Ordner "klabuebaer-nodenames2" kopiert wird, also nicht nur die *.qml-Datei. Das plugin heißt jetzt ebenfalls vorläufig "notenames" damit die sprachabhängigkeit gewährleistet ist.

Ich bin ein ganzes Stück weitergekommen:

1) Die Noten-Namen sind jetzt sprachabhängig und sollten in der source des plugins nicht verändert werden. Ansonsten funktioniert die sprachabhängigkeit nicht.

2) Die einzelnen Funktionen des plugins werden jetzt über die Einträge in der Datei "MuseScore.ini" gesteuert. Dort gibt es nach dem ersten Aufruf des plugins die folgenden Einträge:

Code:
[noteNames2settings]
convert2UpperLowerCase=true
useVoiceColors=false
showOctaveSymbol=true
suppressDuplicates=true
showOctaveNumber=false
verticalStyle=true

Die Datei ist zu finden unter:

"C:\Users\<name>\AppData\Roaming\MuseScore\MuseScore2.ini"

Für <name> ist der Name des Nutzers einzusetzen.

Mit einem Editor können diese Einträge verändert werden (z.B. mit Notepad oder Notepad++). Damit muß nicht (mehr) der code des plugins verändert werden.
Evtl. von der Datei vor einer Änderung eine Kopie anlegen, falls etwas im editor schiefgeht.

3) Mehrstimmigkeit geht. Am Beispiel von @Be-3 (danke dafür) ist das gut zu sehen. Die Noten-Namen für die zweite Stimme stehen unter der Notenzeile.

4) Damit bei Mehrstimmigkeit erkennbar ist, welcher Noten-Name zu welcher Note gehört, kann auf Farbigkeit umgeschaltet werden (useVoiceColors= true). Die Farben entsprechen den Farben für die einzelnen Stimmen wie in MuseScore gewohnt.

5) suppressDuplicates wirkt sich jetzt nicht nur auf einzelnen Noten, sondern auch auf Akkorde aus.

6) In der waagerechten Ausrichtung der Noten-Namen werden zwei Zeilen abwechselnd verwendet. Dies verhindert zum größten Teil, daß bei Akkorden die Texte übereinander dargestellt werden.

Was ist noch offen:

Was ist noch offen:
Was ist noch offen:
1) Berücksichtigung von verminderten/erweiterten Oktaven.

2) Bei clef-wechseln in der Partitur werden aufeinanderfolgende gleiche Noten-Namen weiterhin unterdrückt, wenn suppressDuplicates=true definiert wurde.

3) der Font-Name und die Font-Größe kann noch nicht über die ini-Datei eingestellt werden.

Ich hoffe, ich habe nichts vergessen. Viel Spaß beim testen.

Grüße
 

Anhänge

  • klabuebaer-nodenames2.zip
    36 KB · Aufrufe: 136
Vielen Dank für Deine Mühen klabuebaer

1) Die Noten-Namen sind jetzt sprachabhängig und sollten in der source des plugins nicht verändert werden. Ansonsten funktioniert die sprachabhängigkeit nicht.

Bezieht sich das auf Einstellungen, die in Windows hinterlegt sind?
Das gefällt mir nicht, da ich nicht an Grundeinstellungen gefesselt sein will.
Ich möchte die Noten-Bezeichnungen abhängig von der Zielsetzung variieren können.
Die einfachste Lösung:
Für jede Zielsetzung das bestehende Plugin abwandeln, indem die Notennamen und die Oktavlagenbezeichnungen angepasst werden und dann das Plugin unter entsprechend geändertem Namen abspeichern. Zwei Varianten wurden hier bereits gezeigt.

2) Die einzelnen Funktionen des plugins werden jetzt über die Einträge in der Datei "MuseScore.ini" gesteuert. Dort gibt es nach dem ersten Aufruf des plugins die folgenden Einträge:

Code:
[noteNames2settings]
convert2UpperLowerCase=true
useVoiceColors=false
showOctaveSymbol=true
suppressDuplicates=true
showOctaveNumber=false
verticalStyle=true
Die Datei ist zu finden unter:

"C:\Users\<name>\AppData\Roaming\MuseScore\MuseScore2.ini"

Hmmm. Das liest sich für mich jetzt so, als ob in den Grundeinstellungen von musescore Änderungen vorgenommen werden, auf die ich dann keinen Einfluss mehr habe. So was installiere ich dann lieber nicht.

2) Bei clef-wechseln in der Partitur werden aufeinanderfolgende gleiche Noten-Namen weiterhin unterdrückt, wenn suppressDuplicates=true definiert wurde.

Und wenn man true gegen false austauscht, werden die Duplikate ausgegeben?


Wenn Du anstelle der oktav-Symbole "," und " ' " sehen, willst, dann mußt Du die entsprechenden Propertiers verändern:

property variant flgShowOctaveSymbol : true
property variant flgShowOctaveNumber : false

Durch diese Antwort steige ich nicht durch.
"," und " ' " sind die Oktavsymbole im deutschen System.
Das erste Symbol steht vor den Tonbuchstaben und das zweite dahinter.
Irgendwo muss also im Code hinterlegt sein, ab welcher "Pitch-Zahl" die Reihenfolge von Buchstabe und Oktavsymbol wechselt.
Dafür hatte ich eine Erklärung erfragt.

Wenn ich "," und " ' " gegen die Zahlen austausche, wie sie beim digitalen System in Keyboards etc. angezeigt werden, müssen die Oktavnummern immer hinter dem Tonbuchstaben stehen.
Also muss der Code geändert werden, damit sie nicht in den untersten Oktavlagen vor dem Tonbuchstagen stehen.
Wie diese Änderung auszusehen hat, wüsste ich gerne.

Bin gespannt, was Du Dir noch so ausdenkst.
Aber vor allem möchte ich verstehen, was wann wie wo warum passiert. :)

Viele Grüße
Lisa
 

Unser weiteres Online-Angebot:
Bassic.de · Deejayforum.de · Sequencer.de · Clavio.de · Guitarworld.de · Recording.de

Musiker-Board Logo
Zurück
Oben