1 package com.jamesbryangraves.bob.music; 2 3 import com.jamesbryangraves.bob.util.BobUtils; 4 5 public abstract class DiatonicMusicEventGenerator extends MusicEventGenerator { 6 7 protected int getNextPitch(int pitch, int key, Scale scale) { 8 return BobUtils.getRandomInt(4) % 1 == 0 ? 9 upOrDown(pitch) > 0 ? 10 scale.getNextNote(pitch, key) : 11 scale.getPreviousNote(pitch, key) 12 : getScalePitch(key, scale); 13 } 14 15 protected int getScalePitch(int key, Scale scale) { 16 int pitch = key + 17 scale.getScaleSteps().get( 18 BobUtils.getRandomInt(scale.getScaleSteps().size())); 19 return pitch + (BobUtils.getRandomInt(1) * 12 * upOrDown(pitch)); 20 } 21 22 }