Add FromMemory functions

This commit is contained in:
Milan Nikolic 2021-05-26 12:01:51 +02:00
parent ad07f2586d
commit 3908769a21
No known key found for this signature in database
GPG key ID: 9229D0EAA3AA4E75
3 changed files with 48 additions and 1 deletions

View file

@ -58,6 +58,17 @@ func LoadWave(fileName string) Wave {
return v
}
// LoadWaveFromMemory - Load wave from memory buffer, fileType refers to extension: i.e. ".wav"
func LoadWaveFromMemory(fileType string, fileData []byte, dataSize int32) Wave {
cfileType := C.CString(fileType)
defer C.free(unsafe.Pointer(cfileType))
cfileData := (*C.uchar)(unsafe.Pointer(&fileData[0]))
cdataSize := (C.int)(dataSize)
ret := C.LoadWaveFromMemory(cfileType, cfileData, cdataSize)
v := newWaveFromPointer(unsafe.Pointer(&ret))
return v
}
// LoadSound - Load sound to memory
func LoadSound(fileName string) Sound {
cfileName := C.CString(fileName)
@ -193,7 +204,18 @@ func LoadMusicStream(fileName string) Music {
cfileName := C.CString(fileName)
defer C.free(unsafe.Pointer(cfileName))
ret := C.LoadMusicStream(cfileName)
v := *(*Music)(unsafe.Pointer(&ret))
v := newMusicFromPointer(unsafe.Pointer(&ret))
return v
}
// LoadMusicStreamFromMemory - Load music stream from data
func LoadMusicStreamFromMemory(fileType string, fileData []byte, dataSize int32) Music {
cfileType := C.CString(fileType)
defer C.free(unsafe.Pointer(cfileType))
cfileData := (*C.uchar)(unsafe.Pointer(&fileData[0]))
cdataSize := (C.int)(dataSize)
ret := C.LoadMusicStreamFromMemory(cfileType, cfileData, cdataSize)
v := newMusicFromPointer(unsafe.Pointer(&ret))
return v
}