public void removeSequencerProvider(MidiSequencerProvider provider) throws MidiPlayerException { this.sequencerProviders.remove(provider); MidiSequencer current = getSequencer(); if (!(current instanceof MidiSequencerEmpty) && current != null) { Iterator it = provider.listSequencers().iterator(); while (it.hasNext()) { MidiSequencer sequencer = (MidiSequencer) it.next(); if (current.getKey().equals(sequencer.getKey())) { closeSequencer(); break; } } } }
public void openSequencer(List sequencers, boolean tryFirst) throws MidiPlayerException { try { if (this.sequencerKey != null && !this.isSequencerOpen(this.sequencerKey)) { this.closeSequencer(); for (int i = 0; i < sequencers.size(); i++) { MidiSequencer sequencer = (MidiSequencer) sequencers.get(i); if (sequencer.getKey().equals(this.sequencerKey)) { if (this.loadSequencer(sequencer)) { return; } } } } if (getSequencer() instanceof MidiSequencerEmpty && !sequencers.isEmpty() && tryFirst) { this.loadSequencer((MidiSequencer) sequencers.get(0)); } } catch (Throwable throwable) { throw new MidiPlayerException(throwable.getMessage(), throwable); } }