X-Git-Url: https://ruin.nu/git/?p=moosique.git;a=blobdiff_plain;f=MooTrackTitle.java;h=a71b3619f3a909c2d302ca41f7ed2ec47f55aa87;hp=a97844b2f208fc755c7f7e89b10cfb307e6dd480;hb=948e069926266ead58bc5466520e131941f2466c;hpb=ab04807c8c21e30c7f6a18722a4738aecaabb5de diff --git a/MooTrackTitle.java b/MooTrackTitle.java index a97844b..a71b361 100644 --- a/MooTrackTitle.java +++ b/MooTrackTitle.java @@ -15,7 +15,7 @@ public class MooTrackTitle extends JPanel { private MetaMessage trackNameMessage; private String trackName = ""; private ShortMessage programChangeMessage; - private int programChange = 0, channel = 0; + private int channel = 0; private JTextField title; private MooInstrumentList instruments; private JComboBox channelBox; @@ -32,43 +32,36 @@ public class MooTrackTitle extends JPanel { track = aTrack; this.trackNum = aTrackNum; - // Finds track name and program change + // Finds track name, program change and channel. MidiMessage msg; + int status; for (int i = 0; i < track.size(); i++) { msg = track.get(i).getMessage(); - if (msg.getStatus() == 255) { + status = msg.getStatus(); + if (status == MetaMessage.META) { if (((MetaMessage)msg).getType() == 3) { trackNameMessage = (MetaMessage)msg; trackName = new String(trackNameMessage.getData()); } - } else if (msg.getStatus() == 192) { + } else if (status >= 192 && status <= 207) { programChangeMessage = (ShortMessage)msg; - programChange = programChangeMessage.getData1(); + channel = status - 192; } } - MidiEvent event; - for (int i = 0; i < track.size(); i++) { - event = track.get(i); - if (event instanceof MooNote) { - channel = ((MooNote)event).getChannel(); - break; - } - } - // Creates and places components. setLayout(new GridLayout(4,1)); setBorder(BorderFactory.createLineBorder(Color.black)); setPreferredSize(new Dimension(MooTrackView.VIEW_WIDTH,70)); - title = new JTextField(trackName); // JTextField(String text, int columns) + title = new JTextField(trackName); title.setFont(Moosique.getGUI().FONT); title.addFocusListener(new TitleFocusListener()); add(title); - - JPanel checkboxes = new JPanel(); - checkboxes.setLayout(new GridLayout(1,3)); + instruments = new MooInstrumentList(channel); + // instruments = new MooInstrumentList(channel, programChangeMessage); + add(instruments); channelBox = new JComboBox(); channelBox.setFont(Moosique.getGUI().FONT); @@ -77,10 +70,6 @@ public class MooTrackTitle extends JPanel { channelBox.setSelectedIndex(channel); - instruments = new MooInstrumentList(channelBox.getSelectedIndex()); - - instruments = new MooInstrumentList(channelBox.getSelectedIndex()); - channelBox.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ int chan = channelBox.getSelectedIndex(); @@ -94,11 +83,11 @@ public class MooTrackTitle extends JPanel { mn.setChannel(chan); } }}}); - channelBox.setSelectedIndex(channel); - - add(instruments); add(channelBox); + JPanel checkboxes = new JPanel(); + checkboxes.setLayout(new GridLayout(1,3)); + mute = new JCheckBox("Mute"); mute.setSelected(Moosique.getSequencer().getTrackMute(trackNum)); mute.setFont(Moosique.getGUI().FONT);