2024-04-10 14:10:49 +02:00
|
|
|
#include <stdbool.h>
|
|
|
|
#include <stddef.h>
|
|
|
|
#include "psg.h"
|
|
|
|
#include "sequencer.h"
|
|
|
|
#include "scheduler.h"
|
2024-05-21 12:31:55 +02:00
|
|
|
#include "config.h"
|
2024-04-10 14:10:49 +02:00
|
|
|
|
|
|
|
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 },
|
|
|
|
};
|
|
|
|
|
|
|
|
t_melodies tusch1 = {
|
2024-05-21 12:31:55 +02:00
|
|
|
.melodies = { { .tones = tusch1voice1 }, { .tones = tusch1voice2 }, { .tones = tusch1voice3 } },
|
2024-04-10 14:10:49 +02:00
|
|
|
.numOfMelodies = 3,
|
2024-04-17 15:30:45 +02:00
|
|
|
.pace = 200,
|
2024-04-25 12:12:52 +02:00
|
|
|
.chip = 1
|
2024-04-10 14:10:49 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
void playTusch1() {
|
2024-05-22 11:55:47 +02:00
|
|
|
tusch1.p_amplitude = configGetEffectsAmplitudePtr();
|
2024-04-10 14:10:49 +02:00
|
|
|
sequencerPlayMelodies(&tusch1);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|