Initial commit.
This commit is contained in:
49
engine/bus.odin
Normal file
49
engine/bus.odin
Normal file
@@ -0,0 +1,49 @@
|
||||
package engine
|
||||
|
||||
import "core:log"
|
||||
|
||||
import "ljud"
|
||||
|
||||
Bus :: struct {
|
||||
backend: ^Bus_Backend,
|
||||
}
|
||||
|
||||
create_bus :: proc(engine: ^Engine) -> (Bus, bool) {
|
||||
assert(engine != nil)
|
||||
|
||||
bus: Bus
|
||||
|
||||
when AUDIO_ENGINE_LJUD {
|
||||
backend, ok := ljud.create_bus(&engine.backend)
|
||||
if !ok {
|
||||
return {}, false
|
||||
}
|
||||
|
||||
bus.backend = backend
|
||||
}
|
||||
else {
|
||||
#assert("TODO: SS - Implement for Audio Engine backend")
|
||||
}
|
||||
|
||||
if bus.backend == nil {
|
||||
return {}, false
|
||||
}
|
||||
|
||||
return bus, true
|
||||
}
|
||||
|
||||
destroy_bus :: proc(engine: ^Engine, bus: ^Bus) {
|
||||
assert(engine != nil)
|
||||
assert(bus != nil)
|
||||
assert(bus.backend != nil)
|
||||
|
||||
when AUDIO_ENGINE_LJUD {
|
||||
ljud.destroy_bus(&engine.backend, bus.backend)
|
||||
}
|
||||
else {
|
||||
#assert("TODO: SS - Implement for Audio Engine backend")
|
||||
}
|
||||
|
||||
free(bus.backend)
|
||||
bus.backend = nil
|
||||
}
|
||||
Reference in New Issue
Block a user