Esempio n. 1
0
        public Track Clone()
        {
            var clone = (Track)MemberwiseClone();

            clone.NotesList = new List <Notes>();
            NotesList.ForEach(x => clone.NotesList.Add(x.Clone()));

            clone.InstrumentList = new LinkedList <Event.Instrument>();
            foreach (Event.Instrument inst in InstrumentList)
            {
                clone.InstrumentList.AddLast(inst.Clone());
            }

            clone.VolumeList = new LinkedList <Event.Volume>();
            foreach (Event.Volume vol in VolumeList)
            {
                clone.VolumeList.AddLast(vol.Clone());
            }

            clone.PanList = new LinkedList <Event.Pan>();
            foreach (Event.Pan pan in PanList)
            {
                clone.PanList.AddLast(pan.Clone());
            }

            return(clone);
        }