From 2e2fa52cef9db49f82d1dec2a8c4c03c5c6f387b Mon Sep 17 00:00:00 2001 From: Einar Pehrson Date: Sat, 10 May 2003 18:55:43 +0000 Subject: [PATCH] no message --- MooGUI.java | 13 +++++++++---- MooToolbar.java | 4 ++-- MooTrackTitle.java | 21 +++++++++++++++++---- MooTrackView.java | 7 +++---- Moosique.java | 8 ++++++++ To Do.txt | 26 ++++++++++++++++++++++++-- 6 files changed, 63 insertions(+), 16 deletions(-) diff --git a/MooGUI.java b/MooGUI.java index 5a54583..7bcd6dd 100644 --- a/MooGUI.java +++ b/MooGUI.java @@ -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();} } diff --git a/MooToolbar.java b/MooToolbar.java index 7a16936..2a31842 100644 --- a/MooToolbar.java +++ b/MooToolbar.java @@ -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"); diff --git a/MooTrackTitle.java b/MooTrackTitle.java index b24931f..0c04337 100644 --- a/MooTrackTitle.java +++ b/MooTrackTitle.java @@ -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 diff --git a/MooTrackView.java b/MooTrackView.java index 780e3c0..1e59ba4 100644 --- a/MooTrackView.java +++ b/MooTrackView.java @@ -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); diff --git a/Moosique.java b/Moosique.java index b7c92c3..9a19a53 100644 --- a/Moosique.java +++ b/Moosique.java @@ -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 diff --git a/To Do.txt b/To Do.txt index cd065d1..8b5ad85 100644 --- 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) -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?!? + + +x Fixa en progress indicator till filladdningen om den tänker ta så lång tid. MooMenu -- 2.39.2