Merge branch 'ct' of git.pipapo.org:cinelerra-ct into ct
[cinelerra_cv/ct.git] / TODO.ct
blob3e3252361743c8f337d94a3cc6d111324c3245bc
1 Some short list where I am working on:
3 Remove the Garbage collector in favor of boost::shared_ptr, the GC has
4 some nasty bugs, partially together with threads. By replacing ALL
5 Asset* with boost::shared_ptr<Asset> these should be fixed on expanse of
6 some performance.
8 Manage Assets in std::vector<boost::shared_ptr> /
9 std::list<boost::shared_ptr>.
11 When this works then refactor some uses of the shared_ptr to using
12 references instead, this will regain most of the performance loss from
13 above. The caller must be the owner of the pointer and the callee must not fork threads
16 When still not fscked up, then refactor the arrays/lists to hold normal
17 pointers (or boost::ptr_vector/ptr_list) with clear ownership semantic.
19 Maybe add some debugging allocator which tracks per-thread ownership of
20 objects, aiding in finding complicated bugs.
22 Maybe apply the above steps to other classes (File, EDL, etc...).
24 Maybe add some pooled allocator which could improve performance even more.
27 - my priority bugs -
29 Annoying flickering white frame for drag and drop operation which doesnt allow dropping in some cases
31 cinelerra keeps fd's open a crashes when no more available (>1000 files loaded), use some cache/weak fd management
34 - lower priority but to be done -
36 using more C++ stdlib, replace C strings with std::string etc
38 rename all .C files to .cpp
40 change the include scheme, what currently is .inc should be .hpp (with some more type definitions) and what currently is .hpp should be _detail.hpp or similar