KbdController is now a singleton as well and is able to propagate
keystrokes to multiple listeners
generalizing the ControllerListener API
(must still get rid of the 'frame()' method in favour of the more
generic 'call()' one)
- Separating view logic from the real layer implementations
(so layers can be created programmatically and associated to a
view only if/when necessary)
- Separating the c++ glue classes from their related cocoa implementations
Screen API changed a bit: now size args are taken from init(w,h)
screen implementations should provide an _init(w,h) as well
constructors are without arguments (as in the rest of freej)
It Can be changed through the preferences panel (WIP)
(started implementation for a screen-keyboard-listener
to capture keystrokes acting like cocoa-based keyboard
controller)
- per-layer filter parameters are now restored correctly when moving the
filterpanel between different layers
- Various fixes and improvements in CVF0rLayer as well.
- The FilterPanel now doesn't disappear when selecting a new filter.
- Introduced the preliminary logic necessary to access geometry layers
created through javascript
- correct framerate calculation
- switching to a default screensize of 512x384 instead of 400x300
- reorganizing gui controls
- introduced icons for both the capture and generator layers
- saving/restoring per-layer state of both filter and image parameters
- FilterPanel now updates correctly with layer-specific parameters
- better initialization of the videocapture device in CVGrabber
- (something else I don't remember right now)
They actually works fine apart that you don't have any control
on generators' layers yet. (You can create them but you can't
either change parameters or delete those layers yet)
running on slower systems (rendering the preview someway wastes
both cpu and gpu and can be 'undesired' if doing intensive video-mixing
using filters and such)
- Better lock management within cocoa objects
- CVScreen is now able to blit foreign frames (coming from not-cocoa
layers)
- support for loading/execution of javascript sripts is back
- implemented a native Cocoa-OpenGL screen
- introduced CVLayer to be used as "binding class"
within all native-cocoa layers
- runloop is now ruled by the Screen which will call
Context::cafudda() only when the DisplayLink asks for
a new videoframe to render
- both CVideoFile and CVideoGrabber are now working properly
(effects are not available yet on the CVideoGrabber layer
but I'm going to extend filtering functionalities to
the videograbber asap)