// Path: src/main/java/ca/hedlund/jpraat/binding/melder/MelderIntegerRange.java
// public class MelderIntegerRange extends Structure {
// 
// 	public int first, last = 0;
// 
// 	public class ByValue extends MelderIntegerRange implements Structure.ByValue {};
// 
// 	public class ByReference extends MelderIntegerRange implements Structure.ByReference {};
// 
// }


import java.util.concurrent.atomic.*;
import ca.hedlund.jpraat.binding.melder.MelderIntegerRange;
import com.sun.jna.*;
import ca.hedlund.jpraat.binding.*;
import ca.hedlund.jpraat.binding.jna.*;
import ca.hedlund.jpraat.exceptions.*;
							finishingTime, density);
			Praat.checkAndClearLastError();
		} catch (PraatException e) {
			throw e;
		} finally {
			Praat.wrapperLock.unlock();
		}
		return retVal;
	}
	
	public void init (double startingTime, double finishingTime, long initialMaxnt) {
		Praat.INSTANCE.PointProcess_init(this, startingTime, finishingTime, new NativeIntptr_t(initialMaxnt));
	}
	
	public long getLowIndex (double t) {
		return Praat.INSTANCE.PointProcess_getLowIndex(this, t).longValue();
	}
	
	public long getHighIndex (double t) {
		return Praat.INSTANCE.PointProcess_getHighIndex(this, t).longValue();
	}
	
	public long getNearestIndex (double t) {
		return Praat.INSTANCE.PointProcess_getNearestIndex(this, t).longValue();
	}
	
	public double getValueAtIndex (long idx) {
		return Praat.INSTANCE.PointProcess_getValueAtIndex(this, new NativeIntptr_t(idx));
	}
	
// Path: src/main/java/ca/hedlund/jpraat/binding/melder/MelderIntegerRange.java
// public class MelderIntegerRange extends Structure {
// 
// 	public int first, last = 0;
// 
// 	public class ByValue extends MelderIntegerRange implements Structure.ByValue {};
// 
// 	public class ByReference extends MelderIntegerRange implements Structure.ByReference {};
// 
// }


// Path: src/main/java/ca/hedlund/jpraat/binding/fon/PointProcess.java
import java.util.concurrent.atomic.*;
import ca.hedlund.jpraat.binding.melder.MelderIntegerRange;
import com.sun.jna.*;
import ca.hedlund.jpraat.binding.*;
import ca.hedlund.jpraat.binding.jna.*;
import ca.hedlund.jpraat.exceptions.*;

							finishingTime, density);
			Praat.checkAndClearLastError();
		} catch (PraatException e) {
			throw e;
		} finally {
			Praat.wrapperLock.unlock();
		}
		return retVal;
	}
	
	public void init (double startingTime, double finishingTime, long initialMaxnt) {
		Praat.INSTANCE.PointProcess_init(this, startingTime, finishingTime, new NativeIntptr_t(initialMaxnt));
	}
	
	public long getLowIndex (double t) {
		return Praat.INSTANCE.PointProcess_getLowIndex(this, t).longValue();
	}
	
	public long getHighIndex (double t) {
		return Praat.INSTANCE.PointProcess_getHighIndex(this, t).longValue();
	}
	
	public long getNearestIndex (double t) {
		return Praat.INSTANCE.PointProcess_getNearestIndex(this, t).longValue();
	}
	
	public double getValueAtIndex (long idx) {
		return Praat.INSTANCE.PointProcess_getValueAtIndex(this, new NativeIntptr_t(idx));
	}
	
	public MelderIntegerRange getWindowPoints (double tmin, double tmax) {