Commit Graph

38 Commits

Author SHA1 Message Date
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
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
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
77d0408784 CVGeoLayer (+ all necessary refactoring and fixes to make it possible) 2010-04-29 14:24:46 +02:00
xant
02e18eddba still cleaning and civilizing ffmpeg code
(we really need to get rid of that ugly way of doing multithreaded
decoding ... perhaps we should closures instead)

ensure deactivating the layer when a stream is closed

(note that work is still in progress)
2010-03-27 16:52:21 +01:00
xant
3dd8e21433 call renderFrame() only when necessary 2010-01-06 22:40:38 +01:00
Xant
744b24a9ba fixed perl-layer overlay selection
- filters now works again for CVF0rLayer
2009-09-13 11:22:58 +02:00
Xant
2c96a60472 copyright is not valid with a nickname only 2009-09-12 09:27:29 +02:00
Xant
5e8199fdf3 copyright notice 2009-09-12 00:45:04 +02:00
Xant
3326a82f2c Refactoring the osx project (WIP)
- 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
2009-09-11 22:14:25 +02:00
Xant
8cfc192759 aligning to last changes in the internal api 2009-08-30 22:44:00 +02:00
Xant
da1ccbbebb clean implementation of CVF0rLayer (C++ polymorphism sucks!!)
AGAIN: that damn copy ('buffer' handling) within the Layer base
       class (layer.cpp) should be removed ASAP
2009-08-30 11:37:11 +02:00
Xant
15d0ab2e19 initial separation of c++ glue-classes implementation from the related cocoa views 2009-08-30 10:36:47 +02:00
Xant
c1a33e8f19 Cleanings. Nothing has changed
Just removing unused variables and putting return statements around the code
to avoid annoying warnings
2009-08-29 21:57:26 +02:00
Xant
5b911656dd fixed osx-specific layers to work again after 807d038fed changes 2009-07-25 20:56:41 +02:00
Xant
7775eeec3d ViewPort::opened is now required to be true before adding the layer to a screen
(api changed in 1bf372c83c)
2009-07-11 01:20:00 +02:00
Xant
6dad3f798f Introducing CVTextLayer and allow to reorder active layers (which are now listed in the main controller window).
NOTE: The GUI is going to be massively changed
2009-06-18 02:02:56 +02:00
Xant
f884ace6a7 aligned to last changes in the core api (mostly initialization) 2009-06-13 21:37:18 +02:00
Xant
2a4a57e23a cleanings 2009-06-11 14:32:32 +02:00
Xant
41bc9860da fixed various issues spotted while profiling and hunting for bugs and/or leaks in both the opengl and cocoa-related code 2009-06-10 14:26:41 +02:00
xant
657a3bed03 Started improving the FilterPanel<->CVLayer interaction.
- 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
2009-06-07 23:58:56 +02:00
xant
b770c31065 perl-layer translate filter (and related controls in the FilterPanel) 2009-06-04 14:07:29 +02:00
xant
61e18ca3e0 - implemented various optimizations in all our custom views 2009-06-04 00:26:38 +02:00
xant
43b936ad44 cleaning and consolidating the cocoa-based implementations 2009-05-25 10:30:21 +02:00
xant
7a590fcca7 gui-related fixes and enhancements.
- 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)
2009-05-24 02:27:28 +02:00
xant
9a5266847f first working implementation for CVF0rLayers (introducing gui controls for frei0r generators) 2009-05-23 02:47:07 +02:00
xant
87ddc829fc cleanin 2009-05-22 18:45:13 +02:00
xant
a20853a56a - report the correct bytesize in video_encoder
- osx-only fixes and tests
2009-05-21 16:28:00 +02:00
xant
2cf0a828c5 cleanings 2009-05-18 22:47:29 +02:00
xant
f75b02dfcd fixed some locking-related issues due to the new design of the Cocoa
bindings.
(Layer::run() is now used to drive texture extraction instead
of using a CVDisplayLink for each CVLayer)
2009-05-18 22:31:55 +02:00
xant
9b41193ab0 massive refactory of the cocoa-related layers is in progress 2009-05-18 02:31:44 +02:00
xant
7f1d13fe9a freezing a working version of the osx code before starting a massive refactory of the gui-related part 2009-05-16 02:54:23 +02:00
xant
e26707a812 allow to dynamically add/remove Cocoa-managed layers 2009-03-07 16:54:07 +01:00
xant
aae64f40cd fullscreen support + allow to select a different blendmode on each
videoinput
started cleaning-up code for this preliminary implementation
TODO updated ( but thera are so many things still missing :-{ )
2009-03-03 23:18:52 +01:00
xant
afeecd415a - EffectsPanel is now dynamically created for each videoinput's instance
- 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
2009-03-01 22:50:40 +01:00
xant
5b75feb3c9 cleaning up before continuing adding features 2009-03-01 22:44:15 +01:00
xant
05acf2d04d Finally things are starting to work properly!! :)
- 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)
2009-02-24 23:07:36 +01:00