- moving filter-related code out of the layercontroller
by creating a Filter subclass : CVFilter
- making coreimage filters available to javascript when running on osx
Note : this is a work in progress and implementation is still unfinished
(coreimage filters won't work in this revision)
refactoring the feedFrame/renderFrame/getTexture flow to make a more
clever use of memory and autorelease pools
started implementing CVFilter
(on the way of having CoreImage filters usable from javascript)
I'm leaving calls to JS_SetContextThread() and JS_ClearContextThread
commented-out because we still need to carefully check what's going to
be called asynchrounosly from different threads
(I'll remove superfluous onse later on)
various cleanings and fixes while introducing the new
JSExecutionContext internal class (used by the JsParser to
rapresent the execution context of a script).
various fixes and cleanings here and there but more are still needed ...
and at some stage I'd like
to get rid of most of the macros in our internal javascript
abstraction in favour of a more solid api... but first we needed
the internal javascript engine to work properly and allow loading
multiple scripts without having their global context to collide.
We are there now ... but most of the old code needs to be refactored
to take advantage of the new approach ( many js objects still make use
of the global_context/global_object hold by the JsParser)
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)
TriggerController is now a singleton (KbdController is going to become a
singleton as well)
the same script can now be loaded multiple times , globals won't collide
anymore since each script will have its own context
(but still running in the same jsruntime)
using JS_MaybeGC() to try garbage-collecting as soon as necessary
- merged some local changes (avoid using deprecated APIs)
- the xcode project has been civilized
(stuff was messed up a bit by the flowmixer branch and new files were in
weird locations)
NOTE:
this is still a work in progress and all functionalities still need
testing. Something could have been messed up by mergin my local changes
with flowmixer branch