Example #1
0
    def on_get_data(self, data):
        ansi.debug('on_get_data')
        # fill the chunk with audio data from the stream source
        data += self.getData()

        # return true to continue playing
        return True
Example #2
0
    def onSongChanged(self, *args, **kwargs):
        ansi.debug('onSongChanged')

        if self.pcm:
            self.pcm.close()

        self.pcm = alsaaudio.PCM(type=alsaaudio.PCM_PLAYBACK)  # mode=alsaaudio.PCM_NORMAL)

        if self.debug:
            ansi.debug('Song changed; channels: {}; samplerate: {}; period size: {}',
                    self.sampleGen.channels, self.sampleGen.samplerate, self.sampleGen.framesPerChunk)

        self.pcm.setchannels(self.sampleGen.channels)
        self.pcm.setrate(self.sampleGen.samplerate)
        self.pcm.setperiodsize(self.sampleGen.framesPerChunk)
        self.pcm.setformat(alsaaudio.PCM_FORMAT_S16_LE)
Example #3
0
 def sample_rate(self):
     ansi.debug('sample_rate')
     return self.GetSampleRate()
Example #4
0
 def channel_count(self):
     ansi.debug('channel_count')
     return self.GetChannelsCount()
Example #5
0
 def OnGetData(self):
     ansi.debug('OnGetData')
     return self.getData()
Example #6
0
 def initialize(self, *args, **kwargs):
     ansi.debug('initialize')
     self.Initialize(*args, **kwargs)
Example #7
0
 def _finishPlay(self):
     ansi.debug('_finishPlay')
     self.Play()
Example #8
0
 def _finishPlay(self):
     ansi.debug('_finishPlay (sfml2)')
     sfml.SoundStream.play(self)
Example #9
0
 def play(self):
     ansi.debug('play')
     self.sampleGen.loadNextFile()
     mainLoop.currentProcess.queueCall(self._finishPlay)
Example #10
0
 def onSongChanged(self, *args, **kwargs):
     ansi.debug('onSongChanged')
     if (self.channel_count, self.sample_rate) != (self.sampleGen.channels, self.sampleGen.samplerate):
         self.initialize(self.sampleGen.channels, self.sampleGen.samplerate)
Example #11
0
    def __init__(self, sampleGen):
        ansi.debug('__init__')
        sfml.SoundStream.__init__(self)

        self.sampleGen = sampleGen
        sampleGen.onSongChanged.add(self.onSongChanged)