/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 3.0.12
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

package com.DspFaust;

public class DspFaust {
  private transient long swigCPtr;
  protected transient boolean swigCMemOwn;

  protected DspFaust(long cPtr, boolean cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = cPtr;
  }

  protected static long getCPtr(DspFaust obj) {
    return (obj == null) ? 0 : obj.swigCPtr;
  }

  protected void finalize() {
    delete();
  }

  public synchronized void delete() {
    if (swigCPtr != 0) {
      if (swigCMemOwn) {
        swigCMemOwn = false;
        dsp_faustJNI.delete_DspFaust(swigCPtr);
      }
      swigCPtr = 0;
    }
  }

  public DspFaust(boolean use_driver) {
    this(dsp_faustJNI.new_DspFaust__SWIG_0(use_driver), true);
  }

  public DspFaust() {
    this(dsp_faustJNI.new_DspFaust__SWIG_1(), true);
  }

  public DspFaust(int arg0, int arg1) {
    this(dsp_faustJNI.new_DspFaust__SWIG_2(arg0, arg1), true);
  }

  public boolean start() {
    return dsp_faustJNI.DspFaust_start(swigCPtr, this);
  }

  public void stop() {
    dsp_faustJNI.DspFaust_stop(swigCPtr, this);
  }

  public boolean isRunning() {
    return dsp_faustJNI.DspFaust_isRunning(swigCPtr, this);
  }

  public long keyOn(int arg0, int arg1) {
    return dsp_faustJNI.DspFaust_keyOn(swigCPtr, this, arg0, arg1);
  }

  public int keyOff(int arg0) {
    return dsp_faustJNI.DspFaust_keyOff(swigCPtr, this, arg0);
  }

  public long newVoice() {
    return dsp_faustJNI.DspFaust_newVoice(swigCPtr, this);
  }

  public int deleteVoice(long arg0) {
    return dsp_faustJNI.DspFaust_deleteVoice(swigCPtr, this, arg0);
  }

  public void allNotesOff() {
    dsp_faustJNI.DspFaust_allNotesOff(swigCPtr, this);
  }

  public void propagateMidi(int arg0, double arg1, int arg2, int arg3, int arg4, int arg5) {
    dsp_faustJNI.DspFaust_propagateMidi(swigCPtr, this, arg0, arg1, arg2, arg3, arg4, arg5);
  }

  public String getJSONUI() {
    return dsp_faustJNI.DspFaust_getJSONUI(swigCPtr, this);
  }

  public String getJSONMeta() {
    return dsp_faustJNI.DspFaust_getJSONMeta(swigCPtr, this);
  }

  public int getParamsCount() {
    return dsp_faustJNI.DspFaust_getParamsCount(swigCPtr, this);
  }

  public void setParamValue(String arg0, float arg1) {
    dsp_faustJNI.DspFaust_setParamValue__SWIG_0(swigCPtr, this, arg0, arg1);
  }

  public void setParamValue(int arg0, float arg1) {
    dsp_faustJNI.DspFaust_setParamValue__SWIG_1(swigCPtr, this, arg0, arg1);
  }

  public float getParamValue(String arg0) {
    return dsp_faustJNI.DspFaust_getParamValue__SWIG_0(swigCPtr, this, arg0);
  }

  public float getParamValue(int arg0) {
    return dsp_faustJNI.DspFaust_getParamValue__SWIG_1(swigCPtr, this, arg0);
  }

  public void setVoiceParamValue(String arg0, long arg1, float arg2) {
    dsp_faustJNI.DspFaust_setVoiceParamValue__SWIG_0(swigCPtr, this, arg0, arg1, arg2);
  }

  public void setVoiceParamValue(int arg0, long arg1, float arg2) {
    dsp_faustJNI.DspFaust_setVoiceParamValue__SWIG_1(swigCPtr, this, arg0, arg1, arg2);
  }

  public float getVoiceParamValue(String arg0, long arg1) {
    return dsp_faustJNI.DspFaust_getVoiceParamValue__SWIG_0(swigCPtr, this, arg0, arg1);
  }

  public float getVoiceParamValue(int arg0, long arg1) {
    return dsp_faustJNI.DspFaust_getVoiceParamValue__SWIG_1(swigCPtr, this, arg0, arg1);
  }

  public String getParamAddress(int arg0) {
    return dsp_faustJNI.DspFaust_getParamAddress(swigCPtr, this, arg0);
  }

  public String getVoiceParamAddress(int arg0, long arg1) {
    return dsp_faustJNI.DspFaust_getVoiceParamAddress(swigCPtr, this, arg0, arg1);
  }

  public float getParamMin(String arg0) {
    return dsp_faustJNI.DspFaust_getParamMin__SWIG_0(swigCPtr, this, arg0);
  }

  public float getParamMin(int arg0) {
    return dsp_faustJNI.DspFaust_getParamMin__SWIG_1(swigCPtr, this, arg0);
  }

  public float getParamMax(String arg0) {
    return dsp_faustJNI.DspFaust_getParamMax__SWIG_0(swigCPtr, this, arg0);
  }

  public float getParamMax(int arg0) {
    return dsp_faustJNI.DspFaust_getParamMax__SWIG_1(swigCPtr, this, arg0);
  }

  public float getParamInit(String arg0) {
    return dsp_faustJNI.DspFaust_getParamInit__SWIG_0(swigCPtr, this, arg0);
  }

  public float getParamInit(int arg0) {
    return dsp_faustJNI.DspFaust_getParamInit__SWIG_1(swigCPtr, this, arg0);
  }

  public String getMetadata(String arg0, String arg1) {
    return dsp_faustJNI.DspFaust_getMetadata__SWIG_0(swigCPtr, this, arg0, arg1);
  }

  public String getMetadata(int arg0, String arg1) {
    return dsp_faustJNI.DspFaust_getMetadata__SWIG_1(swigCPtr, this, arg0, arg1);
  }

  public void propagateAcc(int arg0, float arg1) {
    dsp_faustJNI.DspFaust_propagateAcc(swigCPtr, this, arg0, arg1);
  }

  public void setAccConverter(int arg0, int arg1, int arg2, float arg3, float arg4, float arg5) {
    dsp_faustJNI.DspFaust_setAccConverter(swigCPtr, this, arg0, arg1, arg2, arg3, arg4, arg5);
  }

  public void propagateGyr(int arg0, float arg1) {
    dsp_faustJNI.DspFaust_propagateGyr(swigCPtr, this, arg0, arg1);
  }

  public void setGyrConverter(int arg0, int arg1, int arg2, float arg3, float arg4, float arg5) {
    dsp_faustJNI.DspFaust_setGyrConverter(swigCPtr, this, arg0, arg1, arg2, arg3, arg4, arg5);
  }

  public float getCPULoad() {
    return dsp_faustJNI.DspFaust_getCPULoad(swigCPtr, this);
  }

  public boolean configureOSC(int xmit, int inport, int outport, int errport, String address) {
    return dsp_faustJNI.DspFaust_configureOSC(swigCPtr, this, xmit, inport, outport, errport, address);
  }

  public boolean isOSCOn() {
    return dsp_faustJNI.DspFaust_isOSCOn(swigCPtr, this);
  }

  public int getScreenColor() {
    return dsp_faustJNI.DspFaust_getScreenColor(swigCPtr, this);
  }

}
