/**
* 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) {
+
+ /**
+ * Creates the instrument list.
+ * @param chan The channel it will operate on.
+ */
+ public MooInstrumentList(int chan) {
super(instruments);
- setSelectedIndex(instrument);
+ setChannel(chan);
setFont(new Font("Helvetica", Font.PLAIN, 10));
addActionListener(this);
}
- public void setChannel(int chan){
+ /**
+ * Sets the channel that it will operate on.
+ */
+ public void setChannel(int chan) {
channel = chan;
- setSelectedIndex(Moosique.getChannel(chan).getProgram());
+ 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.getChannel(channel).programChange(instrument);
}
+ /**
+ * The list with standard midi instruments.
+ */
public static final String[] instruments = {
" 0 Acoustic Grand Piano",
" 1 Bright Acoustic Piano",