Subversion Repositories svn.mios

Rev

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

Rev 259 Rev 272
Line 43... Line 43...
43
import org.midibox.utils.gui.MyButtonUI;
43
import org.midibox.utils.gui.MyButtonUI;
44
import org.midibox.sidedit.gui.GlobalGUI;
44
import org.midibox.sidedit.gui.GlobalGUI;
45
import org.midibox.sidedit.gui.FilterGUI;
45
import org.midibox.sidedit.gui.FilterGUI;
46
46
47
public class DrumGUI extends JPanel {
47
public class DrumGUI extends JPanel {
48
    private boolean linked = false;
-
 
49
    private Vector GUIs, EXT_L, EXT_R;
48
    private Vector GUIs, EXT_L, EXT_R;
-
 
49
    private SIDEditController sidEditController;
50
    public DrumGUI(SIDEditController sidEditController) {      
50
    public DrumGUI(SIDEditController sidEditController) {  
-
 
51
        this.sidEditController = sidEditController;
51
        setLayout(new BorderLayout());
52
        setLayout(new BorderLayout());
52
       
53
       
53
        GUIs = createGUIs(sidEditController);
54
        GUIs = createGUIs(sidEditController);
54
        createLinkGroups();
55
        createLinkGroups();
55
        JTabbedPane tabbedPane = new JTabbedPane();
56
        JTabbedPane tabbedPane = new JTabbedPane();
Line 67... Line 68...
67
        tabbedPane.addTab("Sequencer", t5);
68
        tabbedPane.addTab("Sequencer", t5);
68
           
69
           
69
        add(tabbedPane, BorderLayout.NORTH);
70
        add(tabbedPane, BorderLayout.NORTH);
70
        setOpaque(false);
71
        setOpaque(false);
71
        setBorder(BorderFactory.createEmptyBorder(2, 2, 2, 2));
72
        setBorder(BorderFactory.createEmptyBorder(2, 2, 2, 2));
72
        link();
73
        stereoLink(true);
73
    }
74
    }
74
   
75
   
75
    protected Vector createGUIs(SIDEditController sidEditController) {
76
    protected Vector createGUIs(SIDEditController sidEditController) {
76
        Vector v_in = (Vector)sidEditController.getEngine();
77
        Vector v_in = (Vector)sidEditController.getEngine();
77
        Vector v_out = new Vector();
78
        Vector v_out = new Vector();
Line 141... Line 142...
141
            EXT_L.add(((Vector)GUIs.elementAt(1)).elementAt(2*c));
142
            EXT_L.add(((Vector)GUIs.elementAt(1)).elementAt(2*c));
142
            EXT_R.add(((Vector)GUIs.elementAt(1)).elementAt((2*c)+1));
143
            EXT_R.add(((Vector)GUIs.elementAt(1)).elementAt((2*c)+1));
143
        }
144
        }
144
    }
145
    }
145
   
146
   
146
    public void link() {
147
    public void stereoLink(boolean b) {
-
 
148
        if (b) {
-
 
149
            sidEditController.getPatch().setStereoLink(true);
147
        linkPar(EXT_L,EXT_R);                                               // Link external outputs 2 by 2
150
            linkPar(EXT_L,EXT_R);                                               // Link external outputs 2 by 2
148
        linkPar((Vector)GUIs.elementAt(2),(Vector)GUIs.elementAt(3));       // Link filter left & right         
151
            linkPar((Vector)GUIs.elementAt(2),(Vector)GUIs.elementAt(3));       // Link filter left & right     
149
        linked = true;
152
        } else {
150
    }
-
 
151
   
-
 
152
    public void unlink() {
153
            sidEditController.getPatch().setStereoLink(false);
153
        unlinkPar(EXT_L,EXT_R);                                             // Unlink external outputs 2 by 2
154
            unlinkPar(EXT_L,EXT_R);                                             // Unlink external outputs 2 by 2
154
        unlinkPar((Vector)GUIs.elementAt(2),(Vector)GUIs.elementAt(3));     // Link filter left & right         
155
            unlinkPar((Vector)GUIs.elementAt(2),(Vector)GUIs.elementAt(3));     // Link filter left & right     
155
        linked = false;
156
        }
156
    }  
157
    }
157
   
158
   
158
    protected void linkPar(Vector left, Vector right) {
159
    protected void linkPar(Vector left, Vector right) {
159
        for (int c = 0; c < left.size(); c++) {
160
        for (int c = 0; c < left.size(); c++) {
160
            SIDSysexParameterControlGUI g1 = (SIDSysexParameterControlGUI) left.elementAt(c);
161
            SIDSysexParameterControlGUI g1 = (SIDSysexParameterControlGUI) left.elementAt(c);