]> ruin.nu Git - moosique.git/commitdiff
Added MooViewCounter as the row header of MooView
authorEinar Pehrson <einarp@itstud.chalmers.se>
Wed, 14 May 2003 21:40:10 +0000 (21:40 +0000)
committerEinar Pehrson <einarp@itstud.chalmers.se>
Wed, 14 May 2003 21:40:10 +0000 (21:40 +0000)
MooView.java
MooViewCounter.java
Moosique.java

index d64f8852610d874a4039291e392b3970e1c8a1bd..1d15f2c8918fedfb1240e3051940fa67263568f6 100644 (file)
@@ -14,6 +14,7 @@ public class MooView extends JScrollPane {
 
        private JPanel trackPanel;
        private JPanel titlePanel;
+       private MooViewCounter viewCounter;
        private int numberOfTracks;
 
        /** 
@@ -25,10 +26,15 @@ public class MooView extends JScrollPane {
                setViewportView(trackPanel);
 
                titlePanel = new JPanel(new GridLayout(1,3),true);
-
                JViewport columnHeader = new JViewport();
                columnHeader.setView(titlePanel);
                setColumnHeaderView(columnHeader);
+
+               viewCounter = new MooViewCounter(4, 4);
+               JViewport rowHeader = new JViewport();
+               rowHeader.setView(viewCounter);
+               setRowHeaderView(rowHeader);
+
                setTracks(tracks);
        }
 
index 83e40a650f0f8d72a7439c4196367a5185475241..bb06eac5720a4e80d849e11c4984c9ea9619d932 100644 (file)
@@ -10,18 +10,18 @@ import java.awt.*;
  
 public class MooViewCounter extends JPanel {
 
-       private int measure, halfBeat, beat, halfNote;
+       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;
@@ -47,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,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
+                       g2.drawLine(0,c*10*measure,30,c*10*measure);                    // 1/1
                        
                }
        }
index 46efc7dc41e6acbadeba89067a09df0d566a3ec1..c9ed3ae003931b43f74d9c7ad3e7609dd0ca5d0e 100644 (file)
@@ -19,7 +19,8 @@ public class Moosique {
        private static Synthesizer synthesizer;
        private static MidiChannel[] channels;
        private static MidiChannel activeChannel;
-       private static MetaMessage tempoMsg, timeSigMsg;
+       private static MetaMessage timeSigMsg;
+       private static MetaMessage[] tempoChgMsgs;
 
        private static String filename, fileArg;
        private static long editPosition;
@@ -326,7 +327,7 @@ public class Moosique {
                        if (msg.getStatus() == MetaMessage.META) {
                                metaMsg = (MetaMessage)msg;
                                if (metaMsg.getType() == 81) {
-                                       tempoMsg = metaMsg;
+// FLERA!!!                    tempoMsg = metaMsg;
                                } else if (metaMsg.getType() == 88) {
                                        timeSigMsg = (MetaMessage)msg;
                                }
@@ -340,14 +341,6 @@ public class Moosique {
                ShortMessage shortMsg;
                ArrayList noteOns, noteOffs;
                for (int i = 0; i < tracks.length; i++) {
-                        noteOns = new ArrayList(tracks.length);
-       /*
-                       Collections.sort(track[i].events, new Comparator() {
-                               public int compare(Object o1, Object o2) {
-                                       return ((MidiEvent)o2).getTick() - ((MidiEvent)o1).getTick();
-                               }
-                       });
-       */
                        for (int j = 0; j < tracks[i].size(); j++) {
                                noteOn = tracks[i].get(j);
                                if (noteOn.getMessage().getStatus() == ShortMessage.NOTE_ON) {
@@ -373,6 +366,7 @@ public class Moosique {
                                }
                        }
                }
+
                // Sends sequence to GUI and sequencer, then returns
                if (gui != null) gui.setSequence(seq);
                try {