示例#1
0
        public void LoadWavPartsPtr(ref WavePartsObject PartsObj)
        {
            WavePartsBinder.ReAlloc(PartsObj);

            WavePartAttributes pa = new WavePartAttributes(WavePartsBinder.IntPtr, ProjectBinder.IntPtr);

            this.PropertyViewer.Tag = pa;

            this.PropertyViewer.SelectedObject = this.PropertyViewer.Tag;
        }
        public List <BgmPreRender> CalcTracker(double TimePosition, BackerObject barkerObject)
        {
            List <BgmPreRender> Ret = new List <BgmPreRender>();
            double LastEnd          = 0;

            for (int i = 0; i < barkerObject.WavPartList.Count; i++)
            {
                BgmPreRender    bpr = new BgmPreRender();
                WavePartsObject wpo = barkerObject.WavPartList[i];
                bpr.FilePath = wpo.WavFileName;
                double endTime = wpo.getStartTime() + wpo.DuringTime;
                if (endTime > TimePosition)
                {
                    if (wpo.getStartTime() > TimePosition)
                    {
                        bpr.DelayTime = wpo.getStartTime() - TimePosition;
                        if (bpr.DelayTime >= LastEnd)
                        {
                            bpr.DelayTime -= LastEnd;
                        }
                        else
                        {
                            bpr.DelayTime = 0;
                        }
                        LastEnd = endTime;
                    }
                    else
                    {
                        bpr.PassTime = TimePosition - wpo.getStartTime();
                        LastEnd      = endTime;
                    }
                    Ret.Add(bpr);
                }
            }
            return(Ret);
        }
示例#3
0
 void tw_SelectingWavePartChanged(WavePartsObject PartObject)
 {
     aw.LoadWavPartsPtr(ref PartObject);
 }