From 9cc9e864bbd9993ba0c8a418b3bf82ef90cc930f Mon Sep 17 00:00:00 2001 From: Einar Pehrson Date: Wed, 14 May 2003 21:40:10 +0000 Subject: [PATCH] Added MooViewCounter as the row header of MooView --- MooView.java | 8 +++++++- MooViewCounter.java | 12 +++++------- Moosique.java | 14 ++++---------- 3 files changed, 16 insertions(+), 18 deletions(-) diff --git a/MooView.java b/MooView.java index d64f885..1d15f2c 100644 --- a/MooView.java +++ b/MooView.java @@ -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); } diff --git a/MooViewCounter.java b/MooViewCounter.java index 83e40a6..bb06eac 100644 --- a/MooViewCounter.java +++ b/MooViewCounter.java @@ -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 } } diff --git a/Moosique.java b/Moosique.java index 46efc7d..c9ed3ae 100644 --- a/Moosique.java +++ b/Moosique.java @@ -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 { -- 2.39.2