X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=MooViewCounter.java;h=3c766014c1f203971e9513883c5139654f80f141;hb=0e48363a96ebd7c8c7f142daa38568da3e64facc;hp=5153912c19e2d8f1f32a63be2fc2043e3bd3e1c3;hpb=948e069926266ead58bc5466520e131941f2466c;p=moosique.git diff --git a/MooViewCounter.java b/MooViewCounter.java index 5153912..3c76601 100644 --- a/MooViewCounter.java +++ b/MooViewCounter.java @@ -10,31 +10,36 @@ import java.awt.*; public class MooViewCounter extends JPanel { - //public static final int LINE_LENGTH; - private int measure, halfBeat, beat, halfNote; - //private String check; - //private Line[]; + private int timeSig1, timeSig2, measure, halfBeat, beat, halfNote; /** * Creates */ - private int timeSig1, timeSig2; - public MooViewCounter (int ts1, int ts2) { timeSig1 = ts1; timeSig2 = ts2; + setBackground(Color.black); + setPreferredSize(new Dimension(35,200*10)); - switch (timeSig2) { + switch (timeSig2) { case 16: measure = timeSig1; break; case 8: measure = timeSig1 * 2; - halfBeat = measure/timeSig1; + halfBeat = measure / timeSig1; break; - case 4: measure = timeSig1 * (int)Math.pow(2,2); + case 4: measure = timeSig1 * 4; + beat = measure / timeSig1; + halfBeat = beat / 2; break; - case 2: measure = timeSig1 * (int)Math.pow(2,3); + case 2: measure = timeSig1 * 8; + halfNote = measure / timeSig1; + beat = halfNote / 2; + halfBeat = beat / 2; break; - case 1: measure = timeSig1 * (int)Math.pow(2,4); + case 1: measure = timeSig1 * 16; + halfNote = measure/2; + beat = halfNote/2; + halfBeat = beat/2; break; } @@ -42,17 +47,15 @@ public class MooViewCounter extends JPanel { public void paintComponent(Graphics g) { super.paintComponent(g); - setBackground(Color.black); if (!(g instanceof Graphics2D)) return; Graphics2D g2 = (Graphics2D)g; - setPreferredSize(new Dimension(50,200*10)); g2.setColor(Color.white); for (int c = 0; c < 200; c++) { g2.drawLine(0,c*10,5,c*10); // 1/16 g2.drawLine(0,c*10*halfBeat,10,c*10*halfBeat); // 1/8 - g2.drawLine(0,c*10*(beat/4),15,c*10*(beat/4)); // 1/4 - g2.drawLine(0,c*10*(halfNote/2),20,c*10*(halfNote/2)); // 1/2 - g2.drawLine(0,c*10*measure,35,c*10*measure); // 1/1 + g2.drawLine(0,c*10*beat,15,c*10*beat); // 1/4 + g2.drawLine(0,c*10*halfNote,20,c*10*halfNote); // 1/2 + g2.drawLine(0,c*10*measure,30,c*10*measure); // 1/1 } }