]> ruin.nu Git - moosique.git/blob - To Do.txt
no 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 Scrollningen?!? Horisontell behövs på både MooView och MooTrackView, men vertikal bara på MooView. Hur göra?
17 x Får Moosique vara statisk? Fult?
18 x Spara konfiguration?
19         Arbetskatalog
20         Fem senast öppnade filerna
21         Valda MIDI-enheter
22
23 \f
24 MIDI Messages
25
26 FF 58   Time signature: [0] / [1], [2] MIDI clocks per metronome tick, [3] / 32 per 24 MIDI clocks
27 FF 51   Tempo           
28 FF 03   Track Name      String name = new String(getData());
29 C0      Program change  int pc = getData1();
30
31
32 Sequence
33         private ShortMessage timeSignature, tempo;
34 Track 
35         private ShortMessage trackName, programChange;
36
37 \f
38 MooMenu
39
40 x Kom ihåg sökväg vid Open
41
42         Musikrelaterade menyer i Midisoft Recording Session:
43         
44         Track           Insert New...           Har vi
45                         Delete...               Har vi
46                         Move...                 Har vi
47                         Copy...                 Har vi
48                         Combine...              Onödig
49                         Rechannel...            Kanske
50                         Split by Pitch...       Onödig
51                         
52         Music           Insert Measure...       Lagt till
53                         Delete Measure...       Lagt till
54                         Clef...                 Onödig
55                         Time Signature...       Lagt till
56                         Key Signature...        Onödig
57                         Tempo...                Lagt till
58                         Scale Velocity...       Lagt till
59                         Transpose...            Lagt till
60                         Quantize...             Onödig
61         
62         Kanske också:   Reset Solo / Mute
63
64 \f
65 MooNote / MootrackView / MooNoteElement
66
67         * Hur lägga till MooNote och NoteOff?
68                 Internt vid skapandet - Då behövs track
69                 Externt         new MooNote(...);
70                                 ...add(MooNote);
71                                 ...add(MooNote.getNoteOffEvent());
72
73         *       set/getDuration verkar inte fungera.
74 \f
75 MooTrackTitle
76
77         * Kanalinställning
78                 Hämta från det första Event i ett spår.
79
80         * Funktioner för att sätta (och läsa?) channel? mute? solo?
81                 För mute och solo gäller följande metoder (ligger utklistrade i Methods of Key Classes.txt):
82         
83                 boolean getTrackMute(int track)                 Obtains the current mute state for a track. 
84                 boolean getTrackSolo(int track)                 Obtains the current solo state for a track. 
85                 void setTrackMute(int track, boolean mute)      Sets the mute state for a track. 
86                 void setTrackSolo(int track, boolean solo)      Sets the solo state for a track. 
87         
88                 När det gäller kanalerna velar jag lite. Antingen gör jag en mappningsmatris i Moosique som
89                 man får läsa och skriva ifrån (vilket blir FULT!), eller så tar man allt direkt genom
90                 MooNote. Metoden getChannel ska då leta upp den första MooNoten i det aktuella spåret och
91                 ta getChannel på den. setChannel ska loopa igenom alla MooNotes (egentligen alla Events)
92                 och ta setChannel på dem. Kan vara bra att fråga först eftersom det kan ta nån sekund.
93
94 \f
95 MooGUI
96
97         * Global KeyListener
98                 Görs uppenbarligen så här:
99         
100                         JFrame someFrame = new JFrame();
101                         
102                         JComponent rootPane = someFrame.getRootPane();
103                         ActionMap am = rootPane.getActionMap();
104                         
105                         Action helpAction = new AbstractAction() {
106                              public void actionPerformed(ActionEvent ae) {
107                                  showHelpWindow();
108                              }};
109                         am.put("help", helpAction);
110                         
111                         InputMap im = rootPane.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
112                         KeyStroke helpKey = KeyStroke.getKeyStroke(KeyEvent.VK_F1, 0);
113                         im.put(helpKey, "help");
114
115         
116         * Globala kommandon
117         
118                 * Oktavförändring i MooKeyboard
119                         Mappa F9-F12 till MooKeyboard.setOctave(n) där n = {2, 4, 6, 8}
120         
121                 * Play / Stop
122                         Mappa till blanksteg. <-- Detta fungerar inte.. blanksteget
123                         används av vår toolbar.
124
125 \f
126 Moosique
127
128         * getPosition och setPosition - kvar?
129
130 \f
131 Skräp
132
133                 // Prints the number of notes in each track
134                 int count;
135                 Track[] tracks = seq.getTracks();
136                 for (int k = 0; k < tracks.length; k++) {
137                         count = 0;
138                         for (int j = 0; j < tracks[k].size(); j++) {
139                                 if (tracks[k].get(j) instanceof MooNote) count++;
140                         }
141                         System.out.println("Track " + k + ": " + count + " notes.");
142                 }
143
144 \f
145 MooNoteProp
146         * textfält som gör att man bara kan skriva in siffror?