You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

141 lines
3.7 KiB

/*==LICENSE==*
CyanWorlds.com Engine - MMOG client, server and tools
Copyright (C) 2011 Cyan Worlds, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
You can contact Cyan Worlds, Inc. by email legal@cyan.com
or by snail mail at:
Cyan Worlds, Inc.
14617 N Newport Hwy
Mead, WA 99021
*==LICENSE==*/
#include "plEnvEffectMsg.h"
/* Die, die, everybody die!
// real-time effects (non environmental);
plAudioEffectMsg::plAudioEffectMsg() :
fEffect(0),
delayModPct(0),
feedbackPct(0),
lfOscillator(0),
feedbackDelay(0),
waveform(0),
phaseDifferential(0),
gainDB(0),
attack(0),
release(0),
compThreshhold(0),
compRatio(0),
attackPreDelay(0),
intensity(0),
effectCenter(0),
effectWidth(0),
lfCutoff(0),
leftFeedbackDelay(0),
rightFeedbackDelay(0),
swapLeftRightDelay(0),
modulationRate(0)
{
SetBCastFlag(plMessage::kPropagateToModifiers);
}
plAudioEffectMsg::plAudioEffectMsg(const plKey &s,const plKey &r,const double* t) :
fEffect(0),
wetDryPct(0),
delayModPct(0),
feedbackPct(0),
lfOscillator(0),
feedbackDelay(0),
waveform(0),
phaseDifferential(0),
gainDB(0),
attack(0),
release(0),
compThreshhold(0),
compRatio(0),
attackPreDelay(0),
intensity(0),
effectCenter(0),
effectWidth(0),
lfCutoff(0),
leftFeedbackDelay(0),
rightFeedbackDelay(0),
swapLeftRightDelay(0),
modulationRate(0)
{
SetBCastFlag(plMessage::kPropagateToModifiers);
}
// IO
void plAudioEffectMsg::Read(hsStream* stream, hsResMgr* mgr)
{
plEnvEffectMsg::Read(stream, mgr);
stream->ReadSwap(&fEffect);
stream->ReadSwap(&wetDryPct);
stream->ReadSwap(&delayModPct);
stream->ReadSwap(&feedbackPct);
stream->ReadSwap(&lfOscillator);
stream->ReadSwap(&feedbackDelay);
stream->ReadSwap(&waveform);
stream->ReadSwap(&phaseDifferential);
stream->ReadSwap(&gainDB);
stream->ReadSwap(&attack);
stream->ReadSwap(&release);
stream->ReadSwap(&compThreshhold);
stream->ReadSwap(&compRatio);
stream->ReadSwap(&attackPreDelay);
stream->ReadSwap(&intensity);
stream->ReadSwap(&effectCenter);
stream->ReadSwap(&effectWidth);
stream->ReadSwap(&lfCutoff);
stream->ReadSwap(&leftFeedbackDelay);
stream->ReadSwap(&rightFeedbackDelay);
stream->ReadSwap(&swapLeftRightDelay);
stream->ReadSwap(&modulationRate);
}
void plAudioEffectMsg::Write(hsStream* stream, hsResMgr* mgr)
{
plEnvEffectMsg::Write(stream, mgr);
stream->WriteSwap(fEffect);
stream->WriteSwap(wetDryPct);
stream->WriteSwap(delayModPct);
stream->WriteSwap(feedbackPct);
stream->WriteSwap(lfOscillator);
stream->WriteSwap(feedbackDelay);
stream->WriteSwap(waveform);
stream->WriteSwap(phaseDifferential);
stream->WriteSwap(gainDB);
stream->WriteSwap(attack);
stream->WriteSwap(release);
stream->WriteSwap(compThreshhold);
stream->WriteSwap(compRatio);
stream->WriteSwap(attackPreDelay);
stream->WriteSwap(intensity);
stream->WriteSwap(effectCenter);
stream->WriteSwap(effectWidth);
stream->WriteSwap(lfCutoff);
stream->WriteSwap(leftFeedbackDelay);
stream->WriteSwap(rightFeedbackDelay);
stream->WriteSwap(swapLeftRightDelay);
stream->WriteSwap(modulationRate);
}
*/