]> ruin.nu Git - moosique.git/blobdiff - MooViewCounter.java
tror den är klar
[moosique.git] / MooViewCounter.java
index ce69af266226c03a02a3b9f6cc978b6bb06bd1ff..83e40a650f0f8d72a7439c4196367a5185475241 100644 (file)
@@ -10,23 +10,55 @@ import java.awt.*;
  
 public class MooViewCounter extends JPanel {
 
+       private int measure, halfBeat, beat, halfNote;
+
        /** 
         * Creates 
         */
-       public MooViewCounter () {
-       
+       private int timeSig1, timeSig2;
+        
+       public MooViewCounter (int ts1, int ts2) {
+               timeSig1 = ts1;
+               timeSig2 = ts2;
+               
+       switch (timeSig2) {
+                       case  16: measure = timeSig1;  
+                       break;
+                       case  8: measure = timeSig1 * 2;
+                                        halfBeat = measure/timeSig1;
+                       break;
+                       case  4: measure = timeSig1 * (int)Math.pow(2,2);
+                                        beat = measure/timeSig1;
+                                        halfBeat = beat/2;       
+                       break;
+                       case  2: measure = timeSig1 * (int)Math.pow(2,3); 
+                                        halfNote = measure/timeSig1;
+                                        beat = halfNote/2;
+                                        halfBeat = beat/2;
+                       break;
+                       case  1: measure = timeSig1 * (int)Math.pow(2,4);
+                                    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,35,c*10*measure);                    // 1/1
+                       
                }
        }
-}
+}
\ No newline at end of file