hi, just a note to say, - Need to fix up the note_on/note_off methods to be able to pass in channel data.
On Mon, Apr 27, 2009 at 10:58 AM, René Dudfield <[email protected]> wrote: > hi, > > the Channel stuff isn't wrapped yet in midi.py... See pypm.pyx Channel to > see how Channels work. The portmidi.h file also has some good docs to see > how it works at the C level. However that's just used for input. > > I think you can change the channel like this: > > channel = 1 > note = 65 > velocity = 100 > output.write_short(0x90+channel, note, velocity) > > ... I think... will need to check the exact codes. > > So, yeah I agree... we should have a channel default with the > note_on/note_off methods. > > > > cu, > > > > On Mon, Apr 27, 2009 at 7:03 AM, Nirav Patel <[email protected]> wrote: >> >> The --list option goes to print_device_info(), which seems to be >> missing the initialization stuff: >> pygame.init() >> pygame.midi.init() >> >> I'm new to MIDI in general, but I am planning on using this in a >> project I'm working on. Is there a reason we are using channel 1 on >> MIDI Writes rather than having the channel be an argument of the >> function with a default of 1? >> >> Nirav >> >> On Tue, Jan 13, 2009 at 2:59 PM, Lenard Lindstrom <[email protected]> wrote: >> > Hi René, >> > >> > Good stuff. I added a main() function to midi.py, for consistency, as >> > well >> > as a --list option. As for porttime it is no big problem to repair the >> > Windows build. Just curious though, why did add a new PORTTIME macro to >> > Setup.in instead of: >> > >> > PORTMIDI = -lportmidi -lporttime >> > >> > >> > Lenard >> > >> > P.S. Brian, just add the line >> > >> > PORTTIME = >> > >> > to prebuilt\Setup_Win.in and the automated Windows builds will continue >> > to >> > work. >> > >> > >> > René Dudfield wrote: >> >> >> >> Hi, >> >> >> >> I added a get_device_info(device_id) function... to allow seeing which >> >> devices are available. The midi.py example prints out the available >> >> devices. >> >> >> >> it is also compiling on ubuntu... (ya! I finally got my ubuntu >> >> partition working again). >> >> >> >> Had to link in libporttime... and therefore add it as a dependency, >> >> which may have broken msys build. >> >> >> >> Added allowing to specify an optional device_id on the cmd line eg, >> >> --input 3 >> >> >> >> >> >> cu, >> >> >> >> >> >> >> >> On Wed, Dec 24, 2008 at 6:10 PM, René Dudfield <[email protected]> >> >> wrote: >> >> >> >>> >> >>> Hi, >> >>> >> >>> yes, something like that would be good. There could be a separate >> >>> function running in a background thread to handle all of the input >> >>> midi. Which I think would just run code similar to what is in the >> >>> example. Probably something very useful to add. >> >>> >> >>> A piano keyboard example would be a very nice one I think :) >> >>> >> >>> cu, >> >>> >> >>> >> >>> >> >>> On Wed, Dec 24, 2008 at 5:19 PM, Lenard Lindstrom <[email protected]> >> >>> wrote: >> >>> >> >>>> >> >>>> Hi René, >> >>>> >> >>>> I will look at the new midi.py and flesh out the keyboard example: >> >>>> port >> >>>> selection, a piano keyboard in the window, more notes, etc. It's good >> >>>> news >> >>>> about the pypm wrapper. One thing I was wondering, is it possible to >> >>>> hide >> >>>> the portmidi event to Pygame event translation, so only Pygame events >> >>>> are >> >>>> visible in the main loop? >> >>>> >> >>>> Lenard >> >>>> >> >>>> René Dudfield wrote: >> >>>> >> >>>>> >> >>>>> hey, >> >>>>> >> >>>>> that's cool. I checked in a new pygame.midi which uses a modified >> >>>>> version of your output class. >> >>>>> >> >>>>> I also put an examples/midi.py in there. It contains an input >> >>>>> example, and your output example converted to use the pygame.midi >> >>>>> module. >> >>>>> >> >>>>> python midi.py --output >> >>>>> python midi.py --input >> >>>>> >> >>>>> >> >>>>> Also John Harrison said we could use his pyrex pypm portmidi wrapper >> >>>>> in pygame :) >> >>>>> >> >>>>> cu, >> >>>>> >> >>>>> On Wed, Dec 24, 2008 at 6:57 AM, Lenard Lindstrom <[email protected]> >> >>>>> wrote: >> >>>>> >> >>>>> >> >>>>>> >> >>>>>> Hi, >> >>>>>> >> >>>>>> I'm reposting my keyboard pyportmidi example. It has been changed >> >>>>>> to >> >>>>>> use >> >>>>>> pygame.pypm. The midiport module may be of interest as it contains >> >>>>>> an >> >>>>>> output >> >>>>>> class. The keyboard program could go into the examples, with some >> >>>>>> improvements. Once midi has been fixed if you want to add >> >>>>>> keyboard.py >> >>>>>> to >> >>>>>> the >> >>>>>> examples, with the needed changes for pygame.midi, I can spruce it >> >>>>>> up >> >>>>>> to >> >>>>>> make it more intuitive. >> >>>>>> >> >>>>>> Usage: The q,w,e and r keys play four notes on the Church Organ >> >>>>>> instrument. >> >>>>>> Also the four notes can be played by clicking horizontally across >> >>>>>> the >> >>>>>> blue >> >>>>>> window. It is very simple for now but could be developed into a >> >>>>>> proper >> >>>>>> keyboard. >> >>>>>> >> >>>>>> Lenard >> >>>>>> >> >>>>>> René Dudfield wrote: >> >>>>>> >> >>>>>> >> >>>>>>> >> >>>>>>> hi again, >> >>>>>>> >> >>>>>>> Another note: >> >>>>>>> >> >>>>>>> Tim Thompson said we could include his patches to pyportmidi, and >> >>>>>>> also >> >>>>>>> include some of his other midi code... >> >>>>>>> >> >>>>>>> """You'll also find there a python module (nosuch.midiutil) that >> >>>>>>> contains higher-level routines for MIDI things, including a MIDI >> >>>>>>> file >> >>>>>>> reader, simple scheduler, etc.""" >> >>>>>>> >> >>>>>>> >> >>>>>>> >> >>>>>>> >> >>>>>> >> >>>>>> -- >> >>>>>> Lenard Lindstrom >> >>>>>> <[email protected]> >> >>>>>> >> >>>>>> >> >>>>>> >> >>>>>> >> >>>> >> >>>> -- >> >>>> Lenard Lindstrom >> >>>> <[email protected]> >> >>>> >> >>>> >> >>>> >> > >> > >> > -- >> > Lenard Lindstrom >> > <[email protected]> >> > >> > > >
