we shouldn't never specify a specific screen implementation in the
examples, otherwise they won't run on platforms where that
implementation is not available.
We should always try asking for the default implemenation for the
platform we are running on (by omitting the argument when requesting for
the screen pointer)
now screen.w and screen.h give back size
and screen.initialized says if init() was succesfull
plus the array layers[] contains the list of currently added layers
using libGD (when detected at configure) enables each screen to
take a screenshot at any moment and save it into a file
this is useful for thumbnailing and demos of plugin effects
a -p flag is added on commandline to run .pde scripts directly
it makes use of the included processing.js glue
a new scripts/processing directory is added with some examples to experiment with
so far only a few processing scripts work
fix and debug of numeric conversions in javascript,
more progress on the Cairo layer,
more processing test scripts
still a pending problem with visualization on most scripts
so far only ventaglio.pjs works...
So javascripts can know if they need to initilize the screen
(definining the size as well) or if they have been provided a
running screen and there is no need to change size or reinitialize it
Instead of being forced to always specify the type
The screen_js constructor now behaves properly
(reusing already initialized screens properly ...so also the ones
not created by the javascript, where jsobj is still NULL while
initilized is true)
still needs testing as things got shaked quite a bit
now stabilizing this branch and then merge into trunk
Conflicts:
src/gl_screen.cpp
src/include/factory.h
src/include/freeframe_freej.h
src/include/frei0r_freej.h
src/kbd_ctrl_js.cpp
src/layer.cpp
src/mouse_ctrl.cpp
now screens are also present in JS
still tasks pending:
backwards compatibility with scripts
resolution of multiple screens in startup/reset logic
testing
testing that multiple scripts can be included from a main one
removed js garbage collection in controllers (was called after script load)
included JSON as a standard library (it works!)
modified example scripts to avoid namespace clash