Subversion Repositories svn.mios

Rev

Rev 272 | Rev 696 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 272 Rev 628
Line 23... Line 23...
23
import java.awt.BorderLayout;
23
import java.awt.BorderLayout;
24
import java.awt.Color;
24
import java.awt.Color;
25
import java.awt.GridLayout;
25
import java.awt.GridLayout;
26
import java.awt.event.ActionEvent;
26
import java.awt.event.ActionEvent;
27
import java.awt.event.ActionListener;
27
import java.awt.event.ActionListener;
-
 
28
import java.awt.event.MouseEvent;
-
 
29
import java.awt.event.MouseListener;
28
import java.util.Observable;
30
import java.util.Observable;
29
import java.util.Observer;
31
import java.util.Observer;
30
import java.util.Vector;
32
import java.util.Vector;
-
 
33
31
import javax.swing.JDialog;
34
import javax.swing.JDialog;
32
import javax.swing.JLabel;
35
import javax.swing.JLabel;
33
import javax.swing.JPanel;
36
import javax.swing.JPanel;
34
import javax.swing.JTextField;
37
import javax.swing.JTextField;
35
import javax.swing.SwingConstants;
38
import javax.swing.SwingConstants;
-
 
39
-
 
40
import org.midibox.sidedit.SIDSysexParameter;
-
 
41
import org.midibox.sidedit.SIDSysexParameterControl;
36
import org.midibox.sidedit.gui.MBSIDV2EditorGUI;
42
import org.midibox.sidedit.gui.MBSIDV2EditorGUI;
37
import org.midibox.sidedit.*;
-
 
38
import org.midibox.utils.gui.FontLoader;
43
import org.midibox.utils.gui.FontLoader;
39
import java.awt.event.MouseListener;
-
 
40
import java.awt.event.MouseEvent;
-
 
41
44
42
public class SIDSysexParameterControlGUI extends JPanel implements Observer, ActionListener, MouseListener {
45
public class SIDSysexParameterControlGUI extends JPanel implements Observer,
-
 
46
        ActionListener, MouseListener {
43
47
44
    protected SIDSysexParameterControl midiParameter;
48
    protected SIDSysexParameterControl midiParameter;
45
   
49
46
    protected Vector midiParameters;
50
    protected Vector midiParameters;
47
51
Line 89... Line 93...
89
        addMouseListener(this);
93
        addMouseListener(this);
90
        setOpaque(false);
94
        setOpaque(false);
91
    }
95
    }
92
96
93
    protected JPanel createLabelPanel() {
97
    protected JPanel createLabelPanel() {
-
 
98
        JPanel labelPanel = new JPanel(new GridLayout(
94
        JPanel labelPanel = new JPanel(new GridLayout((valueBelow ? (showLabel?2:1) : 1), (valueBelow ? 1 : (showLabel?2:1))));
99
                (valueBelow ? (showLabel ? 2 : 1) : 1), (valueBelow ? 1
-
 
100
                        : (showLabel ? 2 : 1))));
95
        labelPanel.setOpaque(false);
101
        labelPanel.setOpaque(false);
96
102
97
        if (showLabel) {
103
        if (showLabel) {
98
            midiParameterLabel = new JLabel(midiParameter.getMidiName()
104
            midiParameterLabel = new JLabel(midiParameter.getMidiName()
99
                .toUpperCase(),
105
                    .toUpperCase(),
Line 172... Line 178...
172
    public void setSnap(boolean b) {
178
    public void setSnap(boolean b) {
173
        if (b) {        // Turn on snap
179
        if (b) { // Turn on snap
174
            midiParameter.useAlias = true;
180
            midiParameter.useAlias = true;
175
            midiParameter.snap = true;         
181
            midiParameter.snap = true;
176
           
182
177
            if (!snapExist(midiParameter.getMidiValue())) {     // If current midi value is not part of the snap values reset to snapvals[0];
183
            if (!snapExist(midiParameter.getMidiValue())) { // If current midi
-
 
184
                // value is not part
-
 
185
                // of the snap
-
 
186
                // values reset to
-
 
187
                // snapvals[0];
178
                midiParameter.setMidiValue(midiParameter.snapvals[0], true);       
188
                midiParameter.setMidiValue(midiParameter.snapvals[0], true);
179
                for (int c = 0; c < midiParameters.size(); c++) {
189
                for (int c = 0; c < midiParameters.size(); c++) {
180
                    SIDSysexParameterControl mp = (SIDSysexParameterControl) midiParameters.elementAt(c);
190
                    SIDSysexParameterControl mp = (SIDSysexParameterControl) midiParameters
-
 
191
                            .elementAt(c);
181
                    mp.snap = true;
192
                    mp.snap = true;
182
                    mp.useAlias = true;                                    
193
                    mp.useAlias = true;
183
                }
194
                }
184
            } else {                                            // Keep current midi value, only update labels
195
            } else { // Keep current midi value, only update labels
185
                for (int c = 0; c < midiParameters.size(); c++) {
196
                for (int c = 0; c < midiParameters.size(); c++) {
186
                    SIDSysexParameterControl mp = (SIDSysexParameterControl) midiParameters.elementAt(c);
197
                    SIDSysexParameterControl mp = (SIDSysexParameterControl) midiParameters
-
 
198
                            .elementAt(c);
187
                    mp.snap = true;
199
                    mp.snap = true;
188
                    mp.useAlias = true;                        
200
                    mp.useAlias = true;
189
                }
201
                }
190
                updateGraphics();
202
                updateGraphics();
191
            }
203
            }
192
           
204
193
        } else {        // Turn off snap
205
        } else { // Turn off snap
194
            midiParameter.useAlias = false;
206
            midiParameter.useAlias = false;
195
            midiParameter.snap = false;                
207
            midiParameter.snap = false;
196
            for (int c = 0; c < midiParameters.size(); c++) {
208
            for (int c = 0; c < midiParameters.size(); c++) {
197
                SIDSysexParameterControl mp = (SIDSysexParameterControl) midiParameters.elementAt(c);
209
                SIDSysexParameterControl mp = (SIDSysexParameterControl) midiParameters
-
 
210
                        .elementAt(c);
198
                mp.snap = false;
211
                mp.snap = false;
199
                mp.useAlias = false;                   
212
                mp.useAlias = false;
200
            }  
213
            }
201
            updateGraphics();
214
            updateGraphics();
202
        }
215
        }
Line 207... Line 220...
207
        valueBuffer.delete(0, valueBuffer.length());
220
        valueBuffer.delete(0, valueBuffer.length());
208
        valueBuffer.insert(0, midiParameter.getMidiValue());
221
        valueBuffer.insert(0, midiParameter.getMidiValue());
209
       
222
210
        if ((midiParameter.getValAlias() == null) || !midiParameter.useAlias) {
223
        if ((midiParameter.getValAlias() == null) || !midiParameter.useAlias) {
211
            newval = valueBuffer.toString();
224
            newval = valueBuffer.toString();
212
        }
-
 
213
        else {
225
        } else {
214
            newval = (midiParameter.getValAlias())[Integer.valueOf(valueBuffer.toString())];
226
            newval = (midiParameter.getValAlias())[Integer.valueOf(valueBuffer
-
 
227
                    .toString())];
215
        }
228
        }
216
        valueField.setText(newval);
229
        valueField.setText(newval);
217
    }
230
    }
218
   
231
219
    public int findAliasMatch(String s){       
232
    public int findAliasMatch(String s) {
Line 228... Line 241...
228
    public void actionPerformed(ActionEvent ae) {
241
    public void actionPerformed(ActionEvent ae) {
229
        Object source = ae.getSource();
242
        Object source = ae.getSource();
230
        if (source == valueField) {
243
        if (source == valueField) {
231
            try {
244
            try {
232
                int newval = 0;            
245
                int newval = 0;
233
                if ((midiParameter.getValAlias() == null) || !midiParameter.useAlias) {
246
                if ((midiParameter.getValAlias() == null)
-
 
247
                        || !midiParameter.useAlias) {
234
                    newval = Integer.parseInt(valueField.getText());                   
248
                    newval = Integer.parseInt(valueField.getText());
235
                }              
-
 
236
                else {
249
                } else {
237
                    newval = findAliasMatch(valueField.getText());
250
                    newval = findAliasMatch(valueField.getText());
238
                }
251
                }
239
               
252
240
                midiParameter.setMidiValue(newval, true);
253
                midiParameter.setMidiValue(newval, true);
241
               
254
242
                for (int c = 0; c < midiParameters.size(); c++) {
255
                for (int c = 0; c < midiParameters.size(); c++) {
243
                    SIDSysexParameterControl mp = (SIDSysexParameterControl) midiParameters.elementAt(c);
256
                    SIDSysexParameterControl mp = (SIDSysexParameterControl) midiParameters
-
 
257
                            .elementAt(c);
244
                    mp.setMidiValue(newval, false);
258
                    mp.setMidiValue(newval, false);
245
                }
259
                }
246
               
260
247
            } catch (Exception e) {
261
            } catch (Exception e) {
248
                midiParameter.setMidiValue(midiParameter.getMidiValue(), true);
262
                midiParameter.setMidiValue(midiParameter.getMidiValue(), true);
Line 260... Line 274...
260
            }
274
            }
261
            updateGraphics();
275
            updateGraphics();
262
        }
276
        }
263
    }
277
    }
264
   
278
265
        public void mousePressed(MouseEvent e) {}
279
    public void mousePressed(MouseEvent e) {
-
 
280
    }
266
281
267
        public void mouseReleased(MouseEvent e) {}
282
    public void mouseReleased(MouseEvent e) {
-
 
283
    }
268
284
269
        public void mouseEntered(MouseEvent e) {
285
    public void mouseEntered(MouseEvent e) {
270
            if (midiParameter.getTooltipListener().getClass() == MBSIDV2EditorGUI.class) {
286
        if (midiParameter.getTooltipListener().getClass() == MBSIDV2EditorGUI.class) {
271
                ((MBSIDV2EditorGUI)midiParameter.getTooltipListener()).setTooltip(midiParameter.getTooltip());
287
            ((MBSIDV2EditorGUI) midiParameter.getTooltipListener())
-
 
288
                    .setTooltip(midiParameter.getTooltip());
272
            }
289
        }
273
        }
290
    }
274
       
291
275
        public void mouseExited(MouseEvent e) {
292
    public void mouseExited(MouseEvent e) {
276
            if (midiParameter.getTooltipListener().getClass() == MBSIDV2EditorGUI.class) {
293
        if (midiParameter.getTooltipListener().getClass() == MBSIDV2EditorGUI.class) {
277
                ((MBSIDV2EditorGUI)midiParameter.getTooltipListener()).setTooltip("");
294
            ((MBSIDV2EditorGUI) midiParameter.getTooltipListener())
-
 
295
                    .setTooltip("");
278
            }
296
        }
279
        }
297
    }
280
298
281
        public void mouseClicked(MouseEvent e) {}
299
    public void mouseClicked(MouseEvent e) {
-
 
300
    }
282
301
283
}
302
}