func NewTrie() *HatTrie {
	trie := C.start()
	out := &HatTrie{
		trie: trie,
	}
	runtime.SetFinalizer(out, finalizeHatTrie)
	return out
}
Example #2
0
func playTrack(t uint8) {
	//
	if t >= nTracks {
		return
	}
	if int(C.start(C.int(cdd))) == 0 {
		return
	}
	C.play(C.int(cdd), C.uint(startFrame[t]), C.uint(startFrame[nTracks]-offset))
}
Example #3
0
func startPlaying(v Voice, c PlayControl) error {
	if playing {
		return errors.New("audio.Play doesn't yet support multiple simultaneous voices on Android.")
	}
	playing = true
	voice = v
	ctrl = c
	Init(voice, Params{SampleRate: 48000}) // corresponds with SL_SAMPLINGRATE_48 in play_android.c
	C.start()
	return nil
}
Example #4
0
func startPlaying(v Voice, c PlayControl) error {
	if playing {
		return errors.New("audio.Play doesn't yet support multiple simultaneous voices on iOS.")
	}
	playing = true
	voice = v
	ctrl = c
	Init(voice, Params{SampleRate: 44100})
	if err := C.start(); err != nil {
		return errors.New(C.GoString(err))
	}
	return nil
}
Example #5
0
func CgoExternalThreadPanic() {
	C.start()
	select {}
}
Example #6
0
func Start(name string) {
	p := C.CString(name)
	C.start(p)
	C.free(unsafe.Pointer(p))
}