]> ruin.nu Git - moosique.git/blobdiff - MooInstrumentList.java
*** empty log message ***
[moosique.git] / MooInstrumentList.java
index 1864b690d4345fef3e3754f8cff86010045af513..7138c374f2c2e0379eee9907eb5ea0cfa64e70a4 100644 (file)
@@ -3,26 +3,47 @@ import javax.swing.*;
 import java.awt.*;
 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 {
 
-       public MooInstrumentList() {
+       protected int channel;
+       
+       /**
+        * Creates the instrument list.
+        * @param chan The channel it will operate on.
+        */
+       public MooInstrumentList(int chan) {
                super(instruments);
-               setFont(new Font("Times New Roman", Font.PLAIN, 10));
+               setChannel(chan);       
+               setFont(new Font("Helvetica", Font.PLAIN, 10));
                addActionListener(this);
        }
 
+       /**
+        * Sets the channel that it will operate on.
+        */
+       public void setChannel(int chan) {
+               channel = chan;
+               setSelectedIndex(Moosique.getChannel(channel).getProgram());
+       }
+
+       /**
+        * Sets the instrument on a channel when it's changed in the combobox.
+        */
        public void actionPerformed(ActionEvent e) {
                JComboBox box = (JComboBox)e.getSource();
                int instrument = box.getSelectedIndex();
-               Moosique.getActiveChannel().programChange(instrument);
+               Moosique.getChannel(channel).programChange(instrument);
        }
     
+       /**
+        * The list with standard midi instruments.
+        */
        public static final String[] instruments = {
                " 0 Acoustic Grand Piano",
                " 1 Bright Acoustic Piano",
@@ -153,4 +174,4 @@ public class MooInstrumentList extends JComboBox implements ActionListener {
                " 126 Applause",
                " 127 Gunshot"
        };
-}
\ No newline at end of file
+}