From 2ee5615787c8377a17a91158ea18adbae1aa74c2 Mon Sep 17 00:00:00 2001 From: Michael Andreen Date: Tue, 13 May 2003 17:24:47 +0000 Subject: [PATCH] solo mute and stuff --- MooInstrumentList.java | 11 ++++++----- MooTrackTitle.java | 22 ++++++++++++++++++---- MooView.java | 6 +++--- 3 files changed, 27 insertions(+), 12 deletions(-) diff --git a/MooInstrumentList.java b/MooInstrumentList.java index 8f1afcb..d109227 100644 --- a/MooInstrumentList.java +++ b/MooInstrumentList.java @@ -6,23 +6,24 @@ 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 { protected int channel; - - public MooInstrumentList(int instrument) { + public MooInstrumentList(int chan) { super(instruments); - setSelectedIndex(instrument); + setChannel(chan); setFont(new Font("Helvetica", Font.PLAIN, 10)); addActionListener(this); } public void setChannel(int chan){ channel = chan; - setSelectedIndex(Moosique.getChannel(chan).getProgram()); + System.out.println(chan); + setSelectedIndex(Moosique.getChannel(channel).getProgram()); + System.out.println(Moosique.getChannel(channel).getProgram()); } public void actionPerformed(ActionEvent e) { diff --git a/MooTrackTitle.java b/MooTrackTitle.java index 2dfd67f..a17c071 100644 --- a/MooTrackTitle.java +++ b/MooTrackTitle.java @@ -22,12 +22,14 @@ public class MooTrackTitle extends JPanel { private JCheckBox mute; private JCheckBox solo; private Track track; + private int trackNum; /** * Creates the title bar. */ - public MooTrackTitle (Track aTrack) { + public MooTrackTitle (Track aTrack, int aTrackNum) { track = aTrack; + this.trackNum = aTrackNum; // Finds track name and program change MidiMessage msg; @@ -99,20 +101,32 @@ public class MooTrackTitle extends JPanel { add(channelBox); mute = new JCheckBox("Mute"); + mute.setSelected(Moosique.getSequencer().getTrackMute(trackNum)); mute.setFont(Moosique.getGUI().FONT); mute.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent event){ - //setMute - solo.setSelected(false); + boolean selected = mute.isSelected(); + if (selected){ + solo.setSelected(false); + Moosique.getSequencer().setTrackSolo(trackNum, false); + } + Moosique.getSequencer().setTrackMute(trackNum, selected); + }}); checkboxes.add(mute); solo = new JCheckBox("Solo"); + solo.setSelected(Moosique.getSequencer().getTrackSolo(trackNum)); solo.setFont(Moosique.getGUI().FONT); solo.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent event){ //setSolo - mute.setSelected(false); + boolean selected = solo.isSelected(); + if (selected){ + mute.setSelected(false); + Moosique.getSequencer().setTrackMute(trackNum, false); + } + Moosique.getSequencer().setTrackSolo(trackNum, selected); }}); checkboxes.add(solo); add(checkboxes); diff --git a/MooView.java b/MooView.java index 29314d9..a5ceea4 100644 --- a/MooView.java +++ b/MooView.java @@ -44,7 +44,7 @@ public class MooView extends JScrollPane { // If MIDI file is of type 0, creates a view for the track. trackPanel.setLayout(new FlowLayout()); trackPanel.add(new MooTrackView(tracks[0])); - titlePanel.add(new MooTrackTitle(tracks[0])); + titlePanel.add(new MooTrackTitle(tracks[0],0)); } else { // Creates dialog for progress bar. JDialog progressDialog = new JDialog(Moosique.getGUI(), "Visualizing...", false); @@ -60,7 +60,7 @@ public class MooView extends JScrollPane { trackPanel.setLayout(new GridLayout(1,numberOfTracks)); for (int i = 1; i < tracks.length; i++) { trackPanel.add(new MooTrackView(tracks[i])); - titlePanel.add(new MooTrackTitle(tracks[i])); + titlePanel.add(new MooTrackTitle(tracks[i],i)); progressBar.setValue(i+1); } progressDialog.dispose(); @@ -99,7 +99,7 @@ public class MooView extends JScrollPane { ((GridLayout)trackPanel.getLayout()).setColumns(++numberOfTracks); ((GridLayout)titlePanel.getLayout()).setColumns(++numberOfTracks); trackPanel.add(new MooTrackView(track), index); - titlePanel.add(new MooTrackTitle(track), index); + titlePanel.add(new MooTrackTitle(track,index), index); validate(); } -- 2.39.2