package org.herac.tuxguitar.jack.sequencer; import java.util.ArrayList; import java.util.List; import org.herac.tuxguitar.jack.JackClient; import org.herac.tuxguitar.player.base.MidiPlayerException; import org.herac.tuxguitar.player.base.MidiSequencer; import org.herac.tuxguitar.player.base.MidiSequencerProvider; public class JackSequencerProvider implements MidiSequencerProvider { private JackClient jackClient; private List<MidiSequencer> jackSequencerProviders; public JackSequencerProvider(JackClient jackClient) { this.jackClient = jackClient; } public void closeAll() throws MidiPlayerException { for (final MidiSequencer sequencer : listSequencers()) { sequencer.close(); } } public List<MidiSequencer> listSequencers() throws MidiPlayerException { if (this.jackSequencerProviders == null) { this.jackSequencerProviders = new ArrayList<MidiSequencer>(); this.jackSequencerProviders.add(new JackSequencer(this.jackClient)); } return this.jackSequencerProviders; } }