Add chord forms (stacked alterations, etc.)
This commit is contained in:
parent
fd511eee5b
commit
a2ad3bc73a
14
README.md
14
README.md
@ -1,6 +1,6 @@
|
||||
# musescore-serifjazz-chords
|
||||
|
||||
*musescore-serifjazz-chords* provides a [Musescore](https://musescore.org/) [chord symbol style file](https://musescore.org/en/handbook/chord-symbols#appearance) with Jazz-style superscripts and font distinctions, while using standard (sans-)serif fonts congruent with standard engraving formatting.
|
||||
*musescore-serifjazz-chords* provides a [Musescore](https://musescore.org/) [chord symbol style file](https://musescore.org/en/handbook/chord-symbols#appearance) with Jazz-style superscripts and font distinctions, and stacked chord alterations, while using standard (sans-)serif fonts congruent with standard engraving formatting.
|
||||
|
||||
![Screenshot](https://yingtongli.me/git/musescore-serifjazz-chords/plain/Screenshot.png)
|
||||
|
||||
@ -23,3 +23,15 @@ The layout parameters in these XML files are designed for, and expect, the *Free
|
||||
XML files corresponding to specific staff sizes should not be directly edited. They are automatically generated from *chords_serifjazz.m4.xml*. This is an [m4](https://en.wikipedia.org/wiki/M4_%28computer_language%29) file, which automatically substitutes appropriate layout parameters for each staff size.
|
||||
|
||||
Output XML files can be regenerated using the *build.sh* script. Additional staff sizes can be introduced by editing this script.
|
||||
|
||||
The m4 files accept the following parameters, configured using the `-DKEY=VALUE` command line switch:
|
||||
|
||||
* *FONT_MUSIC*: The name of the font used for musical symbols: sharps, flats and (half-)diminished symbols.
|
||||
* *FONT_SERIF*: The name of the font used for chord letters.
|
||||
* *FONT_SANS*: The name of the font used for extensions and alterations.
|
||||
* *AMT_SUP*: The amount (in 1/5 MuseScore spatium units) to raise text to be superscripted. This needs to be set for each individual staff size.
|
||||
* *AMT_UNSUP*: The amount (in 1/5 MuseScore spatium units) to correct for characters already superscripted in the font (e.g. the degree symbol for diminished chords).
|
||||
* *SUS_SUPER*: Set this key if *sus* is to be superscripted.
|
||||
* *CHORD_FORMS*: Set this key if forms for specific chords are to be generated (e.g. automatically convert Cmmaj7 to Cm<sup>(maj7)</sup>, and stack chord alterations).
|
||||
* *SYM_MI*: The symbol to be used for minor chord forms (has effect only if *CHORD_FORMS* is enabled), e.g. *m* or *MI* or *mi*.
|
||||
* *SYM_MA*: The symbol to be used for major chord forms (has effect only if *CHORD_FORMS* is enabled), e.g. *maj* or *MA*.
|
||||
|
BIN
Screenshot.png
BIN
Screenshot.png
Binary file not shown.
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 40 KiB |
8
build.sh
8
build.sh
@ -1,4 +1,6 @@
|
||||
#!/bin/bash
|
||||
m4 -P -DAMT_SUP=3.5 -DAMT_UNSUP=2.5 -DFONT_MUSIC=default -DFONT_SERIF=default -DFONT_SANS=FreeSans chords_serifjazz.m4.xml > chords_serifjazz_1.764mm_Default.xml
|
||||
m4 -P -DAMT_SUP=4.2 -DAMT_UNSUP=3.5 -DFONT_MUSIC=default -DFONT_SERIF=default -DFONT_SANS=FreeSans chords_serifjazz.m4.xml > chords_serifjazz_1.375mm_R6.xml
|
||||
m4 -P -DAMT_SUP=6.0 -DAMT_UNSUP=5.1 -DFONT_MUSIC=default -DFONT_SERIF=default -DFONT_SANS=FreeSans chords_serifjazz.m4.xml > chords_serifjazz_0.925mm_R8.xml
|
||||
ARGS="-DFONT_MUSIC=default -DFONT_SERIF=default -DFONT_SANS=FreeSans -DSUS_SUPER -DCHORD_FORMS -DSYM_MI=m -DSYM_MA=maj"
|
||||
|
||||
m4 -P -DAMT_SUP=3.5 -DAMT_UNSUP=2.5 $ARGS chords_serifjazz.m4.xml > chords_serifjazz_1.764mm_Default.xml
|
||||
m4 -P -DAMT_SUP=4.2 -DAMT_UNSUP=3.5 $ARGS chords_serifjazz.m4.xml > chords_serifjazz_1.375mm_R6.xml
|
||||
m4 -P -DAMT_SUP=6.0 -DAMT_UNSUP=5.1 $ARGS chords_serifjazz.m4.xml > chords_serifjazz_0.925mm_R8.xml
|
||||
|
@ -51,11 +51,12 @@
|
||||
<sym code="0x1d12b" name="bb"/>
|
||||
|
||||
<sym name="/"/>
|
||||
<sym name="+"/>
|
||||
|
||||
</font>
|
||||
|
||||
<!-- Serif font adjusted superscript characters -->
|
||||
<font family="FONT_SERIF">
|
||||
<font family="FONT_MUSIC">
|
||||
<mag>1.4</mag>
|
||||
|
||||
<sym code="0x00b0" name="degree"/>
|
||||
@ -74,11 +75,14 @@
|
||||
<sym name=")"/>
|
||||
<sym name="M"/>
|
||||
<sym name="Ma"/>
|
||||
<sym name="MA"/>
|
||||
<sym name="Maj"/>
|
||||
<sym name="maj"/>
|
||||
<sym name="m"/>
|
||||
<sym name="min"/>
|
||||
<sym name="MI"/>
|
||||
<sym name="Mi"/>
|
||||
<sym name="mi"/>
|
||||
<sym name="Min"/>
|
||||
<sym name="aug"/>
|
||||
<sym name="Aug"/>
|
||||
@ -91,6 +95,9 @@
|
||||
<sym name="pedal"/>
|
||||
<sym name="Pedal"/>
|
||||
|
||||
<sym name="no"/>
|
||||
<sym name="omit"/>
|
||||
|
||||
<sym value="0" name="s0"/>
|
||||
<sym value="1" name="s1"/>
|
||||
<sym value="2" name="s2"/>
|
||||
@ -105,6 +112,13 @@
|
||||
<sym value="(" name="s("/>
|
||||
<sym value=")" name="s)"/>
|
||||
|
||||
<sym code="0x239b" name="st("/>
|
||||
<sym code="0x239c" name="sm("/>
|
||||
<sym code="0x239d" name="sb("/>
|
||||
<sym code="0x239e" name="st)"/>
|
||||
<sym code="0x239f" name="sm)"/>
|
||||
<sym code="0x23a0" name="sb)"/>
|
||||
|
||||
</font>
|
||||
|
||||
<font family="FONT_MUSIC">
|
||||
@ -122,9 +136,6 @@
|
||||
<sym value="," name="s,"/>
|
||||
<sym value="/" name="s/"/>
|
||||
|
||||
<sym name="no"/>
|
||||
<sym name="omit"/>
|
||||
|
||||
</font>
|
||||
|
||||
<!--
|
||||
@ -239,6 +250,14 @@
|
||||
<name>#</name>
|
||||
<render>m:0:-⊃ s# m:0:⊃</render>
|
||||
</token>
|
||||
<token class="modifier">
|
||||
<name>no</name>
|
||||
<render>m:0:-⊃ no m:0:⊃</render>
|
||||
</token>
|
||||
<token class="modifier">
|
||||
<name>omit</name>
|
||||
<render>m:0:-⊃ omit m:0:⊃</render>
|
||||
</token>
|
||||
|
||||
<!-- Extension numbers -->
|
||||
<token class="extension">
|
||||
@ -298,4 +317,162 @@
|
||||
<renderRoot>:n :a</renderRoot>
|
||||
<renderBase>m:-0.2:1 / m:0.2:1 :n :a m:0:-2</renderBase>
|
||||
|
||||
<!--
|
||||
Part III: chord list
|
||||
declare a list of chords to be explicitly recognized
|
||||
any chord recognized as matching something on this list
|
||||
will be rendered according to the definition in this list,
|
||||
as opposed to being rendered directly from the chord symbol as typed
|
||||
thus, it provides the ability to define overrides for rendering specific chord symbols
|
||||
|
||||
id internal chord number
|
||||
may be omitted if you don't need compatibility with older chord description files
|
||||
name ordinary text name of chord
|
||||
multiple names can be used to allow several different representations of the same chord
|
||||
but there is no need to list the most common variations like "CMaj7" versus "Cma7"
|
||||
the need for multiple names comes in if you want
|
||||
significantly different ways of entering the same chord
|
||||
so listing "mi7b5" and "07" as aliases for the same (half-diminished) chord
|
||||
would allow them to be recognized as equivalent
|
||||
render this is a script which contains render commands
|
||||
commands:
|
||||
xxx draw symbol name xxx
|
||||
m:x:y add x:y to current position (1/5 spatium units)
|
||||
:push
|
||||
:pop
|
||||
:n root or base note
|
||||
:a accidental
|
||||
if omitted, chord will be rendered directly from the first name listed above
|
||||
so you can get all major seventh chords to render as "ma7" by creating a chord definition
|
||||
with no id or render tag, and just the single name "ma7"
|
||||
-->
|
||||
|
||||
m4_ifdef(`CHORD_FORMS', `
|
||||
|
||||
<chord>
|
||||
<name>add9</name>
|
||||
<render>m:0:-⊃ s( sadd s9 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>madd9</name>
|
||||
<render>SYM_MI m:0:-⊃ s( sadd s9 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>mmaj7</name>
|
||||
<render>SYM_MI m:0:-⊃ s( SYM_MA s7 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>m9maj7</name>
|
||||
<render>SYM_MI m:0:-⊃ s9 s( SYM_MA s7 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>+maj7</name>
|
||||
<render>+ m:0:-⊃ s( SYM_MA s7 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>+9maj7</name>
|
||||
<render>+ m:0:-⊃ s9 s( SYM_MA s7 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>mb5</name>
|
||||
<render>SYM_MI m:0:-⊃ s( sb s5 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>7b5</name>
|
||||
<render>m:0:-⊃ s7 s( sb s5 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>m7b5</name>
|
||||
<render>SYM_MI m:0:-⊃ s7 s( sb s5 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>9b5</name>
|
||||
<render>m:0:-⊃ s9 s( sb s5 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>m9b5</name>
|
||||
<render>SYM_MI m:0:-⊃ s9 s( sb s5 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>7b9</name>
|
||||
<render>m:0:-⊃ s7 s( sb s9 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>m7b9</name>
|
||||
<render>SYM_MI m:0:-⊃ s7 s( sb s9 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>7#9</name>
|
||||
<render>m:0:-⊃ s7 s( s# s9 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
m4_define(`LTB2', ``m:1:5.5 :push m:0:-11 st( :pop :push m:0:-5 sm( :pop sb('')
|
||||
m4_define(`RTB2', ``:push m:0:-11 st) :pop :push m:0:-5 sm) :pop sb) m:0:-5.5'')
|
||||
m4_define(`SUP2', ``:push m:0:-11 $1 :pop'')
|
||||
|
||||
<chord>
|
||||
<name>7#9b5</name>
|
||||
<render>m:0:-⊃ s7 LTB2 SUP2(`s# s9') sb s5 RTB2 m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>7b9b5</name>
|
||||
<render>m:0:-⊃ s7 LTB2 SUP2(`sb s9') sb s5 RTB2 m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>m7b9b5</name>
|
||||
<render>SYM_MI m:0:-⊃ s7 LTB2 SUP2(`sb s9') sb s5 RTB2 m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>+7b9</name>
|
||||
<render>+ m:0:-⊃ s7 s( sb s9 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>+7#9</name>
|
||||
<render>+ m:0:-⊃ s7 s( s# s9 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>9#11</name>
|
||||
<render>m:0:-⊃ s9 s( s# s1 s1 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>m9#11</name>
|
||||
<render>SYM_MI m:0:-⊃ s9 s( s# s1 s1 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>7#11b9</name>
|
||||
<render>m:0:-⊃ s7 LTB2 SUP2(`s# s1 s1') m:2:0 sb s9 m:2:0 RTB2 m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>m7#11b9</name>
|
||||
<render>SYM_MI m:0:-⊃ s7 LTB2 SUP2(`s# s1 s1') m:2:0 sb s9 m:2:0 RTB2 m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>+7#11b9</name>
|
||||
<render>+ m:0:-⊃ s7 LTB2 SUP2(`s# s1 s1') m:2:0 sb s9 m:2:0 RTB2 m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
')
|
||||
|
||||
</museScore>
|
||||
|
@ -51,6 +51,7 @@
|
||||
<sym code="0x1d12b" name="bb"/>
|
||||
|
||||
<sym name="/"/>
|
||||
<sym name="+"/>
|
||||
|
||||
</font>
|
||||
|
||||
@ -74,11 +75,14 @@
|
||||
<sym name=")"/>
|
||||
<sym name="M"/>
|
||||
<sym name="Ma"/>
|
||||
<sym name="MA"/>
|
||||
<sym name="Maj"/>
|
||||
<sym name="maj"/>
|
||||
<sym name="m"/>
|
||||
<sym name="min"/>
|
||||
<sym name="MI"/>
|
||||
<sym name="Mi"/>
|
||||
<sym name="mi"/>
|
||||
<sym name="Min"/>
|
||||
<sym name="aug"/>
|
||||
<sym name="Aug"/>
|
||||
@ -91,6 +95,9 @@
|
||||
<sym name="pedal"/>
|
||||
<sym name="Pedal"/>
|
||||
|
||||
<sym name="no"/>
|
||||
<sym name="omit"/>
|
||||
|
||||
<sym value="0" name="s0"/>
|
||||
<sym value="1" name="s1"/>
|
||||
<sym value="2" name="s2"/>
|
||||
@ -105,6 +112,13 @@
|
||||
<sym value="(" name="s("/>
|
||||
<sym value=")" name="s)"/>
|
||||
|
||||
<sym code="0x239b" name="st("/>
|
||||
<sym code="0x239c" name="sm("/>
|
||||
<sym code="0x239d" name="sb("/>
|
||||
<sym code="0x239e" name="st)"/>
|
||||
<sym code="0x239f" name="sm)"/>
|
||||
<sym code="0x23a0" name="sb)"/>
|
||||
|
||||
</font>
|
||||
|
||||
<font family="default">
|
||||
@ -122,9 +136,6 @@
|
||||
<sym value="," name="s,"/>
|
||||
<sym value="/" name="s/"/>
|
||||
|
||||
<sym name="no"/>
|
||||
<sym name="omit"/>
|
||||
|
||||
</font>
|
||||
|
||||
<!--
|
||||
@ -239,6 +250,14 @@
|
||||
<name>#</name>
|
||||
<render>m:0:-⊃ s# m:0:⊃</render>
|
||||
</token>
|
||||
<token class="modifier">
|
||||
<name>no</name>
|
||||
<render>m:0:-⊃ no m:0:⊃</render>
|
||||
</token>
|
||||
<token class="modifier">
|
||||
<name>omit</name>
|
||||
<render>m:0:-⊃ omit m:0:⊃</render>
|
||||
</token>
|
||||
|
||||
<!-- Extension numbers -->
|
||||
<token class="extension">
|
||||
@ -298,4 +317,162 @@
|
||||
<renderRoot>:n :a</renderRoot>
|
||||
<renderBase>m:-0.2:1 / m:0.2:1 :n :a m:0:-2</renderBase>
|
||||
|
||||
<!--
|
||||
Part III: chord list
|
||||
declare a list of chords to be explicitly recognized
|
||||
any chord recognized as matching something on this list
|
||||
will be rendered according to the definition in this list,
|
||||
as opposed to being rendered directly from the chord symbol as typed
|
||||
thus, it provides the ability to define overrides for rendering specific chord symbols
|
||||
|
||||
id internal chord number
|
||||
may be omitted if you don't need compatibility with older chord description files
|
||||
name ordinary text name of chord
|
||||
multiple names can be used to allow several different representations of the same chord
|
||||
but there is no need to list the most common variations like "CMaj7" versus "Cma7"
|
||||
the need for multiple names comes in if you want
|
||||
significantly different ways of entering the same chord
|
||||
so listing "mi7b5" and "07" as aliases for the same (half-diminished) chord
|
||||
would allow them to be recognized as equivalent
|
||||
render this is a script which contains render commands
|
||||
commands:
|
||||
xxx draw symbol name xxx
|
||||
m:x:y add x:y to current position (1/5 spatium units)
|
||||
:push
|
||||
:pop
|
||||
:n root or base note
|
||||
:a accidental
|
||||
if omitted, chord will be rendered directly from the first name listed above
|
||||
so you can get all major seventh chords to render as "ma7" by creating a chord definition
|
||||
with no id or render tag, and just the single name "ma7"
|
||||
-->
|
||||
|
||||
|
||||
|
||||
<chord>
|
||||
<name>add9</name>
|
||||
<render>m:0:-⊃ s( sadd s9 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>madd9</name>
|
||||
<render>m m:0:-⊃ s( sadd s9 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>mmaj7</name>
|
||||
<render>m m:0:-⊃ s( maj s7 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>m9maj7</name>
|
||||
<render>m m:0:-⊃ s9 s( maj s7 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>+maj7</name>
|
||||
<render>+ m:0:-⊃ s( maj s7 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>+9maj7</name>
|
||||
<render>+ m:0:-⊃ s9 s( maj s7 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>mb5</name>
|
||||
<render>m m:0:-⊃ s( sb s5 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>7b5</name>
|
||||
<render>m:0:-⊃ s7 s( sb s5 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>m7b5</name>
|
||||
<render>m m:0:-⊃ s7 s( sb s5 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>9b5</name>
|
||||
<render>m:0:-⊃ s9 s( sb s5 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>m9b5</name>
|
||||
<render>m m:0:-⊃ s9 s( sb s5 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>7b9</name>
|
||||
<render>m:0:-⊃ s7 s( sb s9 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>m7b9</name>
|
||||
<render>m m:0:-⊃ s7 s( sb s9 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>7#9</name>
|
||||
<render>m:0:-⊃ s7 s( s# s9 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<chord>
|
||||
<name>7#9b5</name>
|
||||
<render>m:0:-⊃ s7 m:1:5.5 :push m:0:-11 st( :pop :push m:0:-5 sm( :pop sb( :push m:0:-11 s# s9 :pop sb s5 :push m:0:-11 st) :pop :push m:0:-5 sm) :pop sb) m:0:-5.5 m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>7b9b5</name>
|
||||
<render>m:0:-⊃ s7 m:1:5.5 :push m:0:-11 st( :pop :push m:0:-5 sm( :pop sb( :push m:0:-11 sb s9 :pop sb s5 :push m:0:-11 st) :pop :push m:0:-5 sm) :pop sb) m:0:-5.5 m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>m7b9b5</name>
|
||||
<render>m m:0:-⊃ s7 m:1:5.5 :push m:0:-11 st( :pop :push m:0:-5 sm( :pop sb( :push m:0:-11 sb s9 :pop sb s5 :push m:0:-11 st) :pop :push m:0:-5 sm) :pop sb) m:0:-5.5 m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>+7b9</name>
|
||||
<render>+ m:0:-⊃ s7 s( sb s9 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>+7#9</name>
|
||||
<render>+ m:0:-⊃ s7 s( s# s9 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>9#11</name>
|
||||
<render>m:0:-⊃ s9 s( s# s1 s1 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>m9#11</name>
|
||||
<render>m m:0:-⊃ s9 s( s# s1 s1 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>7#11b9</name>
|
||||
<render>m:0:-⊃ s7 m:1:5.5 :push m:0:-11 st( :pop :push m:0:-5 sm( :pop sb( :push m:0:-11 s# s1 s1 :pop m:2:0 sb s9 m:2:0 :push m:0:-11 st) :pop :push m:0:-5 sm) :pop sb) m:0:-5.5 m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>m7#11b9</name>
|
||||
<render>m m:0:-⊃ s7 m:1:5.5 :push m:0:-11 st( :pop :push m:0:-5 sm( :pop sb( :push m:0:-11 s# s1 s1 :pop m:2:0 sb s9 m:2:0 :push m:0:-11 st) :pop :push m:0:-5 sm) :pop sb) m:0:-5.5 m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>+7#11b9</name>
|
||||
<render>+ m:0:-⊃ s7 m:1:5.5 :push m:0:-11 st( :pop :push m:0:-5 sm( :pop sb( :push m:0:-11 s# s1 s1 :pop m:2:0 sb s9 m:2:0 :push m:0:-11 st) :pop :push m:0:-5 sm) :pop sb) m:0:-5.5 m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
|
||||
|
||||
</museScore>
|
||||
|
@ -51,6 +51,7 @@
|
||||
<sym code="0x1d12b" name="bb"/>
|
||||
|
||||
<sym name="/"/>
|
||||
<sym name="+"/>
|
||||
|
||||
</font>
|
||||
|
||||
@ -74,11 +75,14 @@
|
||||
<sym name=")"/>
|
||||
<sym name="M"/>
|
||||
<sym name="Ma"/>
|
||||
<sym name="MA"/>
|
||||
<sym name="Maj"/>
|
||||
<sym name="maj"/>
|
||||
<sym name="m"/>
|
||||
<sym name="min"/>
|
||||
<sym name="MI"/>
|
||||
<sym name="Mi"/>
|
||||
<sym name="mi"/>
|
||||
<sym name="Min"/>
|
||||
<sym name="aug"/>
|
||||
<sym name="Aug"/>
|
||||
@ -91,6 +95,9 @@
|
||||
<sym name="pedal"/>
|
||||
<sym name="Pedal"/>
|
||||
|
||||
<sym name="no"/>
|
||||
<sym name="omit"/>
|
||||
|
||||
<sym value="0" name="s0"/>
|
||||
<sym value="1" name="s1"/>
|
||||
<sym value="2" name="s2"/>
|
||||
@ -105,6 +112,13 @@
|
||||
<sym value="(" name="s("/>
|
||||
<sym value=")" name="s)"/>
|
||||
|
||||
<sym code="0x239b" name="st("/>
|
||||
<sym code="0x239c" name="sm("/>
|
||||
<sym code="0x239d" name="sb("/>
|
||||
<sym code="0x239e" name="st)"/>
|
||||
<sym code="0x239f" name="sm)"/>
|
||||
<sym code="0x23a0" name="sb)"/>
|
||||
|
||||
</font>
|
||||
|
||||
<font family="default">
|
||||
@ -122,9 +136,6 @@
|
||||
<sym value="," name="s,"/>
|
||||
<sym value="/" name="s/"/>
|
||||
|
||||
<sym name="no"/>
|
||||
<sym name="omit"/>
|
||||
|
||||
</font>
|
||||
|
||||
<!--
|
||||
@ -239,6 +250,14 @@
|
||||
<name>#</name>
|
||||
<render>m:0:-⊃ s# m:0:⊃</render>
|
||||
</token>
|
||||
<token class="modifier">
|
||||
<name>no</name>
|
||||
<render>m:0:-⊃ no m:0:⊃</render>
|
||||
</token>
|
||||
<token class="modifier">
|
||||
<name>omit</name>
|
||||
<render>m:0:-⊃ omit m:0:⊃</render>
|
||||
</token>
|
||||
|
||||
<!-- Extension numbers -->
|
||||
<token class="extension">
|
||||
@ -298,4 +317,162 @@
|
||||
<renderRoot>:n :a</renderRoot>
|
||||
<renderBase>m:-0.2:1 / m:0.2:1 :n :a m:0:-2</renderBase>
|
||||
|
||||
<!--
|
||||
Part III: chord list
|
||||
declare a list of chords to be explicitly recognized
|
||||
any chord recognized as matching something on this list
|
||||
will be rendered according to the definition in this list,
|
||||
as opposed to being rendered directly from the chord symbol as typed
|
||||
thus, it provides the ability to define overrides for rendering specific chord symbols
|
||||
|
||||
id internal chord number
|
||||
may be omitted if you don't need compatibility with older chord description files
|
||||
name ordinary text name of chord
|
||||
multiple names can be used to allow several different representations of the same chord
|
||||
but there is no need to list the most common variations like "CMaj7" versus "Cma7"
|
||||
the need for multiple names comes in if you want
|
||||
significantly different ways of entering the same chord
|
||||
so listing "mi7b5" and "07" as aliases for the same (half-diminished) chord
|
||||
would allow them to be recognized as equivalent
|
||||
render this is a script which contains render commands
|
||||
commands:
|
||||
xxx draw symbol name xxx
|
||||
m:x:y add x:y to current position (1/5 spatium units)
|
||||
:push
|
||||
:pop
|
||||
:n root or base note
|
||||
:a accidental
|
||||
if omitted, chord will be rendered directly from the first name listed above
|
||||
so you can get all major seventh chords to render as "ma7" by creating a chord definition
|
||||
with no id or render tag, and just the single name "ma7"
|
||||
-->
|
||||
|
||||
|
||||
|
||||
<chord>
|
||||
<name>add9</name>
|
||||
<render>m:0:-⊃ s( sadd s9 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>madd9</name>
|
||||
<render>m m:0:-⊃ s( sadd s9 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>mmaj7</name>
|
||||
<render>m m:0:-⊃ s( maj s7 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>m9maj7</name>
|
||||
<render>m m:0:-⊃ s9 s( maj s7 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>+maj7</name>
|
||||
<render>+ m:0:-⊃ s( maj s7 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>+9maj7</name>
|
||||
<render>+ m:0:-⊃ s9 s( maj s7 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>mb5</name>
|
||||
<render>m m:0:-⊃ s( sb s5 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>7b5</name>
|
||||
<render>m:0:-⊃ s7 s( sb s5 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>m7b5</name>
|
||||
<render>m m:0:-⊃ s7 s( sb s5 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>9b5</name>
|
||||
<render>m:0:-⊃ s9 s( sb s5 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>m9b5</name>
|
||||
<render>m m:0:-⊃ s9 s( sb s5 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>7b9</name>
|
||||
<render>m:0:-⊃ s7 s( sb s9 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>m7b9</name>
|
||||
<render>m m:0:-⊃ s7 s( sb s9 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>7#9</name>
|
||||
<render>m:0:-⊃ s7 s( s# s9 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<chord>
|
||||
<name>7#9b5</name>
|
||||
<render>m:0:-⊃ s7 m:1:5.5 :push m:0:-11 st( :pop :push m:0:-5 sm( :pop sb( :push m:0:-11 s# s9 :pop sb s5 :push m:0:-11 st) :pop :push m:0:-5 sm) :pop sb) m:0:-5.5 m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>7b9b5</name>
|
||||
<render>m:0:-⊃ s7 m:1:5.5 :push m:0:-11 st( :pop :push m:0:-5 sm( :pop sb( :push m:0:-11 sb s9 :pop sb s5 :push m:0:-11 st) :pop :push m:0:-5 sm) :pop sb) m:0:-5.5 m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>m7b9b5</name>
|
||||
<render>m m:0:-⊃ s7 m:1:5.5 :push m:0:-11 st( :pop :push m:0:-5 sm( :pop sb( :push m:0:-11 sb s9 :pop sb s5 :push m:0:-11 st) :pop :push m:0:-5 sm) :pop sb) m:0:-5.5 m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>+7b9</name>
|
||||
<render>+ m:0:-⊃ s7 s( sb s9 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>+7#9</name>
|
||||
<render>+ m:0:-⊃ s7 s( s# s9 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>9#11</name>
|
||||
<render>m:0:-⊃ s9 s( s# s1 s1 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>m9#11</name>
|
||||
<render>m m:0:-⊃ s9 s( s# s1 s1 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>7#11b9</name>
|
||||
<render>m:0:-⊃ s7 m:1:5.5 :push m:0:-11 st( :pop :push m:0:-5 sm( :pop sb( :push m:0:-11 s# s1 s1 :pop m:2:0 sb s9 m:2:0 :push m:0:-11 st) :pop :push m:0:-5 sm) :pop sb) m:0:-5.5 m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>m7#11b9</name>
|
||||
<render>m m:0:-⊃ s7 m:1:5.5 :push m:0:-11 st( :pop :push m:0:-5 sm( :pop sb( :push m:0:-11 s# s1 s1 :pop m:2:0 sb s9 m:2:0 :push m:0:-11 st) :pop :push m:0:-5 sm) :pop sb) m:0:-5.5 m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>+7#11b9</name>
|
||||
<render>+ m:0:-⊃ s7 m:1:5.5 :push m:0:-11 st( :pop :push m:0:-5 sm( :pop sb( :push m:0:-11 s# s1 s1 :pop m:2:0 sb s9 m:2:0 :push m:0:-11 st) :pop :push m:0:-5 sm) :pop sb) m:0:-5.5 m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
|
||||
|
||||
</museScore>
|
||||
|
@ -51,6 +51,7 @@
|
||||
<sym code="0x1d12b" name="bb"/>
|
||||
|
||||
<sym name="/"/>
|
||||
<sym name="+"/>
|
||||
|
||||
</font>
|
||||
|
||||
@ -74,11 +75,14 @@
|
||||
<sym name=")"/>
|
||||
<sym name="M"/>
|
||||
<sym name="Ma"/>
|
||||
<sym name="MA"/>
|
||||
<sym name="Maj"/>
|
||||
<sym name="maj"/>
|
||||
<sym name="m"/>
|
||||
<sym name="min"/>
|
||||
<sym name="MI"/>
|
||||
<sym name="Mi"/>
|
||||
<sym name="mi"/>
|
||||
<sym name="Min"/>
|
||||
<sym name="aug"/>
|
||||
<sym name="Aug"/>
|
||||
@ -91,6 +95,9 @@
|
||||
<sym name="pedal"/>
|
||||
<sym name="Pedal"/>
|
||||
|
||||
<sym name="no"/>
|
||||
<sym name="omit"/>
|
||||
|
||||
<sym value="0" name="s0"/>
|
||||
<sym value="1" name="s1"/>
|
||||
<sym value="2" name="s2"/>
|
||||
@ -105,6 +112,13 @@
|
||||
<sym value="(" name="s("/>
|
||||
<sym value=")" name="s)"/>
|
||||
|
||||
<sym code="0x239b" name="st("/>
|
||||
<sym code="0x239c" name="sm("/>
|
||||
<sym code="0x239d" name="sb("/>
|
||||
<sym code="0x239e" name="st)"/>
|
||||
<sym code="0x239f" name="sm)"/>
|
||||
<sym code="0x23a0" name="sb)"/>
|
||||
|
||||
</font>
|
||||
|
||||
<font family="default">
|
||||
@ -122,9 +136,6 @@
|
||||
<sym value="," name="s,"/>
|
||||
<sym value="/" name="s/"/>
|
||||
|
||||
<sym name="no"/>
|
||||
<sym name="omit"/>
|
||||
|
||||
</font>
|
||||
|
||||
<!--
|
||||
@ -239,6 +250,14 @@
|
||||
<name>#</name>
|
||||
<render>m:0:-⊃ s# m:0:⊃</render>
|
||||
</token>
|
||||
<token class="modifier">
|
||||
<name>no</name>
|
||||
<render>m:0:-⊃ no m:0:⊃</render>
|
||||
</token>
|
||||
<token class="modifier">
|
||||
<name>omit</name>
|
||||
<render>m:0:-⊃ omit m:0:⊃</render>
|
||||
</token>
|
||||
|
||||
<!-- Extension numbers -->
|
||||
<token class="extension">
|
||||
@ -298,4 +317,162 @@
|
||||
<renderRoot>:n :a</renderRoot>
|
||||
<renderBase>m:-0.2:1 / m:0.2:1 :n :a m:0:-2</renderBase>
|
||||
|
||||
<!--
|
||||
Part III: chord list
|
||||
declare a list of chords to be explicitly recognized
|
||||
any chord recognized as matching something on this list
|
||||
will be rendered according to the definition in this list,
|
||||
as opposed to being rendered directly from the chord symbol as typed
|
||||
thus, it provides the ability to define overrides for rendering specific chord symbols
|
||||
|
||||
id internal chord number
|
||||
may be omitted if you don't need compatibility with older chord description files
|
||||
name ordinary text name of chord
|
||||
multiple names can be used to allow several different representations of the same chord
|
||||
but there is no need to list the most common variations like "CMaj7" versus "Cma7"
|
||||
the need for multiple names comes in if you want
|
||||
significantly different ways of entering the same chord
|
||||
so listing "mi7b5" and "07" as aliases for the same (half-diminished) chord
|
||||
would allow them to be recognized as equivalent
|
||||
render this is a script which contains render commands
|
||||
commands:
|
||||
xxx draw symbol name xxx
|
||||
m:x:y add x:y to current position (1/5 spatium units)
|
||||
:push
|
||||
:pop
|
||||
:n root or base note
|
||||
:a accidental
|
||||
if omitted, chord will be rendered directly from the first name listed above
|
||||
so you can get all major seventh chords to render as "ma7" by creating a chord definition
|
||||
with no id or render tag, and just the single name "ma7"
|
||||
-->
|
||||
|
||||
|
||||
|
||||
<chord>
|
||||
<name>add9</name>
|
||||
<render>m:0:-⊃ s( sadd s9 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>madd9</name>
|
||||
<render>m m:0:-⊃ s( sadd s9 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>mmaj7</name>
|
||||
<render>m m:0:-⊃ s( maj s7 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>m9maj7</name>
|
||||
<render>m m:0:-⊃ s9 s( maj s7 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>+maj7</name>
|
||||
<render>+ m:0:-⊃ s( maj s7 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>+9maj7</name>
|
||||
<render>+ m:0:-⊃ s9 s( maj s7 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>mb5</name>
|
||||
<render>m m:0:-⊃ s( sb s5 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>7b5</name>
|
||||
<render>m:0:-⊃ s7 s( sb s5 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>m7b5</name>
|
||||
<render>m m:0:-⊃ s7 s( sb s5 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>9b5</name>
|
||||
<render>m:0:-⊃ s9 s( sb s5 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>m9b5</name>
|
||||
<render>m m:0:-⊃ s9 s( sb s5 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>7b9</name>
|
||||
<render>m:0:-⊃ s7 s( sb s9 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>m7b9</name>
|
||||
<render>m m:0:-⊃ s7 s( sb s9 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>7#9</name>
|
||||
<render>m:0:-⊃ s7 s( s# s9 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<chord>
|
||||
<name>7#9b5</name>
|
||||
<render>m:0:-⊃ s7 m:1:5.5 :push m:0:-11 st( :pop :push m:0:-5 sm( :pop sb( :push m:0:-11 s# s9 :pop sb s5 :push m:0:-11 st) :pop :push m:0:-5 sm) :pop sb) m:0:-5.5 m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>7b9b5</name>
|
||||
<render>m:0:-⊃ s7 m:1:5.5 :push m:0:-11 st( :pop :push m:0:-5 sm( :pop sb( :push m:0:-11 sb s9 :pop sb s5 :push m:0:-11 st) :pop :push m:0:-5 sm) :pop sb) m:0:-5.5 m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>m7b9b5</name>
|
||||
<render>m m:0:-⊃ s7 m:1:5.5 :push m:0:-11 st( :pop :push m:0:-5 sm( :pop sb( :push m:0:-11 sb s9 :pop sb s5 :push m:0:-11 st) :pop :push m:0:-5 sm) :pop sb) m:0:-5.5 m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>+7b9</name>
|
||||
<render>+ m:0:-⊃ s7 s( sb s9 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>+7#9</name>
|
||||
<render>+ m:0:-⊃ s7 s( s# s9 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>9#11</name>
|
||||
<render>m:0:-⊃ s9 s( s# s1 s1 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>m9#11</name>
|
||||
<render>m m:0:-⊃ s9 s( s# s1 s1 s) m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>7#11b9</name>
|
||||
<render>m:0:-⊃ s7 m:1:5.5 :push m:0:-11 st( :pop :push m:0:-5 sm( :pop sb( :push m:0:-11 s# s1 s1 :pop m:2:0 sb s9 m:2:0 :push m:0:-11 st) :pop :push m:0:-5 sm) :pop sb) m:0:-5.5 m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>m7#11b9</name>
|
||||
<render>m m:0:-⊃ s7 m:1:5.5 :push m:0:-11 st( :pop :push m:0:-5 sm( :pop sb( :push m:0:-11 s# s1 s1 :pop m:2:0 sb s9 m:2:0 :push m:0:-11 st) :pop :push m:0:-5 sm) :pop sb) m:0:-5.5 m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
<chord>
|
||||
<name>+7#11b9</name>
|
||||
<render>+ m:0:-⊃ s7 m:1:5.5 :push m:0:-11 st( :pop :push m:0:-5 sm( :pop sb( :push m:0:-11 s# s1 s1 :pop m:2:0 sb s9 m:2:0 :push m:0:-11 st) :pop :push m:0:-5 sm) :pop sb) m:0:-5.5 m:0:⊃</render>
|
||||
</chord>
|
||||
|
||||
|
||||
|
||||
</museScore>
|
||||
|
Loading…
Reference in New Issue
Block a user