1
package org.herac.tuxguitar.player.impl.midiport.coreaudio;
3
import java.util.ArrayList;
4
import java.util.Collections;
7
import org.herac.tuxguitar.player.base.MidiControllers;
8
import org.herac.tuxguitar.player.base.MidiOut;
9
import org.herac.tuxguitar.player.impl.midiport.coreaudio.MidiPortImpl;
11
public class MidiOutImpl extends MidiReceiverJNI implements MidiOut{
12
private boolean open; // unncessary
13
private boolean connected;
17
this.ports = new ArrayList();
18
this.connected = false;
34
public boolean isOpen(){
38
public boolean isConnected(){
39
return (this.isOpen() && this.connected);
42
public void connect(){
45
this.connected = true;
51
public void disconnect() {
54
this.connected = false;
58
public List listPorts(){
61
this.ports.add(new MidiPortImpl(this, "Core Audio midi playback" , "coreaudio" ));
64
return Collections.EMPTY_LIST;
67
public void sendSystemReset() {
73
public void sendAllNotesOff() {
75
for(int i = 0; i < 16; i ++){
76
sendControlChange(i,MidiControllers.ALL_NOTES_OFF,0);
79
for(int i = 0; i < 16; i ++){
80
sendControlChange(i,120 ,0);
85
public void sendControlChange(int channel, int controller, int value) {
87
super.controlChange(channel, controller, value);
91
public void sendNoteOff(int channel, int key, int velocity) {
93
super.noteOff(channel, key, velocity);
97
public void sendNoteOn(int channel, int key, int velocity) {
99
super.noteOn(channel, key, velocity);
103
public void sendPitchBend(int channel, int value) {
105
super.pitchBend(channel, value);
109
public void sendProgramChange(int channel, int value) {
111
super.programChange(channel, value);