2024-03-26 21:05:48 +01:00
|
|
|
#include <stdbool.h>
|
2024-03-26 16:47:42 +01:00
|
|
|
#include "psg.h"
|
|
|
|
#include "sequencer.h"
|
|
|
|
|
|
|
|
|
2024-03-26 16:56:46 +01:00
|
|
|
const t_tone notes[] = {
|
2024-03-26 23:13:59 +01:00
|
|
|
{ .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 },
|
2024-03-26 16:56:46 +01:00
|
|
|
|
2024-03-26 23:13:59 +01:00
|
|
|
{ .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 },
|
2024-03-26 16:56:46 +01:00
|
|
|
|
2024-03-26 23:13:59 +01:00
|
|
|
{ .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 },
|
2024-03-26 16:56:46 +01:00
|
|
|
|
2024-03-26 23:13:59 +01:00
|
|
|
{ .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 },
|
2024-03-26 16:56:46 +01:00
|
|
|
|
2024-03-26 23:13:59 +01:00
|
|
|
{ .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 },
|
2024-03-26 16:56:46 +01:00
|
|
|
|
2024-03-26 23:13:59 +01:00
|
|
|
{ .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 },
|
2024-03-26 16:47:42 +01:00
|
|
|
|
2024-03-26 23:13:59 +01:00
|
|
|
{ .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 },
|
2024-03-26 16:47:42 +01:00
|
|
|
|
2024-03-26 23:13:59 +01:00
|
|
|
{ .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 },
|
2024-03-26 16:47:42 +01:00
|
|
|
|
|
|
|
|
2024-03-26 23:13:59 +01:00
|
|
|
{ .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 },
|
2024-03-26 16:47:42 +01:00
|
|
|
|
2024-03-26 23:13:59 +01:00
|
|
|
{ .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 },
|
2024-03-26 16:47:42 +01:00
|
|
|
|
2024-03-26 23:13:59 +01:00
|
|
|
{ .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 },
|
2024-03-26 16:47:42 +01:00
|
|
|
|
2024-03-26 23:13:59 +01:00
|
|
|
{ .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 },
|
2024-03-26 16:56:46 +01:00
|
|
|
|
2024-03-26 23:13:59 +01:00
|
|
|
{ .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 },
|
2024-03-26 16:56:46 +01:00
|
|
|
|
2024-03-26 23:13:59 +01:00
|
|
|
{ .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 },
|
2024-03-26 16:56:46 +01:00
|
|
|
|
2024-03-26 23:13:59 +01:00
|
|
|
{ .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 },
|
2024-03-26 16:56:46 +01:00
|
|
|
|
2024-03-26 23:13:59 +01:00
|
|
|
{ .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 },
|
2024-03-26 21:05:48 +01:00
|
|
|
|
2024-03-26 23:13:59 +01:00
|
|
|
{ .octave = e_O_Null, .note = e_Null, .length = e_L_EndMark, .legato = false, .staccato = false },
|
2024-03-26 16:47:42 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
|
2024-03-26 23:13:59 +01:00
|
|
|
t_melody melody = {
|
|
|
|
.pace = 4,
|
|
|
|
.amplitude = 3,
|
2024-03-26 22:12:46 +01:00
|
|
|
.channel = 0,
|
2024-03-26 16:56:46 +01:00
|
|
|
.tones = notes
|
2024-03-26 16:47:42 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
void melodyInit() {
|
2024-03-26 16:56:46 +01:00
|
|
|
sequencerPlayMelody(&melody);
|
2024-03-26 16:47:42 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|