]> ruin.nu Git - moosique.git/blobdiff - MooTrackTitle.java
solo mute and stuff
[moosique.git] / MooTrackTitle.java
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);