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