[PD-dev] New externals

Brian Neltner neltnerb at MIT.EDU
Sun May 29 21:20:57 CEST 2011


Dear Puredata folks,

I have a new external that does HSI (hue, saturation, intensity) to RGB
conversion. There is already an existing HSV2RGB function, but HSI is a
more sensible color space for LED lighting (which is what I use my
external for).

I don't want to get involved in the PureData development community
really, given the numerous current demands on my time. However, I think
that others may want this external so I was wondering if there is a
simple way to upload it. As is, you just run the makefile using gcc on
either a mac or linux to produce the external.

I don't know how to use windows, but I imagine someone could figure out
how to modify the makefile to target the platform if they wanted.

I also included a usage patch showing how I use it to control LED
lighting over OSC through a MIDI controller. Sorry if it's a bit messy,
I grew up on Max/MSP where we just wire everything and then hide them. I
didn't realize that hiding in PD is done with some kind of window and so
I didn't do things like send and receive. Should work though.

I'd also be curious if anyone knows of a datarate limiting object for
messages. Right now, I'm using buddy along with a metronome to
accomplish the task (pretty straightforward), but it seems like a task
that other people might be interested in -- for instance in cases where
events are overwhelming the CPU and there is a desire to limit the rate
of messages when the CPU is being overutilized. In my patch, I use it to
limit the maximum datarate physically being sent out over UDP to my wifi
lights because too high of datarates result in lags at the 802.11b
level.

The other object that I found was strangely missing was the ability to
do powers or logarithms inside of an expr. Probably been brought up
before, but I wanted to do logarithmic scaling of a dial output to
control the speed of hue rotation of lighting. I ended up doing it with
an any mode sync, pow, and an expr on the exponent but it was messy and
perhaps tricky for someone with less experience to figure out how to do.

Best,
Brian Neltner
-------------- next part --------------
A non-text attachment was scrubbed...
Name: hsi2rgb.zip
Type: application/zip
Size: 12853 bytes
Desc: not available
URL: <http://lists.puredata.info/pipermail/pd-dev/attachments/20110529/31d63346/attachment-0001.zip>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: hsi2rgb.pd_darwin
Type: application/x-puredata-external-darwin
Size: 12888 bytes
Desc: not available
URL: <http://lists.puredata.info/pipermail/pd-dev/attachments/20110529/31d63346/attachment-0003.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: hsi2rgb.pd_linux
Type: application/x-puredata-external-linux
Size: 12641 bytes
Desc: not available
URL: <http://lists.puredata.info/pipermail/pd-dev/attachments/20110529/31d63346/attachment-0004.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: directosc.pd
Type: text/x-puredata
Size: 3500 bytes
Desc: not available
URL: <http://lists.puredata.info/pipermail/pd-dev/attachments/20110529/31d63346/attachment-0005.bin>


More information about the Pd-dev mailing list