diff --git a/sound-driver/Makefile b/sound-driver/Makefile index 03705d6..31aae1c 100644 --- a/sound-driver/Makefile +++ b/sound-driver/Makefile @@ -11,7 +11,7 @@ CFLAGS=-Wall -mmcu=$(MCU) -std=gnu99 -I $(TOOLCHAIN_PREFIX)/include -O1 -g0 LDFLAGS=-mmcu=$(MCU) -L $(TOOLCHAIN_PREFIX)/include -$(ARTIFACT).elf: main.o scheduler.o spi.o sequencer.o melody.o ay_3_8913.o +$(ARTIFACT).elf: main.o scheduler.o spi.o sequencer.o melody_tetris.o melody_tusch1.o ay_3_8913.o $(CC) -o $@ $(LDFLAGS) $^ $(OBJDUMP) -D $(ARTIFACT).elf > $(ARTIFACT).txt diff --git a/sound-driver/main.c b/sound-driver/main.c index 76aba9d..f6bcee1 100644 --- a/sound-driver/main.c +++ b/sound-driver/main.c @@ -6,7 +6,7 @@ #include "psg.h" #include "scheduler.h" #include "sequencer.h" -#include "melody.h" +#include "melody_tetris.h" int main() { WDTCTL = WDTPW | WDTHOLD; @@ -28,7 +28,7 @@ int main() { __enable_interrupt(); - melodyInit(); + playMelodyTetris(); while (1) { diff --git a/sound-driver/melody.c b/sound-driver/melody.c deleted file mode 100644 index d95c815..0000000 --- a/sound-driver/melody.c +++ /dev/null @@ -1,1176 +0,0 @@ -#include -#include -#include "psg.h" -#include "sequencer.h" -#include "scheduler.h" - -/* - * most simple Tetris from https://de.wikipedia.org/wiki/Korobeiniki -const t_tone notes[] = { - { .octave = e_O_3, .note = e_G, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_D, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_Es, .length = e_L_1_8, .legato = false, .staccato = false }, - - { .octave = e_O_3, .note = e_F, .length = e_L_1_4, .legato = false, .staccato = false }, - // Triller - { .octave = e_O_3, .note = e_Es, .length = e_L_1_32, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_F, .length = e_L_1_32, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_Es, .length = e_L_1_32, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_F, .length = e_L_1_32, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_D, .length = e_L_1_8, .legato = false, .staccato = false }, - - { .octave = e_O_3, .note = e_C, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_C, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_Es, .length = e_L_1_8, .legato = false, .staccato = false }, - - { .octave = e_O_3, .note = e_G, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_F, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_Es, .length = e_L_1_8, .legato = false, .staccato = false }, - - { .octave = e_O_3, .note = e_D, .length = e_L_1_4, .legato = true , .staccato = false }, - { .octave = e_O_3, .note = e_D, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_Es, .length = e_L_1_8, .legato = false, .staccato = false }, - - { .octave = e_O_3, .note = e_F, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_G, .length = e_L_1_4, .legato = false, .staccato = false }, - - { .octave = e_O_3, .note = e_Es, .length = e_L_1_4, .legato = false, .staccato = true }, - { .octave = e_O_3, .note = e_C, .length = e_L_1_4, .legato = false, .staccato = true }, - - { .octave = e_O_3, .note = e_C, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_Null, .note = e_Pause, .length = e_L_1_4, .legato = false, .staccato = false }, - - - { .octave = e_O_Null, .note = e_Pause, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_F, .length = e_L_1_8, .legato = true , .staccato = false }, - { .octave = e_O_3, .note = e_F, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_As, .length = e_L_1_8, .legato = false, .staccato = false }, - - { .octave = e_O_4, .note = e_C, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_B, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_As, .length = e_L_1_8, .legato = false, .staccato = false }, - - { .octave = e_O_3, .note = e_G, .length = e_L_1_4, .legato = true , .staccato = false }, - { .octave = e_O_3, .note = e_G, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_Es, .length = e_L_1_8, .legato = false, .staccato = false }, - - { .octave = e_O_3, .note = e_G, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_F, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_Es, .length = e_L_1_8, .legato = false, .staccato = false }, - - { .octave = e_O_3, .note = e_D, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_D, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_Es, .length = e_L_1_8, .legato = false, .staccato = false }, - - { .octave = e_O_3, .note = e_F, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_G, .length = e_L_1_4, .legato = false, .staccato = false }, - - { .octave = e_O_3, .note = e_Es, .length = e_L_1_4, .legato = false, .staccato = true }, - { .octave = e_O_3, .note = e_C, .length = e_L_1_4, .legato = false, .staccato = true }, - - { .octave = e_O_3, .note = e_C, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_Null, .note = e_Pause, .length = e_L_1_4, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_EndMark, .legato = false, .staccato = false }, -}; -*/ - -const t_tone tonleiter[] = { - { .octave = e_O_6, .note = e_C, .length = e_L_1_16, .legato = false, .staccato = false }, - { .octave = e_O_6, .note = e_D, .length = e_L_1_16, .legato = false, .staccato = false }, - { .octave = e_O_6, .note = e_E, .length = e_L_1_16, .legato = false, .staccato = false }, - { .octave = e_O_6, .note = e_F, .length = e_L_1_16, .legato = false, .staccato = false }, - { .octave = e_O_6, .note = e_G, .length = e_L_1_16, .legato = false, .staccato = false }, - { .octave = e_O_6, .note = e_A, .length = e_L_1_16, .legato = false, .staccato = false }, - { .octave = e_O_6, .note = e_H, .length = e_L_1_16, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_StopMark,.legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_EndMark, .legato = false, .staccato = false }, -}; - -const t_tone tonleiter2[] = { - { .octave = e_O_4, .note = e_C, .length = e_L_1_16, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_D, .length = e_L_1_16, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_E, .length = e_L_1_16, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_F, .length = e_L_1_16, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_G, .length = e_L_1_16, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_A, .length = e_L_1_16, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_H, .length = e_L_1_16, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_EndMark, .legato = false, .staccato = false }, -}; - -const t_tone tonleiter3[] = { - { .octave = e_O_5, .note = e_C, .length = e_L_1_16, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_D, .length = e_L_1_16, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_E, .length = e_L_1_16, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_F, .length = e_L_1_16, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_G, .length = e_L_1_16, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_A, .length = e_L_1_16, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_H, .length = e_L_1_16, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_EndMark, .legato = false, .staccato = false }, -}; - -/* - * three voices theme from https://www.gamemusicthemes.com/sheetmusic/gameboy/tetris/themea/Tetris_-_Theme_A_by_Gori_Fater.pdf - */ -const t_tone voice1[] = { - // ------- - // 1. bar - { .octave = e_O_5, .note = e_E, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_H, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_C, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_D, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_E, .length = e_L_1_16, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_D, .length = e_L_1_16, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_C, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_H, .length = e_L_1_8, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 2. bar - { .octave = e_O_4, .note = e_A, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_C, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_E, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_D, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_C, .length = e_L_1_8, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 3. bar - { .octave = e_O_4, .note = e_H, .length = e_L_1_4, .legato = true, .staccato = false }, // diese und die naechste zusammen: ein punktiertes Viertel - { .octave = e_O_4, .note = e_H, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_C, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_D, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_E, .length = e_L_1_4, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 4. bar - { .octave = e_O_5, .note = e_C, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_A, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_A, .length = e_L_1_2, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 5. bar - { .octave = e_O_Null, .note = e_Pause, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_D, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_F, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_A, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_G, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_F, .length = e_L_1_8, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 6. bar - { .octave = e_O_5, .note = e_E, .length = e_L_1_4, .legato = true, .staccato = false }, // punktiert - { .octave = e_O_5, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_C, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_E, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_D, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_C, .length = e_L_1_8, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 7. bar - { .octave = e_O_4, .note = e_H, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_H, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_C, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_D, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_E, .length = e_L_1_4, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 8. bar - { .octave = e_O_5, .note = e_C, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_A, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_A, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_Null, .note = e_Pause, .length = e_L_1_4, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // ------- - // 1. bar, repeat - { .octave = e_O_5, .note = e_E, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_H, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_C, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_D, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_E, .length = e_L_1_16, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_D, .length = e_L_1_16, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_C, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_H, .length = e_L_1_8, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 2. bar, repeat - { .octave = e_O_4, .note = e_A, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_C, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_E, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_D, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_C, .length = e_L_1_8, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 3. bar, repeat - { .octave = e_O_4, .note = e_H, .length = e_L_1_4, .legato = true, .staccato = false }, // diese und die naechste zusammen: ein punktiertes Viertel - { .octave = e_O_4, .note = e_H, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_C, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_D, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_E, .length = e_L_1_4, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 4. bar, repeat - { .octave = e_O_5, .note = e_C, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_A, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_A, .length = e_L_1_2, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 5. bar, repeat - { .octave = e_O_Null, .note = e_Pause, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_D, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_F, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_A, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_G, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_F, .length = e_L_1_8, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 6. bar, repeat - { .octave = e_O_5, .note = e_E, .length = e_L_1_4, .legato = true, .staccato = false }, // punktiert - { .octave = e_O_5, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_C, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_E, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_D, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_C, .length = e_L_1_8, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 7. bar, repeat - { .octave = e_O_4, .note = e_H, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_H, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_C, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_D, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_E, .length = e_L_1_4, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 8. bar, repeat - { .octave = e_O_5, .note = e_C, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_A, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_A, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_Null, .note = e_Pause, .length = e_L_1_4, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // ------- - // 9. bar - { .octave = e_O_4, .note = e_E, .length = e_L_1_2, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_C, .length = e_L_1_2, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 10. bar - { .octave = e_O_4, .note = e_D, .length = e_L_1_2, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_H, .length = e_L_1_2, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 11. bar - { .octave = e_O_4, .note = e_C, .length = e_L_1_2, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_A, .length = e_L_1_2, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 12. bar - { .octave = e_O_3, .note = e_Gis, .length = e_L_1_2, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_H, .length = e_L_1_2, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 13. bar - { .octave = e_O_4, .note = e_E, .length = e_L_1_2, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_C, .length = e_L_1_2, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 14. bar - { .octave = e_O_4, .note = e_D, .length = e_L_1_2, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_H, .length = e_L_1_2, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 15. bar - { .octave = e_O_4, .note = e_C, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_E, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_A, .length = e_L_1_2, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 16. bar - { .octave = e_O_4, .note = e_Gis, .length = e_L_1, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // ------- - // 9. bar, repeat - { .octave = e_O_4, .note = e_E, .length = e_L_1_2, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_C, .length = e_L_1_2, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 10. bar, repeat - { .octave = e_O_4, .note = e_D, .length = e_L_1_2, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_H, .length = e_L_1_2, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 11. bar, repeat - { .octave = e_O_4, .note = e_C, .length = e_L_1_2, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_A, .length = e_L_1_2, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 12. bar, repeat - { .octave = e_O_3, .note = e_Gis, .length = e_L_1_2, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_H, .length = e_L_1_2, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 13. bar, repeat - { .octave = e_O_4, .note = e_E, .length = e_L_1_2, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_C, .length = e_L_1_2, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 14. bar, repeat - { .octave = e_O_4, .note = e_D, .length = e_L_1_2, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_H, .length = e_L_1_2, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 15. bar, repeat - { .octave = e_O_4, .note = e_C, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_E, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_A, .length = e_L_1_2, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 16. bar, repeat - { .octave = e_O_4, .note = e_Gis, .length = e_L_1, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_EndMark, .legato = false, .staccato = false }, -}; - -const t_tone voice2[] = { - // ------- - // 1. bar - { .octave = e_O_4, .note = e_H, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_Gis, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_H, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_Null, .note = e_Pause, .length = e_L_1_16, .legato = false, .staccato = false }, - { .octave = e_O_Null, .note = e_Pause, .length = e_L_1_16, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_Gis, .length = e_L_1_8, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 2. bar - { .octave = e_O_4, .note = e_E, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_C, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_H, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 3. bar - { .octave = e_O_4, .note = e_Gis, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_Gis, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_H, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_C, .length = e_L_1_4, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 4. bar - { .octave = e_O_4, .note = e_A, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_A, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_E, .length = e_L_1_2, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 5. bar - { .octave = e_O_Null, .note = e_Pause, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_F, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_C, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_C, .length = e_L_1_16, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_C, .length = e_L_1_16, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_H, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 6. bar - { .octave = e_O_4, .note = e_G, .length = e_L_1_4, .legato = true, .staccato = false }, // punktiert - { .octave = e_O_4, .note = e_G, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_G, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_A, .length = e_L_1_16, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_G, .length = e_L_1_16, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_F, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 7. bar - { .octave = e_O_4, .note = e_Gis, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_Gis, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_H, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_Gis, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_C, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_Gis, .length = e_L_1_8, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 8. bar - { .octave = e_O_4, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_E, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_E, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_Null, .note = e_Pause, .length = e_L_1_4, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // ------- - // 1. bar, repeat - { .octave = e_O_4, .note = e_H, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_Gis, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_H, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_Null, .note = e_Pause, .length = e_L_1_16, .legato = false, .staccato = false }, - { .octave = e_O_Null, .note = e_Pause, .length = e_L_1_16, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_Gis, .length = e_L_1_8, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 2. bar, repeat - { .octave = e_O_4, .note = e_E, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_C, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_H, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 3. bar, repeat - { .octave = e_O_4, .note = e_Gis, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_Gis, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_H, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_C, .length = e_L_1_4, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 4. bar, repeat - { .octave = e_O_4, .note = e_A, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_A, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_E, .length = e_L_1_2, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 5. bar, repeat - { .octave = e_O_Null, .note = e_Pause, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_F, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_C, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_C, .length = e_L_1_16, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_C, .length = e_L_1_16, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_H, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 6. bar, repeat - { .octave = e_O_4, .note = e_G, .length = e_L_1_4, .legato = true, .staccato = false }, // punktiert - { .octave = e_O_4, .note = e_G, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_G, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_A, .length = e_L_1_16, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_G, .length = e_L_1_16, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_F, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 7. bar, repeat - { .octave = e_O_4, .note = e_Gis, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_Gis, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_H, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_Gis, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_C, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_Gis, .length = e_L_1_8, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 8. bar, repeat - { .octave = e_O_4, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_E, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_E, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_Null, .note = e_Pause, .length = e_L_1_4, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // ------- - // 9. bar - { .octave = e_O_4, .note = e_C, .length = e_L_1_2, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_A, .length = e_L_1_2, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 10. bar - { .octave = e_O_3, .note = e_H, .length = e_L_1_2, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_Gis, .length = e_L_1_2, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 11. bar - { .octave = e_O_3, .note = e_A, .length = e_L_1_2, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_2, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 12. bar - { .octave = e_O_3, .note = e_E, .length = e_L_1_2, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_Gis, .length = e_L_1_2, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 13. bar - { .octave = e_O_4, .note = e_C, .length = e_L_1_2, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_A, .length = e_L_1_2, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 14. bar - { .octave = e_O_3, .note = e_H, .length = e_L_1_2, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_Gis, .length = e_L_1_2, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 15. bar - { .octave = e_O_3, .note = e_A, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_C, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_2, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 16. bar - { .octave = e_O_3, .note = e_E, .length = e_L_1, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // ------- - // 9. bar, repeat - { .octave = e_O_4, .note = e_C, .length = e_L_1_2, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_A, .length = e_L_1_2, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 10. bar, repeat - { .octave = e_O_3, .note = e_H, .length = e_L_1_2, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_Gis, .length = e_L_1_2, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 11. bar, repeat - { .octave = e_O_3, .note = e_A, .length = e_L_1_2, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_2, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 12. bar, repeat - { .octave = e_O_3, .note = e_E, .length = e_L_1_2, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_Gis, .length = e_L_1_2, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 13. bar, repeat - { .octave = e_O_4, .note = e_C, .length = e_L_1_2, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_A, .length = e_L_1_2, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 14. bar, repeat - { .octave = e_O_3, .note = e_H, .length = e_L_1_2, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_Gis, .length = e_L_1_2, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 15. bar, repeat - { .octave = e_O_3, .note = e_A, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_C, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_2, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 16. bar, repeat - { .octave = e_O_3, .note = e_E, .length = e_L_1, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_EndMark, .legato = false, .staccato = false }, -}; - -const t_tone voice3[] = { - // ------- - // 1. bar - { .octave = e_O_2, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 2. bar - { .octave = e_O_2, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 3. bar - { .octave = e_O_2, .note = e_Gis, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_Gis, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_Gis, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_Gis, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 4. bar - { .octave = e_O_2, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_H, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_C, .length = e_L_1_8, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 5. bar - { .octave = e_O_3, .note = e_D, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_D, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_Null, .note = e_Pause, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_D, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_Null, .note = e_Pause, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_D, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_F, .length = e_L_1_8, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 6. bar - { .octave = e_O_2, .note = e_C, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_C, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_Null, .note = e_Pause, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_C, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_C, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_G, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_Null, .note = e_Pause, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_G, .length = e_L_1_8, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 7. bar - { .octave = e_O_2, .note = e_H, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_H, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_Null, .note = e_Pause, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_H, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_Null, .note = e_Pause, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_Null, .note = e_Pause, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_Gis, .length = e_L_1_8, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 8. bar - { .octave = e_O_2, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_A, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_Null, .note = e_Pause, .length = e_L_1_4, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // ------- - // 1. bar,repeat - { .octave = e_O_2, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 2. bar,repeat - { .octave = e_O_2, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 3. bar,repeat - { .octave = e_O_2, .note = e_Gis, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_Gis, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_Gis, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_Gis, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 4. bar,repeat - { .octave = e_O_2, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_H, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_C, .length = e_L_1_8, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 5. bar,repeat - { .octave = e_O_3, .note = e_D, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_D, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_Null, .note = e_Pause, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_D, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_Null, .note = e_Pause, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_D, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_F, .length = e_L_1_8, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 6. bar,repeat - { .octave = e_O_2, .note = e_C, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_C, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_Null, .note = e_Pause, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_C, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_C, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_G, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_Null, .note = e_Pause, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_G, .length = e_L_1_8, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 7. bar,repeat - { .octave = e_O_2, .note = e_H, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_H, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_Null, .note = e_Pause, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_H, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_Null, .note = e_Pause, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_Null, .note = e_Pause, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_Gis, .length = e_L_1_8, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 8. bar,repeat - { .octave = e_O_2, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_A, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_Null, .note = e_Pause, .length = e_L_1_4, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // ------- - // 9. bar - { .octave = e_O_2, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 10. bar - { .octave = e_O_2, .note = e_Gis, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_Gis, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_Gis, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_Gis, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 11. bar - { .octave = e_O_2, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 12. bar - { .octave = e_O_2, .note = e_Gis, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_Gis, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_Gis, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_Gis, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 13. bar - { .octave = e_O_2, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 14. bar - { .octave = e_O_2, .note = e_Gis, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_Gis, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_Gis, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_Gis, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 15. bar - { .octave = e_O_2, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 16. bar - { .octave = e_O_2, .note = e_Gis, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_Gis, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_Gis, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_Gis, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // ------- - // 9. bar, repeat - { .octave = e_O_2, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 10. bar, repeat - { .octave = e_O_2, .note = e_Gis, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_Gis, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_Gis, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_Gis, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 11. bar, repeat - { .octave = e_O_2, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 12. bar, repeat - { .octave = e_O_2, .note = e_Gis, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_Gis, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_Gis, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_Gis, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 13. bar, repeat - { .octave = e_O_2, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 14. bar, repeat - { .octave = e_O_2, .note = e_Gis, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_Gis, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_Gis, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_Gis, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 15. bar, repeat - { .octave = e_O_2, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_A, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - // 16. bar, repeat - { .octave = e_O_2, .note = e_Gis, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_Gis, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_Gis, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_2, .note = e_Gis, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_3, .note = e_E, .length = e_L_1_8, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_EndMark, .legato = false, .staccato = false }, -}; - -const t_tone tusch1voice1[] = { - { .octave = e_O_5, .note = e_C, .length = e_L_1_4, .legato = false, .staccato = true }, - { .octave = e_O_5, .note = e_F, .length = e_L_1_2, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Pause, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - { .octave = e_O_5, .note = e_C, .length = e_L_1_4, .legato = false, .staccato = true }, - { .octave = e_O_5, .note = e_F, .length = e_L_1_2, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Pause, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - { .octave = e_O_5, .note = e_C, .length = e_L_1_4, .legato = false, .staccato = true }, - { .octave = e_O_5, .note = e_F, .length = e_L_1_2, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - { .octave = e_O_Null, .note = e_Null, .length = e_L_StopMark,.legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_EndMark, .legato = false, .staccato = false }, -}; - -const t_tone tusch1voice2[] = { - { .octave = e_O_Null, .note = e_Pause, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_C, .length = e_L_1_2, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Pause, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Pause, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_C, .length = e_L_1_2, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Pause, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Pause, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_5, .note = e_C, .length = e_L_1_2, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - { .octave = e_O_Null, .note = e_Null, .length = e_L_HoldMark,.legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_EndMark, .legato = false, .staccato = false }, -}; - -const t_tone tusch1voice3[] = { - { .octave = e_O_Null, .note = e_Pause, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_A, .length = e_L_1_2, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Pause, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Pause, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_A, .length = e_L_1_2, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Pause, .length = e_L_1_8, .legato = false, .staccato = false }, - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Pause, .length = e_L_1_4, .legato = false, .staccato = false }, - { .octave = e_O_4, .note = e_A, .length = e_L_1_2, .legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - { .octave = e_O_Null, .note = e_Null, .length = e_L_HoldMark,.legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_EndMark, .legato = false, .staccato = false }, -}; - -const t_tone tusch2voice1[] = { - { .octave = e_O_4, .note = e_C, .length = e_L_1_4, .legato = false, .staccato = true }, - { .octave = e_O_4, .note = e_E, .length = e_L_1_4, .legato = false, .staccato = true }, - { .octave = e_O_4, .note = e_G, .length = e_L_1_4, .legato = false, .staccato = true }, - { .octave = e_O_5, .note = e_C, .length = e_L_1_2, .legato = false, .staccato = true }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_StopMark,.legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_EndMark, .legato = false, .staccato = false }, -}; - -const t_tone tusch2voice2[] = { - { .octave = e_O_3, .note = e_G, .length = e_L_1_4, .legato = false, .staccato = true }, - { .octave = e_O_3, .note = e_H, .length = e_L_1_4, .legato = false, .staccato = true }, - { .octave = e_O_4, .note = e_D, .length = e_L_1_4, .legato = false, .staccato = true }, - { .octave = e_O_4, .note = e_Fis, .length = e_L_1_2, .legato = false, .staccato = true }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_HoldMark,.legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_EndMark, .legato = false, .staccato = false }, -}; - -const t_tone tusch2voice3[] = { - { .octave = e_O_2, .note = e_B, .length = e_L_1_4, .legato = false, .staccato = true }, - { .octave = e_O_3, .note = e_D, .length = e_L_1_4, .legato = false, .staccato = true }, - { .octave = e_O_3, .note = e_F, .length = e_L_1_4, .legato = false, .staccato = true }, - { .octave = e_O_3, .note = e_B, .length = e_L_1_2, .legato = false, .staccato = true }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_SyncMark,.legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_HoldMark,.legato = false, .staccato = false }, - - { .octave = e_O_Null, .note = e_Null, .length = e_L_EndMark, .legato = false, .staccato = false }, -}; - -t_melodies tetrisTheme = { - .melodies = { { .chip = 0, .amplitude = 3, .tones = voice1 }, { .chip = 0, .amplitude = 3, .tones = voice2 }, { .chip = 0, .amplitude = 3, .tones = voice3 } }, - .numOfMelodies = 3, - .pace = 160 -}; - -t_melodies tonleiterTheme = { - .melodies = { { .chip = 1, .amplitude = 3, .tones = tonleiter }, { .chip = 1, .amplitude = 3, .tones = tonleiter2 }, { .chip = 1, .amplitude = 3, .tones = tonleiter3 } }, - .numOfMelodies = 3, - .pace = 160 -}; -t_melodies tusch1 = { - .melodies = { { .chip = 1, .amplitude = 8, .tones = tusch1voice1 }, { .chip = 1, .amplitude = 8, .tones = tusch1voice2 }, { .chip = 1, .amplitude = 8, .tones = tusch1voice3 } }, - .numOfMelodies = 3, - .pace = 200 -}; -t_melodies tusch2 = { - .melodies = { { .chip = 1, .amplitude = 1, .tones = tusch2voice1 }, { .chip = 1, .amplitude = 1, .tones = tusch2voice2 }, { .chip = 1, .amplitude = 1, .tones = tusch2voice3 } }, - .numOfMelodies = 3, - .pace = 160 -}; - -void playTusch1(void *handle) { - sequencerPlayMelodies(&tusch1); - schAdd(playTusch1, NULL, 30000, 0); -} - -void melodyInit() { - sequencerPlayMelodies(&tetrisTheme); - schAdd(playTusch1, NULL, 2000, 0); -} - - diff --git a/sound-driver/melody.h b/sound-driver/melody.h deleted file mode 100644 index 65b993d..0000000 --- a/sound-driver/melody.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef _MELODY_H_ -#define _MELODY_H_ - - -void melodyInit(); - - -#endif // _MELODY_H_