X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=MooViewCounter.java;h=9e3829e37428fbccb1e0dc364af6f10f272fd4cf;hb=4897f77587b579d4714ff8749134375e9f5ece77;hp=ce69af266226c03a02a3b9f6cc978b6bb06bd1ff;hpb=c83e74facf762222fe4578f175408cc50d360518;p=moosique.git diff --git a/MooViewCounter.java b/MooViewCounter.java index ce69af2..9e3829e 100644 --- a/MooViewCounter.java +++ b/MooViewCounter.java @@ -10,23 +10,57 @@ import java.awt.*; public class MooViewCounter extends JPanel { + private int timeSig1, timeSig2, measure, halfBeat, beat, halfNote; + /** * Creates */ - public MooViewCounter () { - - } + public MooViewCounter (int ts1, int ts2) { + timeSig1 = ts1; + timeSig2 = ts2; + setBackground(Color.black); + setPreferredSize(new Dimension(35,200*10)); + + switch (timeSig2) { + case 16: measure = timeSig1; + break; + case 8: measure = timeSig1 * 2; + halfBeat = measure / timeSig1; + break; + case 4: measure = timeSig1 * 4; + beat = measure / timeSig1; + halfBeat = beat / 2; + break; + case 2: measure = timeSig1 * 8; + halfNote = measure / timeSig1; + beat = halfNote / 2; + halfBeat = beat / 2; + break; + case 1: measure = timeSig1 * 16; + halfNote = measure/2; + beat = halfNote/2; + halfBeat = beat/2; + break; + } + + } public void paintComponent(Graphics g) { super.paintComponent(g); + setBackground(Color.black); if (!(g instanceof Graphics2D)) return; Graphics2D g2 = (Graphics2D)g; - - for (int i = 0; i < 10; i++) { - for (int j = 0; j < 10; j++) { - // g2.drawLine(0,i*20, - } + + 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,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 + } } -} +} \ No newline at end of file