\f
-FÖRDELNING
-
-Einar: Moosique(4), MooNote(4)
-Micke: MooGUI(4), MooTrackTitle(2), MooNoteElement(6), MooNoteProp(4)
-Björn: MooMenu(8), MooToolbar(3), MooView(2), MooViewCounter(1)
-Rolle: MooTrackView(16)
-
-\f
-Fixa en progress indicator till filladdningen om den tänker ta så lång tid.
-
-\f
-MooMenu
-
- * Inställningar
- - MIDI-enhet Öppna en dialogruta med innehållet i getMidiDeviceInfo() och låt användaren välja.
-
- Musikrelaterade menyer i Midisoft Recording Session:
-
- Track Insert New... Har vi
- Delete... Har vi
- Move... Har vi
- Copy... Har vi
- Combine... Onödig
- Rechannel... Kanske
- Split by Pitch... Onödig
-
- Music Insert Measure... Lagt till
- Delete Measure... Lagt till
- Clef... Onödig
- Time Signature... Lagt till
- Key Signature... Onödig
- Tempo... Lagt till
- Scale Velocity... Lagt till
- Transpose... Lagt till
- Quantize... Onödig
-
- Kanske också: Reset Solo / Mute
-
-\f
-MooNote / MootrackView / MooNoteElement
-
- * Hur lägga till MooNote och NoteOff?
- Internt vid skapandet - Då behövs track
- Externt new MooNote(...);
- ...add(MooNote);
- ...add(MooNote.getNoteOffEvent());
-
-\f
-MooTrackTitle
-
- * Kanalinställning
- Hämta från det första Event i ett spår.
-
- * Funktioner för att sätta (och läsa?) channel? mute? solo?
- För mute och solo gäller följande metoder (ligger utklistrade i Methods of Key Classes.txt):
-
- boolean getTrackMute(int track) Obtains the current mute state for a track.
- boolean getTrackSolo(int track) Obtains the current solo state for a track.
- void setTrackMute(int track, boolean mute) Sets the mute state for a track.
- void setTrackSolo(int track, boolean solo) Sets the solo state for a track.
-
- När det gäller kanalerna velar jag lite. Antingen gör jag en mappningsmatris i Moosique som
- man får läsa och skriva ifrån (vilket blir FULT!), eller så tar man allt direkt genom
- MooNote. Metoden getChannel ska då leta upp den första MooNoten i det aktuella spåret och
- ta getChannel på den. setChannel ska loopa igenom alla MooNotes (egentligen alla Events)
- och ta setChannel på dem. Kan vara bra att fråga först eftersom det kan ta nån sekund.
-
-
-\f
-MooGUI
-
- * Global KeyListener
- Görs uppenbarligen så här:
-
- JFrame someFrame = new JFrame();
-
- JComponent rootPane = someFrame.getRootPane();
- ActionMap am = rootPane.getActionMap();
-
- Action helpAction = new AbstractAction() {
- public void actionPerformed(ActionEvent ae) {
- showHelpWindow();
- }};
- am.put("help", helpAction);
-
- InputMap im = rootPane.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
- KeyStroke helpKey = KeyStroke.getKeyStroke(KeyEvent.VK_F1, 0);
- im.put(helpKey, "help");
-
- * Globala kommandon
-
- * Oktavförändring i MooKeyboard
- Mappa F9-F12 till MooKeyboard.setOctave(n) där n = {2, 4, 6, 8}
-
- * Play / Stop
- Mappa till blanksteg.
-
-\f
-Moosique
-
- * getPosition och setPosition - kvar?
+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.. \f
+x Spara konfiguration?
+ Arbetskatalog
+ Fem senast öppnade filerna
+ Valda MIDI-enheter
+x Inspelning!
+
+TEMPO / TAKTART
+x Räkna ut tempo och taktart. Skicka (på nåt sätt) tempovektorn till MooToolbar.
+x Räkna ut position (takt, slag, cent) för tick i Moosique. Behövs i NoteProp, ViewCounter, Menu etc.
+x Gör en ruta för taktarten i MooViews övre vänstra hörn.
+x Gör en ruta för tempot i MooToolbar.
+
+SWING
+x Lägg till en tom panel i MooGUI för att fylla ut skärmen. Använd BoxLayout!!
+x Fixa så att toolbarens rutor sitter fast! Använd BoxLayout!!
+x Implementera klart menyn, med alla dialoger.
+x Mnemonicsarna i menyn är konstiga...
+
+ANNAT
+x Fixa InstrumentList.
+x Textfält som gör att man bara kan skriva in siffror? (MooNoteProp)
+
+MooTrackView
+
+x Fixa markera, kopiera, klipp ut och klistra in.
+x Highlighta noter som spelas? (Enligt kravspec.)
+x Ändra längden på MooNoteElement (JPanel).
+ Känn av klick på panelens gräns, MouseMotionListener känner av när ny ruta nås.
+ void mouseDragged(MouseEvent)
+ Called in response to the user moving the mouse while holding a mouse button down.
+ This event is fired by the component that fired the most recent mouse-pressed event,
+ even if the cursor is no longer over that component.
+ Eller.. ComponentListener.componentMoved(ComponentEvent e)
+
+x Integrera MooViewCounter i MooTrackView genom att istället variera de horisontella streckens gråa nyanser?!?
+ (Omöjligt att följa strecken till högra änden av skärmen.)
\f
\ No newline at end of file