X-Git-Url: https://ruin.nu/git/?p=moosique.git;a=blobdiff_plain;f=MooTrackView.java;h=2f96085e25f6a362ea22b4d34e28045ac7177736;hp=f7e8335bf365748478972feff97c7ce4fb879f53;hb=f7097bc07b6688d1629e6894c1c42dc06485dc12;hpb=c31857b9fcb119f0d4c12b96222f66340b3dcc56 diff --git a/MooTrackView.java b/MooTrackView.java index f7e8335..2f96085 100644 --- a/MooTrackView.java +++ b/MooTrackView.java @@ -29,6 +29,7 @@ public class MooTrackView extends JPanel { private Rectangle box; private int ticksPerSixteenth, popupY = 0; 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; @@ -79,9 +80,6 @@ public class MooTrackView extends JPanel { * Creates note elements for all MooNotes in the track, and places them in the appropriate place. */ public void placeNoteElements() { - // Converts the track. - Moosique.convertTrack(track); - // Empties the container removeAll(); coords = new ArrayList(track.size() / 2); @@ -132,9 +130,10 @@ public class MooTrackView extends JPanel { // Calculates coordinates. x = insets.left; - y = insets.top + Math.round(mn.getTick() / ticksPerSixteenth) * NOTE_HEIGHT; - height = (mn.getDuration() / ticksPerSixteenth) * NOTE_HEIGHT; + 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.