This page is viewable for Admins and Editors only.
This page is viewable for Admins and Editors only.
This page is viewable for Admins and Editors only.
This page is viewable for Admins and Editors only.
My Favourite VVVV Topics
- Einstiegserleichterungen, Produkthaftigkeit
- Tutorials
- Anfängerschwierigkeiten beheben
- Orthogonalität
- Applications, Standalones, Standard-GUI-Elemente erlauben,
- Peer To Peer Boygrouping
- Basic Sound functionality
- Graphoptimierung
- XML
how to write
http://desktop.google.com/download/earth/index.html
naming and cleaning details
- is there anybody ever who needed Switch Out. and what is it expected to do?
- What is CountIndices for ?
- Obsolete nodes: HSLtoHSV and back -> thats what color pins are fore
- Obsolete nodes: GEL for non debug builds
- Naming: Blend (EX9.Renderstate) vs. Blend (Color)
- Naming: Map (Interval) -> MapInterval (Value)
- Naming: all polymorphic spreads nodes in Category Value
- Naming of Split (Quaternion) -> Quaternion (Split, Quaternion)
- Naming of Newsfeed -> RSSParser
- Naming of TogEdge -> Edge
- obsolete? uniformscale
- obsolete? Network Status
- does wordcount actually work?
- Obsolete nodes: Diff (String) -> could be a module
- either Repeat (String) or * (String)
- more orthogonal commands - see Orthogonality
- set the subtype of the comparison node outs do bool to make nicer downstream IOboxes
little features
- Count should have input pin count (returning spreadmax)
- Inverse permutation
- efficient Cross Transform
- efficient Cross 3d
- Byte node rework
- Keymatch Togedge mode
- Reverse should have binsize pin
- Stallone autospreadcount (get rid of vector/quaternion split & joins)
- Shift with integer mode
- gregorian should have kw and wochentag output
- remove Filestream Duration Framedelay nerdness (if 0=duration semantics cause problems, at least set internal isFramedelay property)
- NetSend and NetReceive without the need to understand anything about TCP, UDP, Tokenizing or whatever.
graphics
barcodes
generate spreads with bars from barcodes. fine with eps writer patches..
- http://mitglied.lycos.de/ajschmidt/ Barcode Componente (Version 1.25) mit Sourcecode
http://sourceforge.net/forum/forum.php?forum_id=251638
- create Semacode (ISO/IEC 16022) barcodes. detect semacode in videostream
EXIFParser
http://mcguirez.homestead.com/downloads.html dEXIF is a Delphi open source library for accessing EXIF and IPTC information from Jpeg image files.
GeoTIFFParser
http://remotesensing.org/geotiff/spec/geotiff2.7.html#2.7 extract geotiff information about aerial photographs and mapshttp://www.awaresystems.be/imaging/tiff.html
- nodes for geo coordinate transforms and globe projection types
devices
spdif iointerface
http://www.electrotap.com/teabox/
DTMF decoding
- http://www.tapiex.com/PhoneToneDecoder.htm 99$ lite, $129, shareware activex
- http://www.teworks.com/dtmf.htm source for 21$, some trivial source available
might be completely possible with FFT
procedure TdspDTMF.FindTones;
procedure LocateTones;
function GetFreqAmp(Freq: Single): Single;
const Step = 11025 / 256;
var Pos: Integer;
begin
Pos:= Round(Freq / Step);
Result:= FFT.RealOuPos;
end;
function FindPeak(Data: PdspDTMFArray; var Position: Integer): Boolean;
var I: Integer;
begin
Position:= 0;
for I:= 1 to 3 do
if DatPosition < Data[I] then Position:= I;
Result:= true;
for I:= 0 to 3 do
if I <> Position then Result:= Result and (DatI] * 3 < Data[Position);
Result:= Result and (DatPosition > FThreshold);
end;
const Tones: Arra0..3, 0..3 of Char = (
('1', '4', '7', '*'),
('2', '5', '8', '0'),
('3', '6', '9', '#'),
('A', 'B', 'C', 'D'));
var Col, Row: Integer;
begin
FCols[0]:= GetFreqAmp(1209);
FCols[1]:= GetFreqAmp(1336);
FCols[2]:= GetFreqAmp(1477);
FCols[3]:= GetFreqAmp(1633);
FRows[0]:= GetFreqAmp(697);
FRows[1]:= GetFreqAmp(770);
FRows[2]:= GetFreqAmp(852);
FRows[3]:= GetFreqAmp(941);
if FindPeak(@FCols, Col) and FindPeak(@FRows, Row) and
(Col <> -1) and (Row <> -1) then
begin
if (Row <> FRow) or (Col <> FCol) then
begin
FCol:= Col; FRow:= Row;
if Assigned(FOnTone) then FOnTone(Self, ToneFCol, FRow);
end;
end else
begin
FRow:= -1;
FCol:= -1;
end;
end;
DMX
driver node for dmx4all.dllhttp://www.dmx4all.de/dmx412_USB-DMX-PC-Interface.php
driver node for catweasels interface
multiple mouse support
generic HID node
selecting the device as a pintemplate in a configuration pin
just found these controls:
http://www.soft-gems.net/HID.php
"The HID controller (Human Interface Devices)... is a component suite, which gives complete access to HID devices..." bjoern
keyboard
Keyboard node
select scan codes vs. ascii codes, set autorepeat on/off, handling of Left+RightShift Keys, Caps Lock keyshttp://www.microsoft.com/globaldev/handson/dev/Unicode-KbdsonWindows.pdf
- ReadLn node which allows entering a text (backspace, arrow keys, cursor position output) etc.
printer port
support it before it is completely gone.
little IO-like node.
serial port
full control over supplementary handshake lines
olympus sdk
logitech motorcamera sdk
wintab support for graphic tablets
http://jan.hlavenka.cz/software.php?lng=1&detail=3http://sourceforge.net/projects/vbtablet
lüfter+powersupply+temperature api
- APM Power managenent api -> JclSysInfo
- write LCDC plugin host, plugins for various sysinfo pgms are available. api is in delphi
- write Samurize plugin host (Plugin SDK) examples in delphi
- AtiTool Plugin, SpeedFan Plugin etc. http://www.lcdc.cc/downloads.htm
SMART hard disk monitoring for getting disk health status in 24/7 installations
Magenta Systems WMI and SMART Component contains WMI, SMART and SCSI PassThrough functions, of particular use for getting hard disk information and configuring network adaptors, but also for many other general uses.http://www.linuxjournal.com/article/6983
shared memory nodes
power / monitor off nodes / battery status
- APM Power managenent api -> JclSysInfo
trautner
- have option for showing source video and mask at the same time.
- have mask as a texture
- have "SelectOnlyUsedColors" to avoid always fiddling around with *Select
pipet
- have Pipet (Simple).v4p in the release
math
multiline expr
could be freepascal wrapper
permutation nodes.
ähnlich cross. erzeugt alle permutationen des input spreads.
inverse lookup
invertiert eine permutation (vgl Knuth Vol 3, p11 ff)
generating meshes out of data
convex hullshttp://www.cse.unsw.edu.au/~lambert/java/3d/hull.html
kalman filtering
http://www.cs.unc.edu/~welch/media/pdf/kalman_intro.pdf
convolve
convolves one spread with another
classic windowing function generator spreads (box, gaussian, hamming etc)
classic image manipulation generator spreads (blur, sharpen, sobel etc.)
horner
evaluates polynom out of a spread values
recursive expr
iterate the given formula n times and return the next m iterations
randomizing nodes
- getting a random spread of a given size with exactly n values set to x (or enter a spread of numbers - for populating game fields with fixed numbers of items, while avoiding to have multiple objects on the same field)
- bernoulli (returns probability of getting number k by throwing d dices, t times)
- brown (generating brownian noise)
- pink (cutoff frequency)
- white (replaces random) - implement random generators of different cheapness
- popcorn (average number of pops per second)
- rand (reading random numbers out of classic rand company publication with 1000000 random numbers)
high level transform operations
- cross for transforms
- four courners point transform
- 3d left/right/top/bottom/front/back transform
- 2d refx/refy/height/width transform with the traditional 9 options for reference point
- 3d refx/refy/refz/height/width/depth transform with the slightly to many 27 options for reference point
- spectral transform (Spectral *)
- intersect transform
- iterated transform with parent index spread to create arbitrary transform graphs in one node
- gridsplit (transform)
- frac (transform)
- high level incremental transforms "one hand salzbergwerk panning", "one hand globe rotation", "jeff han two hands zoom/rotate/shift interaction"
hashes and crcs
MD5http://www.rfc-editor.org/rfc/rfc1321.txt http://www.fichtner.net/delphi/md5.delphi.phtmlhttp://sourceforge.net/forum/forum.php?forum_id=251638
cryptography nodes
don lancasters magic sinewaves for pwm
http://www.tinaja.com/glib/stepsynt.pdf
strings
sprintf & sscanf
format string als config pin; generiert pins.
mit enable pin um command sender einfacher zu machen.
sscanf generiert pins aus string; valid output pin
man sprintfftp://delphi-jedi.org/tools/ scanf
Automata wishlist
- Each state gets an output pin by default
- Make trigger output optional, but allow multiple triggers State OnEvent NewState Intro OnStart Run StartMotor StartMovie StartLights
- Have delay time exposed as optional pin (everything in brackets) State (Delay) NewState
- Make timed state outputs run from 0 to 1 depending on the time
- Allow wildcards in naming fromstates and events to generate multiple rules at the same time
- onReset default
Start* onStop StartOne
Run* On*Error Error
- State wildcards will create new outputs with the results **or´ed Event wildcards will create no outputs
- Allow logical not for events and fromstates
postscript
http://www.tinaja.com/glib/pssecrets.pdf
unicode
ansi and utf-8 encodings
see devunicode
test ⋱⋙⋒☻♥◬◮≝░░░░░░░░░░░░░░░░░░░░░░░
▂▃▄▅▆▇█▉▩▩░▉▆▅▄▃▄▅▆▇█▉▩▩░▉▆▅▄▃▂
▂▃▄▅▆▅▄▃▂
safe 7bit encodings
available in Indy TIdDecoder
XMLRPC
- http://www.xmlrpc.com Simple cross-platform distributed computing. Server und Client integration Subpatches als Server, Subpatches als Clients
- Introspection API
system.listMethods, system.methodSignature, system.methodHelp
- JavaScript Remote-Inspektor
val node
converts numbers into binary strings. use same type enum as in the ord node
clever hexmodes for ord
to easily decode strings like "$FF6690" into bytes or nybbles
bit field operators
- Bits (Value Join) parameter inputcount
- Bits (Value Split) parameter outputcount, mode=(wrap, clamp), signed
text alignment spreads
- render html or rtf by splitting a string into a spread of individually formatted line fragments (e.g. for each word) use clever transforms for doing block aligned text etc.
network
skype support
- https://developer.skype.com/Docs/ApiDoc/Using_the_Skype_API_on_Windows
vnc texture
just enter ip address/pswd. optionally control mouse/kbd
- http://www.veridicus.com/tummy/programming/vncx <-- use this
- http://delphivnc.sourceforge.net
- http://www.shareit.com/217009-1.html
- The RFB Protocol
Netstumbler wrapper
for determining strength of wlan access points, position detection, warpatching and electrosmog vizualisationhttp://www.netstumbler.com/faqs/general
webform wrapper
url als config pin, generiert knoten der form postet
standard protocols
- ftp
- syslog
- telnet, ssh, rsh
- traceroute
- BitTorrent
- WebDAV server
- SMTP
- POP
- IMAP
- NNTP
- VNC
- Flicker, Googlemaps, delicious, etc.
- skype
other nodes
table with SendMessage constants as one node
subtitles
getting subtitle text out of avis
getting live subtitles from tv
cheesy windows gui elements in gdi renderer
buttons, combo boxes, radio buttons, sliders etc.
ms agent
speech recognition / speech synthesis
telephone api
time
think about time zones
daylight saving zone in systemtime
nntp time
http://www.softandco.com/a/1870/esbdates.html
The aim of this code is to provide extra Date/Time routines to those supplied with SysUtils, covering Date Conversions, Time Conversions, Date Arithmetic, Easter Calculations, Time Zones, RFC822 Compliant Routines, ISO-8601 Compliant Routines, Week Numbers, and much more. We now have over 275 Routines thanks to user feedback!
output-subtypes
timeformats, physical units...
vvvv and lights
- fixturefiles in module umwandeln. knoten für gängige lampen
- marktübersicht dmx interfaces machen
- pan-tilt nach x/y berechnung
- cmyk colors
- farbkorrekturen,
- timeline, 2d-timeline
- presets/combinations
- texture to dmx
- ioboxen in externe faderboxen und touchboxen exponieren / manual override
- I mit Step pin
- Delay ms
- dynamicpingroups autoadd
- beat tracking
- time code reader
- linear time to timecode frame formats
what to do for cocoon
kurzfristig
- Dateisynchronisation vereinfachen. mirror-programm benutzen. klare master zuweisen, sachen automatisch an die richtigen stellen spielen. backups automatisch anlegen.
- System entwickeln, wie man einfach zwischen verschiedenen Setups umschalten kann, um z.b. für eine sonderveranstaltung eigene patches benutzen zu können.
- Ggf. umgang mit mehreren Shows in der GrandMA erlernen
- Hoch- und Runterfahren automatisieren, wie bei Hydrosphere
- Neuer Terrazzoparameter, der AVI-files abspielt. ggf. auch Flash-Files
- Schalter zum Umschalten zwischen Voll- und Halb-PAL am Rendercontroller
mittelfristig
- Sequencer auf neue Version updaten, prüfen, mit welchen neuen Knoten die Performance signifikant erhöhrt werden kann. Wünschbares Interface entwerfen. Aufwand für Erweiterung um Presets/Timelines etc. abschätzen. GrandMA herausoperieren.
- Nachladen von Patches debuggen
- Strategie zum nachladen von Patches in der Boygroup entwickeln
- Layers und Workflows entwickeln, die Externen Grafikern kreative Gestaltung ermöglichen. z.b. Fotos, AVI, Flash-AVI-konversion, Panoramafilme etc.
langfristig
- Graph schneller machen. unbenützte patches drinlassen
- Clublicht über VVVV steuern, GrandMA eliminieren.
research
- Ruby on Rails
- http://documentation.rubyonrails.com/
- Squeak and Seaside
- http://seaside.st/
- http://www.cincomsmalltalk.com/CincomSmalltalkWiki/Seaside%20Tutorial
- http://www.phubuh.org/Media/Writing/Continuations/
- http://www.sgi.com/misc/grafica/texmap/index.html