Update of /cvsroot/pure-data/abstractions/pixelTANGO/dev-notes In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4841/dev-notes
Added Files: Developer-Reference.txt GOP_layout.txt Log Message: Initial Commit of pixelTANGO 0.3.4
--- NEW FILE: Developer-Reference.txt --- pixelTANGO Developer Reference: CVS: $Revision: 1.1 $ $Date: 2005/11/26 22:21:06 $
Required Externals: entry, Gem, OSC, pool, popup, prepend, pwd, tosymbol, tot, zexy, py
Memento Note: (Put this in the pt.abstraction how-to) DO NOT USE a $0-in send or receive in any pt compatible abstraction. This s/r is reserved for memento functions.
Creating .app using tcl/tk 8.4.9 standalone: 1. Duplicate Miller's pd.app 2. replace frameworks with those from tcl/tk standalone 3. copy the "Wish Shell.rsrc" file as "Pd.rsrc" to Resources 4. Copy the "Wish Shell" exec from tcl/tk standalone/MacOS to MacOS as "Pd" 5. Add set tk::mac::CGAntialiasLimit 0 in pd.tk (aka AppMain.tcl) OPTIONAL for Antialiasing 6. cd Resource/src then ./configure && make OPTIONAL perhaps for s_inter.c hack
HACKS: (bad programming that is there just to make things work and need to be replaced by a better system!)
delay 250 in register-head.pd is used to make sure that all abstractions have gotten the layerNum before sending the "register-head 0" message.
Internal (Helper) Abstractions:
Global Receives:
Receive Name: Value: Notes: pt.loopBack layerNum [list] This receive is used to send data from a lower abstraction to an upper through bus. Only when the head matches is it sent. pt.layerNumDone layerNum When all abstractions in a layer get the layerNum, through control-bus, send this signal back to header to start abstraction registration by sending signal "register-head 0" through control-bus. pt.registerDone layerNum When the register-tail gets the register signal then send the layer number of the done layer and use this signal to generate the OSC names. pt.currentPreset float Set the current preset Value pt.videoPlaneSize 2 float list Sends the current gemwindow size to pt.video for filling screen pt.windowResolution 2 float list Sends the current gemwindow resolution to pt.feedback for good responce pt.osc osc message All modules not in layers get OSC messages from this receive. pt.updateArrays bang Updates dir2abstractionArray arrays
OSC Names:
General: pt.window /pt/window/fullscreen Fullscreen on Primary (0/1 for On/Off) /pt/window/fsaa Full Scene Anti-Aliasing (6) (0/1 for On/Off) /pt/window/light Render Lighting Effects (0/1 for On/Off) /pt/window/cursor Cursor Visibility (0/1 for On/Off) /pt/window/r Background Red Component (0 to 1) /pt/window/g Background Green Component (0 to 1) /pt/window/b Background Blue Component (0 to 1) /pt/window/resolution Window Resolution (0:640x480,1:1024x512,2:512x512) /pt/window/framerate Render Framerate (0:15fps,1:30fps,2:60fps,3:100fps)
pt.interp /pt/interp/smoothness How fast to interpolate (1 Slow to 100 for Fast) /pt/interp/type Interpolation Type (0-Low-Pass, 1-Linear, 2-None)
pt.light /pt/light/[i]/x X position of Light (? to ?) /pt/light/[i]/y Y position of Light (? to ?) /pt/light/[i]/z Z position of Light (? to ?) /pt/light/[i]/r Amount of red Light (0 to 1) /pt/light/[i]/g Amount of green Light (0 to 1) /pt/light/[i]/b Amount of blue Light (0 to 1)
pt.animate /pt/animate/frame Set the Keyframe (0 to NumberOfKeyFrames) (This is NOT state-saved) Headers: pt.layer /pt/[l]/vis Layer Visibility (0/1, turn on/off gemhead(s) )
Modifiers: [l] for Layer Num (pt.layer creation argument) [i] for abstraction Instance name (starting with 1)
pt.fader /pt/[l]/pt.fader/[i]/r Red Value (0 to 1) /pt/[l]/pt.fader/[i]/g Green Value (0 to 1) /pt/[l]/pt.fader/[i]/b Blue Value (0 to 1) /pt/[l]/pt.fader/[i]/a Alpha Value (0 to 1) /pt/[l]/pt.fader/[i]/alpha Turn Alpha Belending on/off (0/1)
pt.translate /pt/[l]/pt.translate/[i]/x X Translation (-4 to 4) /pt/[l]/pt.translate/[i]/y Y Translation (-4 to 4) /pt/[l]/pt.translate/[i]/z Z Translation (-4 to 4)
pt.rotate /pt/[l]/pt.rotate/[i]/x X Rotation (-180 to 180 Degrees) /pt/[l]/pt.rotate/[i]/y Y Rotation (-180 to 180 Degrees) /pt/[l]/pt.rotate/[i]/z Z Rotation (-180 to 180 Degrees)
pt.scale /pt/[l]/pt.scale/[i]/s XYZ Scale (0.1 to 7)
pt.squeeze /pt/[l]/pt.squeeze/[i]/x X Scale (0.1 to 4) /pt/[l]/pt.squeeze/[i]/y Y Scale (0.1 to 4) /pt/[l]/pt.squeeze/[i]/z Z Scale (0.1 to 4)
pt.feedback /pt/[l]/pt.feedback/[i]/x_off Left Edge of Capture Area /pt/[l]/pt.feedback/[i]/y_off Top Edge of Capture Area /pt/[l]/pt.feedback/[i]/x_size Width of Capture Area /pt/[l]/pt.feedback/[i]/y_size Height of Capture Area /pt/[l]/pt.feedback/[i]/type Type of feedback: 0:snap,1:snap2tex
pt.entry /pt/[l]/pt.entry/[i]/text List defining text /pt/[l]/pt.entry/[i]/font-index Index # for font. (change to symbol in future?) /pt/[l]/pt.entry/[i]/font-size Point size for font
pt.layerfx /pt/[l]/pt.layerfx/[i]/amount Amount of effect (0 to 1) /pt/[l]/pt.layerfx/[i]/fx-index Index # for effect (now 0 to 11)
pt.live /pt/[l]/pt.live/[i]/width Pixel Width of Captured Frames (DO NOT change while render window is open!) /pt/[l]/pt.live/[i]/height Pixel Height of Captured Frames "
pt.loop /pt/[l]/pt.loop/[i]/loop Loop on/off (1/0) /pt/[l]/pt.loop/[i]/in-point Loop in point (0-100%) /pt/[l]/pt.loop/[i]/out-point Loop out point (0-100%) /pt/[l]/pt.loop/[i]/rate playback speed in ms/frame /pt/[l]/pt.loop/[i]/direction Loop direction (0-forward, 1-reverse, 2-ping-pong)
pt.filelist /pt/[l]/pt.filelist/[i]/directory Directory in which to look for files /pt/[l]/pt.filelist/[i]/pattern Glob pattern to select files eg *.mov
--- NEW FILE: GOP_layout.txt --- GOP Sizes $Revision: 1.1 $ $Date: 2005/11/26 22:21:06 $
Abstraction: Canvas Size: GOP Size: --------------------------------------------------------- pt.window 128x210 130x212 pt.layer 128x20 130x22 pt.file 128x40 130x42 pt.loop 128x136 130x138 pt.source 128x30 130x32 pt.layerfx 128x47 130x49 pt.fader 128x70 130x72 pt.translate 128x66 130x68 pt.rotate 128x66 130x68 pt.scale 128x40 130x42 pt.video 128x16 130x18 pt.light 128x130 130x132 pt.interp 128x47 130x49 pt.entry 128x140 130x142 pt.text 128x14 130x16 pt.model 128x14 130x16 pt.live 128x23 130x25 pt.feedback 128x130 130x132 pt.squeeze 128x66 130x68 pt.presets 128x70 130x72 pt.animate 528x80 530x82 pt.filelist 128x110 130x112 pt.whatcolour 128x40 130x42