private JCheckBox solo;
private String trackName = "";
- private int trackNum, channel = 0;
+ private int channel = 0;
/**
* Creates the title bar.
+ * @param aTrack the track that this tracktitle is operating on.
*/
- public MooTrackTitle (Track aTrack, int aTrackNum) {
+ public MooTrackTitle (Track aTrack) {
setDoubleBuffered(true);
track = aTrack;
- this.trackNum = aTrackNum;
// Finds track name, program change and channel.
MidiMessage msg;
title.addFocusListener(new TitleFocusListener());
add(title);
- instruments = new MooInstrumentList(channel);
- // instruments = new MooInstrumentList(channel, programChangeMessage);
+ int type;
+ if (channel == 9) type = MooInstrumentList.DRUMS;
+ else type = MooInstrumentList.INSTRUMENTS;
+ instruments = new MooInstrumentList(channel, type);
+ // instruments = new MooInstrumentList(channel, type, programChangeMessage);
add(instruments);
channelBox = new JComboBox();
checkboxes.setLayout(new GridLayout(1,3));
mute = new JCheckBox("Mute");
- mute.setSelected(Moosique.getSequencer().getTrackMute(trackNum));
+ mute.setSelected(Moosique.getChannel(channel).getMute());
mute.setFont(Moosique.getGUI().FONT);
mute.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event){
boolean selected = mute.isSelected();
if (selected){
solo.setSelected(false);
- Moosique.getSequencer().setTrackSolo(trackNum, false);
+ Moosique.getChannel(channel).setSolo(false);
}
- Moosique.getSequencer().setTrackMute(trackNum, selected);
+ Moosique.getChannel(channel).setMute(selected);
}});
checkboxes.add(mute);
solo = new JCheckBox("Solo");
- solo.setSelected(Moosique.getSequencer().getTrackSolo(trackNum));
+ solo.setSelected(Moosique.getChannel(channel).getSolo());
solo.setFont(Moosique.getGUI().FONT);
solo.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event){
boolean selected = solo.isSelected();
if (selected){
mute.setSelected(false);
- Moosique.getSequencer().setTrackMute(trackNum, false);
+ Moosique.getChannel(channel).setMute(false);
}
- Moosique.getSequencer().setTrackSolo(trackNum, selected);
+ Moosique.getChannel(channel).setSolo(selected);
}});
checkboxes.add(solo);
add(checkboxes);
}
+
+ /**
+ * Returns the channel of the track that the view is visualising.
+ * @return the chanel of the visualised track
+ */
+ public int getChannel() {
+ return channel;
+ }
+ /**
+ * Checks if the focus is lost.
+ */
class TitleFocusListener extends FocusAdapter {
public void focusLost(FocusEvent e) {
// Update the MidiEvent containing the title of this track