X-Git-Url: https://scm.cri.minesparis.psl.eu/git/minwii.git/blobdiff_plain/21025650d4d91bd0e1848bf1a78208301180e604..0bb53427dd76e9e9863362dd3c9b2d205b4f8043:/src/app/synth.py diff --git a/src/app/synth.py b/src/app/synth.py new file mode 100755 index 0000000..a2a0244 --- /dev/null +++ b/src/app/synth.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +""" +module de wrapping du synthétiseur + +$Id$ +$URL$ +""" +from os.path import realpath, sep, exists +from fluidsynth import Synth as FSynth + +class Synth(FSynth) : + + def __init__(self, gain=0.2, samplerate=44100) : + FSynth.__init__(self, gain=gain, samplerate=samplerate) + + sfPath = realpath(__file__).split(sep) + sfPath = sfPath[:-1] + sfPath.append('soundfonts') + + sfPath.append('FluidR3_GM.sf2') + sfPath = sep.join(sfPath) + assert exists(sfPath) + + self.start() + self.fsid = self.sfload(sfPath) + + def sfunload(self, update_midi_preset=0): + FSynth.sfunload(self, self.fsid, update_midi_preset=update_midi_preset) + + def program_select(self, chan, bank, preset): + FSynth.program_select(self, chan, self.fsid, bank, preset) + + def sfont_select(self, chan): + FSynth.sfont_select(self, chan, self.fsid) + + + + +if __name__ == '__main__' : + initsynth() \ No newline at end of file