Hallo, Atte André Jensen hat gesagt: // Atte André Jensen wrote:
I managed to finish my first extension (even while I haven't got a clue what pd is up to:-)).
We call these things "externals" around here. ;)
It simply transforms output from notein to legato after these simple rules: left output: the last note that was pressed.
It doesn't seem to do this all the time. With some wild clicking on attached patch I can make it send a "0" to the first inlet as well, although no note 0 was ever sent. If it's in that state, also no velocity output is generate anymore.
right output: 0 if no notes are pressed other wise the velocity of the first played note. If you played a monophonic hardware synth, you'll understand my poor explanation...
One thing that IMO should accompany every Pd external is a help patch. Just make a file NAMEOFEXTERNAL-help.pd (legato-help.pd) that shows and explains what your object does, what the inlets accept and what the outlets will produce. Ideally you'd make a little example of the object in use as well. help-patches are a good way to test objects as well.
Now, I have a couple of questions, just to round this off:
- The makefile is the one IOhannes pointed me towards([1]), but with
PDROOT hardcoded to "/home/atte/software/pd/current/". Isn't there a more elegant way so that someone trying to build it will have to edit the makefile?
I didn't need to edit the Makefile at all on Linux, however I did change #include "m_pd.h" to #include <m_pd.h> (see another thread here). If m_pd.h is in a system include path, all the PDROOT stuff is unnecessary to build the class.
- It doesn't like to receive a bang (basically anything but float). It
doesn't really make much sense to send it a float, but would it be nicer to handle this in some way? Right now it just prints "no method for 'bang'" in the pd window...
That's okay: If an object is not supposed to deal with "bang" than that's how that object is supposed to be and printing the error/warning to the console is fine.
- Should I put it up somewhere, for instance on my servers svn-repo?
puredata.info would be a good place as well. Or I would volunteer to add it to the Sourceforge-CVS.
Frank Barknecht _ ______footils.org_ __goto10.org__