diff options
author | Juha Vehviläinen <jusu@users.sourceforge.net> | 2003-02-17 22:28:16 +0000 |
---|---|---|
committer | Juha Vehviläinen <jusu@users.sourceforge.net> | 2003-02-17 22:28:16 +0000 |
commit | ba67bbb2db6327dc0f64eab24bafe5f023ce42ed (patch) | |
tree | e6448c5063b7fb2b021e32e31958d10a9a51fb07 | |
parent | 2992b54a966b8972730a2552bb81183f07e35795 (diff) |
0.32
svn path=/trunk/Framestein/; revision=418
-rw-r--r-- | CHANGELOG.txt | 4 | ||||
-rwxr-xr-x | Framestein.exe | bin | 972288 -> 971776 bytes | |||
-rw-r--r-- | Patches/18.example-rowca.pd | 58 | ||||
-rw-r--r-- | Patches/fs.grid.pd | 21 | ||||
-rw-r--r-- | Plugins/2colors.dll | bin | 36864 -> 36864 bytes | |||
-rw-r--r-- | Plugins/argument-passing.dll | bin | 40960 -> 40960 bytes | |||
-rw-r--r-- | Plugins/bend.c | 2 | ||||
-rw-r--r-- | Plugins/bend.dll | bin | 49152 -> 49152 bytes | |||
-rw-r--r-- | Plugins/black.dll | bin | 36864 -> 36864 bytes | |||
-rw-r--r-- | Plugins/cga.c | 2 | ||||
-rw-r--r-- | Plugins/cga.dll | bin | 36864 -> 36864 bytes | |||
-rw-r--r-- | Plugins/colortv.c | 2 | ||||
-rw-r--r-- | Plugins/colortv.dll | bin | 28672 -> 36864 bytes | |||
-rw-r--r-- | Plugins/compare.c | 2 | ||||
-rw-r--r-- | Plugins/compare.dll | bin | 36864 -> 36864 bytes | |||
-rw-r--r-- | Plugins/constrain.c | 2 | ||||
-rw-r--r-- | Plugins/constrain.dll | bin | 36864 -> 36864 bytes | |||
-rw-r--r-- | Plugins/convolution.c | 2 | ||||
-rw-r--r-- | Plugins/convolution.dll | bin | 45056 -> 45056 bytes | |||
-rw-r--r-- | Plugins/copy_vert.c | 2 | ||||
-rw-r--r-- | Plugins/copy_vert.dll | bin | 28672 -> 36864 bytes | |||
-rw-r--r-- | Plugins/cutout.c | 2 | ||||
-rw-r--r-- | Plugins/cutout.dll | bin | 36864 -> 36864 bytes | |||
-rw-r--r-- | Plugins/darken.c | 2 | ||||
-rw-r--r-- | Plugins/darken.dll | bin | 36864 -> 36864 bytes | |||
-rw-r--r-- | Plugins/deinterlace.c | 4 | ||||
-rw-r--r-- | Plugins/deinterlace.dll | bin | 36864 -> 36864 bytes | |||
-rw-r--r-- | Plugins/difference.c | 2 | ||||
-rw-r--r-- | Plugins/difference.dll | bin | 36864 -> 36864 bytes | |||
-rw-r--r-- | Plugins/eclipse.c | 2 | ||||
-rw-r--r-- | Plugins/eclipse.dll | bin | 49152 -> 49152 bytes | |||
-rw-r--r-- | Plugins/eclipse02.c | 2 | ||||
-rw-r--r-- | Plugins/eclipse02.dll | bin | 45056 -> 49152 bytes | |||
-rw-r--r-- | Plugins/eclipse03.c | 2 | ||||
-rw-r--r-- | Plugins/eclipse03.dll | bin | 49152 -> 49152 bytes | |||
-rw-r--r-- | Plugins/fader.cpp | 26 | ||||
-rw-r--r-- | Plugins/fader.dll | bin | 0 -> 45056 bytes | |||
-rw-r--r-- | Plugins/fromage.c | 2 | ||||
-rw-r--r-- | Plugins/fromage.dll | bin | 36864 -> 36864 bytes | |||
-rw-r--r-- | Plugins/fs2vf.c | 2 | ||||
-rw-r--r-- | Plugins/fs2vf.dll | bin | 36864 -> 36864 bytes | |||
-rw-r--r-- | Plugins/gol.c | 2 | ||||
-rw-r--r-- | Plugins/gol.dll | bin | 36864 -> 36864 bytes | |||
-rw-r--r-- | Plugins/green.dll | bin | 36864 -> 36864 bytes | |||
-rw-r--r-- | Plugins/hist.dll | bin | 45056 -> 45056 bytes | |||
-rw-r--r-- | Plugins/interlace.c | 4 | ||||
-rw-r--r-- | Plugins/interlace.dll | bin | 36864 -> 36864 bytes | |||
-rw-r--r-- | Plugins/keyscreen.c | 2 | ||||
-rw-r--r-- | Plugins/keyscreen.dll | bin | 36864 -> 36864 bytes | |||
-rw-r--r-- | Plugins/lighten.c | 2 | ||||
-rw-r--r-- | Plugins/lighten.dll | bin | 36864 -> 36864 bytes | |||
-rw-r--r-- | Plugins/lightspeed.c | 2 | ||||
-rw-r--r-- | Plugins/lightspeed.dll | bin | 28672 -> 36864 bytes | |||
-rw-r--r-- | Plugins/makefile | 19 | ||||
-rw-r--r-- | Plugins/makesliders.c | 2 | ||||
-rw-r--r-- | Plugins/makesliders.dll | bin | 36864 -> 49152 bytes | |||
-rw-r--r-- | Plugins/merge_additive.cpp | 30 | ||||
-rw-r--r-- | Plugins/merge_additive.dll | bin | 0 -> 36864 bytes | |||
-rw-r--r-- | Plugins/merge_mod.cpp | 33 | ||||
-rw-r--r-- | Plugins/merge_mod.dll | bin | 0 -> 53248 bytes | |||
-rw-r--r-- | Plugins/modgain.c | 2 | ||||
-rw-r--r-- | Plugins/modgain.dll | bin | 36864 -> 36864 bytes | |||
-rw-r--r-- | Plugins/ms.dll | bin | 36864 -> 49152 bytes | |||
-rw-r--r-- | Plugins/multiply.c | 2 | ||||
-rw-r--r-- | Plugins/multiply.dll | bin | 36864 -> 36864 bytes | |||
-rw-r--r-- | Plugins/noize.c | 2 | ||||
-rw-r--r-- | Plugins/noize.dll | bin | 36864 -> 36864 bytes | |||
-rw-r--r-- | Plugins/overlay.c | 2 | ||||
-rw-r--r-- | Plugins/overlay.dll | bin | 36864 -> 36864 bytes | |||
-rw-r--r-- | Plugins/ping.c | 13 | ||||
-rw-r--r-- | Plugins/ping.dll | bin | 0 -> 36864 bytes | |||
-rw-r--r-- | Plugins/plot.cpp | 4 | ||||
-rw-r--r-- | Plugins/plot.dll | bin | 28672 -> 36864 bytes | |||
-rw-r--r-- | Plugins/rene.c | 2 | ||||
-rw-r--r-- | Plugins/rene.dll | bin | 49152 -> 49152 bytes | |||
-rw-r--r-- | Plugins/rgb.dll | bin | 36864 -> 36864 bytes | |||
-rw-r--r-- | Plugins/rgbavg.c | 2 | ||||
-rw-r--r-- | Plugins/rgbavg.dll | bin | 49152 -> 49152 bytes | |||
-rw-r--r-- | Plugins/rgbavg02.c | 2 | ||||
-rw-r--r-- | Plugins/rgbavg02.dll | bin | 53248 -> 53248 bytes | |||
-rw-r--r-- | Plugins/rgbcopy.cpp | 2 | ||||
-rw-r--r-- | Plugins/rgbcopy.dll | bin | 28672 -> 36864 bytes | |||
-rw-r--r-- | Plugins/rgbseek.c | 2 | ||||
-rw-r--r-- | Plugins/rgbseek.dll | bin | 36864 -> 36864 bytes | |||
-rw-r--r-- | Plugins/rowca.cpp | 4 | ||||
-rw-r--r-- | Plugins/rowca.dll | bin | 110592 -> 110592 bytes | |||
-rw-r--r-- | Plugins/screen.c | 2 | ||||
-rw-r--r-- | Plugins/screen.dll | bin | 36864 -> 36864 bytes | |||
-rw-r--r-- | Plugins/setbits.c | 2 | ||||
-rw-r--r-- | Plugins/setbits.dll | bin | 28672 -> 36864 bytes | |||
-rw-r--r-- | Plugins/shadowcaster.c | 2 | ||||
-rw-r--r-- | Plugins/shadowcaster.dll | bin | 65536 -> 65536 bytes | |||
-rw-r--r-- | Plugins/shuffle.dll | bin | 36864 -> 36864 bytes | |||
-rw-r--r-- | Plugins/softlight.c | 2 | ||||
-rw-r--r-- | Plugins/softlight.dll | bin | 45056 -> 49152 bytes | |||
-rw-r--r-- | Plugins/sonogram.dll | bin | 49152 -> 45056 bytes | |||
-rw-r--r-- | Plugins/subtract.dll | bin | 40960 -> 40960 bytes | |||
-rw-r--r-- | Plugins/swap.cpp | 3 | ||||
-rw-r--r-- | Plugins/swap.dll | bin | 36864 -> 36864 bytes | |||
-rw-r--r-- | Plugins/tile.dll | bin | 36864 -> 36864 bytes | |||
-rw-r--r-- | Plugins/traffic.c | 2 | ||||
-rw-r--r-- | Plugins/traffic.dll | bin | 49152 -> 49152 bytes | |||
-rw-r--r-- | Plugins/vf2fs.c | 2 | ||||
-rw-r--r-- | Plugins/vf2fs.dll | bin | 36864 -> 36864 bytes | |||
-rw-r--r-- | Plugins/xbend.c | 2 | ||||
-rw-r--r-- | Plugins/xbend.dll | bin | 36864 -> 45056 bytes | |||
-rw-r--r-- | Plugins/xshred.c | 2 | ||||
-rw-r--r-- | Plugins/xshred.dll | bin | 28672 -> 36864 bytes | |||
-rw-r--r-- | toolbar.txt | 23 |
109 files changed, 307 insertions, 13 deletions
diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 0ad9af7..6647c90 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -1,6 +1,6 @@ 0.32 -- added toolbar, paste objects to patches -- new plugin: lightspeed +- added toolbar (just a list of framestein objects & filters for now) +- new plugins: lightspeed, merge_additive, merge_mod, ping, fader - fs.frame: |title this is the main window( and |undock( commands - fs.copy: transcolor <r> <g> <b> to set the transparent color - better gol algo (Plugins\gol.c) diff --git a/Framestein.exe b/Framestein.exe Binary files differindex fd0f60c..190f01d 100755 --- a/Framestein.exe +++ b/Framestein.exe diff --git a/Patches/18.example-rowca.pd b/Patches/18.example-rowca.pd new file mode 100644 index 0000000..29ff1f9 --- /dev/null +++ b/Patches/18.example-rowca.pd @@ -0,0 +1,58 @@ +#N canvas 328 14 664 542 12; +#X obj 199 343 fs.frame; +#X obj 293 342 init; +#X msg 310 391 176x144; +#X msg 319 415 1024x768; +#X msg 327 439 3600x3600 \, display 720x576; +#X msg 227 256 rowca 001-010-011-100; +#X msg 115 282 rowca draw; +#X msg 15 282 rowca clear; +#X msg 293 368 640x480; +#X msg 421 255 rowca 111-010-001-100; +#X obj 9 35 fs.main; +#X msg 9 9 6001; +#X msg 60 9 reset; +#X text 129 8 Row cellular automata \, where each iteration adds a +new row.; +#X text 129 31 Each cell has three neighbourns \, top left \, top and +top right \, as shown below:; +#X text 129 70 123; +#X text 138 86 O; +#X text 130 106 Patterns that lead to a white cell are given as parameter +\, forming the rule of the automata.; +#X obj 150 218 t b b b; +#X msg 94 366 ping done; +#X obj 94 395 r done; +#X obj 94 422 delay 500; +#X obj 150 165 bng 45 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 94 450 spigot; +#X obj 151 452 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X text 23 510 (Using ping to determine when done processing); +#X obj 94 478 s again; +#X obj 73 176 r again; +#X text 170 450 try this; +#X text 205 177 click me; +#X connect 1 0 8 0; +#X connect 2 0 0 0; +#X connect 3 0 0 0; +#X connect 4 0 0 0; +#X connect 5 0 0 0; +#X connect 6 0 0 0; +#X connect 7 0 0 0; +#X connect 8 0 0 0; +#X connect 9 0 0 0; +#X connect 11 0 10 0; +#X connect 11 0 12 0; +#X connect 12 0 10 1; +#X connect 18 0 19 0; +#X connect 18 1 6 0; +#X connect 18 2 5 0; +#X connect 19 0 0 0; +#X connect 20 0 21 0; +#X connect 21 0 23 0; +#X connect 22 0 18 0; +#X connect 23 0 26 0; +#X connect 24 0 23 1; +#X connect 27 0 22 0; diff --git a/Patches/fs.grid.pd b/Patches/fs.grid.pd index 2819a1e..bea528a 100644 --- a/Patches/fs.grid.pd +++ b/Patches/fs.grid.pd @@ -1,4 +1,4 @@ -#N canvas 290 97 559 504 12; +#N canvas 290 97 563 508 12; #X obj 167 176 init; #X obj 111 267 unpack f f f f; #X obj 190 303 / 176; @@ -16,6 +16,15 @@ #X text 18 72 inlets: to fs.frame; #X text 18 88 outlets: x \, y \, fs.frame 3rd outlet; #X text 18 14 fs.grid -- grid control module; +#X obj 399 277 f \$1; +#X obj 399 302 == 0; +#X obj 399 325 sel 1; +#X obj 457 302 == 0; +#X obj 457 325 sel 1; +#X obj 457 277 f \$2; +#X obj 413 239 loadbang; +#X msg 399 349 1; +#X msg 457 349 1; #X connect 0 0 6 0; #X connect 1 2 2 0; #X connect 1 3 3 0; @@ -28,3 +37,13 @@ #X connect 12 1 1 0; #X connect 12 2 9 0; #X connect 13 0 12 0; +#X connect 17 0 18 0; +#X connect 18 0 19 0; +#X connect 19 0 24 0; +#X connect 20 0 21 0; +#X connect 21 0 25 0; +#X connect 22 0 20 0; +#X connect 23 0 17 0; +#X connect 23 0 22 0; +#X connect 24 0 10 1; +#X connect 25 0 11 1; diff --git a/Plugins/2colors.dll b/Plugins/2colors.dll Binary files differindex fbb0e4d..c7c67aa 100644 --- a/Plugins/2colors.dll +++ b/Plugins/2colors.dll diff --git a/Plugins/argument-passing.dll b/Plugins/argument-passing.dll Binary files differindex d77a64b..dc80dd6 100644 --- a/Plugins/argument-passing.dll +++ b/Plugins/argument-passing.dll diff --git a/Plugins/bend.c b/Plugins/bend.c index 753159d..70229cc 100644 --- a/Plugins/bend.c +++ b/Plugins/bend.c @@ -2,6 +2,8 @@ #include <string.h> #include "plugin.h" +INFO("bend image horizontally or vertically") + void perform_effect(_frame f, _args a) { printf("NOTE: bend as effect does nothing. Use bend as copy operation.\n"); diff --git a/Plugins/bend.dll b/Plugins/bend.dll Binary files differindex a4a62fb..fe679fc 100644 --- a/Plugins/bend.dll +++ b/Plugins/bend.dll diff --git a/Plugins/black.dll b/Plugins/black.dll Binary files differindex 474d5ef..83567e2 100644 --- a/Plugins/black.dll +++ b/Plugins/black.dll diff --git a/Plugins/cga.c b/Plugins/cga.c index bc329d7..945724a 100644 --- a/Plugins/cga.c +++ b/Plugins/cga.c @@ -14,6 +14,8 @@ #include <math.h> #include "plugin.h" +INFO("242.cga -- does bit-level quantization on an input image") + #pragma warning( disable : 4761 ) // the (lossy) conversion _IS_ our effect ! void perform_effect(struct frame f, struct args arg) diff --git a/Plugins/cga.dll b/Plugins/cga.dll Binary files differindex aa25a11..be9ad3c 100644 --- a/Plugins/cga.dll +++ b/Plugins/cga.dll diff --git a/Plugins/colortv.c b/Plugins/colortv.c index 1885d1f..f6527fb 100644 --- a/Plugins/colortv.c +++ b/Plugins/colortv.c @@ -1,5 +1,7 @@ #include "plugin.h" +INFO("color distortion") + void perform_effect(struct frame f, struct args a) { int x, y; diff --git a/Plugins/colortv.dll b/Plugins/colortv.dll Binary files differindex cf5dacf..86c1260 100644 --- a/Plugins/colortv.dll +++ b/Plugins/colortv.dll diff --git a/Plugins/compare.c b/Plugins/compare.c index a507be9..55e10b1 100644 --- a/Plugins/compare.c +++ b/Plugins/compare.c @@ -30,6 +30,8 @@ #include <string.h> #include "plugin.h" +INFO("compare two images for differences") + void perform_effect(struct frame f, struct args a) { printf("Using compare as effect does nothing!\n"); diff --git a/Plugins/compare.dll b/Plugins/compare.dll Binary files differindex 5dabdde..f431b70 100644 --- a/Plugins/compare.dll +++ b/Plugins/compare.dll diff --git a/Plugins/constrain.c b/Plugins/constrain.c index 3463cea..dfb0868 100644 --- a/Plugins/constrain.c +++ b/Plugins/constrain.c @@ -13,6 +13,8 @@ #include <string.h> #include "plugin.h" +INFO("242.constrain -- does color range constraining on an input image") + void perform_effect(struct frame f, struct args a) { int x,y; diff --git a/Plugins/constrain.dll b/Plugins/constrain.dll Binary files differindex 0eaf042..03c84dc 100644 --- a/Plugins/constrain.dll +++ b/Plugins/constrain.dll diff --git a/Plugins/convolution.c b/Plugins/convolution.c index d1ec139..2504866 100644 --- a/Plugins/convolution.c +++ b/Plugins/convolution.c @@ -31,6 +31,8 @@ #include <string.h> #include "plugin.h" +INFO("5x5 convolution kernel matrix calculation") + void perform_effect(struct frame f, struct args a) { short x, y; diff --git a/Plugins/convolution.dll b/Plugins/convolution.dll Binary files differindex 68a6ed2..5364ad3 100644 --- a/Plugins/convolution.dll +++ b/Plugins/convolution.dll diff --git a/Plugins/copy_vert.c b/Plugins/copy_vert.c index cb7b093..963f2fd 100644 --- a/Plugins/copy_vert.c +++ b/Plugins/copy_vert.c @@ -2,6 +2,8 @@ #include <string.h> #include "plugin.h" +INFO("copy one vertical line at a given position") + void perform_copy(_frame f1, _frame f2, _args a) { byte pixelsize = f1.pixelformat/8; diff --git a/Plugins/copy_vert.dll b/Plugins/copy_vert.dll Binary files differindex 95aab74..e6e740f 100644 --- a/Plugins/copy_vert.dll +++ b/Plugins/copy_vert.dll diff --git a/Plugins/cutout.c b/Plugins/cutout.c index 9ad1984..f9e88de 100644 --- a/Plugins/cutout.c +++ b/Plugins/cutout.c @@ -13,6 +13,8 @@ #include <string.h> #include "plugin.h" +INFO("242.cutout -- does a rectangular mask really quickly") + void perform_effect(struct frame f, struct args a) { printf("Using cutout as effect does nothing!\n"); diff --git a/Plugins/cutout.dll b/Plugins/cutout.dll Binary files differindex 939cfe4..cade036 100644 --- a/Plugins/cutout.dll +++ b/Plugins/cutout.dll diff --git a/Plugins/darken.c b/Plugins/darken.c index a57b0b7..8f44e81 100644 --- a/Plugins/darken.c +++ b/Plugins/darken.c @@ -23,6 +23,8 @@ #include <stdlib.h> #include "plugin.h" +INFO("darken of two images") + void perform_effect(struct frame f, struct args a) { printf("Using darken as effect does nothing!\n"); diff --git a/Plugins/darken.dll b/Plugins/darken.dll Binary files differindex 174e654..5c3e787 100644 --- a/Plugins/darken.dll +++ b/Plugins/darken.dll diff --git a/Plugins/deinterlace.c b/Plugins/deinterlace.c index ca12568..bc8e9ef 100644 --- a/Plugins/deinterlace.c +++ b/Plugins/deinterlace.c @@ -1,5 +1,5 @@ // -// deinterlace - deinterlacing through pixel / line repitition +// deinterlace - deinterlacing through pixel / line repetition // // written by Olaf Matthes <olaf.matthes@gmx.de> // @@ -24,6 +24,8 @@ #include <string.h> #include "plugin.h" +INFO("deinterlacing through pixel / line repetition") + void perform_effect(struct frame f, struct args a) { short x, y, line = 0; diff --git a/Plugins/deinterlace.dll b/Plugins/deinterlace.dll Binary files differindex 7c5daf3..5e3240d 100644 --- a/Plugins/deinterlace.dll +++ b/Plugins/deinterlace.dll diff --git a/Plugins/difference.c b/Plugins/difference.c index f8c23d5..e49bb87 100644 --- a/Plugins/difference.c +++ b/Plugins/difference.c @@ -22,6 +22,8 @@ #include "plugin.h" +INFO("difference of two images") + void perform_effect(struct frame f, struct args a) { printf("Using difference as effect does nothing!\n"); diff --git a/Plugins/difference.dll b/Plugins/difference.dll Binary files differindex de38787..b5cf5fe 100644 --- a/Plugins/difference.dll +++ b/Plugins/difference.dll diff --git a/Plugins/eclipse.c b/Plugins/eclipse.c index 6c2021c..f43d71d 100644 --- a/Plugins/eclipse.c +++ b/Plugins/eclipse.c @@ -14,6 +14,8 @@ #include <string.h> #include "plugin.h" +INFO("242.eclipse -- does meta-imaging on an input image") + // the process image routines work like this: // // two pointers (src and src2) access the pixels in the input image diff --git a/Plugins/eclipse.dll b/Plugins/eclipse.dll Binary files differindex e9a29df..7d0cadc 100644 --- a/Plugins/eclipse.dll +++ b/Plugins/eclipse.dll diff --git a/Plugins/eclipse02.c b/Plugins/eclipse02.c index d1d5301..615abf4 100644 --- a/Plugins/eclipse02.c +++ b/Plugins/eclipse02.c @@ -14,6 +14,8 @@ #include <string.h> #include "plugin.h" +INFO("242.eclipse02 -- does meta-imaging on two input images") + // the process image routines work like this: // // two pointers (src and src2) access the pixels in the input image diff --git a/Plugins/eclipse02.dll b/Plugins/eclipse02.dll Binary files differindex e13a72f..55b6d87 100644 --- a/Plugins/eclipse02.dll +++ b/Plugins/eclipse02.dll diff --git a/Plugins/eclipse03.c b/Plugins/eclipse03.c index 8d6b31d..7eef511 100644 --- a/Plugins/eclipse03.c +++ b/Plugins/eclipse03.c @@ -14,6 +14,8 @@ #include <string.h> #include "plugin.h" +INFO("242.eclipse0303 -- does meta-imaging on an input image using an inversion threshhold") + // the process image routines work like this: // // two pointers (src and src2) access the pixels in the input image diff --git a/Plugins/eclipse03.dll b/Plugins/eclipse03.dll Binary files differindex 60560e2..7cbd0e7 100644 --- a/Plugins/eclipse03.dll +++ b/Plugins/eclipse03.dll diff --git a/Plugins/fader.cpp b/Plugins/fader.cpp new file mode 100644 index 0000000..5f26206 --- /dev/null +++ b/Plugins/fader.cpp @@ -0,0 +1,26 @@ +// +// fader - fade image according to brightness of another image +// + +#include "plugin.h" +#include "pixels.h" + +INFO("fade image according to brightness of another image"); + +void perform_copy(_frame f1, _frame f2, _args a) +{ + pixels p1(f1), p2(f2); + byte r, g, b; + + while(!p1.eof() && !p2.eof()) + { + r = p1.red() * (float)(p2.red() / 255.0); + g = p1.green() * (float)(p2.green() / 255.0); + b = p1.blue() * (float)(p2.blue() / 255.0); + + p2.putrgb(r, g, b); + + p1.next(); + p2.next(); + } +} diff --git a/Plugins/fader.dll b/Plugins/fader.dll Binary files differnew file mode 100644 index 0000000..40e552c --- /dev/null +++ b/Plugins/fader.dll diff --git a/Plugins/fromage.c b/Plugins/fromage.c index 0c8b48a..7514daf 100644 --- a/Plugins/fromage.c +++ b/Plugins/fromage.c @@ -13,6 +13,8 @@ #include <string.h> #include "plugin.h" +INFO("242.fromage -- does cheezy wipes between two input images") + void perform_effect(struct frame f, struct args a) { printf("Using fromage as effect does nothing!\n"); diff --git a/Plugins/fromage.dll b/Plugins/fromage.dll Binary files differindex 913caee..2d7d4a6 100644 --- a/Plugins/fromage.dll +++ b/Plugins/fromage.dll diff --git a/Plugins/fs2vf.c b/Plugins/fs2vf.c index efd479a..5a45c79 100644 --- a/Plugins/fs2vf.c +++ b/Plugins/fs2vf.c @@ -11,6 +11,8 @@ #include "sharemem.h" #include "vframe.h" +INFO("copy image data to PD's memory space") + void perform_effect(_frame f, _args a) { HANDLE hlvframe=NULL, hl=NULL; diff --git a/Plugins/fs2vf.dll b/Plugins/fs2vf.dll Binary files differindex 974de86..c784c78 100644 --- a/Plugins/fs2vf.dll +++ b/Plugins/fs2vf.dll diff --git a/Plugins/gol.c b/Plugins/gol.c index 222a894..5a5330b 100644 --- a/Plugins/gol.c +++ b/Plugins/gol.c @@ -11,7 +11,7 @@ #define BORN 1 #define DYING 2 -INFO("Conway's Game Of Life") +INFO("Conway's Game Of Life (only on 16bit displays)") int aroundme(_frame f, int x, int y) { diff --git a/Plugins/gol.dll b/Plugins/gol.dll Binary files differindex 26fe8e9..85969e5 100644 --- a/Plugins/gol.dll +++ b/Plugins/gol.dll diff --git a/Plugins/green.dll b/Plugins/green.dll Binary files differindex d1f42d6..1d43652 100644 --- a/Plugins/green.dll +++ b/Plugins/green.dll diff --git a/Plugins/hist.dll b/Plugins/hist.dll Binary files differindex 30937b8..849a377 100644 --- a/Plugins/hist.dll +++ b/Plugins/hist.dll diff --git a/Plugins/interlace.c b/Plugins/interlace.c index 1ea045f..a755c93 100644 --- a/Plugins/interlace.c +++ b/Plugins/interlace.c @@ -1,5 +1,5 @@ // -// interlace - deinterlacing through pixel / line repitition +// interlace - deinterlacing through pixel / line repetition // // written by Olaf Matthes <olaf.matthes@gmx.de> // @@ -24,6 +24,8 @@ #include <string.h> #include "plugin.h" +INFO("deinterlacing through pixel / line repetition") + void perform_effect(struct frame f, struct args a) { printf("Using interlace as effect does nothing!\n"); diff --git a/Plugins/interlace.dll b/Plugins/interlace.dll Binary files differindex 4c07025..e068573 100644 --- a/Plugins/interlace.dll +++ b/Plugins/interlace.dll diff --git a/Plugins/keyscreen.c b/Plugins/keyscreen.c index 45aea88..b301136 100644 --- a/Plugins/keyscreen.c +++ b/Plugins/keyscreen.c @@ -15,6 +15,8 @@ #include <string.h> #include "plugin.h" +INFO("242.keyscreen -- does 3-source chroma keying") + void perform_effect(struct frame f, struct args a) { printf("Using keyscreen as effect does nothing!\n"); diff --git a/Plugins/keyscreen.dll b/Plugins/keyscreen.dll Binary files differindex 6631ea3..acea31c 100644 --- a/Plugins/keyscreen.dll +++ b/Plugins/keyscreen.dll diff --git a/Plugins/lighten.c b/Plugins/lighten.c index ef1a065..3b1a4da 100644 --- a/Plugins/lighten.c +++ b/Plugins/lighten.c @@ -23,6 +23,8 @@ #include <stdlib.h> #include "plugin.h" +INFO("lighten of two images") + void perform_effect(struct frame f, struct args a) { printf("Using lighten as effect does nothing!\n"); diff --git a/Plugins/lighten.dll b/Plugins/lighten.dll Binary files differindex 8ef79aa..265a49a 100644 --- a/Plugins/lighten.dll +++ b/Plugins/lighten.dll diff --git a/Plugins/lightspeed.c b/Plugins/lightspeed.c index ec342dd..460e7fe 100644 --- a/Plugins/lightspeed.c +++ b/Plugins/lightspeed.c @@ -1,6 +1,8 @@ #include <stdlib.h> #include "plugin.h" +INFO("a great effect. $1 = y offset") + void perform_effect(_frame f, _args a) { int pos, y, pixelsize=f.pixelformat/8; diff --git a/Plugins/lightspeed.dll b/Plugins/lightspeed.dll Binary files differindex 1a76fa2..977a869 100644 --- a/Plugins/lightspeed.dll +++ b/Plugins/lightspeed.dll diff --git a/Plugins/makefile b/Plugins/makefile index f4e6b6c..b3f6a46 100644 --- a/Plugins/makefile +++ b/Plugins/makefile @@ -5,7 +5,8 @@ all: noize colortv subtract xbend bend gol shuffle green \ multiply overlay screen shadowcaster softlight \ rgbseek modgain traffic constrain eclipse eclipse02 eclipse03 \ cga keyscreen rene cutout fromage rgbavg rgbavg02 \ - rowca argument-passing lightspeed + rowca argument-passing lightspeed merge_additive merge_mod ping \ + fader dir *.dll @@ -72,10 +73,10 @@ xshred: cl xshred.c $(FLAGS) /link $(COPY) vf2fs: - cl vf2fs.c $(FLAGS) /I..\Externals /link $(EFFECT) + cl vf2fs.c $(FLAGS) /I..\Patches /link $(EFFECT) fs2vf: - cl fs2vf.c $(FLAGS) /I..\Externals /link $(EFFECT) + cl fs2vf.c $(FLAGS) /I..\Patches /link $(EFFECT) swap: cl swap.cpp $(FLAGS) /link $(COPY) @@ -192,3 +193,15 @@ argument-passing: lightspeed: cl lightspeed.c $(FLAGS) /link $(EFFECT) + +merge_additive: + cl merge_additive.cpp $(FLAGS) /GX /link $(COPY) + +merge_mod: + cl merge_mod.cpp $(FLAGS) /GX /link $(COPY) + +ping: + cl ping.c $(FLAGS) /link $(EFFECT) + +fader: + cl fader.cpp $(FLAGS) /GX /link $(COPY) diff --git a/Plugins/makesliders.c b/Plugins/makesliders.c index 5c0b209..3566f15 100644 --- a/Plugins/makesliders.c +++ b/Plugins/makesliders.c @@ -8,6 +8,8 @@ #include <string.h> #include "plugin.h" +INFO("display slider values. usage: makesliders 14 56 76 140 [...]") + #define MAXVALS 128 void perform_effect(_frame f, _args a) diff --git a/Plugins/makesliders.dll b/Plugins/makesliders.dll Binary files differindex 5491ab8..7fbd58d 100644 --- a/Plugins/makesliders.dll +++ b/Plugins/makesliders.dll diff --git a/Plugins/merge_additive.cpp b/Plugins/merge_additive.cpp new file mode 100644 index 0000000..ee648ef --- /dev/null +++ b/Plugins/merge_additive.cpp @@ -0,0 +1,30 @@ +// +// merge_additive - add color components of two images, until white +// + +#include "plugin.h" +#include "pixels.h" + +INFO("add color components of two images until white"); + +void perform_copy(_frame f1, _frame f2, _args a) +{ + pixels p1(f1), p2(f2); + int r, g, b; + + while(!p1.eof() && !p2.eof()) + { + r = (p1.red() + p2.red()); + g = (p1.green() + p2.green()); + b = (p1.blue() + p2.blue()); + + r = r<256 ? r : 255; + g = g<256 ? g : 255; + b = b<256 ? b : 255; + + p2.putrgb(r, g, b); + + p1.next(); + p2.next(); + } +} diff --git a/Plugins/merge_additive.dll b/Plugins/merge_additive.dll Binary files differnew file mode 100644 index 0000000..5f4e3e9 --- /dev/null +++ b/Plugins/merge_additive.dll diff --git a/Plugins/merge_mod.cpp b/Plugins/merge_mod.cpp new file mode 100644 index 0000000..1aa9f16 --- /dev/null +++ b/Plugins/merge_mod.cpp @@ -0,0 +1,33 @@ +// +// merge_additive - add color components of two images, mod 255 +// + +#include "plugin.h" +#include "pixels.h" + +INFO("add color components of two images, modulus 255"); + +void perform_copy(_frame f1, _frame f2, _args a) +{ + arguments ar(a.s); + pixels p1(f1), p2(f2); + int r, g, b; + + float f = ar.count()>=1 ? atof(ar[0]) : 1; + + while(!p1.eof() && !p2.eof()) + { + r = (f * p1.red() + p2.red()); + g = (f * p1.green() + p2.green()); + b = (f * p1.blue() + p2.blue()); + + r = r % 255; + g = g % 255; + b = b % 255; + + p2.putrgb(r, g, b); + + p1.next(); + p2.next(); + } +} diff --git a/Plugins/merge_mod.dll b/Plugins/merge_mod.dll Binary files differnew file mode 100644 index 0000000..544835f --- /dev/null +++ b/Plugins/merge_mod.dll diff --git a/Plugins/modgain.c b/Plugins/modgain.c index 1c4ce56..de1b3a9 100644 --- a/Plugins/modgain.c +++ b/Plugins/modgain.c @@ -14,6 +14,8 @@ #include <math.h> #include "plugin.h" +INFO("242.modgain -- does modulo channel shifting on an input image") + void perform_effect(struct frame f, struct args arg) { int x,y; diff --git a/Plugins/modgain.dll b/Plugins/modgain.dll Binary files differindex 14946a3..a3d9a75 100644 --- a/Plugins/modgain.dll +++ b/Plugins/modgain.dll diff --git a/Plugins/ms.dll b/Plugins/ms.dll Binary files differindex 5491ab8..7fbd58d 100644 --- a/Plugins/ms.dll +++ b/Plugins/ms.dll diff --git a/Plugins/multiply.c b/Plugins/multiply.c index 45aa9bb..61897bd 100644 --- a/Plugins/multiply.c +++ b/Plugins/multiply.c @@ -22,6 +22,8 @@ #include "plugin.h" +INFO("multiply of two images") + void perform_effect(struct frame f, struct args a) { printf("Using multiply as effect does nothing!\n"); diff --git a/Plugins/multiply.dll b/Plugins/multiply.dll Binary files differindex be177db..437ef5d 100644 --- a/Plugins/multiply.dll +++ b/Plugins/multiply.dll diff --git a/Plugins/noize.c b/Plugins/noize.c index d6d2b3a..148fc3c 100644 --- a/Plugins/noize.c +++ b/Plugins/noize.c @@ -1,6 +1,8 @@ #include <stdio.h> #include "plugin.h" +INFO("turn some random bits") + void perform_effect(struct frame f, struct args a) { int i,o,x,y; diff --git a/Plugins/noize.dll b/Plugins/noize.dll Binary files differindex b761095..9d88d4b 100644 --- a/Plugins/noize.dll +++ b/Plugins/noize.dll diff --git a/Plugins/overlay.c b/Plugins/overlay.c index 99ab68e..5e23635 100644 --- a/Plugins/overlay.c +++ b/Plugins/overlay.c @@ -23,6 +23,8 @@ #include <stdlib.h> #include "plugin.h" +INFO("overlay of two images") + void perform_effect(struct frame f, struct args a) { printf("Using overlay as effect does nothing!\n"); diff --git a/Plugins/overlay.dll b/Plugins/overlay.dll Binary files differindex fc6771e..b613798 100644 --- a/Plugins/overlay.dll +++ b/Plugins/overlay.dll diff --git a/Plugins/ping.c b/Plugins/ping.c new file mode 100644 index 0000000..376a19d --- /dev/null +++ b/Plugins/ping.c @@ -0,0 +1,13 @@ +#include "plugin.h" + +INFO("ask fs.frame to bang the receive given as 1st argument") + +// can be used at the end of a processing chain to inform when the processing is done. +// very useful. + +void perform_effect(_frame f, _args a) +{ + if(!a.s) return; + + sprintf(a.ret, "%s=0", a.s); // bang receive given in a.s +} diff --git a/Plugins/ping.dll b/Plugins/ping.dll Binary files differnew file mode 100644 index 0000000..db5a945 --- /dev/null +++ b/Plugins/ping.dll diff --git a/Plugins/plot.cpp b/Plugins/plot.cpp index 67c264c..ae53c05 100644 --- a/Plugins/plot.cpp +++ b/Plugins/plot.cpp @@ -4,8 +4,10 @@ #include "plugin.h" #include "pixels.h" +INFO("plot pixel to vframe") + // plot exists to provide plotting to vframe - much faster than -// plot with fs.draw which goes thru network. +// plot with fs.draw which goes thru TCP/IP. void perform_effect(_frame f, _args a) { diff --git a/Plugins/plot.dll b/Plugins/plot.dll Binary files differindex 93cff6a..28e85dc 100644 --- a/Plugins/plot.dll +++ b/Plugins/plot.dll diff --git a/Plugins/rene.c b/Plugins/rene.c index d8e6082..2885f47 100644 --- a/Plugins/rene.c +++ b/Plugins/rene.c @@ -16,6 +16,8 @@ #include <string.h> #include "plugin.h" +INFO("242.rene -- does 3-source chroma keying with transparency") + void perform_effect(struct frame f, struct args a) { printf("Using keyscreen as effect does nothing!\n"); diff --git a/Plugins/rene.dll b/Plugins/rene.dll Binary files differindex d5fb95b..f424b39 100644 --- a/Plugins/rene.dll +++ b/Plugins/rene.dll diff --git a/Plugins/rgb.dll b/Plugins/rgb.dll Binary files differindex 76e18b7..cd5b0dc 100644 --- a/Plugins/rgb.dll +++ b/Plugins/rgb.dll diff --git a/Plugins/rgbavg.c b/Plugins/rgbavg.c index c903ab1..f9459f6 100644 --- a/Plugins/rgbavg.c +++ b/Plugins/rgbavg.c @@ -14,6 +14,8 @@ #include <math.h> #include "plugin.h" +INFO("242.rgbavg -- does funky pixel averaging on an input image") + #pragma warning( disable : 4761 ) // that's why it's funky !! void perform_effect(struct frame f, struct args a) diff --git a/Plugins/rgbavg.dll b/Plugins/rgbavg.dll Binary files differindex 8b5fe70..ab925ae 100644 --- a/Plugins/rgbavg.dll +++ b/Plugins/rgbavg.dll diff --git a/Plugins/rgbavg02.c b/Plugins/rgbavg02.c index 5fc773e..adb26cf 100644 --- a/Plugins/rgbavg02.c +++ b/Plugins/rgbavg02.c @@ -14,6 +14,8 @@ #include <math.h> #include "plugin.h" +INFO("242.rgbavg02 -- does 2-source funky pixel averaging") + #pragma warning( disable : 4761 ) // that's why it's funky !! void perform_effect(struct frame f1, struct frame f2, struct args a) diff --git a/Plugins/rgbavg02.dll b/Plugins/rgbavg02.dll Binary files differindex 274d69f..6d19154 100644 --- a/Plugins/rgbavg02.dll +++ b/Plugins/rgbavg02.dll diff --git a/Plugins/rgbcopy.cpp b/Plugins/rgbcopy.cpp index b226e23..285f188 100644 --- a/Plugins/rgbcopy.cpp +++ b/Plugins/rgbcopy.cpp @@ -3,6 +3,8 @@ #include "plugin.h" #include "pixels.h" +INFO("mix color components of two images. usage: rgbcopy RG red/green from first, blue from second image") + void perform_copy(_frame f1, _frame f2, _args a) { pixels p1(f1), p2(f2); diff --git a/Plugins/rgbcopy.dll b/Plugins/rgbcopy.dll Binary files differindex 1a995d3..925bbee 100644 --- a/Plugins/rgbcopy.dll +++ b/Plugins/rgbcopy.dll diff --git a/Plugins/rgbseek.c b/Plugins/rgbseek.c index cf53aa5..822af9c 100644 --- a/Plugins/rgbseek.c +++ b/Plugins/rgbseek.c @@ -15,6 +15,8 @@ #include <string.h> #include "plugin.h" +INFO("242.rgbseek -- does binary color recognition on an input image") + void perform_effect(struct frame f, struct args a) { int x,y; diff --git a/Plugins/rgbseek.dll b/Plugins/rgbseek.dll Binary files differindex 151b10c..a81717c 100644 --- a/Plugins/rgbseek.dll +++ b/Plugins/rgbseek.dll diff --git a/Plugins/rowca.cpp b/Plugins/rowca.cpp index de83933..f114f7f 100644 --- a/Plugins/rowca.cpp +++ b/Plugins/rowca.cpp @@ -1,5 +1,5 @@ /* - One dimensional cellular automata, where each iteration + Row cellular automata, where each iteration adds a new row. Each cell has three neighbourns, top left, top and top right, @@ -33,6 +33,8 @@ #include "plugin.h" #include "pixels.h" +INFO("Row cellular automata, where each iteration adds a new row") + using namespace std; vector<string> sv; diff --git a/Plugins/rowca.dll b/Plugins/rowca.dll Binary files differindex 5302341..1be1434 100644 --- a/Plugins/rowca.dll +++ b/Plugins/rowca.dll diff --git a/Plugins/screen.c b/Plugins/screen.c index 76fd6bd..529b1c1 100644 --- a/Plugins/screen.c +++ b/Plugins/screen.c @@ -23,6 +23,8 @@ #include <stdlib.h> #include "plugin.h" +INFO("screen of two images") + void perform_effect(struct frame f, struct args a) { printf("Using screen as effect does nothing!\n"); diff --git a/Plugins/screen.dll b/Plugins/screen.dll Binary files differindex 5b6f3c6..5be8da9 100644 --- a/Plugins/screen.dll +++ b/Plugins/screen.dll diff --git a/Plugins/setbits.c b/Plugins/setbits.c index dddc5eb..e9e2931 100644 --- a/Plugins/setbits.c +++ b/Plugins/setbits.c @@ -1,6 +1,8 @@ #include <stdlib.h> #include "plugin.h" +INFO("set image data to a given value") + void perform_effect(_frame f, _args a) { unsigned char c; diff --git a/Plugins/setbits.dll b/Plugins/setbits.dll Binary files differindex 9a772ab..38247eb 100644 --- a/Plugins/setbits.dll +++ b/Plugins/setbits.dll diff --git a/Plugins/shadowcaster.c b/Plugins/shadowcaster.c index 0411c79..0494449 100644 --- a/Plugins/shadowcaster.c +++ b/Plugins/shadowcaster.c @@ -26,6 +26,8 @@ #include "plugin.h" #include "tools.h" +INFO("porduce a cutout with shadow.") + #define MAX_SHADOW 128 /* maximum shadow width in px */ void perform_effect(struct frame f, struct args a) diff --git a/Plugins/shadowcaster.dll b/Plugins/shadowcaster.dll Binary files differindex 7e2137d..b83d255 100644 --- a/Plugins/shadowcaster.dll +++ b/Plugins/shadowcaster.dll diff --git a/Plugins/shuffle.dll b/Plugins/shuffle.dll Binary files differindex d46d5aa..ce54039 100644 --- a/Plugins/shuffle.dll +++ b/Plugins/shuffle.dll diff --git a/Plugins/softlight.c b/Plugins/softlight.c index 90dc4b0..0275d09 100644 --- a/Plugins/softlight.c +++ b/Plugins/softlight.c @@ -24,6 +24,8 @@ #include "plugin.h" #include "tools.h" +INFO("softlight overlay of two images") + void perform_effect(struct frame f, struct args a) { printf("Using softlight as effect does nothing!\n"); diff --git a/Plugins/softlight.dll b/Plugins/softlight.dll Binary files differindex 3eeb131..682d55c 100644 --- a/Plugins/softlight.dll +++ b/Plugins/softlight.dll diff --git a/Plugins/sonogram.dll b/Plugins/sonogram.dll Binary files differindex 2615d14..b187365 100644 --- a/Plugins/sonogram.dll +++ b/Plugins/sonogram.dll diff --git a/Plugins/subtract.dll b/Plugins/subtract.dll Binary files differindex 4bab85c..c7214b4 100644 --- a/Plugins/subtract.dll +++ b/Plugins/subtract.dll diff --git a/Plugins/swap.cpp b/Plugins/swap.cpp index d1389f4..28baceb 100644 --- a/Plugins/swap.cpp +++ b/Plugins/swap.cpp @@ -4,8 +4,7 @@ #include "plugin.h" #include "pixels.h" -// swap selected area on two images -// args: swap sourcex1 sourcey1 sourcex2 sourcey2 destx desty +INFO("swap selected area on two images. usage: swap sourcex1 sourcey1 sourcex2 sourcey2 destx desty") // (the selection is of equal size on both images) void swapint(int *a, int *b) diff --git a/Plugins/swap.dll b/Plugins/swap.dll Binary files differindex ee04f4c..8fc8af2 100644 --- a/Plugins/swap.dll +++ b/Plugins/swap.dll diff --git a/Plugins/tile.dll b/Plugins/tile.dll Binary files differindex 7d7e565..e8b552e 100644 --- a/Plugins/tile.dll +++ b/Plugins/tile.dll diff --git a/Plugins/traffic.c b/Plugins/traffic.c index be2dbba..9ff8bf0 100644 --- a/Plugins/traffic.c +++ b/Plugins/traffic.c @@ -13,6 +13,8 @@ #include <stdlib.h> #include "plugin.h" +INFO("242.traffic -- does tristimulus matrix operations on an input image") + // tristimulus product used for matrix conversions static void tristimulus_product(float *matrix, byte *input, byte *output) diff --git a/Plugins/traffic.dll b/Plugins/traffic.dll Binary files differindex f6bacce..cee2102 100644 --- a/Plugins/traffic.dll +++ b/Plugins/traffic.dll diff --git a/Plugins/vf2fs.c b/Plugins/vf2fs.c index 32181eb..31460f1 100644 --- a/Plugins/vf2fs.c +++ b/Plugins/vf2fs.c @@ -11,6 +11,8 @@ #include "sharemem.h" #include "vframe.h" +INFO("display vframe contents, used automatically by fs.frame") + void perform_effect(_frame f, _args a) { HANDLE hlvframe=NULL, hl=NULL; diff --git a/Plugins/vf2fs.dll b/Plugins/vf2fs.dll Binary files differindex d51abad..c2a6ba8 100644 --- a/Plugins/vf2fs.dll +++ b/Plugins/vf2fs.dll diff --git a/Plugins/xbend.c b/Plugins/xbend.c index 1ba9959..f84335b 100644 --- a/Plugins/xbend.c +++ b/Plugins/xbend.c @@ -2,6 +2,8 @@ #include <string.h> #include "plugin.h" +INFO("horizontal bend. usage: xbend <from> <to>") + void perform_effect(_frame f, _args a) { byte pixelsize = f.pixelformat/8; diff --git a/Plugins/xbend.dll b/Plugins/xbend.dll Binary files differindex a482dfa..f5bee98 100644 --- a/Plugins/xbend.dll +++ b/Plugins/xbend.dll diff --git a/Plugins/xshred.c b/Plugins/xshred.c index 6918e50..4b0517b 100644 --- a/Plugins/xshred.c +++ b/Plugins/xshred.c @@ -1,6 +1,8 @@ #include <stdlib.h> #include "plugin.h" +INFO("horizontal shredding. usage: xshred <step>") + void perform_copy(_frame f1, _frame f2, _args a) { int step, w, h, y, pixelsize=f1.pixelformat/8; diff --git a/Plugins/xshred.dll b/Plugins/xshred.dll Binary files differindex 9ddf030..6df6bd7 100644 --- a/Plugins/xshred.dll +++ b/Plugins/xshred.dll diff --git a/toolbar.txt b/toolbar.txt new file mode 100644 index 0000000..aa3886d --- /dev/null +++ b/toolbar.txt @@ -0,0 +1,23 @@ +fs.main;fs.main: connect Pd and Framestein + +fs.frame;fs.frame: Load, display and process images and video +fs.framed;fs.framed: a docked version of fs.frame +fs.copy;fs.copy: Perform operations on two fs.frames +fs.fx;fs.fx: image effects +fs.blend;fs.blend: Blend two images +fs.mask;fs.mask: Copy frame to another using a mask +fs.layermode;fs.layermode: Mix two images with difference layer mode + +fs.draw;fs.draw: Draw lines and rectangles +fs.text;fs.text: Insert text + +fs.info;fs.info: Get info on fs.frame, such as width, height, framecount, ... +fs.event;fs.event: Get mouse and drag & drop information from fs.frame +fs.rgb;fs.rgb: Get red, green and blue of a pixel +fs.hist;fs.hist: Calculate image color intensities +fs.sonogram;fs.sonogram: Show a graphical spectogram + +fs.browser;fs.browser: View webpages and convert them to images +fs.waveform;fs.waveform: Display a waveform in fs.frame + +fs.grid;fs.grid: Easy to use XY-control |