/*
 *  FMODaudio.h
 *  fmod_rocks2010
 *
 *	Music and Code by Peter "pdx" Drescher.
 *  Copyright 2010 twittering machine. All rights reserved.
 *
 */

#include "api/inc/fmod.hpp"
#include "api/inc/fmod_errors.h"
#include "api/wincompat.h"
#include <stdio.h>
#include <unistd.h>
#include "CoreFoundation/CoreFoundation.h"

using namespace std;

// channel definitions
#define	BASS	0
#define	DRUMS	1
#define	SWEEP	2
#define	OST1	3
#define	OST2	4
#define	OST3	5
#define	GTR		6
#define	DING	7


class FMODaudio {
private:
    FMOD::System		*system;
    FMOD::Sound			*sound[8];
    FMOD::Channel		*channel[8];
    FMOD_RESULT         result;
    int                 key, count;
    unsigned int        version;
	
public:
	void ERRCHECK(FMOD_RESULT);
	void init();
	void setLevelMix(int);
	void muteChannel(int);
	void unmuteChannel(int);
	~FMODaudio();
};


