/* This file was generated by scramble.py. */
#line 1 "src/music.py"
#ifndef _MUSIC_
#define _MUSIC_
typedef struct Note Note;
typedef struct NotesPlayer NotesPlayer;
typedef struct ABCParser ABCParser;
#line 1
#include "main.h"
#include "sound.h"
#line 6
struct Note {
    int timestamp;
    int note;
    int ticks;
    int next_index;
    int prev_index;
};
struct NotesPlayer {
    int sample_pos;
    int last_note;
    int first_note;
    int highest_index;
    int oldest_active_note;
    Note notes [8192];
};
struct ABCParser {
    char const * tune;
    int pos;
    int repeat_start_pos;
    int repeat_end_pos;
    bool repeating;
#line 28
    int ticks64;
#line 30
    int timestamp;
#line 32
    int key_note;
    int key_scale;
    int chord_note;
    int chord_type;
#line 37
    int chord_tick;
#line 39
    int note_numerator;
    int note_denominator;
#line 42
    int meter_numerator;
    int meter_denominator;
#line 45
    NotesPlayer * player;
};
#line 50
extern char const * music_tune1;
#line 62
extern char const * music_tune2;
#line 75
extern char const * music_tune3;
#line 93
extern char const * music_tune4;
#line 119
int noteval(int key, int scale, int note);
#line 157
char * note_string(int note, char * out);
#line 361
void music_parse_abc(char const * tune, NotesPlayer * player);
#line 448
int timestamp_to_samples(int ticks);
#line 451
int mix_note(NotesPlayer * player, Envelope * e, Note * note, int16_t * b, int count);
#line 495
void music_play_tune(char const * tune);
#line 510
void music_play_tune_if_not(char const * tune);
#line 514
void music_tick(void);
#line 569
int music_ticks(void);
#line 573
int music_repeats(void);
#line 576
char const * music_current(void);
#endif
/* This file was generated by scramble.py. */
