The "reference" section of the documentation should contain a patch demonstrating how to use each of Pd's classes. As of version 0.29, a complete list of "object" classes follows. Not included in this list are messages, atoms, graphs, etc. which aren't typed into object boxes but come straight off the "add" menu. ---------------------------- GLUE -------------------------------- bang - output a bang message float - store and recall a number symbol - store and recall a symbol int - store and recall an integer send - send a message to a named object receive - catch "sent" messages select - test for matching numbers or symbols route - route messages according to first element pack - make compound messages unpack - get elements of compound messages trigger - sequence and convert messagess spigot - interruptible message connection moses - part a numeric stream until - looping mechanism print - print out messages makefilename - format a symbol with a variable field change - remove repeated numbers from a stream swap - swap two numbers value - shared numeric value ------------------------------ TIME ---------------------------------- delay - send a message after a time delay metro - send a message periodically line - send a series of linearly stepped numbers timer - measure time intervals cputime - measure CPU time realtime -measure real time pipe - dynamically growable delay line for numbers ------------------------------ MATH ---------------------------------- + - * / pow arithmetic == != > < >= <= relational tests & && | || % bit twiddling mtof ftom powtodb rmstodb dbtopow dbtorms convert acoustical units mod div sin cos tan atan atan2 sqrt log exp abs higher math random lower math max min greater or lesser of 2 numbers clip force a number into a range ------------------------------ MIDI ---------------------------------- notein ctlin pgmin bendin touchin polytouchin midiin sysexin - MIDI input noteout ctlout pgmout bendout touchout polytouchout midiout - MIDI output makenote - schedule a delayed "note off" message corresponding to a note-on stripnote - strip "note off" messages ------------------------------ TABLES---------------------------------- tabread - read a number from a table tabread4 - read a number from a table, with 4 point interpolation tabwrite - write a number to a table soundfiler - read and write tables to soundfiles ------------------------------ MISC ---------------------------------- loadbang - bang on load serial - serial device control for NT only netsend - send messages over the internet netreceive - receive them qlist - message sequencer textfile - file to message converter openpanel - "Open" dialog savepanel - "Save as" dialog bag - set of numbers poly - polyphonic voice allocation key, keyup - numeric key values from keyboard keyname - symbolic key name -------------------------- AUDIO MATH ---------------------------------- +~ -~ *~ /~ arithmetic on audio signals max~ min~ - maximum or minimum of 2 inputs clip~ - constrict signal to lie between two bounds q8_rsqrt~ - cheap reciprocal square root (beware -- 8 bits!) q8_sqrt~ - cheap square root (beware -- 8 bits!) wrap~ - wraparound (fractional part, sort of) fft~ - complex forward discrete Fourier transform ifft~ - complex inverse discrete Fourier transform rfft~ - real forward discrete Fourier transform rifft~ - real inverse discrete Fourier transform framp~ - output a ramp for each block mtof~, ftom~, rmstodb~, dbtorms~, rmstopow~, powtorms~ - acoustic conversions -------------------------- AUDIO GLUE ---------------------------------- dac~ - audio output adc~ - audio input sig~ - convert numbers to audio signals line~ - generate audio ramps vline~ - deluxe line~ threshold~ detect signal thresholds snapshot~ - sample a signal (convert it back to a number) vsnapshot~ deluxe snapshot~ bang~ - send a bang message after each DSP block samplerate~ get the sample rate send~ - nonlocal signal connection with fanout receive~ - get signal from send~ throw~ - add to a summing bus catch~ - define and read a summing bus block~ - specify block size and overlap switch~ - switch DSP computation on and off readsf~ - soundfile playback from disk writesf~ - record sound to disk -------------------- AUDIO OSCILLATORS AND TABLES ------------------------ phasor~ - sawtooth oscillator cos~ - cosine osc~ - cosine oscillator tabwrite~ - write to a table tabplay~ - play back from a table (non-transposing) tabread~ - non-interpolating table read tabread4~ - four-point interpolating table read tabosc4~ - wavetable oscillator tabsend~ - write one block continuously to a table tabreceive~ read one block continuously from a table -------------------- AUDIO FILTERS ------------------------ vcf~ - voltage controlled filter noise~ - white noise generator env~ - envelope follower hip~ - high pass filter lop~ - low pass filter bp~ - band pass filter biquad~ - raw filter samphold~ - sample and hold unit print~ - print out one or more "blocks" rpole~ - raw real-valued one-pole filter rzero~ - raw real-valued one-zero filter rzero_rev~ rzero~, time-reversed cpole~, czero~, czero_rev - corresponding complex-valued filters -------------------- AUDIO DELAY ------------------------ delwrite~ - write to a delay line delread~ - read from a delay line vd~ - read from a delay line at a variable delay time ------------------------------ SUBWINDOWS ---------------------------------- pd - define a subwindow table - array of numbers in a subwindow inlet - add an inlet to a pd outlet - add an outlet to a pd inlet~, outlet~ - signal versions of inlet, outlet ------------------------------ DATA TEMPLATES ----------------------------- struct - define a data structure drawcurve, filledcurve - draw a curve drawpolygon, filledpolygon - draw a polygon plot - plot an array field drawnumber - print a numeric value ------------------------------ ACCESSING DATA ---------------------------- pointer - point to an object belonging to a template get - get numeric fields set - change numeric fields element - get an array element getsize - get the size of an array setsize - change the size of an array append - add an element to a list sublist - get a pointer into a list which is an element of another scalar scalar - draw a scalar on parent ------------------------------ OBSOLETE ---------------------------- scope~ (use tabwrite~ now) namecanvas template (use struct now) ================================================================================ *IEMLIB* contents of iemlib Release 1.15 from December 2003 ============================ DSP~ =============================== ------------------------- filter~ ------------------------------- FIR~ finite impuls response filter, with array-coefficients maverage~ moving average filter, (IIR + delay) ap1~ allpass 1.order ap2~ allpass 2.order bpq2~ bandpass 2.order with Q-inlet bpw2~ bandpass 2.order with bandwidth-inlet bsq2~ bandstop 2.order (notch) with Q-inlet bsw2~ bandstop 2.order (notch) with bandwidth-inlet hp1~ highpass 1.order hp2~ highpass 2.order lp1~ lowpass 1.order lp2~ lowpass 2.order rbpq2~ resonance-bandpass 2.order with Q-inlet rbpw2~ resonance-bandpass 2.order with bandwidth-inlet hml_shelf~ high-middle-low shelving-filter with freq- and gain-inlets lp1_t~ lowpass 1.order with time_constant inlet para_bp2~ parametrical bandpass 2. order with freq-, Q- and gain-inlet hp2_butt~, hp3_butt~, hp4_butt~, hp5_butt~, hp6_butt~, hp7_butt~, hp8_butt~, hp9_butt~, hp10_butt~ highpass 2.3.4.5.6.7.8.9.10.order with butterworth characteristic hp2_cheb~, hp3_cheb~, hp4_cheb~, hp5_cheb~, hp6_cheb~, hp7_cheb~, hp8_cheb~, hp9_cheb~, hp10_cheb~ highpass 2.3.4.5.6.7.8.9.10.order with chebyshev characteristic hp2_bess~, hp3_bess~, hp4_bess~, hp5_bess~, hp6_bess~, hp7_bess~, hp8_bess~, hp9_bess~, hp10_bess~ highpass 2.3.4.5.6.7.8.9.10.order with bessel characteristic hp2_crit~, hp3_crit~, hp4_crit~, hp5_crit~, hp6_crit~, hp7_crit~, hp8_crit~, hp9_crit~, hp10_crit~ highpass 2.3.4.5.6.7.8.9.10.order with critical damping lp2_butt~, lp3_butt~, lp4_butt~, lp5_butt~, lp6_butt~, lp7_butt~, lp8_butt~, lp9_butt~, lp10_butt~ lowpass 2.3.4.5.6.7.8.9.10.order with butterworth characteristic lp2_cheb~, lp3_cheb~, lp4_cheb~, lp5_cheb~, lp6_cheb~, lp7_cheb~, lp8_cheb~, lp9_cheb~, lp10_cheb~ lowpass 2.3.4.5.6.7.8.9.10.order with chebyshev characteristic lp2_bess~, lp3_bess~, lp4_bess~, lp5_bess~, lp6_bess~, lp7_bess~, lp8_bess~, lp9_bess~, lp10_bess~ lowpass 2.3.4.5.6.7.8.9.10.order with bessel characteristic lp2_crit~, lp3_crit~, lp4_crit~, lp5_crit~, lp6_crit~, lp7_crit~, lp8_crit~, lp9_crit~, lp10_crit~ lowpass 2.3.4.5.6.7.8.9.10.order with critical damping vcf_hp2~, vcf_hp4~, vcf_hp6~, vcf_hp8~ highpass 2.4.6.8.order with freq- and Q-signal-inlets vcf_lp2~, vcf_lp4~, vcf_lp6~, vcf_lp8~ lowpass 2.4.6.8.order with freq- and Q-signal-inlets vcf_bp2~, vcf_bp4~, vcf_bp6~, vcf_bp8~ bandpass 2.4.6.8.order with freq- and Q-signal-inlets vcf_rbp2~, vcf_rbp4~, vcf_rbp6~, vcf_rbp8~ resonance-bandpass 2.4.6.8.order with freq- and Q-signal-inlets ------------------------ arithmetic~ ---------------------------- addl~ signal-addition with line~ divl~ signal-divison with line~ mull~ signal-multiplication with line~ subl~ signal-subtraction with line~ ------------------------- converter~ ---------------------------- prvu~ peak and rms VU-meter interface pvu~ peak VU-meter interface rvu~ rms VU-meter interface unsig~ signal to float converter ------------------ t3~ - time-tagged-trigger -------------------- -- inputmessages allow a sample-accurate access to signalshape -- t3_sig~ time tagged trigger sig~ t3_line~ time tagged trigger line~ --------------------------- misc~ ------------------------------- fade~ fade-in fade-out shaper (need line~) iem_blocksize~ blocksize of a window in samples iem_samplerate~ samplerate of a window in Hertz int_fract~ split signal-float to integer- and fractal-part LFO_noise~ downsampled 2-point interpolated white noise mp3play~ mp3 stereo player peakenv~ peak envelope shaper pink~ pink noise round~ round signal-float to nearest integer sin_phase~ output phase-difference of 2 sinewaves in samples ========================= control ============================== ------------- gui (included into millers pd) -------------------- bng bang, display and generate a bang-message cnv canvas, colored background and text hdl horizontal dial, for multiplex usage hradio horizontal radiobutton, only float in/out hsl horizontal slider nbx numberbox, the second tgl 2 state toggle vdl vertical dial, for multiplex usage vradio vertical radiobutton, only float in/out vsl vertical slider vu vu-meter, display rms- + peak-level in dB --------------------- float operating ------------------------- 1p1z float-message-filter 1.order db2v db to rms dbtofad midi-db to fader-characteristic fadtodb fader-characteristic to midi-db fadtorms fader-characteristic to rms rmstofad rms to fader-characteristic round_zero round numbers near zero to zero speedlim reduce speed of a numeric stream split3 part a numeric stream into 3 ways split part a numeric stream into 2 ways (like moses) transf_fader partial linear characteristic diagram (like table) v2db rms to db wrap wraparound -------------------- symbol operating ------------------------- mergefilename merge a list of symbols together splitfilename divide a symbol into 2 parts stripfilename strip n characters of a symbol unsymbol convert a symbol- to a anything-message ------------------- anything operating ------------------------ any store and recall any message (like f, or symbol) iem_append append a message to any messages (obsolete: merge_any) iem_prepend prepend a message to any messages (abbr. pp or prepend) -------------------------- init ------------------------------- default replace initial-argument, if it is zero dollarg receive parent initial-arguments (abbr. $n) dsp control audio-engine, calculate dsp-performance (aka. dsp~) float24 store a 24-bit accurate float-number init initialize a message via loadbang (abbr. ii) once any message pass through only the first time ------------------------- counter ----------------------------- exp_inc exponential increment counter (bang triggered) for++ incremental counter (triggered by internal metro) modulo_counter endless loop counter (bang triggered) -------------------------- misc ------------------------------- add2_comma add a comma-separated message to a messagebox bpe break point envelope controller f2note frequency to midi+cents+note gate interruptible message connection (like spigot) iem_i_route variation of route (abbr. iiroute) iem_receive catch "sent" messages (receive-name-input) (abbr. iem_r) iem_route improvement of route iem_sel_any control a message-box with multiple content iem_send send messages to named object (send-name-input)(ab. iem_s) pre_inlet output an identifier-message and then the incoming message prepend_ascii output an identifier-message and then the incoming message soundfile_info output header-info of a wav-file toggle_mess control a message-box with multiple content (abbr. tm) ------------------- parameter handling ------------------------ iem_pbank_csv parameter memory manager (csv-format) (like textfile) list2send array of send-objects receive2list array of receive-objects --------------- t3 - time-tagged-trigger --------------------- ----------- a time-tag is prepended to each message ----------- ----- so these objects allow a sample-accurate access to ------ ---------- the signal-objects t3_sig~ and t3_line~ ------------ t3_bpe time tagged trigger break point envelope t3_delay time tagged trigger delay t3_metro time tagged trigger metronom t3_timer time tagged trigger timer -------------- obsolete --------------------------------------- post_netreceive pre_netsend ================================================================================ *ZEXY* These are the objects that come with the zexy-external ============================ DSP~ =============================== ---------------------------- IO~ -------------------------------- sfplay play back (multi-channel) soundfiles sfrecord record (multichannel) soundfiles ------------------------ generators~ ---------------------------- dirac~ dirac-pulse step~ unity step noish~ downsampled noise (hold) noisi~ downsampled noise (interpolate) ------------------------ processing~ ---------------------------- limiter~ a limiter/compressor module quantize~ quantizes signals swap~ bytes swap a 16bit-signal blockmirror~ time-reverse a signal-vector (1,2,...,64 -> 64,63,...,1) blockswap~ swap the upper and lower half of a signal-vector z~ samplewise delay ------------------------- analytic~ ----------------------------- sigzero~ detects whether a signal is zero throughout the vector or not pdf~ probability density function envrms~ like env~, but outputting rms instead of dB avg~ arithmetic mean of 1 signal-vector tavg~ arithmetic mean between two bangs dfreq~ frequency detector ------------------------- sigbinops~ ---------------------------- >~, <~, ==~, &&~, ||~ logical operators abs~ absolute value of a signal sgn~ signum of a signal --------------------------- misc~ ------------------------------- nop~ no-operation pack~ convert a signal to a list of floats unpack~ convert a list of floats to a signal matrix~ matrix-multiply m IN-signals to n OUT-signals multiline~ multiply a number of signals with scalars (interpolated) multiplex~ multiplex 1-of-n inlets to 1 outlet demultiplex~ demultiplex 1 inlet to 1-of-n outlets ========================= control ============================== -------------------------- basic ------------------------------- nop no-operation repeat repeat a message several times lister store lists (like "float" for floats) repack (re)pack atoms to packages of a given size packel get a specified element of a list drip extract the atoms of a package (opt. scheduled) length get the length of a list niagara split 1 packages into 2 glue append a package to another (glue them together) segregate segregate the input to various outlets, depending on the type any2list convert "anythings" to "lists" list2int cast each float of a list to integer atoi ascii to integer strcmp compare lists as strings list2symbol convert a list into a single symbol symbol2list convert a symbol to a list ------------------------ advanced ------------------------------ tabdump dump out a table as a list of floats tabset set a table with a list of floats makesymbol concatenate lists to formatted symbols date get system date time get system time index map symbols to indices msgfile a powerful "textfile" derivative demultiplex demultiplex the input to a specified outlet lpt write to the (parallel) port (linux only) operating_system get the current OS -------------------------- maths -------------------------------- mavg moving average filter for floats mean get the mean value of a list of floats minmax get minimum and maximum of a list of floats sort shell-sort a list of floats urn unique random numbers prime test whether a number is prime or not wrap wrap the float-input between to boundaries . scalar multiplication of vectors (=lists of floats) deg2rad convert between degree and radiant rad2deg convert between radiant and degree cart2pol, pol2cart, cart2sph, sph2cart, pol2sph, sph2pol convert between coordinate systems (cartesian, polar, shperic) -------------------------- matrix ------------------------------- matrix create/store/... matrices mtx_element set elements of a matrix mtx_row set rows of a matrix mtx_col set columns of a matrix mtx_ones matrix with all elements==1 mtx_zeros matrix with all elements==0 mtx_eye identity matrix mtx_egg identity matrix (from upper-right to lower-left) mtx_diag diagonal matrix mtx_diegg diagonal matrix (from upper-right to lower-left) mtx_diag get the diagonal of a matrix mtx_trace get the trace of a matrix mtx_transpose transpose a matrix mtx_roll column-shift a matrix mtx_scroll row-shift a matrix mtx_pivot pivot-transform a matrix mtx_resize resize a matrix (evtl. with zero-padding) mtx_size get the size of a matrix mtx_inverse get the inverse of a matrix mtx_add, mtx_+ add 2 matrices (or an offset to 1 matrix) mtx_sub, mtx_- subtract 2 matrices (or an offset from 1 matrix) mtx_mul, mtx_* multiply 2 matrices (or a factor with 1 matrix) mtx_.* multiply 2 matrices element by element mtx_./ divide 2 matrices element by element mtx_mean get the mean value of each column mtx_rand matrix with random elements mtx_check check the consistency of a matrix and repair mtx_print print a matrix to the stderr ================================================================================ *MAXLIB* maxlib 1.5 Music Analysis eXtensions LIBrary written by Olaf Matthes MUSIC/MIDI ANALYSIS chord chord detection beat beat tracking borax music analysis rythm beat detection score array01 score following pitch pitch information gestalt "gestalt" of music edge detect rising/falling edge tilt measure tilt of input MATH divmod calculate / and % divide / for several inputs minus - for several inputs multi * for several inputs plus + for several inputs average average of last N values history average over last N seconds match match input to list of numbers scale scale input to output range delta calculate 1st or 2nd order diff. wrap wrap a number in a range [obs!] rewrap wrap it back and forth ROUTING/CHECKING split split according to range [obs?] nroute r. according to Nth elem. unroute opposite of route limit limiter for floats listfunnel Max's funnel for lists nchange s change that accepts any kind of input (REMOTE) CONTROL dist send to list of recieve objects netdist same for netreceive remote send to one receive object netrec netreceiev with extra info about sender netserver bidirectional communication (client/server based) netclient TIME pulse a "better" metro speedlim lets input through every N miliseconds iso play sequence of MIDI notes ignore ignore too fast changing step a line object that steps velocity velocity of input in digits per second sync extended trigger object timebang send a bang at given time of day pong bouncing ball model temperature amount of input changes per time BUFFER lifo last in first out for floats fifo first in first out for floats listfifo first in first out for lists arraycopy copy from one array to another OTHER/EXPERIMENTAL subst self-similar substitution mlife cellular automaton RANDOM gauss linear expo beta cauchy poisson bilex, arbran array01 array02 ================================================================================ *PDP* This is a list of all pdp objects and abstractions with a minimal description. Take a look at the patches in the doc/ directory for more info. (Messy doc & test patches can be found in the test/ directory.) general purpose pdp modules: pdp_del a packet delay line pdp_reg a packet register pdp_snap takes a snapshot of a packet stream pdp_trigger similar to pd's trigger object pdp_route routes a packet to a specific outlet pdp_loop a packet loop sampler (packet array) pdp_description output a symbol describing the packet type pdp_convert convert between packet types image inputs/outputs: pdp_xv displays images using the xvideo extension pdp_glx displays images using opengl pdp_v4l reads images from a video4linux device pdp_qt reads quicktime movies image processors: pdp_abs absolute value pdp_add adds two images pdp_and bitwize and pdp_bitdepth set bit depth pdp_bitmask apply a bit mask pdp_bq spatial biquad filter pdp_bqt temporal biquad filter pdp_cog gaussian blob estimator pdp_constant fills an image with a constant pdp_conv horizontal/vertical seperable convolution filter pdp_cheby chebyshev color shaper pdp_chrot rotates the chroma components pdp_flip_lr flip left <-> right pdp_flip_tb flip top <-> bottom pdp_grey converts an image to greyscale pdp_grey2mask converts a greyscale image to an image mask pdp_hthresh hard thresholding pdp_mul multiplies two images pdp_mix crossfade between 2 images pdp_mix2 mixes 2 images after applying a gain to each of them pdp_noise a noise generator pdp_not bitwize not pdp_or bitwize or pdp_plasma plasma generator pdp_pointcloud convert an image to a point cloud pdp_positive sign function that creates a bitmask pdp_randmix crossfades 2 images by taking random pixels pdp_rotate tiled rotate pdp_scale rescale an image pdp_sign sign function pdp_sthresh soft thresholding pdp_zoom tiled zoom pdp_zrot tiled zoom + rotate pdp_zthresh zero threshold (x<0 -> 0) pdp_xor bitwize xor dsp objects pdp_scope~ a very simple oscilloscope pdp_scan~ phase input scanned synthesis oscillator pdp_scanxy~ x,y coordinate input scanned synthesis oscillator utility abstractions pdp_pps computes the packet rate in packets/sec image abstractions pdp_agc automatic gain control (intensity maximizer) pdp_blur blurs an image pdp_blur_hor horizontal blur pdp_blur_ver vertical blur pdp_contrast contrast enhancement pdp_dither a dither effect pdp_phase applies an allpass filter to an image pdp_phase_hor horizontal allpass pdp_phase_ver vertical allpass pdp_motion_blur blurs motion pdp_motion_phase phase shifts motion pdp_offset add an offset to an image pdp_alledge an all edge detector pdp_conv_emboss emboss pdp_conv_sobel_hor horizontal sobel edge detector pdp_conv_sobel_ver vertical sobel edge detector pdp_conv_sobel_edge sum of squares of hor and ver pdp_saturation change colour saturation pdp_sub subtract 2 images pdp_invert inverse video pdp_gain3 set 3 channel gains independently pdp_gradient converts a greyscale to colour using a colour gradient pdp_png_to convert a png file (on disk) to a certain packet type pdp_tag tag a packet (to use it with route) matrix processors pdp_m_mv matrix vector multiply pdp_m_mm matrix matrix multiply pdp_m_+=mm matrix matrix multiply add pdp_m_LU compute LU decomposition pdp_m_LU_inverse compute matrix inverse from LU decomp pdp_m_LU_solve solve a linear system using LU decomp matrix abstractions pdp_m_inverse compute matrix inverse SEPARATE LIBRARIES: cellular automata (pdp_scaf) pdp_ca computes a cellular automaton (as a generator or a filter) pdp_ca2image convert a CA packet to a greyscale image (obsolete: use pdp_convert) pdp_image2ca convert an image to a CA packet (black and white) (obsolete: use pdp_convert) 3d drawing objects (pdp_opengl) 3dp_windowcontext a drawable window 3dp_draw draw objects (cube, sphere, ...) 3dp_view viewing transforms (rotate, translate, ...) 3dp_light light source 3dp_push push a matrix (modelview, texture, ...) 3dp_dlist compile a display list 3dp_snap copies the drawing buffer to a texture packet 3dp_mode set the current matrix mode 3dp_toggle set some opengl state variables 3d drawing abstractions (pdp_opengl) 3dp_mouserotate connect to 3dp_windowcontext to rotate the scene 3dp_blend turn on accumulative blending mode ================================================================================ *PiDiP* pdp_ascii an ASCII art renderer pdp_canvas a video canvas pdp_charcoal charcoal effect pdp_cmap a color mapper pdp_colorgrid a color picker pdp_compose a video compositor pdp_capture screen capture to video utility pdp_ctrack a color tracker pdp_disintegration disintegration effect pdp_ffmpeg~ a video streamer towards a ffserver pdp_form a geometric forms adder pdp_i/pdp_o PD to PD streaming objects pdp_imgloader load an image and blend it with a video source pdp_live~ a video stream decoder (at least from ffserver) pdp_mgrid a grid-based motion detector pdp_morphology: pdp_binary pdp_erode pdp_dilate pdp_hitandmiss pdp_distance + patches: closing, opening, skeletization, thinning, thickening pdp_mp4live~ a quicktime stream emitter (darwin, quicktime) pdp_mp4player~ a quicktime stream receiver (darwin, quicktime) pdp_pen free hand drawing object pdp_rec~ a quicktime file recorder Video: jpeg, yuv2, divx, dv, yuv2 Audio: twos, raw pdp_shape shape detection object pdp_spigot a video signal router pdp_spotlight a spotlight especially made for cabaret pdp_text a text addition object pdp_theorin~ threaded theora/ogg files reader pdp_theorout~ theora/ogg files recorder pdp_transition transition between two video sources pdp_qt quicktime movie reader pdp_qt~ quicktime movie reader with audio pdp_yqt a quicktime movie reader with less functionnalities pdp_qt but with less functionnalities codecs : jpeg, yuv2, divx, dv, yuv2 no compressed headers! pdp_aging, pdp_baltan, pdp_cycle, pdp_dice, pdp_edge, pdp_intrusion, pdp_lens, pdp_mosaic, pdp_nervous, pdp_puzzle, pdp_quark, pdp_radioactiv, pdp_rev, pdp_ripple, pdp_shagadelic pdp_simura, pdp_spiral, pdp_transform, pdp_underwatch, pdp_vertigo pdp_warhol, pdp_warp : the port of effecTV to PDP. ================================================================================ *GEM* Controls gemhead - the start of rendering chain gemwin - the window manager gemmouse - outputs the mouse position and buttons in the GEM window gemkeyboard - outputs the keycode of a key pressed when you are in the GEM window (there might be different keycodes in Windows/Linux) gemkeyname - outputs a symbolic description of a key pressed when you are in the GEM window (there might be different symbols in Windows/Linux) gemorb - outputs the position, rotation, and buttons for a Space Orb gemtablet - outputs the pen position, pressure, and buttons in the GEM window Manipulators accumrotate - accumulate a rotation alpha - enable/disable alpha blending ambient - set the ambient color with a vector ambientRGB - set the ambient color with 3 discrete values camera - color - set the color with a vector colorRGB - set the color with 3 discrete values depth - enable/disable depth testing diffuse - set the diffuse color with a vector diffuseRGB - set the diffuse color with 3 discrete values emission - set the emissive color with a vector emissionRGB - set the emissive color with 3 discrete values linear_path - generate a path from an array of points ortho - change the view to orthogonal, with the viewport the size of the window polygon_smooth - turn on anti-aliasing for the objects below rotate - rotate with an angle and vector rotateXYZ - rotate with 3 discrete values scale - scale with a vector scaleXYZ - scale with 3 discrete values separator - push the OpenGL state for the rest of the chain and pop when done shininess - set the shininess of an object specular - set the specular color with a vector specularRGB - set the specular color with 3 discrete values spline_path - generate a spline from an array of knots translate - translate with a vector translateXYZ - translate with 3 discrete values Geos circle - render a circle colorSquare - render a colored square (evtl. with color gradients) cone - render a cone cube - render a cube cuboid - render a box curve - render a Bezier curve curve3d - render a surface cylinder - render a cylinder disk - render a disk imageVert - make pixel colors to a height field map model - render an Alias|Wavefront model multimodel - render a series of Alias|Wavefront models, render by number newWave - render a wave (that is evolving over time) polygon - render a polygon primTri - a triangle primitive rectangle - render a rectangle ripple - a rectangle with distorted (over time) texture-coordinates rubber - a grid where you can move one of the grid-points slideSquare - render a number of sliding squares sphere - render a sphere square - render a square teapot - render a teapot text2d - render 2-D text (a bitmap) text3d - render 3-D text (polygonal) textextruded - render an extruded 3D-text textoutline - render outlined text (polygonal) triangle - render a triangle Particles part_head - The start of a particle group part_color - Set the range of colors for the new particles part_damp - set the damping for particles part_draw - Apply the actions and render the particles. Accepts a message "draw line" or "draw point" to change the drawing style. part_follow - Particles will follow each other like a snake part_gravity - Have the particles accelerate in a direction part_info - get the information (position, color, size,...) of each particle part_killold - Remove particles past a certain age part_killslow - Remove particles below a certain speed part_orbitpoint - Orbit the particles around a specified point part_render - render the remaining gem-tree as particles. part_size - Set the size of new particles part_source - Generate particles part_targetcolor - Change color of the particles toward the specified color part_targetsize - Change size of the particles toward the specified size part_velocity - Set the velocity domain (distribution like CONE and the appropriate arguments) part_vertex - emit a single particle Nongeos light - make a point light world_light - make a light at infinity Pixes pix_2grey - convert rgb pixels to grey (still an RGBA image) pix_a_2grey - convert rgb pixels to grey based on alpha channel pix_add - add two pixes together pix_aging - super8-like aging effect pix_alpha - set the alpha value of a pix pix_background - let through only pixels that differ from a static "background" image pix_backlight - a backlight photo effect pix_biquad - 2p2z-filter for subsequent images pix_bitmask - apply a bitmask to a pix pix_blob - get center of gravity pix_buf - buffer a pix pix_buffer - storage room for pixes (like [table] for floats) pix_buffer_read/pix_buffer_write - put/get pixes into/from a pix_buffer pix_chroma_key - color keying (like "blue-box") pix_coloralpha - set the alpha-channel of a pix as a mean-value of the color-components pix_colormatrix - recombine the RGBA-channels with matrix-operation pix_color - set the color of a pix (leaving alpha alone) pix_colorreduce - reduce the number of colors (statistically) pix_composite - composite two pixes together pix_convolve - convolve a pix with a kernal pix_coordinate - set the texture coordinates pix_crop - get a sub-image of a pix pix_curve - apply color-curves onto a pix pix_data - get pixel data information pix_delay - frame-wise delay pix_diff - get absolute difference of two pixes pix_dot - rasterize a pix with big dots pix_draw - draw a pix pix_dump - dump the pixel-data as a long list of floats pix_duotone - reduce the number of colors by thresholding pix_film - use a movie file as a pix source for image-processing pix_flip - flip the pixels of a pix pix_gain - apply a gain to a pix pix_grey - convert any pix into greyscale colorspace pix_halftone - rasterize a pix like it was printed in a newspaper pix_histo - get the histogram of a pix pix_hsv2rgb - transform a pix from HSV-colorspace into RGB-colorspace pix_image - load in an image file pix_imageInPlace - load a series of image files directly into texture-buffer, display by number pix_info - get information about the pix (like dimension, colorspace,...) pix_invert - invert a pix pix_kaleidoscope - as if you were looking at the pix through a kaleidoscope pix_levels - level adjustment pix_lumaoffset - y-offset pixels depending on their luminance pix_mask - mask a pix based on another pix pix_metaimage - recompose an image out of smaller versions of itself pix_mix - mix to pixes together pix_motionblur - motionblur an image pix_movie - use a movie file as a pix source and load it immediately into the texture-buffer pix_movement - set the alpha-channel with respect to the change between two frames pix_multiply - multiply two pixes pix_multiimage - load in a series of image files, display by number pix_normalize - normalize a pix pix_offset - add an offset to a pix (wrapping instead of clipping) pix_pix2sig~ - interpret a pix as 4 (RGBA) audio-signals pix_posterize - posterization photo effect pix_puzzle - shuffle an image pix_rds - generate a Random Dot Stereogram out of the image (aka: Magic Eye (tm)) pix_rectangle - generate a rectangle in a pix buffer pix_refraction - break up an image into coloured "glass-bricks" pix_resize - resize a pix to next power of 2 pix_rgb2hsv - transform a pix from RGB-colorspace into HSV-colorspace pix_rgba - transform a pix of any format into RGBA pix_roll - (sc)roll through an image (wrapping) pix_rtx - swap time-axis and x-axis pix_scanline - take every nth line of the original image pix_set - set the pixel-data with a long list of floats pix_sig2pix~ - interpret 4 audio-signals as (RGBA) image-data pix_snap - capture the render window into a pix pix_snap2tex - capture the render window directly as a texture pix_subtract - subtract two pixes pix_tIIR - time-base Infinite-Impulse-Response filter (for motion-bluring,...) with settable number of poles/zeros pix_takealpha - take the alpha channel of one pix and put it into another pix pix_texture - use a pix as a texture map pix_threshold - apply a threshold to a pix pix_video - use a video camera as a pix source pix_write - capture the render window to disk pix_zoom - zoom into a pix (using OpenGL) openGL there are more than 250 objects that form a complete wrapper around the openGL set of functions (as defined in the openGL-1.2 standard). each openGL-function is prefixed with "GEM", eg: [GEMglVertex3f] is wrapped around glVertex3f. MarkEx alternate - alternate between two outlets average - average a sequence of numbers change - only output on change counter - count bangs invert - non-zero numbers to zero, zero to 1 multiselect/multisel - a select object which accepts a list in the right inlet oneshot - send a bang, then block until reset randomF / randF - floating point random numbers strcat - string concatentation tripleLine - do a line with three numbers tripleRand - random with three numbers vector+ / v+ - add a scalar to a vector vector- / v- - subtract a scalar from a vector vector* / v* - multiply a vector by a scalar vector/ / v/ - divide a vector by a scalar vectorpack / vpack - attach a scalar to the end of a vector rgb2hsv - convert a list of three floats from RGB to an HSV value hsv2rgb - convert a list of three floats from HSV to an RGB value abs~ - absolute value of a signal reson~ - resonant filter ================================================================================