#ifndef _Seq_H
#define _Seq_H

#include "kernel.h"
// GlobHdr must be defined by you

typedef struct
{
	void	(*lister)(void);
	void	(*changer)(void);
	void*	R12;
	int	maxstreams;
	int	volume;
} SeqHandler;

const _kernel_oserror* CSeq_Init(GlobHdr* g);
const _kernel_oserror* CSeq_Init2(GlobHdr* g);
const _kernel_oserror* CSeq_AllowFinalize(GlobHdr* g);
const _kernel_oserror* CSeq_Finalize(GlobHdr* g);
void CSeq_SoundService(GlobHdr* g, _kernel_swi_regs* r);
void CSeq_DefaultConfig(GlobHdr* g);
const _kernel_oserror* CSeq_Configure(GlobHdr* g, _kernel_swi_regs* r);
void CSeq_SetMixScale(GlobHdr* g);
const _kernel_oserror* CSeq_GetMixingInfo(GlobHdr* g, _kernel_swi_regs* r);
const _kernel_oserror* CSeq_RegisterHandler(GlobHdr* g, SeqHandler*);
const _kernel_oserror* CSeq_UnregisterHandler(GlobHdr* g, SeqHandler*);
int CSeq_GetSampleSize(GlobHdr* g);
void CSeq_ResetMaxWavePercentage(GlobHdr* g);
void CSeq_Filler_WAV(GlobHdr* g, _kernel_swi_regs* r);
int CSeq_GetPlayingFrequency(GlobHdr* g);
unsigned char* Seq_GetLogTable(void);
void CSeq_GetTime(GlobHdr* g, int* time);

#endif
