package com.increpare.bfxr.synthesis.Mixer
{
import com.increpare.bfxr.synthesis.ISerializable;
import com.increpare.bfxr.synthesis.Synthesizer.SfxrSynth;
import com.increpare.bfxr.synthesis.WavePlayer;
import com.increpare.bfxr.dataClasses.SoundData;
public class MixerTrackPlayer implements ISerializable
{
public var data:MixerTrackData;
public var synth:SfxrSynth;
public var waveplayer:WavePlayer;
public function MixerTrackPlayer()
{
data = new MixerTrackData();
synth = new SfxrSynth();
waveplayer = new WavePlayer();
}
public function UnSet():void
{
LoadSynth(null);
}
public function IsSet():Boolean
{
return data.synthdata!="";
}
public function LoadSynth(sd:SoundData):void
{
if (sd!=null)
{
data.id=sd.id;
data.synthdata=sd.data;
synth.Load(data.synthdata);
}
else
{
data.id=-1;
data.synthdata="";
}
}
public function Serialize():String
{
return data.Serialize();
}
public function Deserialize(settings:String):void
{
data.Deserialize(settings);
synth.Load(data.synthdata);
}
}
}