]> ruin.nu Git - moosique.git/commitdiff
no message
authorEinar Pehrson <einarp@itstud.chalmers.se>
Sat, 10 May 2003 18:55:43 +0000 (18:55 +0000)
committerEinar Pehrson <einarp@itstud.chalmers.se>
Sat, 10 May 2003 18:55:43 +0000 (18:55 +0000)
MooGUI.java
MooToolbar.java
MooTrackTitle.java
MooTrackView.java
Moosique.java
To Do.txt

index 5a545838831f2b5ac4656655a1d813528e6f53c1..7bcd6dd854d103d8360c78f1396ad0c9dde62eae 100644 (file)
@@ -13,6 +13,7 @@ public class MooGUI extends JFrame {
 
        private Sequence seq;
 
+       private MooToolbar toolbar;
        private JPanel trackPanel;
        private MooTrackView[] trackViews;
        private JLabel statusBar;
@@ -28,13 +29,14 @@ public class MooGUI extends JFrame {
                this.seq = seq;
                
                Container pane = getContentPane();
-               pane.setLayout(new BorderLayout());
+               pane.setLayout(new BoxLayout(pane, BoxLayout.Y_AXIS));
                
                // Adds menu bar.
                setJMenuBar(new MooMenu());
 
                // Adds toolbar.
-               pane.add(new MooToolbar(), BorderLayout.NORTH);
+               toolbar = new MooToolbar();
+               pane.add(toolbar, BorderLayout.NORTH);
 
                // Adds tracks.
                trackPanel = new JPanel(true);
@@ -48,7 +50,7 @@ public class MooGUI extends JFrame {
                addWindowListener(new MooGUICloser());
                pack();
                Dimension bounds = Toolkit.getDefaultToolkit().getScreenSize();
-               setSize(bounds.width,bounds.height - 60);
+               setSize(bounds.width,bounds.height - 40);
                setLocation(0, 0);
                // setResizable(false);
                setBackground(Color.white);
@@ -73,6 +75,9 @@ public class MooGUI extends JFrame {
                statusBar.setText(text);
        }
        
+       /** 
+        * Fills the track panel with track views for all tracks in the current sequence.
+        */
        private void createTrackViews() {
                trackPanel.removeAll();
                Track[] tracks = seq.getTracks();
@@ -84,7 +89,7 @@ public class MooGUI extends JFrame {
                }
                trackPanel.validate();
        }
-
+       
        class MooGUICloser extends WindowAdapter {
                public void windowClosing(WindowEvent e) {Moosique.quit();}
        }
index 7a16936cbbb8eed3c2a7436d4c4ef133690067c2..2a31842212b68009b1ba2838401a3bef5f6db765 100644 (file)
@@ -1,6 +1,6 @@
 import javax.swing.*;
-import java.awt.event.*;
 import java.awt.*;
+import java.awt.event.*;
 import javax.sound.midi.*;
 
 /**
@@ -19,7 +19,7 @@ public class MooToolbar extends JToolBar {
         * Creates the toolbar.
         */
        
-       public MooToolbar()     {
+       public MooToolbar() {
                mouseAdapter = new MooMouseAdapter();
 
                rewind = createButton("images/rewind.gif", "Rewind");
index b24931f0cc5cc7907f42461bab4f4dec1dbd94a5..0c043372f2e836806036a20f2d85593593bcf705 100644 (file)
@@ -1,6 +1,7 @@
 import javax.swing.*;
 import java.awt.*;
 import java.awt.event.*;
+import javax.sound.midi.*;
 
 /**
  * The title bar for each track with track name, channel, instrument etc.
@@ -9,8 +10,9 @@ import java.awt.event.*;
  * @version 1
  */
  
-public class MooTrackTitle extends JPanel{
+public class MooTrackTitle extends JPanel {
 
+       private JTextField title;
        private MooInstrumentList instruments;
        private JComboBox channel;
        private JCheckBox mute;
@@ -18,8 +20,13 @@ public class MooTrackTitle extends JPanel{
        /** 
         * Creates the title bar.
         */
-       public MooTrackTitle () {
-               setLayout(new GridLayout(3,1));
+       public MooTrackTitle (Track track) {
+               setLayout(new GridLayout(4,1));
+
+               title = new JTextField(); // JTextField(String text, int columns) 
+               title.addFocusListener(new TitleFocusListener());
+               add(title);
+
                instruments = new MooInstrumentList();
                add(instruments);
 
@@ -59,4 +66,10 @@ public class MooTrackTitle extends JPanel{
                checkboxes.add(solo);
                add(checkboxes);
        }
-}
+
+       class TitleFocusListener extends FocusAdapter {
+               public void focusLost(FocusEvent e) {
+                       // Update the MidiEvent containing the title of this track
+               }
+       }
+}
\ No newline at end of file
index 780e3c017521c0f3015e2fa91c819ad237502e8f..1e59ba4d200e507442367c89b6df4018c052365f 100644 (file)
@@ -1,6 +1,6 @@
 import javax.swing.*;
-import java.awt.event.*;
 import java.awt.*;
+import java.awt.event.*;
 import javax.sound.midi.*;
 
 /**
@@ -18,13 +18,12 @@ public class MooTrackView extends JPanel implements ActionListener {
        private JPopupMenu popup;
        private JMenuItem menuItem;
        
-       private static final int NOTEVIEW_HEIGHT = 200;
-       
        public MooTrackView (Track track) {
+               setPreferredSize(new Dimension(200, 200));
                setLayout(new BorderLayout());
                this.setBorder(BorderFactory.createLineBorder(Color.black));
 
-               title = new MooTrackTitle();
+               title = new MooTrackTitle(track);
                title.setBorder(BorderFactory.createLineBorder(Color.black));
                add(title, BorderLayout.NORTH);
 
index b7c92c30f9af86ad1c7efeadbe8a390853ec7b72..9a19a53878b1d9d6ee7787b954d9ba23c974934a 100644 (file)
@@ -77,6 +77,14 @@ public class Moosique {
                }
        }
 
+       /** 
+        * Returns the GUI.
+        * @return the GUI
+        */
+       public static MooGUI getGUI() {
+               return gui;
+       }
+
        /** 
         * Returns the current sequence.
         * @return the current sequence
index cd065d1fd0e836643ad24f5ed20192794296f71c..8b5ad85ad9b2ae46ce2ff8bd4787bf903c9d0433 100644 (file)
--- a/To Do.txt
+++ b/To Do.txt
@@ -4,11 +4,33 @@ F
 
 Einar: Moosique(4), MooNote(4)
 Micke: MooGUI(4), MooTrackTitle(2), MooNoteElement(6), MooNoteProp(4)
-Björn: MooMenu(8), MooToolbar(3), MooView(2), MooViewCounter(1)
+Björn: MooMenu(8), MooToolbar(3), MooViewCounter(1)
 Rolle: MooTrackView(16)
 
 \f
-Fixa en progress indicator till filladdningen om den tänker ta så lång tid.
+VIKTIGT! Implementera playfunktionens beteende. När play aktiveras ska följande loop köras:
+
+       while(sequencer.isRunning()) {
+               Moosique.getGUI().update();
+       }
+
+       i GUI:
+
+       public void update() {
+               // Calls on each track view to update itself.
+               for (int i = 0; i < trackViews.length; i++) {
+                       trackViews[i].update();
+               }
+               // Calls on the toolbar to update the progress indicator.
+               toolbar.updateProgInd();
+       }
+
+       När låten är slut återställes play-knappen.
+
+       Göra detta som en tråd?!?
+
+\f
+x Fixa en progress indicator till filladdningen om den tänker ta så lång tid.
 
 \f
 MooMenu