]> ruin.nu Git - moosique.git/blobdiff - MooTrackTitle.java
stuff
[moosique.git] / MooTrackTitle.java
index 2dfd67f63e2266c015cb7fd86be1902803ed6bea..cc17d170e620995ab22639fbec80b23db9e380a0 100644 (file)
@@ -22,12 +22,15 @@ 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) {
+               setDoubleBuffered(true);
                track = aTrack;
+               this.trackNum = aTrackNum;
 
                // Finds track name and program change
                MidiMessage msg;
@@ -99,20 +102,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);