]> ruin.nu Git - moosique.git/blob - To Do.txt
*** empty log message ***
[moosique.git] / To Do.txt
1
2 \f
3 FÖRDELNING
4
5 Einar: Moosique(4), MooNote(4)
6 Micke: MooGUI(4), MooTrackTitle(2), MooNoteElement(6), MooNoteProp(4)
7 Björn: MooMenu(8), MooToolbar(3), MooViewCounter(1)
8 Rolle: MooTrackView(16)
9
10 \f
11 VIKTIGT! Implementera playfunktionens beteende.
12         När låten är slut återställes play-knappen.
13         Göra detta som en tråd?!?
14
15 \f
16 x Får Moosique vara statisk? Fult?
17 x Spara konfiguration?
18         Arbetskatalog
19         Fem senast öppnade filerna
20         Valda MIDI-enheter
21
22 \f
23 MIDI Messages
24
25 FF 58   Time signature: [0] / [1], [2] MIDI clocks per metronome tick, [3] / 32 per 24 MIDI clocks
26 FF 51   Tempo           
27 FF 03   Track Name      String name = new String(getData());
28 C0      Program change  int pc = getData1();
29
30
31 Sequence
32         private ShortMessage timeSignature, tempo;
33 Track 
34         private ShortMessage trackName, programChange;
35
36 \f
37 MooNote / MootrackView / MooNoteElement
38
39         * Hur lägga till MooNote och NoteOff?
40                 Internt vid skapandet - Då behövs track
41                 Externt         new MooNote(...);
42                                 ...add(MooNote);
43                                 ...add(MooNote.getNoteOffEvent());
44
45         *       set/getDuration verkar inte fungera.
46
47 \f
48 MooTrackTitle
49
50         * Kanalinställning
51                 Hämta från det första Event i ett spår.
52
53         * Funktioner för att sätta (och läsa?) channel? mute? solo?
54                 För mute och solo gäller följande metoder (ligger utklistrade i Methods of Key Classes.txt):
55         
56                 boolean getTrackMute(int track)                 Obtains the current mute state for a track. 
57                 boolean getTrackSolo(int track)                 Obtains the current solo state for a track. 
58                 void setTrackMute(int track, boolean mute)      Sets the mute state for a track. 
59                 void setTrackSolo(int track, boolean solo)      Sets the solo state for a track. 
60         
61                 När det gäller kanalerna velar jag lite. Antingen gör jag en mappningsmatris i Moosique som
62                 man får läsa och skriva ifrån (vilket blir FULT!), eller så tar man allt direkt genom
63                 MooNote. Metoden getChannel ska då leta upp den första MooNoten i det aktuella spåret och
64                 ta getChannel på den. setChannel ska loopa igenom alla MooNotes (egentligen alla Events)
65                 och ta setChannel på dem. Kan vara bra att fråga först eftersom det kan ta nån sekund.
66
67 \f
68 MooGUI
69
70         * Global KeyListener
71                 Görs uppenbarligen så här:
72         
73                         JFrame someFrame = new JFrame();
74                         
75                         JComponent rootPane = someFrame.getRootPane();
76                         ActionMap am = rootPane.getActionMap();
77                         
78                         Action helpAction = new AbstractAction() {
79                              public void actionPerformed(ActionEvent ae) {
80                                  showHelpWindow();
81                              }};
82                         am.put("help", helpAction);
83                         
84                         InputMap im = rootPane.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
85                         KeyStroke helpKey = KeyStroke.getKeyStroke(KeyEvent.VK_F1, 0);
86                         im.put(helpKey, "help");
87
88         
89         * Globala kommandon
90         
91                 * Oktavförändring i MooKeyboard
92                         Mappa F9-F12 till MooKeyboard.setOctave(n) där n = {2, 4, 6, 8}
93         
94                 * Play / Stop
95                         Mappa till blanksteg. <-- Detta fungerar inte.. blanksteget
96                         används av vår toolbar.
97
98 \f
99 Moosique
100
101         * getPosition och setPosition - kvar?
102
103 \f
104 Skräp
105
106                 // Prints the number of notes in each track
107                 int count;
108                 Track[] tracks = seq.getTracks();
109                 for (int k = 0; k < tracks.length; k++) {
110                         count = 0;
111                         for (int j = 0; j < tracks[k].size(); j++) {
112                                 if (tracks[k].get(j) instanceof MooNote) count++;
113                         }
114                         System.out.println("Track " + k + ": " + count + " notes.");
115                 }
116
117 \f
118 MooNoteProp
119         * textfält som gör att man bara kan skriva in siffror?
120
121 \f