\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)
+AKTIVITET
+Björn Menyn, dialogerna
+Einar Inspelning, MooViewCounter
+Mike
+Rolle Spara konfiguration
+ Arbetskatalog
+ Fem senaste öppnade filerna
+ Preferences (se nedan)
\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?!?
-
-\f
-x Fixa en progress indicator till filladdningen om den tänker ta så lång tid.
+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
-MooMenu
-
- * Inställningar
- - MIDI-enhet Öppna en dialogruta med innehållet i getMidiDeviceInfo() och låt användaren välja.
+PREFERENCES
- 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
+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
-\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());
+Vilka mer booleaner ska man kunna ändra?
\f
-MooTrackTitle
-
- * Behöver vi verkligen ha titel för tracks?? Tycker att TrackTitle tar upp mycket plats som det är..
+SWING
+ MooDialog
+ Textfält som gör att man bara kan skriva in siffror? (NoteProp)
-
+ MooMenu
+ Mnemonicsarna är konstiga.
- * Kanalinställning
- Hämta från det första Event i ett spår.
+ 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?
- * 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.
-
- * För att kunna använda dessa funktioner behöver vi TrackTitle veta
- vilken int track den ska arbeta mot.. Skicka in som parameter till konstruktorn?
-
- 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.
+ 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.)
+ MooView
+ Lägg till en tom panel för att fylla ut skärmen. Med BoxLayout?
\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.
+jar cmf manif Moosique.jar *.class *.java midi\*.mid images\*.gif Manual.txt
+manif: Main-Class: Moosique
-\f
-Moosique
-
- * getPosition och setPosition - kvar?
-
-\f
+\f
\ No newline at end of file