/*==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 . 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); } */