make sound & AVI recording independent from sound output

This commit is contained in:
spacy51 2007-12-15 16:03:52 +00:00
parent 8104f63c77
commit d1032f568b
2 changed files with 32 additions and 40 deletions

View File

@ -77,20 +77,6 @@ DirectSound::DirectSound()
DirectSound::~DirectSound() DirectSound::~DirectSound()
{ {
if(theApp.aviRecorder) {
delete theApp.aviRecorder;
theApp.aviRecorder = NULL;
theApp.aviFrameNumber = 0;
}
if(theApp.soundRecording) {
if(theApp.soundRecorder) {
delete theApp.soundRecorder;
theApp.soundRecorder = NULL;
}
theApp.soundRecording = false;
}
if(dsbNotify) { if(dsbNotify) {
dsbNotify->Release(); dsbNotify->Release();
dsbNotify = NULL; dsbNotify = NULL;

View File

@ -391,16 +391,6 @@ VBA::~VBA()
movieLastJoypad = 0; movieLastJoypad = 0;
} }
if(aviRecorder) {
delete aviRecorder;
aviRecording = false;
}
if(soundRecorder) {
delete soundRecorder;
soundRecorder = NULL;
}
soundRecording = false;
soundPause(); soundPause();
soundShutdown(); soundShutdown();
@ -1204,34 +1194,50 @@ int systemGetSensorY()
return theApp.sensorY; return theApp.sensorY;
} }
bool systemSoundInit() bool systemSoundInit()
{ {
if(theApp.sound) systemSoundShutdown();
delete theApp.sound;
switch( theApp.audioAPI )
switch( theApp.audioAPI ) {
{ case DIRECTSOUND:
case DIRECTSOUND: theApp.sound = newDirectSound();
theApp.sound = newDirectSound(); break;
break;
#ifndef NO_OAL #ifndef NO_OAL
case OPENAL_SOUND: case OPENAL_SOUND:
theApp.sound = newOpenAL(); theApp.sound = newOpenAL();
break; break;
#endif #endif
} }
return theApp.sound->init(); return theApp.sound->init();
} }
void systemSoundShutdown() void systemSoundShutdown()
{ {
if(theApp.sound) if( theApp.aviRecorder ) {
delete theApp.sound; delete theApp.aviRecorder;
theApp.sound = NULL; theApp.aviRecorder = NULL;
theApp.aviFrameNumber = 0;
}
if( theApp.soundRecording ) {
if( theApp.soundRecorder ) {
delete theApp.soundRecorder;
theApp.soundRecorder = NULL;
}
theApp.soundRecording = false;
}
if( theApp.sound ) {
delete theApp.sound;
theApp.sound = NULL;
}
} }
void systemSoundPause() void systemSoundPause()
{ {
if(theApp.sound) if(theApp.sound)