private Insets insets;
private Rectangle box;
private int ticksPerSixteenth, popupY = 0;
- private boolean leftMouseButtonPressed = false, quantizeRecording = false;
+ private boolean leftMouseButtonPressed = false;
+ private static boolean snapToSixteenths = true;
protected static int viewLength = 0;
protected static int extraHeight = 0;
public static final int NOTE_HEIGHT = 10, NOTE_WIDTH = 40, VIEW_WIDTH = 200;
setLayout(null);
setPreferredSize(new Dimension(VIEW_WIDTH, 140 * NOTE_HEIGHT));
- placeNoteElements(false);
+ placeNoteElements();
// Creates panel pop-up menu.
popup = new JPopupMenu();
/**
* Creates note elements for all MooNotes in the track, and places them in the appropriate place.
*/
- public void placeNoteElements(boolean quantize) {
- // Converts the track.
- Moosique.convertTrack(track);
-
+ public void placeNoteElements() {
// Empties the container
removeAll();
coords = new ArrayList(track.size() / 2);
// Calculates coordinates.
x = insets.left;
- if (quantizeRecording) {
- // Snap to nearest sixteenth
- y = insets.top + Math.round(mn.getTick() / ticksPerSixteenth) * NOTE_HEIGHT;
- height = (mn.getDuration() / ticksPerSixteenth) * NOTE_HEIGHT;
- } else {
- y = insets.top + (int)((mn.getTick() * NOTE_HEIGHT) / ticksPerSixteenth);
- height = (mn.getDuration() * NOTE_HEIGHT) / ticksPerSixteenth;
- }
+ y = insets.top + (int)((mn.getTick() * NOTE_HEIGHT) / ticksPerSixteenth);
+ height = (mn.getDuration() * NOTE_HEIGHT) / ticksPerSixteenth;
if (height == 0) height = NOTE_HEIGHT;
+ if (snapToSixteenths && height < NOTE_HEIGHT) height = NOTE_HEIGHT;
r = new Rectangle(x, y, NOTE_WIDTH, height);
// Places the element in the appropriate place.