Subversion Repositories svn.mios

Rev

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

Rev 628 Rev 657
Line 22... Line 22...
22
22
23
import java.awt.BorderLayout;
23
import java.awt.BorderLayout;
24
import java.awt.FlowLayout;
24
import java.awt.FlowLayout;
25
import java.awt.event.MouseWheelEvent;
25
import java.awt.event.MouseWheelEvent;
26
import java.awt.event.MouseWheelListener;
26
import java.awt.event.MouseWheelListener;
-
 
27
import java.util.Observable;
27
28
28
import javax.swing.JPanel;
29
import javax.swing.JPanel;
29
import javax.swing.event.ChangeEvent;
30
import javax.swing.event.ChangeEvent;
30
import javax.swing.event.ChangeListener;
31
import javax.swing.event.ChangeListener;
31
32
Line 45... Line 46...
45
        super(midiParameter, showLabel, labelLocation, valueBelow, showValue);
46
        super(midiParameter, showLabel, labelLocation, valueBelow, showValue);
46
        this.knob = knob;
47
        this.knob = knob;
47
        JPanel panel = new JPanel(new FlowLayout(FlowLayout.CENTER, 0, 0));
48
        JPanel panel = new JPanel(new FlowLayout(FlowLayout.CENTER, 0, 0));
48
        panel.setOpaque(false);
49
        panel.setOpaque(false);
49
        panel.add(knob);
50
        panel.add(knob);
-
 
51
-
 
52
        knob.setMinValue(midiParameter.getMidiMinValue());
-
 
53
        knob.setMaxValue(midiParameter.getMidiMaxValue());
-
 
54
50
        add(panel, BorderLayout.CENTER);
55
        add(panel, BorderLayout.CENTER);
51
        knob.addChangeListener(this);
56
        knob.addChangeListener(this);
52
        knob.addMouseListener(this);
57
        knob.addMouseListener(this);
53
        knob.addMouseWheelListener(this);
58
        knob.addMouseWheelListener(this);
54
        updateGraphics();
59
        updateGraphics();
55
    }
60
    }
56
61
57
    public void mouseWheelMoved(MouseWheelEvent mwe) {
62
    public void mouseWheelMoved(MouseWheelEvent mwe) {
58
        knob
63
        knob
59
                .setValue(knob.getValue()
-
 
60
                        - (mwe.getWheelRotation() * ((mouseWheelResolution / 100) * (knob
64
                .setValue((int) (knob.getValue() - (mwe.getWheelRotation() * ((mouseWheelResolution / 100) * (knob
61
                                .getMaxValue() - knob.getMinValue()))));
65
                        .getMaxValue() - knob.getMinValue())))));
62
    }
66
    }
63
67
64
    public void stateChanged(ChangeEvent ce) {
68
    public void stateChanged(ChangeEvent ce) {
65
        if (update) {
69
        if (update) {
66
            update = false;
70
            update = false;
-
 
71
67
            midiParameter.setMidiValue((int) ((knob.getValue() / knob
72
            int newval = (int) ((knob.getValue() / knob.getMaxValue()) * (midiParameter
68
                    .getMaxValue()) * midiParameter.getMidiMaxValue()), true);
73
                    .getMidiMaxValue() - midiParameter.getMidiMinValue()))
-
 
74
                    + midiParameter.getMidiMinValue();
-
 
75
-
 
76
            midiParameter.setMidiValue(newval, true);
69
            update = true;
77
            update = true;
70
        }
78
        }
71
    }
79
    }
72
80
73
    public void updateGraphics() {
81
    public void updateGraphics() {
74
        super.updateGraphics();
82
        super.updateGraphics();
75
        if (update) {
83
        if (update) {
76
            update = false;
84
            update = false;
-
 
85
77
            knob.setValue((float) midiParameter.getMidiValue()
86
            float val = (((float) midiParameter.getMidiValue() - (float) midiParameter
-
 
87
                    .getMidiMinValue()) / ((float) midiParameter
-
 
88
                    .getMidiMaxValue() - (float) midiParameter
78
                    / (float) midiParameter.getMidiMaxValue());
89
                    .getMidiMinValue()));
-
 
90
-
 
91
            knob
-
 
92
                    .setValue((int) (val * (knob.getMaxValue() - knob
-
 
93
                            .getMinValue())));
-
 
94
79
            update = true;
95
            update = true;
-
 
96
        }
-
 
97
    }
-
 
98
-
 
99
    public void update(Observable observable, Object object) {
-
 
100
        super.update(observable, object);
-
 
101
        if (object == midiParameter.HIGH_RESOLUTION) {
-
 
102
-
 
103
            knob.setMinValue(midiParameter.getMidiMinValue());
-
 
104
            knob.setMaxValue(midiParameter.getMidiMaxValue());
80
        }
105
        }
81
    }
106
    }
82
}
107
}