X-Git-Url: https://scm.cri.ensmp.fr/git/minwii.git/blobdiff_plain/346a9b8e1fcfe30629f0d1ee4675e9e8f89890cf..4c4732c6ed8cb0aaa70fb2d4c6e5a958868c5349:/src/controllers/Wiimote.py diff --git a/src/controllers/Wiimote.py b/src/controllers/Wiimote.py deleted file mode 100755 index e75cdc3..0000000 --- a/src/controllers/Wiimote.py +++ /dev/null @@ -1,133 +0,0 @@ -''' -Created on 15 juil. 2009 - -@author: Samuel Benveniste -''' -from gui.constants import * -import fluidsynth - -class Wiimote: - ''' - Object representing a Wiimote - - number: - The number of the Wiimote - port: - The pypm object representing the MIDI port on which the Wiimote emits - instrument: - The instrument associated with the Wiimote - cursor: - The cursor associated with the Wiimote - ''' - - def __init__(self, number, portNumber, port, instrument, cursor): - ''' - Constructor - - number: - The number of the Wiimote - portNumber: - The number of the port (as numbered by pypm) on which the wiimote emits - port: - The pypm object representing the MIDI port on which the Wiimote emits - instrument: - The instrument associated with the Wiimote - cursor: - The cursor associated with the Wiimote - ''' - self.number = number - self.portNumber = portNumber - self.port = port - self.instrument = instrument - self.cursor = cursor - self.numberPlayed = 0 - - self.fs = fs = fluidsynth.Synth() - fs.start() - soundFont = r"C:\Documents and Settings\Administrator\My Documents\Telechargements\fluid-soundfont-3.1\FluidR3_GM.sf2" - self.fsid = fsid = fs.sfload(soundFont) - bank = 0 - preset = 0 - fs.program_select(0, fsid, bank, preset) - - def __del__(self) : - self.fs.delete() - - def getNoteOnHexCode(self): - return (0x90 + self.instrument.channel - 1) - - def getAftertouchHexCode(self): - return (0xA0 + self.instrument.channel - 1) - - def getCCHexCode(self): - return (0xB0 + self.instrument.channel - 1) - -# def playNote(self, note, velocity): -# print 'playNote' -# noteNumber = self.instrument.getNote(note) -# -# if noteNumber != None : -# noteOnHexCode = self.getNoteOnHexCode() -# CCHexCode = self.getCCHexCode() -# else : -# noteNumber = defaultInstrumentNote -# noteOnHexCode = defaultNoteOnHexCode -# CCHexCode = defaultCCHexCode -# -# self.port.write_short(noteOnHexCode, noteNumber , 127) -# self.port.write_short(CCHexCode, 07, velocity) - - def playNoteByNoteNumber(self, midiNoteNumber, velocity): - print 'playNoteByNumber' - noteNumber = self.instrument.getNoteByNoteNumber(midiNoteNumber) - fs = self.fs - fs.noteon(0, noteNumber, velocity) - - return - noteNumber = self.instrument.getNoteByNoteNumber(midiNoteNumber) - - if noteNumber != None : - noteOnHexCode = self.getNoteOnHexCode() - CCHexCode = self.getCCHexCode() - else : - noteNumber = defaultInstrumentNote - noteOnHexCode = defaultNoteOnHexCode - CCHexCode = defaultCCHexCode - - self.port.write_short(noteOnHexCode, noteNumber , 127) - self.port.write_short(CCHexCode, 07, velocity) - - self.numberPlayed += 1 - -# def stopNote(self, note): -# print 'stopNote' -# noteNumber = self.instrument.getNote(note) -# if noteNumber != None : -# noteOnHexCode = self.getNoteOnHexCode() -# else : -# noteNumber = defaultInstrumentNote -# noteOnHexCode = defaultNoteOnHexCode -# -# self.port.write_short(noteOnHexCode, noteNumber, 0) - - def stopNoteByNoteNumber(self, midiNoteNumber): - print 'stopNoteByNoteNumber' - - noteNumber = self.instrument.getNoteByNoteNumber(midiNoteNumber) - fs = self.fs - fs.noteoff(0, noteNumber) - - return - noteNumber = self.instrument.getNoteByNoteNumber(midiNoteNumber) - if noteNumber != None : - noteOnHexCode = self.getNoteOnHexCode() - else : - noteNumber = defaultInstrumentNote - noteOnHexCode = defaultNoteOnHexCode - - self.port.write_short(noteOnHexCode, noteNumber, 0) - -# def allNotesOff(self): -# print 'allNoteOff' -# CCHexCode = self.getCCHexCode() -# self.port.write_short(CCHexCode,123,0)