X-Git-Url: https://ruin.nu/git/?p=moosique.git;a=blobdiff_plain;f=To%20Do.txt;h=aa1b619451e98282d30b9d64c7b190af51e3322f;hp=187541f19fa35f3d83e873eed058aafba7dc8e9d;hb=HEAD;hpb=cd7d6166d73969c1c811ac7153cc6eee59a6a685 diff --git a/To Do.txt b/To Do.txt index 187541f..aa1b619 100644 --- a/To Do.txt +++ b/To Do.txt @@ -1,143 +1,59 @@ -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) - - -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) -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? -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? -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? - -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? -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. - - - -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. - - -Moosique - - * getPosition och setPosition - kvar? +jar cmf manif Moosique.jar *.class *.java midi\*.mid images\*.gif Manual.txt +manif: Main-Class: Moosique \ No newline at end of file