diff --git a/examples/audio/raw_stream/main.go b/examples/audio/raw_stream/main.go index b1e28d0..39870f9 100644 --- a/examples/audio/raw_stream/main.go +++ b/examples/audio/raw_stream/main.go @@ -2,7 +2,6 @@ package main import ( "math" - "unsafe" "github.com/gen2brain/raylib-go/raylib" ) @@ -48,7 +47,7 @@ func main() { numSamples = samplesLeft } - raylib.UpdateAudioStream(stream, unsafe.Pointer(&data[totalSamples-samplesLeft]), numSamples) + raylib.UpdateAudioStream(stream, data[totalSamples-samplesLeft:], numSamples) samplesLeft -= numSamples diff --git a/raylib/audio.go b/raylib/audio.go index 9cf51a1..1badcbe 100644 --- a/raylib/audio.go +++ b/raylib/audio.go @@ -23,7 +23,7 @@ type Wave struct { // Number of channels (1-mono, 2-stereo) Channels uint32 // Buffer data pointer - Data unsafe.Pointer + data unsafe.Pointer } func (w *Wave) cptr() *C.Wave { @@ -31,8 +31,9 @@ func (w *Wave) cptr() *C.Wave { } // NewWave - Returns new Wave -func NewWave(sampleCount, sampleRate, sampleSize, channels uint32, data unsafe.Pointer) Wave { - return Wave{sampleCount, sampleRate, sampleSize, channels, data} +func NewWave(sampleCount, sampleRate, sampleSize, channels uint32, data []byte) Wave { + d := unsafe.Pointer(&data[0]) + return Wave{sampleCount, sampleRate, sampleSize, channels, d} } // newWaveFromPointer - Returns new Wave from pointer @@ -172,9 +173,9 @@ func LoadSoundFromWave(wave Wave) Sound { } // UpdateSound - Update sound buffer with new data -func UpdateSound(sound Sound, data unsafe.Pointer, samplesCount int32) { +func UpdateSound(sound Sound, data []byte, samplesCount int32) { csound := sound.cptr() - cdata := (unsafe.Pointer)(unsafe.Pointer(data)) + cdata := unsafe.Pointer(&data[0]) csamplesCount := (C.int)(samplesCount) C.UpdateSound(*csound, cdata, csamplesCount) } @@ -378,9 +379,9 @@ func InitAudioStream(sampleRate uint32, sampleSize uint32, channels uint32) Audi } // UpdateAudioStream - Update audio stream buffers with data -func UpdateAudioStream(stream AudioStream, data unsafe.Pointer, samplesCount int32) { +func UpdateAudioStream(stream AudioStream, data []float32, samplesCount int32) { cstream := stream.cptr() - cdata := (unsafe.Pointer)(unsafe.Pointer(data)) + cdata := unsafe.Pointer(&data[0]) csamplesCount := (C.int)(samplesCount) C.UpdateAudioStream(*cstream, cdata, csamplesCount) } diff --git a/raylib/textures.go b/raylib/textures.go index c5545b7..b7b5261 100644 --- a/raylib/textures.go +++ b/raylib/textures.go @@ -90,7 +90,7 @@ const ( // NOTE: Data stored in CPU memory (RAM) type Image struct { // Image raw data - Data unsafe.Pointer + data unsafe.Pointer // Image base width Width int32 // Image base height @@ -118,8 +118,9 @@ func (i *Image) ToImage() image.Image { } // NewImage - Returns new Image -func NewImage(data unsafe.Pointer, width, height, mipmaps int32, format TextureFormat) *Image { - return &Image{data, width, height, mipmaps, format} +func NewImage(data []byte, width, height, mipmaps int32, format TextureFormat) *Image { + d := unsafe.Pointer(&data[0]) + return &Image{d, width, height, mipmaps, format} } // newImageFromPointer - Returns new Image from pointer