コード例 #1
0
ファイル: Partial.cs プロジェクト: Magiczne/JD-XI-Editor
        /// <inheritdoc />
        public void CopyFrom(byte[] data)
        {
            if (data.Length != DumpLength)
            {
                throw new InvalidDumpSizeException(DumpLength, data.Length);
            }

            /**
             * 10   -> Oscillator
             * 11   -> Filter
             * 7    -> Amplifier
             * 10   -> LFO
             * 10   -> Mod LFO
             * 4    -> Aftertouch
             * 9    -> Other
             */

            Oscillator.CopyFrom(data.Take(10).ToArray());
            Filter.CopyFrom(data.Skip(10).Take(11).ToArray());
            Amplifier.CopyFrom(data.Skip(21).Take(7).ToArray());
            Lfo.CopyFrom(data.Skip(28).Take(10).ToArray());
            ModLfo.CopyFrom(data.Skip(38).Take(10).ToArray());
            Aftertouch.CopyFrom(data.Skip(48).Take(4).ToArray());
            Other.CopyFrom(data.Skip(52).Take(9).ToArray());
        }
コード例 #2
0
ファイル: Partial.cs プロジェクト: Magiczne/JD-XI-Editor
 /// <inheritdoc />
 public void CopyFrom(IPatchPart part)
 {
     if (part is Partial partial)
     {
         Oscillator.CopyFrom(partial.Oscillator);
         Filter.CopyFrom(partial.Filter);
         Amplifier.CopyFrom(partial.Amplifier);
         Lfo.CopyFrom(partial.Lfo);
         ModLfo.CopyFrom(partial.ModLfo);
         Aftertouch.CopyFrom(partial.Aftertouch);
         Other.CopyFrom(partial.Other);
     }
     else
     {
         throw new NotSupportedException("Copying from that type is not supported");
     }
 }