package org.staccato; import org.jfugue.midi.MidiDefaults; import org.jfugue.theory.Note; public class DefaultNoteSettingsManager { private static DefaultNoteSettingsManager instance; public static DefaultNoteSettingsManager getInstance() { if (instance == null) { instance = new DefaultNoteSettingsManager(); } return instance; } private byte defaultOctave = DEFAULT_DEFAULT_OCTAVE; private byte defaultBassOctave = DEFAULT_DEFAULT_BASS_OCTAVE; private double defaultDuration = DEFAULT_DEFAULT_DURATION; private byte defaultOnVelocity = MidiDefaults.MIDI_DEFAULT_ON_VELOCITY; private byte defaultOffVelocity = MidiDefaults.MIDI_DEFAULT_OFF_VELOCITY; private DefaultNoteSettingsManager() { } public void setDefaultOctave(byte octave) { assert (octave < Note.MIN_OCTAVE) || (octave > Note.MAX_OCTAVE); this.defaultOctave = octave; } public byte getDefaultOctave() { return this.defaultOctave; } public void setDefaultBassOctave(byte octave) { assert (octave < Note.MIN_OCTAVE) || (octave > Note.MAX_OCTAVE); this.defaultBassOctave = octave; } public byte getDefaultBassOctave() { return this.defaultBassOctave; } public void setDefaultDuration(double duration) { this.defaultDuration = duration; } public double getDefaultDuration() { return this.defaultDuration; } public void setDefaultOnVelocity(byte attack) { assert (attack < MidiDefaults.MIN_ON_VELOCITY) || (attack > MidiDefaults.MAX_ON_VELOCITY); this.defaultOnVelocity = attack; } public byte getDefaultOnVelocity() { return this.defaultOnVelocity; } public void setDefaultOffVelocity(byte decay) { assert (decay < MidiDefaults.MIN_OFF_VELOCITY) || (decay > MidiDefaults.MAX_OFF_VELOCITY); this.defaultOffVelocity = decay; } public byte getDefaultOffVelocity() { return this.defaultOffVelocity; } public static final byte DEFAULT_DEFAULT_OCTAVE = 5; public static final byte DEFAULT_DEFAULT_BASS_OCTAVE = 4; // Updated in JFugue5; in previous versions, bass was Octave 3 public static final double DEFAULT_DEFAULT_DURATION = 0.25d; public static final byte DEFAULT_DEFAULT_ON_VELOCITY = MidiDefaults.MIDI_DEFAULT_ON_VELOCITY; public static final byte DEFAULT_DEFAULT_OFF_VELOCITY = MidiDefaults.MIDI_DEFAULT_OFF_VELOCITY; }