]> ruin.nu Git - moosique.git/blobdiff - MooViewCounter.java
nu är den klar
[moosique.git] / MooViewCounter.java
index 2775027b2e0d1f64702ebad376c6a29ee3c4756b..3c766014c1f203971e9513883c5139654f80f141 100644 (file)
@@ -10,23 +10,53 @@ import java.awt.*;
  
 public class MooViewCounter extends JPanel {
 
+       private int timeSig1, timeSig2, measure, halfBeat, beat, halfNote;
+
        /** 
         * Creates 
         */
-       public MooViewCounter (int beatsPerMeasure1, int beatsPerMeasure2) {
-       
+       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);
-
                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, 
-                       }
+               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