Chord names and names in italian stile

• Feb 16, 2013 - 10:42


I haven't found a suitable solution for italian chord names consistent with transposition, so I'm ready to try to create a plugin (clearly if such a plugin already exists... well let me know... ;-)

I just want to find the text parts that have been introduced with Cntr-k, and substitute that one. My goal is to retain the possibility to transpose it and have all names displying correctly. Currently id works just with anglosaxon names.

The plan is to create a cursor, loop on all notes and set the text part of those notes but in the developer's docs I couldn't find a way to get to the text that was introduced via C-k. And related to this my question is: when you enter a chord name via C-k, what object is that? simple text or special. Does it has an attribute for the chord name and one for the display name?

cursor.isChord() return true just on chords or on all notes? Despite the name it seems to me that it return True on all notes...

thanks in advance for any hint


Chord names in Plugins are called Harmonies, not Chords (which there is a collection of one or more Notes, hence isChord() returns true on every note and false on a rest). Check
I don't think the plugin framework is up to the task you're planning, what you most probably really need to do is to create a special version of an italian chord style xml file.
Check and have a look at the xml files in ...MuseScore\styles\

In reply to by Jojo-Schmitz

Thanks Jojo,

what you say is pretty clear and makes total sense to me (save for the fact that I would imagine a isHarmony() method on crusor object). Harmony object has the id used in chods.xml and has the base that I guess is used when transposing the score.

I opened chords.xml and other xml in that directory but I can't understand where the name of the chord is composed...

Ok, I now found a pretty clear comment:

Italian / solfege chord names

<sym code="0xe201" name="C"/>
<sym code="0xe202" name="D"/>
<sym code="0xe203" name="E"/>
<sym code="0xe204" name="F"/>
<sym code="0xe205" name="G"/>
<sym code="0xe206" name="A"/>
<sym code="0xe207" name="B"/>

Uncommenting it was all I needed, even thought I haven't really understood what it did!


In reply to by sandroden

This is code I added to the chord description files that use the MuseJazz font. What it does is redefine the letters A-G to display using character codes 0xe201-oxe207 (rather the usual ASCII codes 0x41-0x47). This works with MuseJazz only, because I also added the syllabkes Do-La at those character positions :-).

My hope is that for a future release there will be native support for these syllables just as there is for the German "H". Possibly 2.0, possibly after.

Do you still have an unanswered question? Please log in first to post your question.