package Audio;

import com.sun.jna.Library;
import com.sun.jna.Native;
import com.sun.jna.Pointer;

import Audio.BassEnc.ENCODEPROC;

/**
 * Bass Encoder OPUS Plugin
 * Must load together with BassEncLibrary
 * @author rdkartono
 *
 */
@SuppressWarnings("unused")
public interface BassEncOPUS extends Library{
	BassEncOPUS BASSENC_OPUS = Native.load("bassenc_opus",BassEncOPUS.class);
	interface Constant{
		// BASS_Encode_OPUS_NewStream flags
		int BASS_ENCODE_OPUS_RESET = 0x1000000;
		int BASS_ENCODE_OPUS_CTLONLY = 0x2000000;
	}
	int BASS_Encode_OPUS_GetVersion();

	int BASS_Encode_OPUS_Start(int handle, String options, int flags, ENCODEPROC proc, Pointer user);
	int BASS_Encode_OPUS_StartFile(int handle, String options, int flags, String filename);
	boolean BASS_Encode_OPUS_NewStream(int handle, String options, int flags);
}
