//=========================
//
// Mixer.h
//
//=========================

#ifndef __MIXER_H__
#define __MIXER_H__

#ifdef __cplusplus
extern "C" {
#endif // __cplusplus

#include "mmsystem.h"

//=========================
// DEFINES
//=========================
#define MIXER_ERR_NOERR                 0
#define MIXER_ERR_NOMIXER               1
#define MIXER_ERR_GETID                 2
#define MIXER_ERR_OPEN                  3
#define MIXER_ERR_GETCAPS               4
#define MIXER_ERR_GETLINEINFOCD         5
#define MIXER_ERR_GETLINEINFOSAMPLE     6
#define MIXER_ERR_GETLINECONTROLSCD     7
#define MIXER_ERR_GETLINECONTROLSSAMPLE 8

//=========================
// PROTOTYPES
//=========================
int MixerInit(HWAVEOUT hWave);
UINT GetNbrMixers();
DWORD GetNbrAudioLines();
DWORD GetCDMax();
DWORD GetCDMin();
DWORD SND_fn_dwGetCDValue();
void  SND_fn_vSetCDValue(DWORD val);
DWORD GetSampleMax();
DWORD GetSampleMin();
DWORD SND_fn_dwGetSampleValue();
void SND_fn_vSetSampleValue(DWORD val);
DWORD GetMidiMax();
DWORD GetMidiMin();
DWORD GetMidiValue();
void  SetMidiValue(DWORD val);
BOOL SND_fn_bIsCDControlAvailable();
BOOL SND_fn_bIsSampleControlAvailable();
int MixerDesInit();
int SND_fn_iMixerDesInitSample(void);
int SND_fn_iMixerInitSample(HWAVEOUT hWave);


#ifdef __cplusplus
}
#endif // __cplusplus

#endif //MIXER_H_
