コード例 #1
0
ファイル: clsChip.cs プロジェクト: hiroshica/mucomMD2vgm
        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);
                    }
                }
            }
        }
コード例 #2
0
ファイル: clsChip.cs プロジェクト: kuma4649/mucomMD2vgm
        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);
                    }
                }
            }
        }