Beispiel #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="program"></param>
        /// <param name="clearAfterCopy"></param>
        /// <returns></returns>
        public IClipBoardProgram CopyProgramToClipBoard(IProgram program, bool clearAfterCopy)
        {
            if (!((IBank)(program.Parent)).IsLoaded)
            {
                return(null);
            }

            var clipBoardProgram = new ClipBoardProgram(program);

            Programs[((int)((IProgramBank)(program.Parent)).BankSynthesisType)].CopiedPatches.Add(clipBoardProgram);

            if (clearAfterCopy)
            {
                program.Clear();
            }

            // Copy used drum kits.
            if (!CutPasteSelected)
            {
                foreach (var drumKit in program.UsedDrumKits)
                {
                    CopyDrumKitOfProgramToClipBoard(drumKit, clipBoardProgram);
                }
            }

            /*TODO DRUM TRACK PROGRAM
             * // Copy used drum track program.
             * if (!CutPasteSelected)
             * {
             *  //TODO CopyDrumProgramOfProgramToClipBoard(clipBoardProgram.dru)
             * }
             */

            return(clipBoardProgram);
        }