Commit Graph

44 Commits

Author SHA1 Message Date
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 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 e05b215f3e make it build again on osx 2009-09-11 23:32:14 +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 15d0ab2e19 initial separation of c++ glue-classes implementation from the related cocoa views 2009-08-30 10:36:47 +02:00
Xant c6db3794f9 removed dead code 2009-08-29 18:58:26 +02:00
Xant df92b2ad80 setting cocoa defaults at init() instead of doing that in the constructor 2009-08-29 18:41:09 +02:00
Xant da707c0cd9 fixed CVScreen class definition to fit last changes in the api
removing duplicate implementation for CVScreenController
2009-08-29 11:59:27 +02:00
Jaromil b409820950 Factory is now used also for Screens
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)
2009-08-29 11:53:48 +02:00
Xant c6de2738f8 implementing KbdController on OSX (WIP) 2009-08-29 11:05:53 +02:00
Xant 9f867ed63b Default resolution is now 352x288
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)
2009-08-22 15:36:53 +02:00
Xant b93d008370 Introducing a preference panel (WIP)
Screen size can now be changed but running layers need to be
notified of the change
(a proper notification system starts to be highly desireable)
2009-08-20 19:19:39 +02:00
Xant 43e5a23167 fixed a huge memory leak + providing the correct timestamp to QTExporter::addImage 2009-08-19 22:05:40 +02:00
Xant 817342114b handling 'duration' of each frame in a proper way
but the exported movie still plays too fast
2009-08-18 23:16:10 +02:00
Xant 2bcdff9b9b moved quicktime export to a separate thread 2009-08-18 00:20:05 +02:00
Xant 297f4ffd57 first *working* implementation of the native QTKit screen exporter 2009-08-15 11:59:25 +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 5801f1fb34 Fixed a leak and aligned to recent changes in the core api 2009-06-13 19:48:03 +02:00
Xant a23cd4a445 make fullscreen to work properly after last quicktime update 2009-06-11 14:31:23 +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 c3561ee131 First attempt to use GenF0rLayers on osx.
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)
2009-05-22 18:16:44 +02:00
xant 9ad56e99ec bugfix in CVScreen.
get_surface() was leaking memory.
2009-05-22 12:05:04 +02:00
xant 8f7c3a8fef using a preallocated CVPixelBuffer instead of self-managed buffer 2009-05-21 16:30:57 +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 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 df140ec070 Allow to disable preview on each inputlayer to save cpu cycles if
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)
2009-03-07 15:30:20 +01:00
xant 69bad94c29 Optimizations and Cleanings. 2009-03-07 12:39:20 +01:00
xant a17a5fd29d now filters which need to set an inputCenter are properly supported 2009-03-05 02:27:54 +01:00
xant c983f92943 finished support for dynamic FilterParams 2009-03-05 01:47:00 +01:00
xant 848553359b - create a valid bundle (redistributing/readdressing all needed shared
libraries)
- various cleanings (start giving a more consistent name to
  CoreVideo-related classes
2009-03-04 03:05:29 +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