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) Fixa en progress indicator till filladdningen om den tänker ta så lång tid. 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 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()); 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?