X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=MooInstrumentList.java;h=7138c374f2c2e0379eee9907eb5ea0cfa64e70a4;hb=e31778837bee5cfbbaf643d17f1eaeb086d8e50c;hp=1864b690d4345fef3e3754f8cff86010045af513;hpb=964980cf244e780600db6d5e05d036edbb3a15da;p=moosique.git diff --git a/MooInstrumentList.java b/MooInstrumentList.java index 1864b69..7138c37 100644 --- a/MooInstrumentList.java +++ b/MooInstrumentList.java @@ -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 +}