X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=MooTrackTitle.java;h=979aed2139208e234f4124871b34b955fe536aef;hb=fa159bea01bba1b1294fcc5ed14546b7510dcd3d;hp=258e9d45deda3e58cbb44fb9fa0a88ae90fd25e8;hpb=b3d872320a15a463a93e35b1f14023a5744e27da;p=moosique.git diff --git a/MooTrackTitle.java b/MooTrackTitle.java index 258e9d4..979aed2 100644 --- a/MooTrackTitle.java +++ b/MooTrackTitle.java @@ -25,6 +25,16 @@ public class MooTrackTitle extends JPanel { private String trackName = ""; private int channel = 0; + /** + * Creates the title bar for an empty track, and therefore an initial channel is required. + * @param aTrack the track that this tracktitle is operating on. + * @param chan the initial channel + */ + public MooTrackTitle (Track aTrack, int chan) { + this(aTrack); + channel = chan; + } + /** * Creates the title bar. * @param aTrack the track that this tracktitle is operating on. @@ -60,8 +70,11 @@ public class MooTrackTitle extends JPanel { 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(); @@ -73,15 +86,15 @@ public class MooTrackTitle extends JPanel { channelBox.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ - int chan = channelBox.getSelectedIndex(); + channel = channelBox.getSelectedIndex(); MidiEvent me; MooNote mn; - instruments.setChannel(channelBox.getSelectedIndex()); + instruments.setChannel(channel); for (int j = 0; j < track.size(); j++) { me = track.get(j); if (me instanceof MooNote){ mn = (MooNote)me; - mn.setChannel(chan); + mn.setChannel(channel); } }}}); add(channelBox); @@ -90,22 +103,24 @@ public class MooTrackTitle extends JPanel { checkboxes.setLayout(new GridLayout(1,3)); mute = new JCheckBox("Mute"); - mute.setSelected(Moosique.getChannel(channel).getMute()); + mute.setSelected(false); + Moosique.setTrackMute(track, false); mute.setFont(Moosique.getGUI().FONT); mute.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent event){ boolean selected = mute.isSelected(); if (selected){ solo.setSelected(false); - Moosique.getChannel(channel).setSolo(false); + Moosique.setTrackSolo(track, false); } - Moosique.getChannel(channel).setMute(selected); + Moosique.setTrackMute(track, selected); }}); checkboxes.add(mute); solo = new JCheckBox("Solo"); - solo.setSelected(Moosique.getChannel(channel).getSolo()); + solo.setSelected(false); + Moosique.setTrackSolo(track, false); solo.setFont(Moosique.getGUI().FONT); solo.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent event){ @@ -113,13 +128,21 @@ public class MooTrackTitle extends JPanel { boolean selected = solo.isSelected(); if (selected){ mute.setSelected(false); - Moosique.getChannel(channel).setMute(false); + Moosique.setTrackMute(track, false); } - Moosique.getChannel(channel).setSolo(selected); + Moosique.setTrackSolo(track, 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.