def __init__(self): self.source = al.ALuint(0) al.alGenSources(1, self.source) al.alSourcef(self.source, al.AL_ROLLOFF_FACTOR, 0) al.alSourcei(self.source, al.AL_SOURCE_RELATIVE, 0) self.state = al.ALint(0) self._volume = 1.0 self._pitch = 1.0 self._position = [0, 0, 0] self._rolloff = 1.0 self._loop = False self.queue = []
def __init__(self): #load source player self.source = al.ALuint(0) al.alGenSources(1, self.source) #disable rolloff factor by default al.alSourcef(self.source, al.AL_ROLLOFF_FACTOR, 0) #disable source relative by default al.alSourcei(self.source, al.AL_SOURCE_RELATIVE, 0) #capture player state buffer self.state = al.ALint(0) #set internal variable tracking self._volume = 1.0 self._pitch = 1.0 self._position = [0, 0, 0] self._rolloff = 1.0 self._loop = False self.queue = []
def __init__(self): # load source player self.source = al.ALuint(0) al.alGenSources(1, self.source) # disable rolloff factor by default al.alSourcef(self.source, al.AL_ROLLOFF_FACTOR, 0) # disable source relative by default al.alSourcei(self.source, al.AL_SOURCE_RELATIVE, 0) # capture player state buffer self.state = al.ALint(0) # set internal variable tracking self._volume = 1.0 self._pitch = 1.0 self._position = [0, 0, 0] self._rolloff = 1.0 self._loop = True self.queue = []
def _set_seek(self, offset): #float 0.0-1.0 al.alSourcei(self.source, al.AL_BYTE_OFFSET, int(self.queue[0].length * offset))
def remove(self): if len(self.queue) > 0: al.alSourceUnqueueBuffers(self.source, 1, self.queue[0].buf) #self.buf al.alSourcei(self.source, al.AL_BUFFER, 0) self.queue.pop(0)
def _set_loop(self, lo): self._loop = lo al.alSourcei(self.source, al.AL_LOOPING, lo)
def remove(self): if len(self.queue) > 0: al.alSourceUnqueueBuffers(self.source, 1, self.queue[0].buffer) al.alSourcei(self.source, al.AL_BUFFER, 0) self.queue.pop(0)
def _set_seek(self, offset): al.alSourcei(self.source, al.AL_BYTE_OFFSET, int(self.queue[0].length * offset))