Example #1
0
JNIEXPORT jint JNICALL Java_org_puredata_core_PdBase_processRaw
(JNIEnv *env, jclass cls, jfloatArray inBuffer, jfloatArray outBuffer) {
  if (!inBuffer || !outBuffer) return -10;
  float *pIn = (*env)->GetFloatArrayElements(env, inBuffer, NULL);
  float *pOut = (*env)->GetFloatArrayElements(env, outBuffer, NULL);
  pthread_mutex_lock(&mutex);
  jint err = libpd_process_raw(pIn, pOut);
  pthread_mutex_unlock(&mutex);
  (*env)->ReleaseFloatArrayElements(env, inBuffer, pIn, 0);
  (*env)->ReleaseFloatArrayElements(env, outBuffer, pOut, 0);
  return err;
}
Example #2
0
//--------------------------------------------------------------------
bool PdBase::processRaw(float* inBuffer, float* outBuffer) {
    return libpd_process_raw(inBuffer, outBuffer) == 0;
}
Example #3
0
//--------------------------------------------------------------------
bool PdBase::processRaw(const float* inBuffer, float* outBuffer) {
    _LOCK();
    bool ret = libpd_process_raw(inBuffer, outBuffer) == 0;
    _UNLOCK();
    return ret;
}
Example #4
0
int libpd_sync_process_raw(const float *inBuf, float *outBuf) {
  pthread_mutex_lock(&mutex);
  int err = libpd_process_raw(inBuf, outBuf);
  pthread_mutex_unlock(&mutex);
  return err;
}