Esempio n. 1
0
 public void addChord(int step, Chord c) {
   if (_type != InstrumentType.GUITAR && _type != InstrumentType.PIANO) {
     throw new IllegalStateException();
   }
   int index = BDXUtil.searchIndexWithStep(_chordSetList, step, true);
   if (index < 0) {
     List<Chord> chordSet = new ArrayList<Chord>();
     chordSet.add(c);
     addChordSet(step, chordSet);
     return;
   }
   StepValue<List<Chord>> sv = _chordSetList.get(index);
   int st = sv.getStep();
   if (st == step) {
     List<Chord> chordSet = sv.getValue();
     chordSet.add(c);
   } else {
     List<Chord> chordSet = new ArrayList<Chord>();
     chordSet.add(c);
     addChordSet(step, chordSet);
     Collections.sort(_chordSetList, StepValue.STEP_COMPARATOR);
   }
 }