/* ----------------------------------------------------------------------------
 * 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.grame.faust;

public class Faust {
  public static void sha1_transform(SHA1_CTX ctx, SWIGTYPE_p_unsigned_char data) {
    FaustJNI.sha1_transform(SHA1_CTX.getCPtr(ctx), ctx, SWIGTYPE_p_unsigned_char.getCPtr(data));
  }

  public static void sha1_init(SHA1_CTX ctx) {
    FaustJNI.sha1_init(SHA1_CTX.getCPtr(ctx), ctx);
  }

  public static void sha1_update(SHA1_CTX ctx, SWIGTYPE_p_unsigned_char data, long len) {
    FaustJNI.sha1_update(SHA1_CTX.getCPtr(ctx), ctx, SWIGTYPE_p_unsigned_char.getCPtr(data), len);
  }

  public static void sha1_final(SHA1_CTX ctx, SWIGTYPE_p_unsigned_char hash) {
    FaustJNI.sha1_final(SHA1_CTX.getCPtr(ctx), ctx, SWIGTYPE_p_unsigned_char.getCPtr(hash));
  }

  public static void generateCSHA1(String data, String sha_key) {
    FaustJNI.generateCSHA1(data, sha_key);
  }

  public static String expandCDSPFromFile(String filename, int argc, SWIGTYPE_p_p_char argv, String sha_key, String error_msg) {
    return FaustJNI.expandCDSPFromFile(filename, argc, SWIGTYPE_p_p_char.getCPtr(argv), sha_key, error_msg);
  }

  public static String expandCDSPFromString(String name_app, String dsp_content, int argc, SWIGTYPE_p_p_char argv, String sha_key, String error_msg) {
    return FaustJNI.expandCDSPFromString(name_app, dsp_content, argc, SWIGTYPE_p_p_char.getCPtr(argv), sha_key, error_msg);
  }

  public static boolean generateCAuxFilesFromFile(String filename, int argc, SWIGTYPE_p_p_char argv, String error_msg) {
    return FaustJNI.generateCAuxFilesFromFile(filename, argc, SWIGTYPE_p_p_char.getCPtr(argv), error_msg);
  }

  public static boolean generateCAuxFilesFromString(String name_app, String dsp_content, int argc, SWIGTYPE_p_p_char argv, String error_msg) {
    return FaustJNI.generateCAuxFilesFromString(name_app, dsp_content, argc, SWIGTYPE_p_p_char.getCPtr(argv), error_msg);
  }

  public static void freeCMemory(SWIGTYPE_p_void ptr) {
    FaustJNI.freeCMemory(SWIGTYPE_p_void.getCPtr(ptr));
  }

  public static String getCLibFaustVersion() {
    return FaustJNI.getCLibFaustVersion();
  }

  public static String getCDSPMachineTarget() {
    return FaustJNI.getCDSPMachineTarget();
  }

  public static llvm_dsp_factory getCDSPFactoryFromSHAKey(String sha_key) {
    long cPtr = FaustJNI.getCDSPFactoryFromSHAKey(sha_key);
    return (cPtr == 0) ? null : new llvm_dsp_factory(cPtr, false);
  }

  public static llvm_dsp_factory createCDSPFactoryFromFile(String filename, int argc, SWIGTYPE_p_p_char argv, String target, String error_msg, int opt_level) {
    long cPtr = FaustJNI.createCDSPFactoryFromFile(filename, argc, SWIGTYPE_p_p_char.getCPtr(argv), target, error_msg, opt_level);
    return (cPtr == 0) ? null : new llvm_dsp_factory(cPtr, false);
  }

  public static llvm_dsp_factory createCDSPFactoryFromString(String name_app, String dsp_content, int argc, SWIGTYPE_p_p_char argv, String target, String error_msg, int opt_level) {
    long cPtr = FaustJNI.createCDSPFactoryFromString(name_app, dsp_content, argc, SWIGTYPE_p_p_char.getCPtr(argv), target, error_msg, opt_level);
    return (cPtr == 0) ? null : new llvm_dsp_factory(cPtr, false);
  }

  public static boolean deleteCDSPFactory(llvm_dsp_factory factory) {
    return FaustJNI.deleteCDSPFactory(llvm_dsp_factory.getCPtr(factory), factory);
  }

  public static String getCName(llvm_dsp_factory factory) {
    return FaustJNI.getCName(llvm_dsp_factory.getCPtr(factory), factory);
  }

  public static String getCSHAKey(llvm_dsp_factory factory) {
    return FaustJNI.getCSHAKey(llvm_dsp_factory.getCPtr(factory), factory);
  }

  public static String getCDSPCode(llvm_dsp_factory factory) {
    return FaustJNI.getCDSPCode(llvm_dsp_factory.getCPtr(factory), factory);
  }

  public static String getCTarget(llvm_dsp_factory factory) {
    return FaustJNI.getCTarget(llvm_dsp_factory.getCPtr(factory), factory);
  }

  public static SWIGTYPE_p_p_char getCDSPFactoryLibraryList(llvm_dsp_factory factory) {
    long cPtr = FaustJNI.getCDSPFactoryLibraryList(llvm_dsp_factory.getCPtr(factory), factory);
    return (cPtr == 0) ? null : new SWIGTYPE_p_p_char(cPtr, false);
  }

  public static SWIGTYPE_p_p_char getCDSPFactoryIncludePathnames(llvm_dsp_factory factory) {
    long cPtr = FaustJNI.getCDSPFactoryIncludePathnames(llvm_dsp_factory.getCPtr(factory), factory);
    return (cPtr == 0) ? null : new SWIGTYPE_p_p_char(cPtr, false);
  }

  public static String getCDSPFactoryCompileOptions(llvm_dsp_factory factory) {
    return FaustJNI.getCDSPFactoryCompileOptions(llvm_dsp_factory.getCPtr(factory), factory);
  }

  public static void deleteAllCDSPFactories() {
    FaustJNI.deleteAllCDSPFactories();
  }

  public static SWIGTYPE_p_p_char getAllCDSPFactories() {
    long cPtr = FaustJNI.getAllCDSPFactories();
    return (cPtr == 0) ? null : new SWIGTYPE_p_p_char(cPtr, false);
  }

  public static boolean startMTCDSPFactories() {
    return FaustJNI.startMTCDSPFactories();
  }

  public static void stopMTCDSPFactories() {
    FaustJNI.stopMTCDSPFactories();
  }

  public static llvm_dsp_factory readCDSPFactoryFromBitcode(String bit_code, String target, int opt_level) {
    long cPtr = FaustJNI.readCDSPFactoryFromBitcode(bit_code, target, opt_level);
    return (cPtr == 0) ? null : new llvm_dsp_factory(cPtr, false);
  }

  public static String writeCDSPFactoryToBitcode(llvm_dsp_factory factory) {
    return FaustJNI.writeCDSPFactoryToBitcode(llvm_dsp_factory.getCPtr(factory), factory);
  }

  public static llvm_dsp_factory readCDSPFactoryFromBitcodeFile(String bit_code_path, String target, int opt_level) {
    long cPtr = FaustJNI.readCDSPFactoryFromBitcodeFile(bit_code_path, target, opt_level);
    return (cPtr == 0) ? null : new llvm_dsp_factory(cPtr, false);
  }

  public static void writeCDSPFactoryToBitcodeFile(llvm_dsp_factory factory, String bit_code_path) {
    FaustJNI.writeCDSPFactoryToBitcodeFile(llvm_dsp_factory.getCPtr(factory), factory, bit_code_path);
  }

  public static llvm_dsp_factory readCDSPFactoryFromIR(String ir_code, String target, int opt_level) {
    long cPtr = FaustJNI.readCDSPFactoryFromIR(ir_code, target, opt_level);
    return (cPtr == 0) ? null : new llvm_dsp_factory(cPtr, false);
  }

  public static String writeCDSPFactoryToIR(llvm_dsp_factory factory) {
    return FaustJNI.writeCDSPFactoryToIR(llvm_dsp_factory.getCPtr(factory), factory);
  }

  public static llvm_dsp_factory readCDSPFactoryFromIRFile(String ir_code_path, String target, int opt_level) {
    long cPtr = FaustJNI.readCDSPFactoryFromIRFile(ir_code_path, target, opt_level);
    return (cPtr == 0) ? null : new llvm_dsp_factory(cPtr, false);
  }

  public static void writeCDSPFactoryToIRFile(llvm_dsp_factory factory, String ir_code_path) {
    FaustJNI.writeCDSPFactoryToIRFile(llvm_dsp_factory.getCPtr(factory), factory, ir_code_path);
  }

  public static llvm_dsp_factory readCDSPFactoryFromMachine(String machine_code, String target) {
    long cPtr = FaustJNI.readCDSPFactoryFromMachine(machine_code, target);
    return (cPtr == 0) ? null : new llvm_dsp_factory(cPtr, false);
  }

  public static String writeCDSPFactoryToMachine(llvm_dsp_factory factory, String target) {
    return FaustJNI.writeCDSPFactoryToMachine(llvm_dsp_factory.getCPtr(factory), factory, target);
  }

  public static llvm_dsp_factory readCDSPFactoryFromMachineFile(String machine_code_path, String target) {
    long cPtr = FaustJNI.readCDSPFactoryFromMachineFile(machine_code_path, target);
    return (cPtr == 0) ? null : new llvm_dsp_factory(cPtr, false);
  }

  public static void writeCDSPFactoryToMachineFile(llvm_dsp_factory factory, String machine_code_path, String target) {
    FaustJNI.writeCDSPFactoryToMachineFile(llvm_dsp_factory.getCPtr(factory), factory, machine_code_path, target);
  }

  public static int getNumInputsCDSPInstance(llvm_dsp dsp) {
    return FaustJNI.getNumInputsCDSPInstance(llvm_dsp.getCPtr(dsp), dsp);
  }

  public static int getNumOutputsCDSPInstance(llvm_dsp dsp) {
    return FaustJNI.getNumOutputsCDSPInstance(llvm_dsp.getCPtr(dsp), dsp);
  }

  public static void buildUserInterfaceCDSPInstance(llvm_dsp dsp, SWIGTYPE_p_UIGlue arg1) {
    FaustJNI.buildUserInterfaceCDSPInstance(llvm_dsp.getCPtr(dsp), dsp, SWIGTYPE_p_UIGlue.getCPtr(arg1));
  }

  public static int getSampleRateCDSPInstance(llvm_dsp dsp) {
    return FaustJNI.getSampleRateCDSPInstance(llvm_dsp.getCPtr(dsp), dsp);
  }

  public static void initCDSPInstance(llvm_dsp dsp, int samplingRate) {
    FaustJNI.initCDSPInstance(llvm_dsp.getCPtr(dsp), dsp, samplingRate);
  }

  public static void instanceInitCDSPInstance(llvm_dsp dsp, int samplingRate) {
    FaustJNI.instanceInitCDSPInstance(llvm_dsp.getCPtr(dsp), dsp, samplingRate);
  }

  public static void instanceConstantsCDSPInstance(llvm_dsp dsp, int samplingRate) {
    FaustJNI.instanceConstantsCDSPInstance(llvm_dsp.getCPtr(dsp), dsp, samplingRate);
  }

  public static void instanceResetUserInterfaceCDSPInstance(llvm_dsp dsp) {
    FaustJNI.instanceResetUserInterfaceCDSPInstance(llvm_dsp.getCPtr(dsp), dsp);
  }

  public static void instanceClearCDSPInstance(llvm_dsp dsp) {
    FaustJNI.instanceClearCDSPInstance(llvm_dsp.getCPtr(dsp), dsp);
  }

  public static llvm_dsp cloneCDSPInstance(llvm_dsp dsp) {
    long cPtr = FaustJNI.cloneCDSPInstance(llvm_dsp.getCPtr(dsp), dsp);
    return (cPtr == 0) ? null : new llvm_dsp(cPtr, false);
  }

  public static void metadataCDSPInstance(llvm_dsp dsp, SWIGTYPE_p_MetaGlue meta) {
    FaustJNI.metadataCDSPInstance(llvm_dsp.getCPtr(dsp), dsp, SWIGTYPE_p_MetaGlue.getCPtr(meta));
  }

  public static void computeCDSPInstance(llvm_dsp dsp, int count, SWIGTYPE_p_p_FAUSTFLOAT input, SWIGTYPE_p_p_FAUSTFLOAT output) {
    FaustJNI.computeCDSPInstance(llvm_dsp.getCPtr(dsp), dsp, count, SWIGTYPE_p_p_FAUSTFLOAT.getCPtr(input), SWIGTYPE_p_p_FAUSTFLOAT.getCPtr(output));
  }

  public static void setCMemoryManager(llvm_dsp_factory factory, SWIGTYPE_p_ManagerGlue manager) {
    FaustJNI.setCMemoryManager(llvm_dsp_factory.getCPtr(factory), factory, SWIGTYPE_p_ManagerGlue.getCPtr(manager));
  }

  public static llvm_dsp createCDSPInstance(llvm_dsp_factory factory) {
    long cPtr = FaustJNI.createCDSPInstance(llvm_dsp_factory.getCPtr(factory), factory);
    return (cPtr == 0) ? null : new llvm_dsp(cPtr, false);
  }

  public static void deleteCDSPInstance(llvm_dsp dsp) {
    FaustJNI.deleteCDSPInstance(llvm_dsp.getCPtr(dsp), dsp);
  }

  public static llvm_dsp_factory createCDSPFactoryFromFileAux(String filename, String argv, String target, int opt_level) {
    long cPtr = FaustJNI.createCDSPFactoryFromFileAux(filename, argv, target, opt_level);
    return (cPtr == 0) ? null : new llvm_dsp_factory(cPtr, false);
  }

  public static llvm_dsp_factory createCDSPFactoryFromStringAux(String name_app, String dsp_content, String argv, String target, int opt_level) {
    long cPtr = FaustJNI.createCDSPFactoryFromStringAux(name_app, dsp_content, argv, target, opt_level);
    return (cPtr == 0) ? null : new llvm_dsp_factory(cPtr, false);
  }

  public static String getCDSPLastError() {
    return FaustJNI.getCDSPLastError();
  }

}
