mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-04 02:42:49 -04:00
compile against fmod 4.22.05
This commit is contained in:
parent
e4709607c3
commit
8403e175f5
@ -345,7 +345,7 @@ update_dsp_chain(FMOD::DSP *head, FilterProperties *config) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
FMOD::DSP *prev;
|
FMOD::DSP *prev;
|
||||||
res2 = head->getInput(0, &prev);
|
res2 = head->getInput(0, &prev, NULL);
|
||||||
void *userdata;
|
void *userdata;
|
||||||
res3 = prev->getUserData(&userdata);
|
res3 = prev->getUserData(&userdata);
|
||||||
if (userdata != USER_DSP_MAGIC) {
|
if (userdata != USER_DSP_MAGIC) {
|
||||||
@ -363,10 +363,10 @@ update_dsp_chain(FMOD::DSP *head, FilterProperties *config) {
|
|||||||
FMOD::DSP *dsp = make_dsp(conf[i]);
|
FMOD::DSP *dsp = make_dsp(conf[i]);
|
||||||
if (dsp == 0) break;
|
if (dsp == 0) break;
|
||||||
FMOD::DSP *prev;
|
FMOD::DSP *prev;
|
||||||
res1 = head->getInput(0, &prev);
|
res1 = head->getInput(0, &prev, NULL);
|
||||||
res2 = head->disconnectFrom(prev);
|
res2 = head->disconnectFrom(prev);
|
||||||
res3 = head->addInput(dsp);
|
res3 = head->addInput(dsp, NULL);
|
||||||
res4 = dsp->addInput(prev);
|
res4 = dsp->addInput(prev, NULL);
|
||||||
res5 = dsp->setActive(true);
|
res5 = dsp->setActive(true);
|
||||||
if ((res1!=FMOD_OK)||(res2!=FMOD_OK)||(res3!=FMOD_OK)||(res4!=FMOD_OK)||(res5!=FMOD_OK)) {
|
if ((res1!=FMOD_OK)||(res2!=FMOD_OK)||(res3!=FMOD_OK)||(res4!=FMOD_OK)||(res5!=FMOD_OK)) {
|
||||||
audio_error("Could not update DSP chain.");
|
audio_error("Could not update DSP chain.");
|
||||||
|
@ -163,11 +163,16 @@ play() {
|
|||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
FMOD_RESULT F_CALLBACK sound_end_callback(FMOD_CHANNEL * channel,
|
FMOD_RESULT F_CALLBACK sound_end_callback(FMOD_CHANNEL * channel,
|
||||||
FMOD_CHANNEL_CALLBACKTYPE type,
|
FMOD_CHANNEL_CALLBACKTYPE type,
|
||||||
int command,
|
void *commanddata1,
|
||||||
unsigned int commanddata1,
|
void *commanddata2) {
|
||||||
unsigned int commanddata2) {
|
if (type == FMOD_CHANNEL_CALLBACKTYPE_END) {
|
||||||
FmodAudioSound *fsound = (FmodAudioSound*)command;
|
FMOD::Channel *fc = (FMOD::Channel *)channel;
|
||||||
|
void *userdata = NULL;
|
||||||
|
FMOD_RESULT result = fc->getUserData(&userdata);
|
||||||
|
fmod_audio_errcheck("channel->getUserData()", result);
|
||||||
|
FmodAudioSound *fsound = (FmodAudioSound*)userdata;
|
||||||
fsound->_self_ref = fsound;
|
fsound->_self_ref = fsound;
|
||||||
|
}
|
||||||
return FMOD_OK;
|
return FMOD_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -311,13 +316,11 @@ set_time(float start_time) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (_channel == 0) {
|
if (_channel == 0) {
|
||||||
// This is because setCallback expects an integer
|
|
||||||
// but 64-bits pointers wont fit in a 32-bits int.
|
|
||||||
nassertv_always((intptr_t)this < UINT_MAX);
|
|
||||||
|
|
||||||
result = _manager->_system->playSound(FMOD_CHANNEL_FREE, _sound, true, &_channel);
|
result = _manager->_system->playSound(FMOD_CHANNEL_FREE, _sound, true, &_channel);
|
||||||
fmod_audio_errcheck("_system->playSound()", result);
|
fmod_audio_errcheck("_system->playSound()", result);
|
||||||
result = _channel->setCallback(FMOD_CHANNEL_CALLBACKTYPE_END, sound_end_callback, (intptr_t)this);
|
result = _channel->setUserData(this);
|
||||||
|
fmod_audio_errcheck("_channel->setUserData()", result);
|
||||||
|
result = _channel->setCallback(sound_end_callback);
|
||||||
fmod_audio_errcheck("_channel->setCallback()", result);
|
fmod_audio_errcheck("_channel->setCallback()", result);
|
||||||
result = _channel->setPosition( startTime , FMOD_TIMEUNIT_MS );
|
result = _channel->setPosition( startTime , FMOD_TIMEUNIT_MS );
|
||||||
fmod_audio_errcheck("_channel->setPosition()", result);
|
fmod_audio_errcheck("_channel->setPosition()", result);
|
||||||
|
@ -204,9 +204,8 @@ class EXPCL_FMOD_AUDIO FmodAudioSound : public AudioSound {
|
|||||||
|
|
||||||
friend FMOD_RESULT F_CALLBACK sound_end_callback(FMOD_CHANNEL * channel,
|
friend FMOD_RESULT F_CALLBACK sound_end_callback(FMOD_CHANNEL * channel,
|
||||||
FMOD_CHANNEL_CALLBACKTYPE type,
|
FMOD_CHANNEL_CALLBACKTYPE type,
|
||||||
int command,
|
void *commanddata1,
|
||||||
unsigned int commanddata1,
|
void *commanddata2);
|
||||||
unsigned int commanddata2);
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//These are needed for Panda's Pointer System. DO NOT ERASE!
|
//These are needed for Panda's Pointer System. DO NOT ERASE!
|
||||||
|
Loading…
x
Reference in New Issue
Block a user