1
package org.herac.tuxguitar.player.impl.midiport.oss;
3
import org.herac.tuxguitar.player.base.MidiControllers;
4
import org.herac.tuxguitar.player.base.MidiOut;
6
public class MidiOutImpl implements MidiOut{
8
private boolean connected;
9
private MidiPortImpl midiPort;
10
private MidiSystem midiSystem;
12
public MidiOutImpl(MidiPortImpl midiPort, MidiSystem midiSystem){
13
this.midiPort = midiPort;
14
this.midiSystem = midiSystem;
15
this.connected = false;
18
public boolean isConnected(){
19
return this.connected;
22
public void connect(){
24
this.midiSystem.openPort(this.midiPort);
25
this.connected = true;
29
public void disconnect() {
31
this.midiSystem.closePort();
32
this.connected = false;
36
public void sendAllNotesOff() {
37
for(int i = 0; i < 16; i ++){
38
sendControlChange(i,MidiControllers.ALL_NOTES_OFF,0);
42
public void sendControlChange(int channel, int controller, int value) {
44
this.midiSystem.controlChange(channel, controller, value);
48
public void sendNoteOff(int channel, int key, int velocity) {
50
this.midiSystem.noteOff(channel, key, velocity);
54
public void sendNoteOn(int channel, int key, int velocity) {
56
this.midiSystem.noteOn(channel, key, velocity);
60
public void sendPitchBend(int channel, int value) {
62
this.midiSystem.pitchBend(channel, value);
66
public void sendProgramChange(int channel, int value) {
68
this.midiSystem.programChange(channel, value);
72
public void sendSystemReset() {