Framestein Version History

0.32 (03-02-18)
- 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)
- added 1d cell automata where each iteration will add a new row: Plugins\rowca
- added arguments-class in pixels.h to ease parsing arguments in plugins.

void perform_effect(_frame f, _args a)
arguments ar(a.s);
// ar.count() returns the number of arguments
// ar[i] returns i'th argument

- added line width setting to fs.draw
- fix: border_0 no longer alters frame dimensions
- poor lockup-preventing feature to fs.main.pd

- added plugins by Olaf Matthes: PeRColate and PixelPack. Thanks, Olaf!
- the console is back. It's good for printf():ing from plugins..
- New filters: BitLeft, Picasso, PicChop, yage, zoomnoise
- Rewrote some examples, added a couple and numbered them
- Fs got CVS'd:

- vframe supports plugin parameters
- doubleclicking the framestein-logo equals "reset"
- fs.frame "stayontop" OFF by default
- got rid of the console, "Show debug" in menu instead (right-click the framestein-logo)
- l2s from zexy included in Patches-dir, zexy no longer needed
- disconnecting pd from fs will cause a reset

- example-basics.pd is really just the basics now
- fs.event.pd: get more events from fs.frame (mousedown, mouseup, dropped filename)
- fs.waveform.pd: array display with selection capabilities, see example-waveformdisplay.pd
- new external vdrawarray for the previous: draw array contents on vframe
- the really cool fs.mask.pd and example-masking.pd
- the really cool fs.blend.pd and example-blending.pd
- fs.frame button widget. try "button <receivename> <x> <y> <buttoncaption>"
(no more widgets are planned)
- dragging fs.frame with <alt> down moves window, ignoring mousetrack_1
- fs.sonogram made compatible with latest pd test-version
- cleaned up some examples..

- finally, the ability to write AVIs! see example-avioutput.pd
- added searchpath, see example-searchpath.pd

new in fs.frame:

- "use <directory>" - like buffer, but no buffering (load on demand)
- new popupmenu commands: save image as, undock
- mousewheel functions as zoom (shift down to preserve aspect ratio)
- fix: borders/stayontop discarded the image
- dock <window title> string matching is now substring

- runs Adobe Photoshop Filter Plugins, see example-photoshopfilters.pd
- hide/show messed fs.frame positions
- vsnap~, wrapper for vsnapshot~

- no more typing docked window positions! see example-docking2.pd
- easy loading of images from fs.frame popup-menu
- new fs.frame commands: minimize, maximize, bringtofront, hidecursor_1, bufferize (copy to image buffer)
- dock main window to pd on connect (out of the way)
- init.pd to load patches correctly

- vframeread~: read image with a control-signal
- vcolor~, merge r g and b channels (must be used with vrgb~)

- externals: vframe, vsig~, vsnapshot~, vrgb~, ...
in short, the ability to convert video to signal and back,
and run framestein plugins in pd.
see Patches\externals-documentation.pd

- fs.hist and example-hist.pd
- fs.sonogram and example-sonogram.pd
- mouserect_1 will report rectangle "drawn" in frame (mousetrack_1 must be on)

- add: drag and drop images/video to fs.frame
- add: videoscrub.pd

- add: dock frames to pd patches, see example-docking.pd
- add:, get information of images (width, height and framecount)
- add: fs.rgb, get rgb information of pixel at x, y
- add: fs.frame reports mouse x and y thru second outlet
- add: easy moving of frames (drag the window when mousetrack is off)
- improved fs.browser, see example-browser.pd

- add: send_auto to automate sending frames thru network. works like send but
keeps sending frames on each flip until you give it send_manual
- add: BETA of fs.browser, see example-browser.pd
- fix: execution order of events was reversed. what was i thinking?
- fix: most plugins now work on displays other than 16 bits
- more meaningless plugins: copy_vert

- major fix: bigger patches were not initialized correctly
- new plugins: rgbcopy
- fix: colors to fs.draw and fs.text are now given in r g b,
instead of impossible one number
- fix: more intelligent default positioning of fs.frames
- fix: banging fs.main's reset-inlet resets framestein before recreating fs.*-objects
- add: play.pd, really just |inlet|-|fps $1|-|next|-|outlet|, but i do that a lot

- add: sending frames thru network jpeg-compressed, see example-network.pd
- add: some plugins, notably xbend, bend, shuffle, tile
- add: pixels-class for easy iteration thru pixels in c++, see pixels.h and green.cpp
- fix: finally fixed the annoying "asynchronous socket error" when exiting pd before fs

- add: plugins, write effects with C without recompiling Framestein
- add: plugins colortv, noize and subtract

- add: effectsunit.pas shows how easy it is to add pixel level routines
- fix: alpha, sub and add modes of fs.copy had fixed values :(
- add: blend mode to fs.copy, same as alpha but i'm trying to make it faster
- add: some raster operations for fs.copy, see fs.copy.pd for info
- add: fs.draw for drawing boxes, lines and pixels
- add: some implementation on fs.text
- fix: access violation when closing a frame under copy operations
- loading video no longer sets display to 1:1

- add: fs.frame accepts "SAVE <directory> <"BMP" or number for jpeg quality>"
- add: framestein-link.pd and framestein-demo.pd

- fix: occasional access violation with "SEEK"
- default copymodes are now "source_all" and "dest_all"
- add: "reset" inlet to fs.main

- add: "Reset" to main popup-menu (right-click the logo)
- "prev" for previous frame/buffered image
- "seek 0.5*" will seek to middle of video/buffered images
- updated documentation in fs.frame.pd

With source under GPL.

Initial version.