package bass;

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

import bass.BassEncLibrary.ENCODEPROC;

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

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