#ifndef BANJO_KAZOOIE_CORE1_MUSICPLAYER_H
#define BANJO_KAZOOIE_CORE1_MUSICPLAYER_H
#include <ultra64.h>
#include "bool.h"
#include "enums.h"
#include "core2/fla.h"
#ifdef __cplusplus
extern "C" {
#endif
#define NUM_MUSIC_SLOTS 6
typedef struct struct_12_s{
s32 volume_1;
s32 volume_2;
} struct12s;
typedef struct comusic_s {
f32 volume_change_wait_timer;
f32 unk4;
s32 volume;
s32 destination_volume;
s16 track_id;
s16 volume_change;
u8 unk14;
u8 unk15;
u8 pad16[0x2];
FREE_LIST(struct12s) *unk18;
s32 unk1C[0xE];
} CoMusic;
CoMusic *comusic_findTrack(enum comusic_e track_id);
void coMusicPlayer_init(void);
void coMusicPlayer_free(void);
s32 coMusicPlayer_getTrackCount(void);
void coMusicPlayer_update(void);
bool comusic_isTrackQueued(enum comusic_e track_id);
bool comusic_isPrimaryTrack(enum comusic_e track_id);
s32 comusic_getTrackPosition(enum comusic_e track_id);
void comusic_defrag(void);
#ifdef __cplusplus
}
#endif
#endif