public override void RevertChanges()
 {
     TrackFx.RevertChanges();
     TrackFxA.RevertChanges();
     TrackFxB.RevertChanges();
     TrackFxC.RevertChanges();
 }
        public override void ApplyPropertyValues()
        {
            Setup.ApplyPropertyValues();
            InputOutput.ApplyPropertyValues();
            USB.ApplyPropertyValues();
            MIDI.ApplyPropertyValues();

            #region DefaultMemory
            Track1.ApplyPropertyValues();
            Track2.ApplyPropertyValues();
            Track3.ApplyPropertyValues();
            Track4.ApplyPropertyValues();
            Track5.ApplyPropertyValues();

            Rhythm.ApplyPropertyValues();
            //Name.ApplyPropertyValues();
            Master.ApplyPropertyValues();
            RecOption.ApplyPropertyValues();
            PlayOption.ApplyPropertyValues();

            Assign1.ApplyPropertyValues();
            Assign2.ApplyPropertyValues();
            Assign3.ApplyPropertyValues();
            Assign4.ApplyPropertyValues();
            Assign5.ApplyPropertyValues();
            Assign6.ApplyPropertyValues();
            Assign7.ApplyPropertyValues();
            Assign8.ApplyPropertyValues();
            Assign9.ApplyPropertyValues();
            Assign10.ApplyPropertyValues();
            Assign11.ApplyPropertyValues();
            Assign12.ApplyPropertyValues();
            Assign13.ApplyPropertyValues();
            Assign14.ApplyPropertyValues();
            Assign15.ApplyPropertyValues();
            Assign16.ApplyPropertyValues();

            InputFx.ApplyPropertyValues();
            TrackFx.ApplyPropertyValues();

            BeatFxA.ApplyPropertyValues();
            BeatFxB.ApplyPropertyValues();
            BeatFxC.ApplyPropertyValues();

            InputFxA.ApplyPropertyValues();
            InputFxB.ApplyPropertyValues();
            InputFxC.ApplyPropertyValues();

            TrackFxA.ApplyPropertyValues();
            TrackFxB.ApplyPropertyValues();
            TrackFxC.ApplyPropertyValues();
            #endregion DefaultMemory
        }
 public override void ApplyChanges <T>(T model)
 {
     if (model is MemoryModel memory)
     {
         TrackFx.ApplyChanges(memory.TrackFx);
         TrackFxA.ApplyChanges(memory);
         TrackFxB.ApplyChanges(memory);
         TrackFxC.ApplyChanges(memory);
     }
     else
     {
         throw new ArgumentException("Model must be of type MemoryModel.");
     }
 }
        public override void ApplyPropertyValues()
        {
            Track1.ApplyPropertyValues();
            Track2.ApplyPropertyValues();
            Track3.ApplyPropertyValues();
            Track4.ApplyPropertyValues();
            Track5.ApplyPropertyValues();

            Rhythm.ApplyPropertyValues();
            //Name.ApplyPropertyValues();
            Master.ApplyPropertyValues();
            RecOption.ApplyPropertyValues();
            PlayOption.ApplyPropertyValues();

            Assign1.ApplyPropertyValues();
            Assign2.ApplyPropertyValues();
            Assign3.ApplyPropertyValues();
            Assign4.ApplyPropertyValues();
            Assign5.ApplyPropertyValues();
            Assign6.ApplyPropertyValues();
            Assign7.ApplyPropertyValues();
            Assign8.ApplyPropertyValues();
            Assign9.ApplyPropertyValues();
            Assign10.ApplyPropertyValues();
            Assign11.ApplyPropertyValues();
            Assign12.ApplyPropertyValues();
            Assign13.ApplyPropertyValues();
            Assign14.ApplyPropertyValues();
            Assign15.ApplyPropertyValues();
            Assign16.ApplyPropertyValues();

            InputFx.ApplyPropertyValues();
            TrackFx.ApplyPropertyValues();

            BeatFxA.ApplyPropertyValues();
            BeatFxB.ApplyPropertyValues();
            BeatFxC.ApplyPropertyValues();

            InputFxA.ApplyPropertyValues();
            InputFxB.ApplyPropertyValues();
            InputFxC.ApplyPropertyValues();

            TrackFxA.ApplyPropertyValues();
            TrackFxB.ApplyPropertyValues();
            TrackFxC.ApplyPropertyValues();
        }