//========= Copyright © 1996-2005, Valve Corporation, All rights reserved. ============// // // Purpose: // // $NoKeywords: $ // //=============================================================================// #include #include "soundsystem/snd_audio_source.h" #include "soundsystem/isoundsystem.h" #include "soundsystem.h" // NOTE: This has to be the last file included! #include "tier0/memdbgon.h" extern CAudioSource *Audio_CreateMemoryWave( const char *pName ); //----------------------------------------------------------------------------- // Purpose: Simple wrapper to crack naming convention and create the proper wave source // Input : *pName - WAVE filename // Output : CAudioSource //----------------------------------------------------------------------------- CAudioSource *AudioSource_Create( const char *pName ) { if ( !pName ) return NULL; // if ( pName[0] == '!' ) // sentence ; // Names that begin with "*" are streaming. // Skip over the * and create a streamed source if ( pName[0] == '*' ) { return NULL; } // These are loaded into memory directly return Audio_CreateMemoryWave( pName ); } CAudioSource::~CAudioSource( void ) { CAudioMixer *mixer; while ( 1 ) { mixer = g_pSoundSystem->FindMixer( this ); if ( !mixer ) break; g_pSoundSystem->StopSound( mixer ); } } CAudioSource::CAudioSource( void ) { }