// init EAS midi EAS_RESULT initEAS() { EAS_RESULT result; // get the library configuration pLibConfig = EAS_Config(); if (pLibConfig == NULL || pLibConfig->libVersion != LIB_VERSION) return EAS_FAILURE; // calculate buffer size bufferSize = pLibConfig->mixBufferSize * pLibConfig->numChannels * NUM_BUFFERS; // init library if ((result = EAS_Init(&pEASData)) != EAS_SUCCESS) return result; // select reverb preset and enable EAS_SetParameter(pEASData, EAS_MODULE_REVERB, EAS_PARAM_REVERB_PRESET, EAS_PARAM_REVERB_CHAMBER); EAS_SetParameter(pEASData, EAS_MODULE_REVERB, EAS_PARAM_REVERB_BYPASS, EAS_FALSE); // open midi stream if (result = EAS_OpenMIDIStream(pEASData, &midiHandle, NULL) != EAS_SUCCESS) return result; return EAS_SUCCESS; }
MIDI_RESULT MIDI_OpenStream(MIDI_HANDLE *handle) { EAS_RESULT result; // lock pthread_mutex_lock(&mutex); // open midi stream if ((result = EAS_OpenMIDIStream(pEASData, handle, NULL)) != EAS_SUCCESS) { // unlock pthread_mutex_unlock(&mutex); return result; } // unlock pthread_mutex_unlock(&mutex); return MIDI_SUCCESS; }