sync marks

This commit is contained in:
Wolfgang Hottgenroth 2024-03-29 13:04:05 +01:00
parent 5a8323bddb
commit 1ebf85cb9d
3 changed files with 265 additions and 56 deletions

View File

@ -88,6 +88,8 @@ const t_tone tetris1[] = {
{ .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 },
{ .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 },
@ -95,16 +97,22 @@ const t_tone tetris1[] = {
{ .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 },
{ .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 },
{ .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 },
{ .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 },
@ -112,6 +120,8 @@ const t_tone tetris1[] = {
{ .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 },
{ .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 },
@ -119,17 +129,23 @@ const t_tone tetris1[] = {
{ .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 },
{ .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 },
{ .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 },
// -------
{ .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 },
@ -140,6 +156,8 @@ const t_tone tetris1[] = {
{ .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 },
{ .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 },
@ -147,16 +165,22 @@ const t_tone tetris1[] = {
{ .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 },
{ .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 },
{ .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 },
{ .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 },
@ -164,6 +188,8 @@ const t_tone tetris1[] = {
{ .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 },
{ .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 },
@ -171,66 +197,104 @@ const t_tone tetris1[] = {
{ .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 },
{ .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 },
{ .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 },
// -------
{ .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 },
{ .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 },
{ .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 },
{ .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 },
{ .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 },
{ .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 },
{ .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 },
{ .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_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 },
{ .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 },
{ .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 },
{ .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 },
{ .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 },
{ .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 },
{ .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 },
{ .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 },
};
const t_tone tetris2[] = {
@ -244,6 +308,8 @@ const t_tone tetris2[] = {
{ .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 },
{ .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 },
@ -251,6 +317,8 @@ const t_tone tetris2[] = {
{ .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 },
{ .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 },
@ -258,10 +326,14 @@ const t_tone tetris2[] = {
{ .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 },
{ .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 },
{ .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 },
@ -271,6 +343,8 @@ const t_tone tetris2[] = {
{ .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 },
{ .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 },
@ -280,6 +354,8 @@ const t_tone tetris2[] = {
{ .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 },
{ .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 },
@ -289,12 +365,16 @@ const t_tone tetris2[] = {
{ .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 },
{ .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 },
// -------
{ .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 },
@ -305,6 +385,8 @@ const t_tone tetris2[] = {
{ .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 },
{ .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 },
@ -312,6 +394,8 @@ const t_tone tetris2[] = {
{ .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 },
{ .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 },
@ -319,10 +403,14 @@ const t_tone tetris2[] = {
{ .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 },
{ .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 },
{ .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 },
@ -332,6 +420,8 @@ const t_tone tetris2[] = {
{ .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 },
{ .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 },
@ -341,6 +431,8 @@ const t_tone tetris2[] = {
{ .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 },
{ .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 },
@ -350,61 +442,97 @@ const t_tone tetris2[] = {
{ .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 },
{ .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 },
// -------
{ .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 },
{ .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 },
{ .octave = e_O_3, .note = e_A, .length = e_L_1_2, .legato = false, .staccato = false },
{ .octave = e_O_3, .note = e_D, .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_3, .note = e_D, .length = e_L_1_2, .legato = false, .staccato = false },
{ .octave = e_O_3, .note = e_G, .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_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 },
{ .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 },
{ .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 },
{ .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_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 },
{ .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 },
{ .octave = e_O_3, .note = e_A, .length = e_L_1_2, .legato = false, .staccato = false },
{ .octave = e_O_3, .note = e_D, .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_3, .note = e_D, .length = e_L_1_2, .legato = false, .staccato = false },
{ .octave = e_O_3, .note = e_G, .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_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 },
{ .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 },
{ .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 },
{ .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 },
};
const t_tone tetris3[] = {
@ -418,6 +546,8 @@ const t_tone tetris3[] = {
{ .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 },
{ .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 },
@ -427,6 +557,8 @@ const t_tone tetris3[] = {
{ .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 },
{ .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 },
@ -436,6 +568,8 @@ const t_tone tetris3[] = {
{ .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 },
{ .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 },
@ -445,6 +579,8 @@ const t_tone tetris3[] = {
{ .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 },
{ .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 },
@ -454,6 +590,8 @@ const t_tone tetris3[] = {
{ .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 },
{ .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 },
@ -463,6 +601,8 @@ const t_tone tetris3[] = {
{ .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 },
{ .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 },
@ -472,6 +612,8 @@ const t_tone tetris3[] = {
{ .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 },
{ .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 },
@ -479,6 +621,8 @@ const t_tone tetris3[] = {
{ .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 },
// -------
{ .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 },
@ -489,6 +633,8 @@ const t_tone tetris3[] = {
{ .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 },
{ .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 },
@ -498,6 +644,8 @@ const t_tone tetris3[] = {
{ .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 },
{ .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 },
@ -507,6 +655,8 @@ const t_tone tetris3[] = {
{ .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 },
{ .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 },
@ -516,6 +666,8 @@ const t_tone tetris3[] = {
{ .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 },
{ .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 },
@ -525,6 +677,8 @@ const t_tone tetris3[] = {
{ .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 },
{ .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 },
@ -534,6 +688,8 @@ const t_tone tetris3[] = {
{ .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 },
{ .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 },
@ -543,6 +699,8 @@ const t_tone tetris3[] = {
{ .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 },
{ .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 },
@ -550,6 +708,8 @@ const t_tone tetris3[] = {
{ .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 },
// -------
{ .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 },
@ -560,23 +720,7 @@ const t_tone tetris3[] = {
{ .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_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_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 },
{ .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 },
@ -587,6 +731,8 @@ const t_tone tetris3[] = {
{ .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_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 },
@ -596,6 +742,8 @@ const t_tone tetris3[] = {
{ .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 },
{ .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 },
@ -605,6 +753,8 @@ const t_tone tetris3[] = {
{ .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_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 },
@ -614,6 +764,30 @@ const t_tone tetris3[] = {
{ .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 },
{ .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_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 },
{ .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 },
@ -623,6 +797,8 @@ const t_tone tetris3[] = {
{ .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_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 },
@ -633,23 +809,7 @@ const t_tone tetris3[] = {
{ .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_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_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 },
{ .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 },
@ -660,23 +820,7 @@ const t_tone tetris3[] = {
{ .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_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_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_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 },
@ -687,6 +831,8 @@ const t_tone tetris3[] = {
{ .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 },
{ .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 },
@ -695,6 +841,52 @@ const t_tone tetris3[] = {
{ .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_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 },
{ .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_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 },
{ .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 },
};

View File

@ -20,12 +20,25 @@ void sequencerExec(void *handle) {
melody->state = e_PlayTone;
break;
case e_PlayTone:
if (melody->tones[melody->idx].length == e_L_EndMark) {
melody->idx = 0;
if (melody->tones[melody->idx].length == e_L_SyncMark) {
if (melodies->sync == 0) {
melodies->sync = melodies->numOfMelodies;
}
melodies->sync -= 1;
melody->state = e_Sync;
} else {
if (melody->tones[melody->idx].length == e_L_EndMark) {
melody->idx = 0;
}
psgPlayTone(channel, melody->tones[melody->idx].octave, melody->tones[melody->idx].note);
melody->lengthCnt = (melody->tones[melody->idx].staccato) ? (melody->tones[melody->idx].length / 2) : melody->tones[melody->idx].length;
melody->state = e_HoldTone;
}
break;
case e_Sync:
if (melodies->sync == 0) {
melody->state = e_SeparateTone;
}
psgPlayTone(channel, melody->tones[melody->idx].octave, melody->tones[melody->idx].note);
melody->lengthCnt = (melody->tones[melody->idx].staccato) ? (melody->tones[melody->idx].length / 2) : melody->tones[melody->idx].length;
melody->state = e_HoldTone;
break;
case e_HoldTone:
melody->lengthCnt -= 1;
@ -61,6 +74,7 @@ uint16_t sequencerPlayMelodies(t_melodies *melodies) {
melodies->melodies[i].lengthCnt = 0;
melodies->melodies[i].state = e_Init;
}
melodies->sync = 0;
return schAdd(sequencerExec, (void*) melodies, 0, melodies->pace);
}

View File

@ -8,6 +8,7 @@
typedef enum {
e_L_EndMark = 0,
e_L_SyncMark = 1,
e_L_1 = 320,
e_L_1_2 = 160,
e_L_1_4 = 80,
@ -27,6 +28,7 @@ typedef struct {
typedef enum {
e_Init,
e_PlayTone,
e_Sync,
e_HoldTone,
e_StaccatoBreak,
e_HoldStaccatoBreak,
@ -45,6 +47,7 @@ typedef struct {
typedef struct {
uint8_t numOfMelodies;
uint8_t pace;
uint8_t sync;
t_melody melodies[NUM_OF_CHANNELS];
} t_melodies;