1
package org.herac.tuxguitar.player.impl.sequencer;
3
import java.util.ArrayList;
6
import org.herac.tuxguitar.player.base.MidiPlayerException;
8
public class MidiTrackController {
12
private MidiSequencerImpl sequencer;
13
private boolean anySolo;
15
public MidiTrackController(MidiSequencerImpl sequencer){
16
this.sequencer = sequencer;
17
this.tracks = new ArrayList();
21
public void init(int count){
23
for(int i = 0; i < count; i ++){
24
this.tracks.add(new MidiTrack());
28
public void clearTracks(){
32
public void checkAnySolo(){
34
for(int i = 0; i < this.tracks.size(); i ++){
35
MidiTrack track = (MidiTrack)this.tracks.get(i);
43
public void setSolo(int index,boolean solo) throws MidiPlayerException{
44
if(index >= 0 && index < this.tracks.size()){
45
MidiTrack track = (MidiTrack)this.tracks.get(index);
50
this.sequencer.getMidiPort().out().sendAllNotesOff();
55
public void setMute(int index,boolean mute) throws MidiPlayerException{
56
if(index >= 0 && index < this.tracks.size()){
57
MidiTrack track = (MidiTrack)this.tracks.get(index);
61
this.sequencer.getMidiPort().out().sendAllNotesOff();
66
public boolean isSolo(int index){
67
if(index >= 0 && index < this.tracks.size()){
68
MidiTrack track = (MidiTrack)this.tracks.get(index);
69
return track.isSolo();
74
public boolean isMute(int index){
75
if(index >= 0 && index < this.tracks.size()){
76
MidiTrack track = (MidiTrack)this.tracks.get(index);
77
return track.isMute();
82
public boolean isAnySolo(){