/// <summary> /// Create a RIFF wave from a vibration. /// </summary> /// <param name="v">Vibration file.</param> /// <returns>The RIFF wave as a vibration.</returns> public static RiffWave CreateRiffWave(Vibration v) { //New wave. RiffWave r = new RiffWave(); //Not looped. if (!v.Loops) { r = RiffWaveFactory.CreateRiffWave(200, 1, EncoderFactory.SignedPcm8ToPcm8(new sbyte[][] { v.pcm8 })); } //Looped. else { r = RiffWaveFactory.CreateRiffWave(200, 1, EncoderFactory.SignedPcm8ToPcm8(new sbyte[][] { v.pcm8 }), v.LoopStart, v.LoopEnd); } return(r); }
/// <summary> /// Get data from a b_stm. /// </summary> /// <param name="wavInfo"></param> /// <returns></returns> public object GetDataSTM(b_stm.StreamSoundInfo wavInfo, b_stm.InfoBlock info) { object returnValue = null; //See encoding. switch (wavInfo.encoding) { case EncodingTypes.PCM8: return(EncoderFactory.SignedPcm8ToPcm8(pcm8)); case EncodingTypes.PCM16: return(pcm16); case EncodingTypes.DSP_ADPCM: List <DspAdpcmInfo> context = new List <DspAdpcmInfo>(); foreach (b_stm.ChannelInfo c in info.channels) { context.Add(c.dspAdpcmInfo); } return(EncoderFactory.DspApcmToPcm16(dspAdpcm, wavInfo.sampleCount, context.ToArray())); } return(returnValue); }
/// <summary> /// Get data from a b_wav. /// </summary> /// <param name="wavInfo"></param> /// <returns></returns> public object GetDataWAV(b_wav.InfoBlock wavInfo) { object returnValue = null; //See encoding. switch (wavInfo.encoding) { case EncodingTypes.PCM8: return(EncoderFactory.SignedPcm8ToPcm8(pcm8)); case EncodingTypes.PCM16: return(pcm16); case EncodingTypes.DSP_ADPCM: List <DspAdpcmInfo> context = new List <DspAdpcmInfo>(); foreach (b_wav.InfoBlock.ChannelInfo c in wavInfo.channelInfo) { context.Add(c.dspAdpcmInfo); } return(EncoderFactory.DspApcmToPcm16(dspAdpcm, wavInfo.loopEnd, context.ToArray())); } return(returnValue); }