Commit Graph

288 Commits

Author SHA1 Message Date
xant
2a520b4e84 CVFilter are now properly created and applied
but can't be controlled from the gui (yet)
2010-06-14 23:21:38 +02:00
xant
fa51e2706d minor cleanings 2010-06-14 23:21:32 +02:00
xant
e47cde7b60 leftovers 2010-06-14 22:11:11 +02:00
xant
5fe8e2ea64 Refactoring filter implementation on osx
- 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)
2010-06-14 22:04:40 +02:00
xant
5aaa74ae32 ensure updating the textview in the mainthread
(for the sake of safeness)
2010-06-14 21:55:59 +02:00
xant
da2063755b there is no need of a lock in that routine ...
it's a runloop in a separate thread ..
and it won't never exit the loop until the program ends
2010-06-14 18:06:13 +02:00
xant
70c8381699 FilterInstance can (and should) now be used through the Factory 2010-05-23 14:51:46 +02:00
xant
f10ff95818 layer ordering is now controllable again through the listview
+ minor cleanings

Conflicts:

	xcode/CVScreenView.mm
2010-05-22 11:55:34 +02:00
xant
3b8869d60c ported last jaromil's changes to the new Filter implementation.
(also civilized the code a bit)
2010-05-22 11:39:59 +02:00
xant
0380e83394 Merge branch 'filter_refactoring' into trunk
Conflicts:
	src/filter_js.cpp
	src/include/filter.h
2010-05-22 11:32:22 +02:00
xant
f05ea9df4d getTexture now returns an autoreleased object. Callers will retain it if necessary
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)
2010-05-22 11:11:23 +02:00
xant
267513a82c minor cleanings
(dead code)
2010-05-20 21:45:46 +02:00
xant
b92958d44b empty files (but already included in the project) 2010-05-17 21:05:57 +02:00
xant
760bb90a50 refactoring the internal Filter implementation
changes don't affect the javascript api
2010-05-17 21:01:02 +02:00
Jaromil
5630ac2be6 removed old magnification code
obsoleted since long, it cleans up the Screen api

eventually we might want to have more screens
with magnification in future, algos like those
found in Mame, h2x and such
2010-05-08 22:05:08 +02:00
xant
b79276388e no need to output a black frame anymore 2010-05-03 08:46:50 +02:00
xant
2a55d5b8a6 minor cleanings 2010-05-02 22:06:51 +02:00
xant
065bfc238f core-image filters can now be applied to geolayers created from javascripts
any subclass of CVCocoaLayer with a controller associated to it can now
be controlled through the filterpanel.
The filter panel for a specific layer can now be opened by
double-clicking on the layer name in the listview.

a bit of refactoring in CVFilterPanel/CVLayerView/CVLayerController
has been done to allow viewless layers to be created and eventually
controlled through a filterpanel
2010-05-02 16:54:06 +02:00
xant
1cca034a66 include cairo in the osx build 2010-05-02 11:53:04 +02:00
xant
3f2017aec6 fixed some minor leaks
filters are now initialized on first use
2010-05-02 00:42:25 +02:00
xant
77d0408784 CVGeoLayer (+ all necessary refactoring and fixes to make it possible) 2010-04-29 14:24:46 +02:00
xant
db62dfe2fb more cleanings
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)
2010-04-25 21:55:39 +02:00
xant
f247d44914 extra checks + ensure setting the default geometry for a CVLayer
when creating it in the QTLayerController
2010-04-25 00:13:34 +02:00
xant
e276da4ed8 minor fixes and cleanings
the most serious fix here was to flag the cocoa keyboardcontroller as
indestructible, to avoid crashes when loading a new script after a reset()
(the keyboardcontroller was destroyed while still used as a singleton,
 so the new script was referencing a dead instance)
2010-04-24 23:51:43 +02:00
xant
5fbe923cab each script now has its own JSRuntime
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)
2010-04-24 10:01:09 +02:00
xant
681d84dc1e extending the Controller API
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)
2010-04-24 01:00:07 +02:00
xant
99cbdaa6fb fixing jsapi to be thread-safe and to make use of multiple contextes
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
2010-04-22 23:49:52 +02:00
xant
c3b5ec77bf minor cleanings 2010-04-18 11:53:53 +02:00
xant
d2387716f5 fullscreen now works properly with both 10.5 and 10.6 APIs 2010-04-18 10:54:12 +02:00
xant
a58c014f88 now osx code builds successfully with both 10.5 and 10.6 SDK 2010-04-17 15:18:43 +02:00
xant
33adb92eff no more deprecated APIs 2010-04-17 15:01:06 +02:00
xant
030f925d65 stop using deprecated api to go full-screen
(still working to properly replace usage of [CIContext contextWithCGLContext])
2010-04-17 14:12:09 +02:00
xant
a7a734435a stop using deprecated api [CIContext contextWithCGLContext] 2010-04-17 09:41:06 +02:00
xant
6139e38584 audio is still unavailable on osx 2010-04-17 09:40:22 +02:00
xant
66b58445ff add parameter_js to the project
cleanings to the streamer settings panel
2010-04-06 23:57:48 +02:00
xant
a13e1bee00 changed the position of some buttons 2010-04-06 23:57:48 +02:00
xant
51254bf7c9 some more changes to the gui
fixed a small bug in CVF0rLayerController (no need to stop the layer if
we are going to delete it)
2010-03-30 21:55:34 +02:00
xant
0aa1f83d04 more cleanings in CVFFmpegController and fixed some more minor bugs
posterImage is now show correctly
2010-03-30 21:02:44 +02:00
xant
6271b3f833 cleanings + fixed a bug in CVF0rLayer 2010-03-30 15:28:52 +02:00
xant
ee78078676 some minor fixes in QtLayer and continued with the GUI refactoring 2010-03-30 12:03:40 +02:00
xant
db82a72d62 argh ... even the copyright notice :/ 2010-03-30 09:14:12 +02:00
xant
ac23213c12 leftover 2010-03-29 23:46:44 +02:00
xant
6318259cf2 Qt now works on 64bit if built with 10.6 SDK (and it's damn fast!!)
Renamed CVFileInput* to CVQtLayer*
2010-03-29 23:38:12 +02:00
xant
4796f82a86 started working on the 64bit qtlayer implementation
(but no reasonable progresses yet)
fixed some minor leaks
CVFilteInput* should be renamed to CVQuicktimeLayer* anytime soon
2010-03-29 21:42:04 +02:00
xant
bd85e4aa0f some more cleanings and started rearranging the GUI (WIP) 2010-03-28 21:33:41 +02:00
xant
7799fd5087 release the lock as soon as possible
it's useless to wait for the autoreleasepool to be emptied
2010-03-28 16:52:14 +02:00
xant
a5fc197c6b got rid of some weird (and dangerous) casts
cleaning continues ...
2010-03-28 16:48:21 +02:00
xant
8056bc2c4e cleanings and removed some more leaks introduced by flowmixer.
If something has been alloc'd through the 'alloc' message, it must be also
released esplicitly. Moreover , if it has been alloc'd there is no need to retain it ...
since no-one called autorelease on that instance yet.
2010-03-28 10:46:16 +02:00
xant
3b4b091f6e merging more stuff from 6b738edfc17744259a1289af02d977bc65036d11
Conflicts:

        xcode/CVScreenView.mm
        xcode/English.lproj/MainMenu.nib/designable.nib
        xcode/English.lproj/MainMenu.nib/keyedobjects.nib
        xcode/Exporter.h
2010-03-27 23:54:02 +01:00
xant
f580718856 importing exporter implementation from flowmixer 2010-03-27 22:56:17 +01:00