aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRunasSudo <runassudo@yingtongli.me>2020-05-07 00:22:16 +1000
committerRunasSudo <runassudo@yingtongli.me>2020-05-23 03:06:24 +1000
commita6a3288f0caa2850e6f126ebf61c46380edd6613 (patch)
tree40b201e1087b09e7ffac5d4dd3b6d37bf7a13ad3
parent6d02a7bae49e094b9969fc2ffe86394a95745934 (diff)
Implement 6/9 chords
Separate logic per staff size
-rwxr-xr-xbuild.sh3
-rw-r--r--chords_serifjazz.m4.xml (renamed from chords_serifjazz.xml)39
-rw-r--r--chords_serifjazz_0.925mm_R8.xml242
-rw-r--r--chords_serifjazz_1.764mm_Default.xml242
4 files changed, 494 insertions, 32 deletions
diff --git a/build.sh b/build.sh
new file mode 100755
index 0000000..3f1574b
--- /dev/null
+++ b/build.sh
@@ -0,0 +1,3 @@
+#!/bin/bash
+m4 -P -DAMT_SUP=3.5 -DAMT_UNSUP=2.5 chords_serifjazz.m4.xml > chords_serifjazz_1.764mm_Default.xml
+m4 -P -DAMT_SUP=6.0 -DAMT_UNSUP=5.1 chords_serifjazz.m4.xml > chords_serifjazz_0.925mm_R8.xml
diff --git a/chords_serifjazz.xml b/chords_serifjazz.m4.xml
index 9f298e5..ff75493 100644
--- a/chords_serifjazz.xml
+++ b/chords_serifjazz.m4.xml
@@ -22,9 +22,9 @@
-->
<!-- Superscript amount (negative) -->
- <!ENTITY sup "6.5">
+ <!ENTITY sup "AMT_SUP">
<!-- Correction for characters already superscripted in font -->
- <!ENTITY unsup "4.5">
+ <!ENTITY unsup "AMT_UNSUP">
]>
@@ -230,38 +230,13 @@
<name>9</name>
<render>m:0:-&sup; s9 m:0:&sup;</render>
</token>
+
+ <token class="extension">
+ <name>6/9</name>
+ <render>m:0:-&sup; s6 m:-0.5:&sup; m:0:-0.5 / m:-0.5:0.5 s9</render>
+ </token>
<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"
--->
-
</museScore>
diff --git a/chords_serifjazz_0.925mm_R8.xml b/chords_serifjazz_0.925mm_R8.xml
new file mode 100644
index 0000000..9e37907
--- /dev/null
+++ b/chords_serifjazz_0.925mm_R8.xml
@@ -0,0 +1,242 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE museScore [
+
+<!--
+=====================================================================
+ musescore-serifjazz-chords (rewrite)
+ Copyright (C) 2020 RunasSudo (Yingtong Li)
+
+ 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.
+
+=====================================================================
+-->
+
+<!-- Superscript amount (negative) -->
+ <!ENTITY sup "6.0">
+<!-- Correction for characters already superscripted in font -->
+ <!ENTITY unsup "5.1">
+
+ ]>
+
+<museScore version="1.24">
+
+<!--
+ Part I: font list
+ associate symbols (code points) with names
+ If no font family is given or font family is "default" then the
+ configured text style font family is used.
+-->
+
+ <!-- Serif font -->
+ <font family="default">
+ <sym code="0x266d" name="b"/>
+ <sym code="0x266e" name="natural"/>
+ <sym code="0x266f" name="#"/>
+
+ <sym code="0x1d12a" name="##"/>
+ <sym code="0x1d12b" name="bb"/>
+
+ </font>
+
+ <!-- Serif font adjusted superscript characters -->
+ <font family="default">
+ <mag>1.4</mag>
+
+ <sym code="0x00b0" name="degree"/>
+ <sym code="0x1d1a9" name="oslash"/>
+
+ </font>
+
+ <!-- Sans-serif font -->
+ <font family="FreeSans">
+ <mag>0.7</mag>
+
+ <sym value="sus" name="sus"/>
+ <sym value="add" name="sadd"/>
+
+ <sym name="("/>
+ <sym name=")"/>
+ <sym name="M"/>
+ <sym name="Ma"/>
+ <sym name="Maj"/>
+ <sym name="maj"/>
+ <sym name="m"/>
+ <sym name="min"/>
+ <sym name="Mi"/>
+ <sym name="Min"/>
+ <sym name="aug"/>
+ <sym name="Aug"/>
+ <sym name="dim"/>
+ <sym name="Dim"/>
+ <sym name="alt"/>
+ <sym name="Alt"/>
+ <sym name="bass"/>
+ <sym name="Bass"/>
+ <sym name="pedal"/>
+ <sym name="Pedal"/>
+
+ <sym value="0" name="s0"/>
+ <sym value="1" name="s1"/>
+ <sym value="2" name="s2"/>
+ <sym value="3" name="s3"/>
+ <sym value="4" name="s4"/>
+ <sym value="5" name="s5"/>
+ <sym value="6" name="s6"/>
+ <sym value="7" name="s7"/>
+ <sym value="8" name="s8"/>
+ <sym value="9" name="s9"/>
+
+ </font>
+
+ <font family="default">
+ <mag>0.75</mag>
+
+ <sym value="(" name="s("/>
+ <sym value=")" name="s)"/>
+ <sym value="," name="s,"/>
+ <sym value="/" name="s/"/>
+
+ <sym name="no"/>
+ <sym name="omit"/>
+
+ <sym code="0xe18a" name="striangle"/>
+
+ <sym code="0x266d" name="sb"/>
+
+ </font>
+
+<!--
+ Part II: token list
+ define how the various tokens within a chord symbol should be rendered
+
+ name ordinary text name of token
+ multiple names may be listed to allow mseveral different tokens to render the same way
+ render this is a script that contains render commands
+ see Part III for details
+-->
+
+ <!-- Chord qualities -->
+ <token>
+ <name>o</name>
+ <render>m:0:&unsup; degree m:-1.0:-&unsup;</render>
+ </token>
+
+ <token>
+ <name>0</name>
+ <render>m:0:&unsup; oslash m:-1.0:-&unsup;</render>
+ </token>
+
+ <!-- Modifier text -->
+ <token class="modifier">
+ <name>add</name>
+ <render>m:0:-&sup; sadd m:0:&sup;</render>
+ </token>
+
+ <token class="modifier">
+ <name>sus</name>
+ <render>m:0:-&sup; sus m:0:&sup;</render>
+ </token>
+
+ <!-- Modifier numbers -->
+ <token class="modifier">
+ <name>0</name>
+ <render>m:0:-&sup; s0 m:0:&sup;</render>
+ </token>
+ <token class="modifier">
+ <name>1</name>
+ <render>m:0:-&sup; s1 m:0:&sup;</render>
+ </token>
+ <token class="modifier">
+ <name>2</name>
+ <render>m:0:-&sup; s2 m:0:&sup;</render>
+ </token>
+ <token class="modifier">
+ <name>3</name>
+ <render>m:0:-&sup; s3 m:0:&sup;</render>
+ </token>
+ <token class="modifier">
+ <name>4</name>
+ <render>m:0:-&sup; s4 m:0:&sup;</render>
+ </token>
+ <token class="modifier">
+ <name>5</name>
+ <render>m:0:-&sup; s5 m:0:&sup;</render>
+ </token>
+ <token class="modifier">
+ <name>6</name>
+ <render>m:0:-&sup; s6 m:0:&sup;</render>
+ </token>
+ <token class="modifier">
+ <name>7</name>
+ <render>m:0:-&sup; s7 m:0:&sup;</render>
+ </token>
+ <token class="modifier">
+ <name>8</name>
+ <render>m:0:-&sup; s8 m:0:&sup;</render>
+ </token>
+ <token class="modifier">
+ <name>9</name>
+ <render>m:0:-&sup; s9 m:0:&sup;</render>
+ </token>
+
+ <!-- Extension numbers -->
+ <token class="extension">
+ <name>0</name>
+ <render>m:0:-&sup; s0 m:0:&sup;</render>
+ </token>
+ <token class="extension">
+ <name>1</name>
+ <render>m:0:-&sup; s1 m:0:&sup;</render>
+ </token>
+ <token class="extension">
+ <name>2</name>
+ <render>m:0:-&sup; s2 m:0:&sup;</render>
+ </token>
+ <token class="extension">
+ <name>3</name>
+ <render>m:0:-&sup; s3 m:0:&sup;</render>
+ </token>
+ <token class="extension">
+ <name>4</name>
+ <render>m:0:-&sup; s4 m:0:&sup;</render>
+ </token>
+ <token class="extension">
+ <name>5</name>
+ <render>m:0:-&sup; s5 m:0:&sup;</render>
+ </token>
+ <token class="extension">
+ <name>6</name>
+ <render>m:0:-&sup; s6 m:0:&sup;</render>
+ </token>
+ <token class="extension">
+ <name>7</name>
+ <render>m:0:-&sup; s7 m:0:&sup;</render>
+ </token>
+ <token class="extension">
+ <name>8</name>
+ <render>m:0:-&sup; s8 m:0:&sup;</render>
+ </token>
+ <token class="extension">
+ <name>9</name>
+ <render>m:0:-&sup; s9 m:0:&sup;</render>
+ </token>
+
+ <token class="extension">
+ <name>6/9</name>
+ <render>m:0:-&sup; s6 m:-0.5:&sup; m:0:-0.5 / m:-0.5:0.5 s9</render>
+ </token>
+
+ <renderRoot>:n :a</renderRoot>
+ <renderBase>m:-0.2:1 / m:0.2:1 :n :a m:0:-2</renderBase>
+
+ </museScore>
diff --git a/chords_serifjazz_1.764mm_Default.xml b/chords_serifjazz_1.764mm_Default.xml
new file mode 100644
index 0000000..af8b893
--- /dev/null
+++ b/chords_serifjazz_1.764mm_Default.xml
@@ -0,0 +1,242 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE museScore [
+
+<!--
+=====================================================================
+ musescore-serifjazz-chords (rewrite)
+ Copyright (C) 2020 RunasSudo (Yingtong Li)
+
+ 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.
+
+=====================================================================
+-->
+
+<!-- Superscript amount (negative) -->
+ <!ENTITY sup "3.5">
+<!-- Correction for characters already superscripted in font -->
+ <!ENTITY unsup "2.5">
+
+ ]>
+
+<museScore version="1.24">
+
+<!--
+ Part I: font list
+ associate symbols (code points) with names
+ If no font family is given or font family is "default" then the
+ configured text style font family is used.
+-->
+
+ <!-- Serif font -->
+ <font family="default">
+ <sym code="0x266d" name="b"/>
+ <sym code="0x266e" name="natural"/>
+ <sym code="0x266f" name="#"/>
+
+ <sym code="0x1d12a" name="##"/>
+ <sym code="0x1d12b" name="bb"/>
+
+ </font>
+
+ <!-- Serif font adjusted superscript characters -->
+ <font family="default">
+ <mag>1.4</mag>
+
+ <sym code="0x00b0" name="degree"/>
+ <sym code="0x1d1a9" name="oslash"/>
+
+ </font>
+
+ <!-- Sans-serif font -->
+ <font family="FreeSans">
+ <mag>0.7</mag>
+
+ <sym value="sus" name="sus"/>
+ <sym value="add" name="sadd"/>
+
+ <sym name="("/>
+ <sym name=")"/>
+ <sym name="M"/>
+ <sym name="Ma"/>
+ <sym name="Maj"/>
+ <sym name="maj"/>
+ <sym name="m"/>
+ <sym name="min"/>
+ <sym name="Mi"/>
+ <sym name="Min"/>
+ <sym name="aug"/>
+ <sym name="Aug"/>
+ <sym name="dim"/>
+ <sym name="Dim"/>
+ <sym name="alt"/>
+ <sym name="Alt"/>
+ <sym name="bass"/>
+ <sym name="Bass"/>
+ <sym name="pedal"/>
+ <sym name="Pedal"/>
+
+ <sym value="0" name="s0"/>
+ <sym value="1" name="s1"/>
+ <sym value="2" name="s2"/>
+ <sym value="3" name="s3"/>
+ <sym value="4" name="s4"/>
+ <sym value="5" name="s5"/>
+ <sym value="6" name="s6"/>
+ <sym value="7" name="s7"/>
+ <sym value="8" name="s8"/>
+ <sym value="9" name="s9"/>
+
+ </font>
+
+ <font family="default">
+ <mag>0.75</mag>
+
+ <sym value="(" name="s("/>
+ <sym value=")" name="s)"/>
+ <sym value="," name="s,"/>
+ <sym value="/" name="s/"/>
+
+ <sym name="no"/>
+ <sym name="omit"/>
+
+ <sym code="0xe18a" name="striangle"/>
+
+ <sym code="0x266d" name="sb"/>
+
+ </font>
+
+<!--
+ Part II: token list
+ define how the various tokens within a chord symbol should be rendered
+
+ name ordinary text name of token
+ multiple names may be listed to allow mseveral different tokens to render the same way
+ render this is a script that contains render commands
+ see Part III for details
+-->
+
+ <!-- Chord qualities -->
+ <token>
+ <name>o</name>
+ <render>m:0:&unsup; degree m:-1.0:-&unsup;</render>
+ </token>
+
+ <token>
+ <name>0</name>
+ <render>m:0:&unsup; oslash m:-1.0:-&unsup;</render>
+ </token>
+
+ <!-- Modifier text -->
+ <token class="modifier">
+ <name>add</name>
+ <render>m:0:-&sup; sadd m:0:&sup;</render>
+ </token>
+
+ <token class="modifier">
+ <name>sus</name>
+ <render>m:0:-&sup; sus m:0:&sup;</render>
+ </token>
+
+ <!-- Modifier numbers -->
+ <token class="modifier">
+ <name>0</name>
+ <render>m:0:-&sup; s0 m:0:&sup;</render>
+ </token>
+ <token class="modifier">
+ <name>1</name>
+ <render>m:0:-&sup; s1 m:0:&sup;</render>
+ </token>
+ <token class="modifier">
+ <name>2</name>
+ <render>m:0:-&sup; s2 m:0:&sup;</render>
+ </token>
+ <token class="modifier">
+ <name>3</name>
+ <render>m:0:-&sup; s3 m:0:&sup;</render>
+ </token>
+ <token class="modifier">
+ <name>4</name>
+ <render>m:0:-&sup; s4 m:0:&sup;</render>
+ </token>
+ <token class="modifier">
+ <name>5</name>
+ <render>m:0:-&sup; s5 m:0:&sup;</render>
+ </token>
+ <token class="modifier">
+ <name>6</name>
+ <render>m:0:-&sup; s6 m:0:&sup;</render>
+ </token>
+ <token class="modifier">
+ <name>7</name>
+ <render>m:0:-&sup; s7 m:0:&sup;</render>
+ </token>
+ <token class="modifier">
+ <name>8</name>
+ <render>m:0:-&sup; s8 m:0:&sup;</render>
+ </token>
+ <token class="modifier">
+ <name>9</name>
+ <render>m:0:-&sup; s9 m:0:&sup;</render>
+ </token>
+
+ <!-- Extension numbers -->
+ <token class="extension">
+ <name>0</name>
+ <render>m:0:-&sup; s0 m:0:&sup;</render>
+ </token>
+ <token class="extension">
+ <name>1</name>
+ <render>m:0:-&sup; s1 m:0:&sup;</render>
+ </token>
+ <token class="extension">
+ <name>2</name>
+ <render>m:0:-&sup; s2 m:0:&sup;</render>
+ </token>
+ <token class="extension">
+ <name>3</name>
+ <render>m:0:-&sup; s3 m:0:&sup;</render>
+ </token>
+ <token class="extension">
+ <name>4</name>
+ <render>m:0:-&sup; s4 m:0:&sup;</render>
+ </token>
+ <token class="extension">
+ <name>5</name>
+ <render>m:0:-&sup; s5 m:0:&sup;</render>
+ </token>
+ <token class="extension">
+ <name>6</name>
+ <render>m:0:-&sup; s6 m:0:&sup;</render>
+ </token>
+ <token class="extension">
+ <name>7</name>
+ <render>m:0:-&sup; s7 m:0:&sup;</render>
+ </token>
+ <token class="extension">
+ <name>8</name>
+ <render>m:0:-&sup; s8 m:0:&sup;</render>
+ </token>
+ <token class="extension">
+ <name>9</name>
+ <render>m:0:-&sup; s9 m:0:&sup;</render>
+ </token>
+
+ <token class="extension">
+ <name>6/9</name>
+ <render>m:0:-&sup; s6 m:-0.5:&sup; m:0:-0.5 / m:-0.5:0.5 s9</render>
+ </token>
+
+ <renderRoot>:n :a</renderRoot>
+ <renderBase>m:-0.2:1 / m:0.2:1 :n :a m:0:-2</renderBase>
+
+ </museScore>
Contact (issues, pull requests, etc.) at git@yingtongli.me. Generated by cgit.