Use unsafe Slice/SliceData
This commit is contained in:
parent
e3d8d6dd12
commit
040d87fb79
2 changed files with 6 additions and 14 deletions
|
@ -11,7 +11,6 @@ package rl
|
|||
*/
|
||||
import "C"
|
||||
import (
|
||||
"reflect"
|
||||
"unsafe"
|
||||
)
|
||||
|
||||
|
@ -228,16 +227,10 @@ func WaveCrop(wave Wave, initSample int32, finalSample int32) {
|
|||
|
||||
// LoadWaveSamples - Get samples data from wave as a floats array
|
||||
func LoadWaveSamples(wave Wave) []float32 {
|
||||
var data []float32
|
||||
cwave := wave.cptr()
|
||||
ret := C.LoadWaveSamples(*cwave)
|
||||
|
||||
sliceHeader := (*reflect.SliceHeader)((unsafe.Pointer(&data)))
|
||||
sliceHeader.Cap = int(wave.FrameCount)
|
||||
sliceHeader.Len = int(wave.FrameCount)
|
||||
sliceHeader.Data = uintptr(unsafe.Pointer(ret))
|
||||
|
||||
return data
|
||||
v := unsafe.Slice((*float32)(unsafe.Pointer(ret)), wave.FrameCount)
|
||||
return v
|
||||
}
|
||||
|
||||
// UnloadWaveSamples - Unload samples data loaded with LoadWaveSamples()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue