void UOpenALAudioSubsystem::Destroy() { guard(UOpenALAudioSubsystem::Destroy); if( Initialized ) { // Unhook. USound::Audio = NULL; UMusic::Audio = NULL; // Shut down viewport. SetViewport( NULL ); // Cleanup. MikMod_Exit(); alDeleteSources( 1, &MusicSource ); for( INT i=0; i<NumSources; i++ ) alDeleteSources( 1, &Sources[i].Id ); alureShutdownDevice(); } Super::Destroy(); unguard; }
void Quit() { StopMusic(); alureUpdateInterval(0); alureSleep(0.1f); alureShutdownDevice(); }
NSoundSystem::~NSoundSystem() { for (unsigned int i=0;i<SoundData.size();i++) { delete SoundData[i]; } alureShutdownDevice(); }
void audio_off() { if(!alureUpdateInterval(0.0)) err("audio_off", "could not stop"); if(!loaded_sounds.empty()) for(std::vector<ALuint>::iterator i = loaded_sounds.begin(); i != loaded_sounds.end(); i++) { alSourcei(*i, AL_BUFFER, 0); alDeleteSources(1, &(*i)); } if(!loaded_buffers.empty()) for(std::vector<ALuint>::iterator i = loaded_buffers.begin(); i != loaded_buffers.end(); i++) alDeleteBuffers(1, &(*i)); alureShutdownDevice(); }
void UOpenALAudioSubsystem::ShutdownAfterError() { guard(UOpenALAudioSubsystem::ShutdownAfterError); // Unhook. USound::Audio = NULL; UMusic::Audio = NULL; debugf( NAME_Exit, TEXT("UOpenALAudioSubsystem::ShutdownAfterError") ); if( Initialized ) { MikMod_Exit(); alureShutdownDevice(); } Super::ShutdownAfterError(); unguard; }
void killSoundStuff () { if (! soundOK) return; SilenceIKillYou = true; for (int i = 0; i < MAX_SAMPLES; i ++) { if (soundCache[i].playing) { if (! alureStopSource(soundCache[i].playingOnSource, AL_TRUE)) { debugOut( "Failed to stop source: %s\n", alureGetErrorString()); } } if (soundCache[i].stream != NULL) { if (! alureDestroyStream(soundCache[i].stream, 0, NULL)) { debugOut("Failed to destroy stream: %s\n", alureGetErrorString()); } } } for (int i = 0; i < MAX_MODS; i ++) { if (modCache[i].playing) { if (! alureStopSource(modCache[i].playingOnSource, AL_TRUE)) { debugOut( "Failed to stop source: %s\n", alureGetErrorString()); } } if (modCache[i].stream != NULL) { if (! alureDestroyStream(modCache[i].stream, 0, NULL)) { debugOut("Failed to destroy stream: %s\n", alureGetErrorString()); } } } SilenceIKillYou = false; alureShutdownDevice(); }
int main () { if (!alureInitDevice(NULL, NULL)) { std::fprintf(stderr, "Failed to open OpenAL device: %s\n", alureGetErrorString()); return 1; } alGenSources(1, &src); if (alGetError() != AL_NO_ERROR) { std::fprintf(stderr, "Failed to create OpenAL source!\n"); alureShutdownDevice(); return 1; } // Seeting Blip Buffer synth.treble_eq( -18.0f ); synth.volume (0.80); synth.output (&blipbuf); // Init Blip Buffer with a buffer of 250ms (second paramter is time in ms) if ( blipbuf.set_sample_rate( SR, 1000 / 4 ) ) { std::fprintf(stderr, "Failed to create Blip Buffer! Our of Memory\n"); alureShutdownDevice(); return 1; } blipbuf.clock_rate( blipbuf.sample_rate() ); blipbuf.bass_freq(300); // Equalization like a TV speaker stream = alureCreateStreamFromCallback (StreamCB, nullptr, AL_FORMAT_MONO16, SR, SR/2, 0, nullptr); if(!stream) { std::fprintf(stderr, "Error creating stream! %s\n", alureGetErrorString()); alDeleteSources(1, &src); alureShutdownDevice(); return 1; } if (!alurePlaySourceStream(src, stream, 4, 0, eos_callback, NULL)) { std::fprintf(stderr, "Failed to play stream: %s\n", alureGetErrorString()); isdone = 1; } alureUpdateInterval(0.005f); // Should be a independint thread playing the stream while(!isdone) { freq -= 1; if (freq < 1) { freq = 600; } alureSleep(0.02f); } alureStopSource(src, AL_FALSE); alDeleteSources(1, &src); alureDestroyStream(stream, 0, NULL); alureShutdownDevice(); return 0; }
is::Audio::~Audio() { for ( unsigned int i=0; i<m_soundbuffers.size(); i++ ) { delete m_soundbuffers.at(i); } alureShutdownDevice(); }
System::~System() { alureShutdownDevice(); }
AudioDevice::~AudioDevice() { alureShutdownDevice(); }