Ejemplo n.º 1
0
//------------------------------------------------------------------------
void TJackSynchro::Close()
{
    RemoveAllBusses();
    if (fClient)
        jack_client_close(fClient);
    if (fDestination)
        MIDIEndpointDispose(fDestination);
    if (fSource)
        MIDIEndpointDispose(fSource);
    if (fMidiClient)
        MIDIClientDispose(fMidiClient);
}
Ejemplo n.º 2
0
        ~MidiPortAndEndpoint() noexcept
        {
            if (port != 0)
                MIDIPortDispose (port);

            if (port == 0 && endPoint != 0) // if port == nullptr, it means we created the endpoint, so it's safe to delete it
                MIDIEndpointDispose (endPoint);
        }
Ejemplo n.º 3
0
//------------------------------------------------------------------------
void TJackSynchro::RemoveAllBusses()
{
    vector<MIDIEndpointRef>::const_iterator it;

    for (it = fMidiInput.begin(); it != fMidiInput.end(); it++) {
        MIDIEndpointRef endpoint = *it;
        MIDIEndpointDispose(endpoint);
    }

    for (it = fMidiOuput.begin(); it != fMidiOuput.end(); it++) {
        MIDIEndpointRef endpoint = *it;
        MIDIEndpointDispose(endpoint);
    }

    fMidiInput.clear();
    fMidiOuput.clear();
}
Ejemplo n.º 4
0
//------------------------------------------------------------------------
bool TJackSynchro::AddMidiBus(int i)
{
    OSStatus err;
    MIDIEndpointRef input = NULL;
    MIDIEndpointRef output = NULL;
    char inputStr [64];
    char outputStr [64];

    // Up to MAX_MIDI_BUS busses
    if (i >= MAX_MIDI_BUS)
        return false;

    sprintf(outputStr, "Jack MIDI In%ld", i);
    sprintf(inputStr, "Jack MIDI Out%ld", i);

    CFStringRef coutputStr = CFStringCreateWithCString(NULL, outputStr, CFStringGetSystemEncoding());
    CFStringRef cinputStr = CFStringCreateWithCString(NULL, inputStr, CFStringGetSystemEncoding());

    err = MIDIDestinationCreate(fMidiClient, coutputStr, fReadProc[i - 1], this, &output);
    if (!output) {
        printf("Can not open create destination \n");
        goto error;
    }

    err = MIDISourceCreate(fMidiClient, cinputStr, &input);
    if (!input) {
        printf("Can not open create source \n");
        goto error;
    }

    fMidiInput.push_back(input);
    fMidiOuput.push_back(output);
    CFRelease(coutputStr);
    CFRelease(cinputStr);
    return true;

error:
    if (input)
        MIDIEndpointDispose(input);
    if (output)
        MIDIEndpointDispose(output);
    return false;
}
Ejemplo n.º 5
0
void CloseMIDIHarware()
{
	if (MIDIHardware) {
		OSStatus MIDIErr = MIDIEndpointDispose(MADMIDIKeyboardEndRef);
		MIDIErr = MIDIClientDispose(MADMIDICliRef);
		MADMIDICliRef = 0L;
		MADMIDIPortInRef = 0L;
	}
	
	MIDIHardware = false;
}
Ejemplo n.º 6
0
// ----------------------------------------------------------
ofxAudioUnitMidiReceiver::~ofxAudioUnitMidiReceiver()
// ----------------------------------------------------------
{
	MIDIPortDispose(_port);
	MIDIEndpointDispose(_endpoint);
}
    MidiInputDeviceCoreMidi::MidiInputPortCoreMidi::~MidiInputPortCoreMidi() {
		MIDIEndpointDispose(pDestination);
    }
JNIEXPORT jint JNICALL Java_com_apple_audio_CAObjectManagement_MIDIEndpointDispose
  (JNIEnv *, jclass, jint endpt)
{
	return (jint)MIDIEndpointDispose((MIDIEndpointRef)endpt);
}