diff --git a/music/BoosterMusicBooks.zip b/music/BoosterMusicBooks.zip
index 48c0149..36ce313 100644
Binary files a/music/BoosterMusicBooks.zip and b/music/BoosterMusicBooks.zip differ
diff --git a/music/src/BeginnerCourse/01-StartWithMiddleC.abc b/music/src/BeginnerCourse/01-StartWithMiddleC.abc
index 1f9a139..20a1974 100644
--- a/music/src/BeginnerCourse/01-StartWithMiddleC.abc
+++ b/music/src/BeginnerCourse/01-StartWithMiddleC.abc
@@ -12,6 +12,6 @@ V: LH1 clef=bass
%%MIDI program 1 3
%%MIDI gchordoff
%
-[V: RH1] CCCC | z4 | CCCC | z4 | z4 | z4 | z4 | z4 | C4 |
+[V: RH1] CCCC | z4 | CCCC | z4 | z4 | z4 | z4 | z4 | C4 |
[V: LH1] z4 | z4 | z4 | z4 | CCCC | z4 | CCCC | z4 | z4 |
%
diff --git a/music/src/BeginnerCourse/02-ChordOfCMajor.abc b/music/src/BeginnerCourse/02-ChordOfCMajor.abc
index a7b9c51..8c657ce 100644
--- a/music/src/BeginnerCourse/02-ChordOfCMajor.abc
+++ b/music/src/BeginnerCourse/02-ChordOfCMajor.abc
@@ -12,10 +12,8 @@ V: LH1 clef=bass
%%MIDI program 1 3
%%MIDI gchordoff
%
-[V: RH1] CCCC | EEEE | GGGG | EEEE | C4
-[V: LH1] z4 | z4 | z4 | z4 | z4
-[V: RH1] | CCCC | EEEE | GGGG | EEEE | C4
-[V: LH1] | z4 | z4 | z4 | z4 | z4
-[V: RH1] | [C4E4G4] |
-[V: LH1] | z4 |
+[V: RH1] CCCC | EEEE | GGGG | EEEE | C4 |
+[V: LH1] z4 | z4 | z4 | z4 | z4 |
+[V: RH1] CCCC | EEEE | GGGG | EEEE | C4 | [C4E4G4] |
+[V: LH1] z4 | z4 | z4 | z4 | z4 | z4 |
%
diff --git a/music/src/BeginnerCourse/03-UpAndDown.abc b/music/src/BeginnerCourse/03-UpAndDown.abc
index 55c81a8..0378dde 100644
--- a/music/src/BeginnerCourse/03-UpAndDown.abc
+++ b/music/src/BeginnerCourse/03-UpAndDown.abc
@@ -12,10 +12,8 @@ V: LH1 clef=bass
%%MIDI program 1 3
%%MIDI gchordoff
%
-[V: RH1] CDEF | G2 G2 | GFED | C2C2 | z4
-[V: LH1] z4 | z4 | z4 | z4 | z4
-[V: RH1] | CDEF | G2 G2 | GFED | C2C2 | z4
-[V: LH1] | z4 | z4 | z4 | z4 | z4
-[V: RH1] | CDEF | GFED | C2C2 | z4 |
-[V: LH1] | z4 | z4 | z4 | z4 |
+[V: RH1] CDEF | G2 G2 | GFED | C2C2 | z4 | CDEF | G2 G2 |
+[V: LH1] z4 | z4 | z4 | z4 | z4 | z4 | z4 |
+[V: RH1] GFED | C2C2 | z4 | CDEF | GFED | C2C2 | z4 |
+[V: LH1] z4 | z4 | z4 | z4 | z4 | z4 | z4 |
%
diff --git a/music/src/BeginnerCourse/04-ClairDeLaLune.abc b/music/src/BeginnerCourse/04-ClairDeLaLune.abc
index 012581f..e213c0c 100644
--- a/music/src/BeginnerCourse/04-ClairDeLaLune.abc
+++ b/music/src/BeginnerCourse/04-ClairDeLaLune.abc
@@ -12,12 +12,10 @@ V: LH1 clef=bass
%%MIDI program 1 3
%%MIDI gchordoff
%
-[V: RH1] CCCD | E2D2 | CEDD | C4 |
-[V: LH1] z4 | z4 | z4 | z4 |
-[V: RH1] CCCD | E2D2 | CEDD | C4 |
-[V: LH1] z4 | z4 | z4 | z4 |
-[V: RH1] DDDD | E2E2 | EEDD | C4 |
-[V: LH1] z4 | z4 | z4 | z4 |
-[V: RH1] CCCD | E2D2 | CEDD | C4 |
-[V: LH1] z4 | z4 | z4 | z4 |
+[V: RH1] CCCD | E2D2 | CEDD | C4 | CCCD | E2D2 |
+[V: LH1] z4 | z4 | z4 | z4 | z4 | z4 |
+[V: RH1] CEDD | C4 | DDDD | E2E2 |
+[V: LH1] z4 | z4 | z4 | z4 |
+[V: RH1] EEDD | C4 | CCCD | E2D2 | CEDD | C4 |
+[V: LH1] z4 | z4 | z4 | z4 | z4 | z4 |
%
diff --git a/music/src/BeginnerCourse/05-ChordOfFMajor.abc b/music/src/BeginnerCourse/05-ChordOfFMajor.abc
index e4a2235..fef8400 100644
--- a/music/src/BeginnerCourse/05-ChordOfFMajor.abc
+++ b/music/src/BeginnerCourse/05-ChordOfFMajor.abc
@@ -12,10 +12,8 @@ V: LH1 clef=bass
%%MIDI program 1 3
%%MIDI gchordoff
%
-[V: RH1] z4 | z4 | z4 | z4 | z4
-[V: LH1] F,F,F,F, | A,A,A,A, | CCCC | A,A,A,A, | F,4
-[V: RH1] | z4 | z4 | z4 | z4 | z4
-[V: LH1] | F,F,F,F, | A,A,A,A, | CCCC | A,A,A,A, | F,4
-[V: RH1] | z4 |
-[V: LH1] | [F,4A,4C4] |
+[V: RH1] z4 | z4 | z4 | z4 | z4 |
+[V: LH1] F,F,F,F, | A,A,A,A, | CCCC | A,A,A,A, | F,4 |
+[V: RH1] z4 | z4 | z4 | z4 | z4 | z4 |
+[V: LH1] F,F,F,F, | A,A,A,A, | CCCC | A,A,A,A, | F,4 | [F,4A,4C4] |
%
diff --git a/music/src/BeginnerCourse/06-DownAndUp.abc b/music/src/BeginnerCourse/06-DownAndUp.abc
index 45d447e..660bd0a 100644
--- a/music/src/BeginnerCourse/06-DownAndUp.abc
+++ b/music/src/BeginnerCourse/06-DownAndUp.abc
@@ -12,10 +12,8 @@ V: LH1 clef=bass
%%MIDI program 1 3
%%MIDI gchordoff
%
-[V: RH1] z4 | z4 | z4 | z4 | z4
-[V: LH1] CB,A,G, | F,2 F,2 | F,G,A,B, | C2 C2 | z4
-[V: RH1] | z4 | z4 | z4 | z4 | z4
-[V: LH1] | CB,A,G, | F,2 F,2 | F,G,A,B, | C2 C2 | z4
-[V: RH1] | z4 | z4 | z4 | z4 |
-[V: LH1] | CB,A,G, | F,G,A,B, | C2 C2 | z4 |
+[V: RH1] z4 | z4 | z4 | z4 | z4 | z4 | z4 |
+[V: LH1] CB,A,G, | F,2 F,2 | F,G,A,B, | C2 C2 | z4 | CB,A,G, | F,2 F,2 |
+[V: RH1] z4 | z4 | z4 | z4 | z4 | z4 | z4 |
+[V: LH1] F,G,A,B, | C2 C2 | z4 | CB,A,G, | F,G,A,B, | C2 C2 | z4 |
%
diff --git a/music/src/BeginnerCourse/Introduction.md b/music/src/BeginnerCourse/Introduction.md
index 0f939bf..ed8d731 100644
--- a/music/src/BeginnerCourse/Introduction.md
+++ b/music/src/BeginnerCourse/Introduction.md
@@ -1,3 +1,9 @@
+---
+pagetitle: 'Beginner Course PianoBooster'
+---
+
+
# Piano Booster Beginner Music Course
+
This is the beginner piano music course for the **Piano Booster**
open source teaching system.
diff --git a/music/src/BoosterMusic/01-ClairDeLaLune.abc b/music/src/BoosterMusic/01-ClairDeLaLune.abc
index 73223d6..55a0035 100644
--- a/music/src/BoosterMusic/01-ClairDeLaLune.abc
+++ b/music/src/BoosterMusic/01-ClairDeLaLune.abc
@@ -12,12 +12,10 @@ V: LH1 clef=bass
%%MIDI program 1 3
%%MIDI gchordoff
%
-[V: RH1] CCCD | E2D2 | CEDD | C4 |
-[V: LH1] z4 | z4 | z4 | z4 |
-[V: RH1] CCCD | E2D2 | CEDD | C4 |
-[V: LH1] z4 | z4 | z4 | z4 |
-[V: RH1] DDDD | E2E2 | EEDD | C4 |
-[V: LH1] z4 | z4 | z4 | z4 |
-[V: RH1] CCCD | E2D2 | CEDD | C4 |
-[V: LH1] z4 | z4 | z4 | z4 |
+[V: RH1] CCCD | E2D2 | CEDD | C4 | CCCD | E2D2 |
+[V: LH1] z4 | z4 | z4 | z4 | z4 | z4 |
+[V: RH1] CEDD | C4 | DDDD | E2E2 |
+[V: LH1] z4 | z4 | z4 | z4 |
+[V: RH1] EEDD | C4 | CCCD | E2D2 | CEDD | C4 |
+[V: LH1] z4 | z4 | z4 | z4 | z4 | z4 |
%
diff --git a/music/src/BoosterMusic/02-LavendersBlue.abc b/music/src/BoosterMusic/02-LavendersBlue.abc
index e34dded..f8e0818 100644
--- a/music/src/BoosterMusic/02-LavendersBlue.abc
+++ b/music/src/BoosterMusic/02-LavendersBlue.abc
@@ -13,8 +13,5 @@ V: LH1 clef=bass
%%MIDI program 1 3
%%MIDI gchordoff
%
-[V: RH1] |: C G G | G F/E/D/C/ | C A A | A3 |
-[V: LH1] |: z3 | z3 | z3 | z3 |
-[V: RH1] C G G | G F/E/D/C/ | F E D | C3 :|
-[V: LH1] z3 | z3 | z3 | z3 :|
-%
+[V: RH1] |: C G G | G F/E/D/C/ | C A A | A3 | C G G | G F/E/D/C/ | F E D | C3 :|
+[V: LH1] |: z3 | z3 | z3 | z3 | z3 | z3 | z3 | z3 :|
diff --git a/music/src/BoosterMusic/05-ScarboroughFair.abc b/music/src/BoosterMusic/05-ScarboroughFair.abc
index ea44586..d898a0a 100644
--- a/music/src/BoosterMusic/05-ScarboroughFair.abc
+++ b/music/src/BoosterMusic/05-ScarboroughFair.abc
@@ -13,12 +13,10 @@ V: LH1 clef=bass
%%MIDI program 1 3
%%MIDI gchordoff
%
-[V: RH1] |: D2D | A2A | E3/2F/E | D3 | zAc |
-[V: LH1] |: z3 | z3 | z3 | z3 | z3 |
-[V: RH1] d2c | ABG | A3- | Azd | d2d |
-[V: LH1] z3 | z3 | z3 | z3 | z3 |
-[V: RH1] c2A | AGF | E/C/-C2 |-C3 |
-[V: LH1] z3 | z3 | z3 | z3 |
-[V: RH1] D2A | G2F | EDC | D3- | D3 :|
-[V: LH1] z3 | z3 | z3 | z3 | z3 :|
+[V: RH1] |: D2D | A2A | E3/2F/E | D3 | zAc | d2c | ABG |
+[V: LH1] |: z3 | z3 | z3 | z3 | z3 | z3 | z3 |
+[V: RH1] A3- | Azd | d2d | c2A | AGF |
+[V: LH1] z3 | z3 | z3 | z3 | z3 |
+[V: RH1] E/C/-C2 |-C3 | D2A | G2F | EDC | D3- | D3 :|
+[V: LH1] z3 | z3 | z3 | z3 | z3 | z3 | z3 :|
%
diff --git a/music/src/BoosterMusic/Introduction.md b/music/src/BoosterMusic/Introduction.md
index 0640ba0..75e863b 100644
--- a/music/src/BoosterMusic/Introduction.md
+++ b/music/src/BoosterMusic/Introduction.md
@@ -1,4 +1,10 @@
+---
+pagetitle: 'Booster Music PianoBooster'
+---
+
# Piano Booster Music Course
+
+
This is the starter music course for the **Piano Booster**
open source teaching system. If you are complete beginner please see
the Beginner Music Course.
diff --git a/music/src/README.md b/music/src/README.md
new file mode 100644
index 0000000..73baaeb
--- /dev/null
+++ b/music/src/README.md
@@ -0,0 +1,25 @@
+# Piano Booster Music
+
+These pieces of music have been created to work with **PianoBooster** and
+have the creative commons copyright.
+
+_Please add to the music on this page - everyone can help._ For more information see this
+[forum post](http://piano-booster.2625608.n2.nabble.com/Creating-music-for-PianoBooster-using-MMA-Everyone-can-help-td4167350.html).
+
+The piano parts for **PianoBooster** were created using the [ABC Plus music](http://abcplus.sourceforge.net/) system,
+and the accompaniment was created with the [Musical MIDI Accompaniment (MMA)](http://www.mellowood.ca/mma/).
+
+The music in these directories has already been built to generate the MIDI files and PDF sheet music that work with **PianoBooster**.
+Please see the [BoosterMusicBooks.zip](../BoosterMusicBooks.zip) zip file.
+
+
+## Creating the MIDI files and PDF sheet music
+
+Only if you are contributing new pieces of music
+or the translations have been updated will you need to run the script `makemusic.py`.
+
+Ensure that the following packages are installed:
+`python3`, `abcm2ps`, `abcmidi`, `mma`, `pandoc`, `po4a`, `zip`
+
+To create an updated `BoosterMusicBooks.zip` file run the script `makemusic.py`.
+This script has only been tested to work on Linux OS.
diff --git a/music/src/makemusic.py b/music/src/makemusic.py
index 50b78cb..267b7f3 100755
--- a/music/src/makemusic.py
+++ b/music/src/makemusic.py
@@ -127,7 +127,7 @@ def create_book_markdown(src_dir, book_name, song):
web_md_path_name = build_web_dir + book_name + ".md"
- execute_command("abcm2ps -i -g -c \"{0}.abc\" -O \"{1}.svg\"".format(ps_name, web_svg_path_name))
+ execute_command("abcm2ps -i -g \"{0}.abc\" -O \"{1}.svg\"".format(ps_name, web_svg_path_name))
fix_svg_bug(web_svg_path_name)
@@ -144,7 +144,7 @@ def create_book_markdown(src_dir, book_name, song):
if in_file == 0:
sys.exit("Open Error: " + src_path_name)
- md_text = "\n![{0}]({1}fixed.svg)\n\n".format(song, src_path_name)
+ md_text = "\n![]({0}fixed.svg)\n\n".format(src_path_name)
md_text += in_file.read()
in_file.close()
out_file.write(md_text)
@@ -154,12 +154,10 @@ def create_book_markdown(src_dir, book_name, song):
def create_pandoc_pdf(web_dir, book_name):
output_dir = build_zip_dir + book_name
execute_command(
- "cd {0};pandoc -r markdown '{2}.md' -V geometry:\"top=1.5cm, bottom=1.5cm, left=2cm, right=2cm\" -fmarkdown-implicit_figures -o '../../{1}/{2}.pdf'"
+ "cd {0};pandoc --from=markdown+raw_html+yaml_metadata_block '{2}.md' -V geometry:\"top=1.5cm, bottom=1.5cm, left=2cm, right=2cm\" -o '../../{1}/{2}.pdf'"
.format(web_dir, output_dir, book_name))
-
-
def process_songs(src_dir, book_name, all_song_names):
temp_mma_dir = temp_dir + 'mma/' + src_dir + '/'
make_dir(temp_mma_dir)
@@ -187,6 +185,7 @@ def process_book(src_dir, book_name):
def create_zip_file():
+ os.system(f'cp "../../doc/images/pianobooster-note-chart.pdf" "{build_dir}/{zip_file_name + music_release}/"')
rm_file("{0}/{1}.zip".format(build_dir, zip_file_name))
execute_command("cd {0};zip -r {1}.zip \"{2}\" ".format(build_dir, zip_file_name, zip_file_name + music_release))