]> ruin.nu Git - moosique.git/commitdiff
solo mute and stuff
authorMichael Andreen <harv@ruin.nu>
Tue, 13 May 2003 17:24:47 +0000 (17:24 +0000)
committerMichael Andreen <harv@ruin.nu>
Tue, 13 May 2003 17:24:47 +0000 (17:24 +0000)
MooInstrumentList.java
MooTrackTitle.java
MooView.java

index 8f1afcb4728b25a92ec6103a41eb84405c0999d4..d109227a287d17173737e08e18cd7072b3229126 100644 (file)
@@ -6,23 +6,24 @@ import java.awt.event.*;
 /**
  * A Combo Box where the instrument of the currently active channel can be selected.
  * 
- * @author  Einar Pehrson
+ * @author  Einar Pehrson, Michael Andreen
  */
  
 public class MooInstrumentList extends JComboBox implements ActionListener {
 
        protected int channel;
-
-       public MooInstrumentList(int instrument) {
+       public MooInstrumentList(int chan) {
                super(instruments);
-               setSelectedIndex(instrument);
+               setChannel(chan);       
                setFont(new Font("Helvetica", Font.PLAIN, 10));
                addActionListener(this);
        }
 
        public void setChannel(int chan){
                channel = chan;
-               setSelectedIndex(Moosique.getChannel(chan).getProgram());
+               System.out.println(chan);
+               setSelectedIndex(Moosique.getChannel(channel).getProgram());
+               System.out.println(Moosique.getChannel(channel).getProgram());
        }
 
        public void actionPerformed(ActionEvent e) {
index 2dfd67f63e2266c015cb7fd86be1902803ed6bea..a17c071eb90cd0d8dd841e88ffdba5663b6ced30 100644 (file)
@@ -22,12 +22,14 @@ public class MooTrackTitle extends JPanel {
        private JCheckBox mute;
        private JCheckBox solo;
        private Track track;
+       private int trackNum;
 
        /** 
         * Creates the title bar.
         */
-       public MooTrackTitle (Track aTrack) {
+       public MooTrackTitle (Track aTrack, int aTrackNum) {
                track = aTrack;
+               this.trackNum = aTrackNum;
 
                // Finds track name and program change
                MidiMessage msg;
@@ -99,20 +101,32 @@ public class MooTrackTitle extends JPanel {
                add(channelBox);
 
                mute = new JCheckBox("Mute");
+               mute.setSelected(Moosique.getSequencer().getTrackMute(trackNum));
                mute.setFont(Moosique.getGUI().FONT);
                mute.addActionListener(new ActionListener(){
                                public void actionPerformed(ActionEvent event){
-                                       //setMute
-                                       solo.setSelected(false);
+                                       boolean selected = mute.isSelected();
+                                       if (selected){
+                                               solo.setSelected(false);
+                                               Moosique.getSequencer().setTrackSolo(trackNum, false);
+                                       }
+                                       Moosique.getSequencer().setTrackMute(trackNum, selected);
+
                                }});
                checkboxes.add(mute);
 
                solo = new JCheckBox("Solo");
+               solo.setSelected(Moosique.getSequencer().getTrackSolo(trackNum));
                solo.setFont(Moosique.getGUI().FONT);
                solo.addActionListener(new ActionListener(){
                                public void actionPerformed(ActionEvent event){
                                        //setSolo
-                                       mute.setSelected(false);
+                                       boolean selected = solo.isSelected();
+                                       if (selected){
+                                               mute.setSelected(false);
+                                               Moosique.getSequencer().setTrackMute(trackNum, false);
+                                       }
+                                       Moosique.getSequencer().setTrackSolo(trackNum, selected);
                                }});
                checkboxes.add(solo);
                add(checkboxes);
index 29314d96abc22b5a8409f197e3f24ccd9c2ce2aa..a5ceea42b9f5646924d9004b4caeab0d6a9eacd3 100644 (file)
@@ -44,7 +44,7 @@ public class MooView extends JScrollPane {
                        // If MIDI file is of type 0, creates a view for the track.
                        trackPanel.setLayout(new FlowLayout());
                        trackPanel.add(new MooTrackView(tracks[0]));
-                       titlePanel.add(new MooTrackTitle(tracks[0]));
+                       titlePanel.add(new MooTrackTitle(tracks[0],0));
                } else {
                        // Creates dialog for progress bar.
                        JDialog progressDialog = new JDialog(Moosique.getGUI(), "Visualizing...", false);
@@ -60,7 +60,7 @@ public class MooView extends JScrollPane {
                        trackPanel.setLayout(new GridLayout(1,numberOfTracks));
                        for (int i = 1; i < tracks.length; i++) {
                                trackPanel.add(new MooTrackView(tracks[i]));
-                               titlePanel.add(new MooTrackTitle(tracks[i]));
+                               titlePanel.add(new MooTrackTitle(tracks[i],i));
                                progressBar.setValue(i+1);
                        }
                        progressDialog.dispose();
@@ -99,7 +99,7 @@ public class MooView extends JScrollPane {
                ((GridLayout)trackPanel.getLayout()).setColumns(++numberOfTracks);
                ((GridLayout)titlePanel.getLayout()).setColumns(++numberOfTracks);
                trackPanel.add(new MooTrackView(track), index);
-               titlePanel.add(new MooTrackTitle(track), index);
+               titlePanel.add(new MooTrackTitle(track,index), index);
                validate();
        }