Fmod manager.h

From Valve Developer Community
Revision as of 14:51, 17 March 2011 by Thelonesoldier (talk | contribs) (cat)
Jump to navigation Jump to search

LAST EDITED: --£cho 17:05, 22 November 2009 (UTC)

#ifndef FMOD_MANAGER_H
#define FMOD_MANAGER_H
#ifdef _WIN32
#pragma once
#endif

#include "fmod.hpp"

class CFMODManager
{
public:
	CFMODManager();
	~CFMODManager();
 
	void InitFMOD();
	void ExitFMOD();

	void FadeThink();

	bool IsSoundPlaying( const char* pathToFileFromSoundsFolder );

	void PlayAmbientSound( const char* pathToFileFromSoundsFolder, bool fadeIn );
	void StopAmbientSound( bool fadeOut );
	void TransitionAmbientSounds( const char* pathToFileFromSoundsFolder );

private:
	const char* GetFullPathToSound( const char* pathToFileFromModFolder );
	const char* GetCurrentSoundName( void );

	const char* currentSound;
	const char* newSoundFileToTransitionTo;
	bool m_bShouldTransition;
	bool m_bFadeIn;
	bool m_bFadeOut;
	float m_fFadeDelay;
};
 
extern CFMODManager* FMODManager();
 
#endif //FMOD_MANAGER_H