// This file is part of ThriceBall.
//
// Author: Kai Hillenbrand (AnTeevY)
// © Copyright, 2009 by Kai Hillenbrand, http://www.anteevy.de

// --------------------------------------------------

#pragma once
#ifndef AUDIO_H
#define AUDIO_H

// extern includes
#include <stdio.h>
#include <irrKlang.h>

// intern includes
#include "renderer.h"

using namespace irrklang;

class CRenderer;

// --------------------------------------------------

class CAudio
{
public:
	CAudio();

	// general functions
	void playSound(int num);		// play a sound specified by number
	void playMusic(String name);	// play the background music for that specific level

	// set functions
	void setRenderer(CRenderer *renderer){m_pRenderer = renderer;}
	void setVolumes(int sound, int music);	// sets the sound and music volumes

private:
	// IrrKlang variables
	ISoundEngine *m_pSoundEngine;		// sound engine for sounds
	ISoundEngine *m_pMusicEngine;		// sound engine for music
	ISoundEngine *m_pBrakeChargeEngine;	// sound engine for brake and charge sounds

	// general variables
	CRenderer *m_pRenderer;				// pointer to renderer instance
};

#endif