playpause.setToolTipText("Pause");
Moosique.resume();
} else if (toolTip == "Stop") {
- resetProgInd();
Moosique.stop();
}
} else if (e.getSource() instanceof JLabel) {
- long position = Moosique.getSequencer().getTickPosition();
+ long position = Moosique.getPosition();
if (e.getSource().equals(measuresValue)) {
if (SwingUtilities.isRightMouseButton(e)) {
- System.out.println("IncM");
position += beatsPerMeasure * ticksPerBeat;
} else if (SwingUtilities.isLeftMouseButton(e) && Integer.parseInt(measuresValue.getText()) > 1) {
- System.out.println("DecM");
position -= beatsPerMeasure * ticksPerBeat;
}
} else if (e.getSource().equals(beatsValue)) {
if (SwingUtilities.isRightMouseButton(e)) {
- System.out.println("IncB");
position += ticksPerBeat;
} else if (SwingUtilities.isLeftMouseButton(e) && Integer.parseInt(beatsValue.getText()) > 1) {
- System.out.println("DecB");
position -= ticksPerBeat;
}
} else if (e.getSource().equals(ticksValue)) {
if (SwingUtilities.isRightMouseButton(e)) {
- System.out.println("IncT");
position += 1;
} else if (SwingUtilities.isLeftMouseButton(e) && Integer.parseInt(ticksValue.getText()) > 1) {
- System.out.println("DecT");
position -= 1;
}
}
- Moosique.getSequencer().setTickPosition(position);
+ Moosique.setPosition(position);
Moosique.getGUI().update(position);
}
}
private static MidiChannel activeChannel;
private static String filename, fileArg;
- private static long position;
+ private static long editPosition;
private static boolean makeGUI = true, isEdited;
private static Thread player;
public static final int RESOLUTION = 96, DEFAULT_TRACKS = 4;
* Starts playback of the current sequence.
*/
public static void play() {
- sequencer.setTickPosition(position);
+ sequencer.setTickPosition(editPosition);
resume();
}
public static void stop() {
if (sequencer.isRunning()) {
sequencer.stop();
- sequencer.setTickPosition(position);
+ sequencer.setTickPosition(editPosition);
player.interrupt();
gui.update((long)0);
}
}
/**
- * Returns the current tick position of the sequencer.
+ * Returns the current editing position of the sequencer.
* @return the tick position
*/
public static long getPosition() {
- return sequencer.getTickPosition();
+ return editPosition;
}
/**
- * Sets the current tick position of the sequencer.
+ * Sets the current editing position of the sequencer.
* @param ticks the tick position
*/
public static void setPosition(long ticks) {
- sequencer.setTickPosition(ticks);
+ editPosition = ticks;
}
/**
* @param measures the number of measures to rewind
*/
public static void rewind(long ticks) {
- setPosition(position - ticks);
+ editPosition -= ticks;
}
/**
* @param measures the number of measures to fast forward
*/
public static void forward(long ticks) {
- setPosition(position + ticks);
+ editPosition += ticks;
}
/**