private static MidiChannel[] channels;
private static MidiChannel activeChannel;
private static MidiEvent[] timeSignatures, tempoChanges;
+
private static ArrayList emptyTracks;
private static Map trackMute = new HashMap();
private static Map trackSolo = new HashMap();
-
+ private static Thread player;
private static String filename;
private static long editPosition;
- private static boolean makeGUI = true, initSound = true, isEdited = false, drawEmptyTracks = false;
- private static Thread player;
+ private static boolean makeGUI = true, initSound = true, edited = false, drawEmptyTracks = false;
public static final int DEFAULT_RESOLUTION = 96, DEFAULT_TRACKS = 4;
/**
* @return the tick position
*/
public static boolean isEdited() {
- return isEdited;
+ return edited;
}
/**
* Sets the current sequence as edited, which implies prompts when loading a new sequence.
*/
public static void setEdited() {
- isEdited = true;
+ edited = true;
}
/**
} catch (IOException e) {
return false;
}
- isEdited = false;
+ edited = false;
Track[] tracks = seq.getTracks();
emptyTracks = new ArrayList();
if (noteOns.size() == 0) emptyTracks.add(tracks[i]);
// Sorts the note lists by tick position.
- Comparator c = new NoteComparator();
+ Comparator c = new MidiEventComparator();
Collections.sort(noteOns, c);
Collections.sort(noteOffs, c);
* Prompts the user .
*/
public static boolean promptOnUnsavedChanges() {
- if (!isEdited) return false;
+ if (!edited) return false;
int exitOption = JOptionPane.showConfirmDialog(gui,
"The current sequence has been edited, but not saved.\nDo you wish to continue anyway?",
"File not saved - continue?",
try {
MidiSystem.write(seq, 1, new File(file));
filename = file;
- isEdited = false;
+ edited = false;
gui.setStatus("Saved " + file);
return true;
} catch (IOException e) {
/**
* A Comparator for sorting lists of MidiEvents.
*/
- public static class NoteComparator implements Comparator {
+ public static class MidiEventComparator implements Comparator {
public int compare(Object o1, Object o2) {
return (int)(((MidiEvent)o1).getTick() - ((MidiEvent)o2).getTick());
}