Subversion Repositories svn.mios

Rev

Rev 250 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 250 Rev 628
Line 1... Line 1...
1
package org.midibox.sidedit.gui;
1
package org.midibox.sidedit.gui;
2
2
-
 
3
import java.awt.event.ActionEvent;
-
 
4
import java.awt.event.ActionListener;
-
 
5
import java.util.Observable;
-
 
6
import java.util.Observer;
-
 
7
3
import javax.swing.JToggleButton;
8
import javax.swing.JButton;
4
9
5
import org.midibox.sidedit.SIDSysexParameterControl;
10
import org.midibox.sidedit.SIDSysexParameterControl;
6
import org.midibox.utils.gui.ImageLoader;
-
 
7
import org.midibox.utils.gui.SeqButtonUI;
11
import org.midibox.utils.gui.SeqButtonUI;
8
12
9
import javax.swing.JButton;
-
 
10
-
 
11
import java.util.Observable;
-
 
12
import java.util.Observer;
-
 
13
import java.awt.event.ActionEvent;
-
 
14
import java.awt.event.ActionListener;
-
 
15
import javax.swing.JPanel;
-
 
16
-
 
17
public class SequencerButton extends JButton implements Observer, ActionListener {
13
public class SequencerButton extends JButton implements Observer,
-
 
14
        ActionListener {
18
    private int realValue;
15
    private int realValue;
19
    SIDSysexParameterControl midiParameter1;
16
    SIDSysexParameterControl midiParameter1;
20
    SIDSysexParameterControl midiParameter2;
17
    SIDSysexParameterControl midiParameter2;
21
   
18
22
    public SequencerButton(SIDSysexParameterControl midiParameter1, SIDSysexParameterControl midiParameter2) {     
19
    public SequencerButton(SIDSysexParameterControl midiParameter1,
-
 
20
            SIDSysexParameterControl midiParameter2) {
23
        this.midiParameter1 = midiParameter1;
21
        this.midiParameter1 = midiParameter1;
24
        this.midiParameter2 = midiParameter2;
22
        this.midiParameter2 = midiParameter2;
25
       
23
26
        setUI(new SeqButtonUI());      
24
        setUI(new SeqButtonUI());
27
        addActionListener(this);
25
        addActionListener(this);
Line 29... Line 27...
29
        midiParameter2.addObserver(this);
27
        midiParameter2.addObserver(this);
30
        updateGraphics();
28
        updateGraphics();
31
    }
29
    }
32
   
30
33
    public void updateGraphics() {
31
    public void updateGraphics() {
-
 
32
        if ((midiParameter1.getMidiValue() == 0)
34
        if ((midiParameter1.getMidiValue()==0) && (midiParameter2.getMidiValue()==0)) {
33
                && (midiParameter2.getMidiValue() == 0)) {
35
            realValue = 0;                     
34
            realValue = 0;
36
        } else if ((midiParameter1.getMidiValue()==1) && (midiParameter2.getMidiValue()==0)) {
35
        } else if ((midiParameter1.getMidiValue() == 1)
-
 
36
                && (midiParameter2.getMidiValue() == 0)) {
37
            realValue = 1;         
37
            realValue = 1;
38
        } else if ((midiParameter1.getMidiValue()==0) && (midiParameter2.getMidiValue()==1)) {
38
        } else if ((midiParameter1.getMidiValue() == 0)
-
 
39
                && (midiParameter2.getMidiValue() == 1)) {
39
            realValue = 2;         
40
            realValue = 2;
40
        } else if ((midiParameter1.getMidiValue()==1) && (midiParameter2.getMidiValue()==1)) {
41
        } else if ((midiParameter1.getMidiValue() == 1)
-
 
42
                && (midiParameter2.getMidiValue() == 1)) {
41
            realValue = 3;         
43
            realValue = 3;
42
        }
44
        }
43
        ((SeqButtonUI)getUI()).setValue(realValue);
45
        ((SeqButtonUI) getUI()).setValue(realValue);
44
        repaint();
46
        repaint();
45
    }
47
    }
Line 52... Line 54...
52
        Object source = ae.getSource();
54
        Object source = ae.getSource();
53
        if (source == this) {
55
        if (source == this) {
54
            realValue = (realValue+1)%4;
56
            realValue = (realValue + 1) % 4;
55
            //setImage(realValue);
57
            // setImage(realValue);
56
            switch(realValue) {
58
            switch (realValue) {
-
 
59
            case 0:
57
                case 0: midiParameter1.setMidiValue(0,true);midiParameter2.setMidiValue(0,true); break;
60
                midiParameter1.setMidiValue(0, true);
-
 
61
                midiParameter2.setMidiValue(0, true);
-
 
62
                break;
-
 
63
            case 1:
58
                case 1: midiParameter1.setMidiValue(1,true);midiParameter2.setMidiValue(0,true); break;
64
                midiParameter1.setMidiValue(1, true);
-
 
65
                midiParameter2.setMidiValue(0, true);
-
 
66
                break;
-
 
67
            case 2:
59
                case 2: midiParameter1.setMidiValue(0,true);midiParameter2.setMidiValue(1,true); break;
68
                midiParameter1.setMidiValue(0, true);
-
 
69
                midiParameter2.setMidiValue(1, true);
-
 
70
                break;
-
 
71
            case 3:
60
                case 3: midiParameter1.setMidiValue(1,true);midiParameter2.setMidiValue(1,true); break;
72
                midiParameter1.setMidiValue(1, true);
-
 
73
                midiParameter2.setMidiValue(1, true);
-
 
74
                break;
61
            }
75
            }
62
        }
76
        }
63
    }
77
    }
64
   
-
 
65
   
-
 
66
   
-
 
67
   
78
68
}
79
}