func NewTrie() *HatTrie { trie := C.start() out := &HatTrie{ trie: trie, } runtime.SetFinalizer(out, finalizeHatTrie) return out }
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)) }
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 }
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 }
func CgoExternalThreadPanic() { C.start() select {} }
func Start(name string) { p := C.CString(name) C.start(p) C.free(unsafe.Pointer(p)) }