]> ruin.nu Git - moosique.git/blobdiff - To Do.txt
no message
[moosique.git] / To Do.txt
index 187541f19fa35f3d83e873eed058aafba7dc8e9d..aa1b619451e98282d30b9d64c7b190af51e3322f 100644 (file)
--- a/To Do.txt
+++ b/To Do.txt
 
 \f
-FÖRDELNING
-
-Einar: Moosique(4), MooNote(4)
-Micke: MooGUI(4), MooTrackTitle(2), MooNoteElement(6), MooNoteProp(4)
-Björn: MooMenu(8), MooToolbar(3), MooViewCounter(1)
-Rolle: MooTrackView(16)
-
-\f
-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?!?
+AKTIVITET
+Björn  Menyn, dialogerna
+Einar  Inspelning, MooViewCounter
+Mike   
+Rolle  Spara konfiguration
+               Arbetskatalog
+               Fem senaste öppnade filerna
+               Preferences (se nedan)
 
 \f
-x Fixa en progress indicator till filladdningen om den tänker ta så lång tid.
-x Scrollningen?!? Horisontell behövs på både MooView och MooTrackView, men vertikal bara på MooView. Hur göra?
-x Får Moosique vara statisk? Fult?
+BUGGAR
+x Exceptions vid inspelning till ny fil.
+x Play-knappen ändras inte till Pause.
+x Varför ritar den ut de tomma spåren i en ny fil? Rätt, men hur?
+x Varför hänger sig Play när man spelar in eller ändrar längd på en not?
+x Kopiera/flytta spår, möjligt?
 
 \f
-MIDI Messages
+PREFERENCES
 
-FF 58  Time signature: [0] / [1], [2] MIDI clocks per metronome tick, [3] / 32 per 24 MIDI clocks
-FF 51  Tempo           
-FF 03  Track Name      String name = new String(getData());
-C0     Program change  int pc = getData1();
+x MIDI Devices                                 Comboboxar över tillgängliga sequencers och synthesizers.
+x "Follow song on play"                        Checkbox mot booleanen MooGUI.updateView
+x "Allow smaller note elements than 1/16"      Checkbox mot booleanen MooTrackView.snapToSixteenths
 
-
-Sequence
-       private ShortMessage timeSignature, tempo;
-Track 
-       private ShortMessage trackName, programChange;
+Vilka mer booleaner ska man kunna ändra?
 
 \f
-MooMenu
+SWING
+       MooDialog
+               Textfält som gör att man bara kan skriva in siffror? (NoteProp)
 
-       * Inställningar
-               - MIDI-enhet     Öppna en dialogruta med innehållet i getMidiDeviceInfo() och låt användaren välja.
+       MooMenu
+               Mnemonicsarna är konstiga.
 
-       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
+       MooToolbar
+               Lägg till:
+                       ! Lablar för tempo och taktart
+                       ! Fler knappar - Preferences, Octave up/down, 
+                       ? Volymkontroll Använd Moosique.setVolume(long volume);
+                       ? Progress Bar  getTickLength() för max, getTickPosition() för position.
+               Fixa så att allt sitter fast! Med BoxLayout?
 
-\f
-MooNote / MootrackView / MooNoteElement
+       MooTrackView
+               Ändra längden på MooNoteElement (JPanel).
+                       Känn av klick på panelens gräns, MouseMotionListener känner av när ny ruta nås.
+               Integrera MooViewCounter i MooTrackView genom att variera de horisontella streckens gråa nyanser?!?
+                       (Omöjligt att följa strecken till högra änden av skärmen.)
+               Highlighta noter som spelas? (Enligt kravspec.)
 
-       * Hur lägga till MooNote och NoteOff?
-               Internt vid skapandet - Då behövs track
-               Externt         new MooNote(...);
-                               ...add(MooNote);
-                               ...add(MooNote.getNoteOffEvent());
+       MooView
+               Lägg till en tom panel för att fylla ut skärmen. Med BoxLayout?
 
 \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?
+jar cmf manif Moosique.jar *.class *.java midi\*.mid images\*.gif Manual.txt
+manif: Main-Class: Moosique
 
 \f
\ No newline at end of file