public void CmdLoop(partWork pw, MML mml) { pw.incPos(); parent.loopOffset = (long)parent.dat.Count; parent.loopClock = (long)parent.lClock; parent.loopSamples = (long)parent.dSample; if (parent.info.format == enmFormat.XGM) { parent.OutData(0x7e); } foreach (KeyValuePair <enmChipType, ClsChip[]> kvp in parent.chips) { foreach (ClsChip chip in kvp.Value) { foreach (partWork p in chip.lstPartWork) { p.reqFreqReset = true; //p.beforeLVolume = -1; //p.beforeRVolume = -1; //p.beforeVolume = -1; //p.pan = new dint(3); //p.beforeTie = false; chip.CmdLoopExtProc(p, mml); } } } }
public void CmdLoop(partWork pw, MML mml) { if (pw.chip.parent.isLoopEx) { pw.loopInfo.use = true; pw.loopInfo.clockPos = (long)parent.lClock; pw.loopInfo.mmlPos = pw.mmlPos; pw.incPos(); if (pw.loopInfo.isLongMml && parent.unusePartEndCount == parent.loopUnusePartCount) { //parent.loopKusabi = true; //parent.loopKusabiOffset = (long)parent.dat.Count; //parent.loopKusabiClock = (long)parent.lClock; //parent.loopKusabiSamples = (long)parent.dSample; //parent.loopKusabiXGM0x7ePtr = parent.OutDataLength(); parent.loopOffset = (long)parent.dat.Count; parent.loopClock = (long)parent.lClock; parent.loopSamples = (long)parent.dSample; if (parent.info.format == enmFormat.XGM) { parent.OutData(0x7e); } } pw.reqFreqReset = true; pw.chip.CmdLoopExtProc(pw, mml); return; } pw.incPos(); parent.loopOffset = (long)parent.dat.Count; parent.loopClock = (long)parent.lClock; parent.loopSamples = (long)parent.dSample; if (parent.info.format == enmFormat.XGM) { parent.OutData(0x7e); } foreach (KeyValuePair <enmChipType, ClsChip[]> kvp in parent.chips) { foreach (ClsChip chip in kvp.Value) { if (!chip.use) { continue; } foreach (partWork p in chip.lstPartWork) { p.reqFreqReset = true; //p.beforeLVolume = -1; //p.beforeRVolume = -1; //p.beforeVolume = -1; //p.pan = new dint(3); //p.beforeTie = false; chip.CmdLoopExtProc(p, mml); } } } }