コード例 #1
0
 public InstrumentDef()
 {
     for (var i = 1; i < CkiConsts.TRACK_VALUES_PER_SCREEN * 20 + 1; i++)
     {
         TrackValues[i] = new TrackValueDef {
             SlotIndex = i, Type = TrackValueType.Empty
         };
     }
 }
コード例 #2
0
        private TrackValueDef ParseTrackValueDef(int index, JSONNode json)
        {
            TrackValueType trackValueType = TrackValueType.Empty;

            if (json[JsonKeys.MIDI_CC] != null)
            {
                trackValueType = TrackValueType.MidiCC;
            }
            else if (json[JsonKeys.TRACK_CONTROL] != null)
            {
                trackValueType = TrackValueType.TrackControl;
            }

            if (trackValueType == TrackValueType.Empty)
            {
                return(null);
            }

            var trackValueDef = new TrackValueDef {
                SlotIndex = index, Type = trackValueType
            };

            switch (trackValueType)
            {
            case TrackValueType.MidiCC:
                trackValueDef.MidiCC = json[JsonKeys.MIDI_CC];
                trackValueDef.Label  = json[JsonKeys.LABEL];
                break;

            case TrackValueType.TrackControl:
                trackValueDef.TrackControl = InstrumentUtils.TrackControlFromJson(json);
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }

            return(trackValueDef);
        }
コード例 #3
0
ファイル: TrackValueList.cs プロジェクト: dyskotron/CKIEditor
 public TrackValueDataProvider(TrackValueDef trackValue)
 {
     TrackValue = trackValue;
 }