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();
- }
-
+VIKTIGT! Implementera playfunktionens beteende.
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.
-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?
-
-\f
-MIDI Messages
-
-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();
-
-
-Sequence
- private ShortMessage timeSignature, tempo;
-Track
- private ShortMessage trackName, programChange;
-
-\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
+x Spara konfiguration?
+ Arbetskatalog
+ Fem senast öppnade filerna
+ Valda MIDI-enheter
\f
MooNote / MootrackView / MooNoteElement
...add(MooNote);
...add(MooNote.getNoteOffEvent());
-\f
-MooTrackTitle
+ MooNote.addTo(Track track);
+ MooNote.removeFrom(Track track);
- * Kanalinställning
- Hämta från det första Event i ett spår.
+ * set/getDuration verkar inte fungera.
- * 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
+MooTrackTitle
+ * Fixa InstrumentList.
\f
MooGUI
InputMap im = rootPane.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
KeyStroke helpKey = KeyStroke.getKeyStroke(KeyEvent.VK_F1, 0);
im.put(helpKey, "help");
+
* Globala kommandon
Mappa F9-F12 till MooKeyboard.setOctave(n) där n = {2, 4, 6, 8}
* Play / Stop
- Mappa till blanksteg.
+ Mappa till blanksteg. <-- Detta fungerar inte.. blanksteget
+ används av vår toolbar.
\f
Moosique
* getPosition och setPosition - kvar?
-\f
\ No newline at end of file
+\f
+Skräp
+
+ // Prints the number of notes in each track
+ int count;
+ Track[] tracks = seq.getTracks();
+ for (int k = 0; k < tracks.length; k++) {
+ count = 0;
+ for (int j = 0; j < tracks[k].size(); j++) {
+ if (tracks[k].get(j) instanceof MooNote) count++;
+ }
+ System.out.println("Track " + k + ": " + count + " notes.");
+ }
+
+\f
+MooNoteProp
+ * textfält som gör att man bara kan skriva in siffror?
+
+\f