FreeJ Development sketches/ideas/TODOs
Please sign your notes!
MovieLayer (audio/video) - http://www.dranger.com/ffmpeg/ (shammash)
- Closure / Closing testing on FreeBSD ok? (shammash)
What is the design now? (MultiContext / ContextLess / Whatever) (shammash)
- Fps/Blitters/LayerStarting situation? (shammash)
DumbCallback must be replaced with some Signal/Slot code (must be SWIG aware, what about libsigc++?) (shammash)
- Further changes in bindings API? (shammash)
Limiting Layers resources (like zoom) (MrGoil)
- Import Wii fixes from roma-fixes (shammash)
- Controllers return value really needed? What's the advantage of a notification about signal handled/unhandled? Controllers list is not that long! I think this only adds complexity for SWIG scripters because they need to return a value. (shammash)
- provide more controller examples for py/rb scripting (jaromil)
- make bluetooth support conditional in configure (jaromil)
solve FTBFS on ia64 http://bugs.debian.org/533765 (probably solved with git commit: 97b015491c710fbf733e15802591399b127f95a0 , but maybe it's better to avoid optimizations for ia64.. who cares about freej on itanium? ) (shammash)
import closuretest.cpp inside freej tree (with a unit-test system using CxxTest?) (shammash)
- improve ruby.m4 macro, now it's a bit delicate, especially with install paths (shammash)
fix VideoLayer. All methods I've tried from python and ruby cause segfaults (x37v)
- Should set_position respect the zoom setting? It used to but now it doesn't. Layer.fit doesn't work anymore because of that. (x37v)
- Understand why if we create a pthread in C++ while running as a python API may lead to crashes (on Midori it does on debian not) (shammash)
- Compatibility layer with gstreamer (jaromil)
- Establish minimum _mandatory_ libraries and FAIL HARD on that missing (godog)
- Explicit minimum version (if any) for libraries (godog)
End Of Stream Callback example:
1 import threading
2 import freej
3
4 class MyCall(freej.DumbCall):
5 def __init__(self, *args):
6 super(MyCall, self).__init__(*args)
7
8 def callback(self):
9 print "detected EOS from python"
10
11
12
13 W = 400
14 H = 300
15 cx = freej.Context()
16 cx.init(W,H,0,0)
17 cx.clear_all = True
18
19 th = threading.Thread(target = cx.start , name = "freej")
20 th.start();
21
22 v = freej.VideoLayer()
23 v.init(cx)
24 v.open('/home/film/video/yue/live/nothing/cubo.avi')
25 v.start()
26 v.active = True
27
28 cx.add_layer(v)
29
30 cb = MyCall()
31 v.add_eos_call(cb)
Discussion Agenda
- closure + error handling + automatic subclassing
- build time checks policy + coding style and conventions + move "lib" in a contrib-subsystem
- javascript architecture + garbage collector + automatic subclassing
ScriptTree/JsLibs some notes about script glue