From f13c7fbb2a8cc841367e0a4563596592b89cd33b Mon Sep 17 00:00:00 2001 From: Einar Pehrson Date: Wed, 21 May 2003 13:04:27 +0000 Subject: [PATCH] no message --- MooDialog.java | 7 ++++- MooMenu.java | 1 + MooTrackView.java | 4 +-- Moosique.java | 65 ++++++++++++++++++++++++++++++++--------------- To Do.txt | 13 +--------- 5 files changed, 55 insertions(+), 35 deletions(-) diff --git a/MooDialog.java b/MooDialog.java index a2adf47..07e719a 100644 --- a/MooDialog.java +++ b/MooDialog.java @@ -663,7 +663,12 @@ public class MooDialog extends JDialog { } catch (Exception ex) { s = "Manual not found"; } - pane.add(new JScrollPane(new JTextArea(s, 30, 95))); + JTextArea text = new JTextArea(s, 30, 95); + text.setLineWrap(true); + text.setWrapStyleWord(true); + text.setEnabled(false); + text.setDisabledTextColor(Color.black); + pane.add(new JScrollPane(text)); Action close = new AbstractAction("Close") { public void actionPerformed(ActionEvent ae) { setVisible(false); diff --git a/MooMenu.java b/MooMenu.java index f8c67d7..d30d181 100644 --- a/MooMenu.java +++ b/MooMenu.java @@ -15,6 +15,7 @@ public class MooMenu extends JMenuBar implements ActionListener { private JMenu file, edit, keyboard, playback, music, help; private JFileChooser chooser; private File directory; + private String[] openedFiles; /** * Creates the menu bar. diff --git a/MooTrackView.java b/MooTrackView.java index 873e2d8..cb22b42 100644 --- a/MooTrackView.java +++ b/MooTrackView.java @@ -134,8 +134,8 @@ public class MooTrackView extends JPanel { x = insets.left; if (quantizeRecording) { // Snap to nearest sixteenth - y = insets.top + (int)((mn.getTick() * NOTE_HEIGHT) / ticksPerSixteenth); - height = (mn.getDuration() * NOTE_HEIGHT) / ticksPerSixteenth; + y = insets.top + Math.round(mn.getTick() / ticksPerSixteenth) * NOTE_HEIGHT; + height = (mn.getDuration() / ticksPerSixteenth) * NOTE_HEIGHT; } else { y = insets.top + (int)((mn.getTick() * NOTE_HEIGHT) / ticksPerSixteenth); height = (mn.getDuration() * NOTE_HEIGHT) / ticksPerSixteenth; diff --git a/Moosique.java b/Moosique.java index 860f561..298c045 100644 --- a/Moosique.java +++ b/Moosique.java @@ -68,6 +68,9 @@ public class Moosique { } System.out.println("Done"); + // Loads user preferences (work directory, last opened files etc). + loadPreferences(); + //If a filename is given as the command-line argument, attempts to load a sequence from the file. if (fileArg != null) { System.out.print("Loading MIDI sequence from " + fileArg + "..."); @@ -509,10 +512,11 @@ public class Moosique { /** * Wraps each NoteOn event in the track with its NoteOff event in a MooNote. */ - public static void convertTrack(Track track) { + public static List convertTrack(Track track) { // Searches the track for NoteOn and NoteOff events ArrayList noteOns = new ArrayList(track.size() / 2); ArrayList noteOffs = new ArrayList(track.size() / 2); + ArrayList mooNotes = new ArrayList(); MidiEvent event; for (int j = 0; j < track.size(); j++) { event = track.get(j); @@ -536,28 +540,34 @@ public class Moosique { ShortMessage onMsg, nextOffMsg; while(iOn.hasNext()) { on = (MidiEvent)iOn.next(); - onMsg = (ShortMessage)on.getMessage(); - iOff = noteOffs.iterator(); - while(iOff.hasNext()) { - nextOff = (MidiEvent)iOff.next(); - nextOffMsg = (ShortMessage)nextOff.getMessage(); - if(onMsg.getChannel() == nextOffMsg.getChannel() && - onMsg.getData1() == nextOffMsg.getData1() && - c.compare(nextOff, on) > 0) { - off = nextOff; - iOff.remove(); - break; + if (!(on instanceof MooNote)) { + onMsg = (ShortMessage)on.getMessage(); + iOff = noteOffs.iterator(); + while(iOff.hasNext()) { + nextOff = (MidiEvent)iOff.next(); + nextOffMsg = (ShortMessage)nextOff.getMessage(); + if(onMsg.getChannel() == nextOffMsg.getChannel() && + onMsg.getData1() == nextOffMsg.getData1() && + c.compare(nextOff, on) > 0) { + off = nextOff; + iOff.remove(); + break; + } + } - - } - track.remove(on); - if (off != null) { - track.add(new MooNote(on, off)); - } else { - track.add(new MooNote(on, new MidiEvent((ShortMessage)on.getMessage().clone(), on.getTick() + 48))); + track.remove(on); + MooNote mn; + if (off != null) { + mn = new MooNote(on, off); + } else { + mn = new MooNote(on, new MidiEvent((ShortMessage)on.getMessage().clone(), on.getTick() + 48)); + } + track.add(mn); + mooNotes.add(mn); + iOn.remove(); } - iOn.remove(); } + return mooNotes; } /** @@ -612,6 +622,20 @@ public class Moosique { return true; } + /** + * Loads the user preferences. + */ + public static void loadPreferences() { + + } + + /** + * Saves the user preferences. + */ + public static void savePreferences() { + + } + /** * Prompts the user . */ @@ -661,6 +685,7 @@ public class Moosique { if (gui != null) { if (promptOnUnsavedChanges()) return; } + savePreferences(); if (sequencer.isOpen()) sequencer.close(); if (synthesizer.isOpen()) synthesizer.close(); System.exit(0); diff --git a/To Do.txt b/To Do.txt index 37c1bb9..82bc7fe 100644 --- a/To Do.txt +++ b/To Do.txt @@ -3,16 +3,6 @@ jar cmf manif Moosique.jar *.class *.java midi\*.mid images\*.gif Manual.txt manif: Main-Class: Moosique - -Presentation - -EDIT-huset vån 2 ES52 -Onsdag 19/5 10-12 - -TID PRESENTATION OPPOSITION -11:00 Group 03 Vi -11:30 Vi Group 11 - Varför ritar den ut de tomma spåren i en ny fil? Rätt, men hur? Lägg till redigeringsfunktionerna i menyn. Metoderna flyttas till MooView? @@ -21,12 +11,11 @@ Kopiera/flytta sp IO -x Implementera ljudlös körning med -m. x Lägg till alla metameddelanden i filerna vi skapar. Annars är det lite dumt. x Play hänger sig om man ändrar duration på en not. x Spara konfiguration? Arbetskatalog - Fem senast öppnade filerna + Fem senaste öppnade filerna Valda MIDI-enheter x Stopp -- 2.39.2