Delete OpenAL buffers with the buffer API

This commit is contained in:
Brandon McGinty (chatgpt)
2026-08-09 14:22:46 -04:00
committed by Brandon McGinty
parent 3f1e5d42ad
commit c99b0f4473
2 changed files with 10 additions and 5 deletions
+8 -3
View File
@@ -29,6 +29,9 @@ type Buffers []Buffer
// NewBuffers() creates n fresh buffers.
// Renamed, was GenBuffers.
func NewBuffers(n int) (buffers Buffers) {
if n <= 0 {
return Buffers{}
}
buffers = make(Buffers, n)
C.walGenBuffers(C.ALsizei(n), unsafe.Pointer(&buffers[0]))
return
@@ -36,8 +39,10 @@ func NewBuffers(n int) (buffers Buffers) {
// Delete() deletes the given buffers.
func (self Buffers) Delete() {
n := len(self)
C.walDeleteBuffers(C.ALsizei(n), unsafe.Pointer(&self[0]))
if len(self) == 0 {
return
}
C.walDeleteBuffers(C.ALsizei(len(self)), unsafe.Pointer(&self[0]))
}
// Renamed, was Bufferf.
@@ -179,7 +184,7 @@ func NewBuffer() Buffer {
// Delete() deletes a single buffer.
// Convenience function, see DeleteBuffers().
func (self Buffer) Delete() {
C.walDeleteSource(C.ALuint(self))
C.walDeleteBuffer(C.ALuint(self))
}
// GetFrequency() returns the frequency, in Hz, of the buffer's sample data.