muzhack 0.2 :: Abstractions for Pure Data

Net_DataFlow

Net_DataFlow is a set of PHP classes for creating Pure Data Message handlers in PHP !

You need PEAR to run it. To install, type the following line:
pear install http://www.sourcelibre.com/puredata/Net_DataFlow-0.1.0.tgz

See a usage example

The following example patch is included in the package. It only works on a *NIX system as it is meant to use TCP sockets and the *NIX command line.

Please tell me if this is useful for one of your projects.
About Net_DataFlow-0.1.0
========================
Provides        Classes:
Package         Net_DataFlow
Summary         Set of PHP classes to create message handlers
                for Pure Data or Max/MSP.
Description     Creates a Socket server and client to send and
                receive TCP messages.

                The commands are passed as lists which
                selectors define the callback function in your
                class.

                This is actually a framework for creating PHP
                applications started from the command line
                which provide an interface to dataflow
                languages like Pure Data.
Maintainers     Alexandre Quessy  (lead)
Version         0.1.0
Release Date    2005-11-08
Release License LGPL License
Release State   alpha
Release Notes   Initial release.

                TODO:
                 * fix the error handler
                 * support OSC and UDP
                 * use the methods in the Net_DataFlow class
                 * separate the PdSend form the PdReceive
Release Deps    Package Net_Server >= 0.12.0
                Package Net_Socket >= 1.0.6
Last Modified   2005-11-08

:: MUZHACK :: Abstractions for Pure Data AUTHOR Alexandre Quessy alex {A} sourcelibre.com DOWNLOAD http://www.sourcelibre.com/puredata/ http://www.sourcelibre.com/puredata/muzhack-latest.tar.gz VERSION 0.2 alpha 2005-08-12 ABOUT Just a few musical tricks for Pd. It is also a proposal to avoid name clashes between abstractions and externals for Pd. They are mostly all from me, except for [audio.loopser~], [audio.flanger~] and [audio.adsr~] which I include here for their utility. I would be happy to include more work from other people. Please propose your own mgic tricks. The structure (packages and objects names) will probably change a lot as I am trying to figure out the best way to categorizes the abstractions. INSTALLATION Add this directory to your -lib path in Pd. LICENSE All my patches are GPL, except [example.music.penta] which I might use in a performance soon. I do not remember who created [audio.flanger~]. FILES There a lot of TODOs, as this is only an alpha release. All the names are going to change soon. The smilies below are just personnal notes on how I like them or not. audio.adsr~.pd ADSR envelope generator from the Pd documentation audio.channel~.pd Channel with a pan and a volume. Works with audio.mixer~. TODO : fix the wah audio.dtmf.busy~.pd Phone sound : line is busy audio.dtmf.hang-up~.pd Phone sound : after a while when you need to hang up audio.dtmf.hurry-up~.pd Phone sound : when you have forgotten the phone for so long audio.dtmf.numbers~.pd Phone sound : all the numbers audio.dtmf.ring~.pd Phone sound : ring audio.dtmf.tone~.pd Phone sound : ready to dial audio.flanger~.pd Unknown origin audio.loopser~.pd From Michal Seta's greatest hits. Not sure about the license. audio.mixer~.pd Output mixer for all the channels. Depends on audio.channel~ audio.out.wav~.pd Writes a wav sound file example.music.penta.pd :-D What is this all about ? gem.alphamovie.pd Interface to a movie, with transparency inlet. gem.fiddleRGB~.pd Converts an audio signal to a rainbow colors scale gem.pix.video.pd Starts a pix_video chain with alpha and RGB color space. Bang to choose file. gem.win.pd Interface to gemwin. With world light. Ok. gem.window-ctrl.pd Simplified gemwin creation (obsolete) help-audio.channel~.pd :-) help-audio.dtmf.numbers~.pd :-D Would be great if it would work... help-audio.flanger~.pd example help-audio.loopser~.pd example help-audio.out.wav~.pd example help-gem.fiddleRGB~.pd :-D (TODO change depency on gem.window-ctrl to a better one) help-math.linear2log.pd :-D help-music.harmonics.pd :-) help-music.metronome.pd :-D help-music.sa~.pd example :-( help-music.sa2~.pd :-D Bourdon. Also explains music.penta2dia help-music.scale.penta2dia.pd :-D TODO : Would it be faster not to use a table ? help-music.score.section.pd :-) Musical section timing. TODO : Make it metrobar-wise ! help-snd.ding~.pd Simple percussion math.bpm2ms.pd Converts beat per minute to milliseconds (between two beats) math.linear2log.pd Converts floats from 0 to 1 to a log scale from 0 to 1. Thanks to matju. math.ms2bpm.pd Converts the miliseconds between two beats into beat per minute math.random.line.pd Create lines from the latest point to (n). Needs [randomF] form...? TODO : bang left inlet math.round.pd Rounds to the closest integer. (ceil or floor to the closest) Useful with [fiddle~] music.greek2midi.pd onverts a letter symbol (A A# Bb B...) to a midi note (0-11) TODO : Accpet any # or b music.harmonics.pd Multiplies a frequency (Hz) by integers to get the natural harmonics serie music.metro.pd Simply a [metro] with a [line] on the right inlet music.metronome.pd Nice binary/ternary metronome that accepts 2 atoms lists (bpm and ms to ramp). Depends on music.bpm2ms Beat per minute to milliseconds music.midi2greek.pd Converts notes (0-11) to greek notation TODO : Make this better, maybe ? music.sa~.pd Simply generates a perfect fifth. TODO : replace by a better one. music.sa2.bangdelay.pd music.sa~'s dependency music.sa2~.pd Bourdon. TODO : allow to change the amplitude change frequency. music.scale.penta2dia.pd Converts a (0-4) pentatonic scale to diatonic (0-6). TODO : avoid using table music.score.section.pd Section of a song. To create forms (ABACABA), scores. Interface to delay. TODO : make it better snd.ding~.pd Sound for percussions snd.perc.noise~.pd Sound for percussions