X-Git-Url: https://ruin.nu/git/?p=moosique.git;a=blobdiff_plain;f=MooInstrumentList.java;h=388a9d6b4dc3d3748f82c826eee97428af0fbb93;hp=d109227a287d17173737e08e18cd7072b3229126;hb=c3a31c2aa833e2197f0929655c69a2090e8bbecc;hpb=2ee5615787c8377a17a91158ea18adbae1aa74c2 diff --git a/MooInstrumentList.java b/MooInstrumentList.java index d109227..388a9d6 100644 --- a/MooInstrumentList.java +++ b/MooInstrumentList.java @@ -12,27 +12,40 @@ import java.awt.event.*; public class MooInstrumentList extends JComboBox implements ActionListener { protected int channel; - public MooInstrumentList(int chan) { - super(instruments); + public static final int INSTRUMENTS = 0, DRUMS = 1; + + /** + * Creates the instrument list. + * @param chan The channel it will operate on. + */ + public MooInstrumentList(int chan, int listType) { + super(instruments[listType]); 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; - System.out.println(chan); setSelectedIndex(Moosique.getChannel(channel).getProgram()); - System.out.println(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); } - public static final String[] instruments = { + /** + * The list with standard midi instruments. + */ + public static final String[][] instruments = {{ " 0 Acoustic Grand Piano", " 1 Bright Acoustic Piano", " 2 Electric Grand Piano", @@ -161,5 +174,11 @@ public class MooInstrumentList extends JComboBox implements ActionListener { " 125 Helicopter", " 126 Applause", " 127 Gunshot" - }; + }, new String[128]}; + + static { + for (int i = 0; i < 128; i++) { + instruments[1][i] = " Program Change " + i; + } + } }