Commit graph

356 commits

Author SHA1 Message Date
Christian Thaeter
03ed87051d fix missing declaration of lumiera_calloc() in safeclib.h 2008-05-19 16:23:16 +02:00
Christian Thaeter
63c07d1274 doxydocing mrucache 2008-05-19 16:23:15 +02:00
Christian Thaeter
dc0cbf0ad8 Fix: off by one allocation error in tmpbuf_snprintf() 2008-05-19 16:23:15 +02:00
Christian Thaeter
ff6ce603a4 tmpbuf_sprintf renamed to tmpbuf_snprintf 2008-05-19 16:23:15 +02:00
Christian Thaeter
0996c386bb Mrucache update
* Fix: unlinking at destroy
* rename add/remove to checkin/checkout
* add a drop function which moves a node to the end for fast reuse
2008-05-19 16:23:15 +02:00
Christian Thaeter
b909c2247d add a cuckoo_nelements function
Query the number of elements stored in a hash, useful for debugging.
2008-05-19 16:23:15 +02:00
Christian Thaeter
293b872b5d extend the MUTEX_SECTION macro with NoBug resource tracking
LUMIERA_MUTEX_SECTION takes now a nobug flag as first argument and
a nobug resource-handle as second argument.

This change works forward for the NoBug resource tracker and
deadlock detector.
2008-05-19 16:23:15 +02:00
Christian Thaeter
b4183ed444 safeclib improvements
* add lumiera_calloc()
 * improve cleanup functions for tmpbuf
2008-05-19 16:23:15 +02:00
6b1be6b7e7 Refactorings regarding use of smart-ptr, Placement and BuilderTool 2008-05-19 08:46:19 +02:00
86162ad314 moved new code into library modules and adapted BuilderTool to use it.
BuilderTool_test now passed.
2008-05-19 08:38:13 +02:00
Christian Thaeter
8ba3df3b31 missing slash 2008-05-19 01:54:40 +02:00
Christian Thaeter
5ae909e2a0 add C++ parts to lib build 2008-05-19 01:51:34 +02:00
Christian Thaeter
3b6713b23c build common and (re-)enable backend build (C++ part)
- not (yet) merged backend C parts are commented out for now
2008-05-19 01:50:53 +02:00
Christian Thaeter
b6bd181ca8 correct pasting glitch and copyright header date 2008-05-19 01:48:02 +02:00
Christian Thaeter
e8164062a2 integrate proc into automake
* all files in src/proc are build into libs
 * TODO: -Werror still missing
 * TODO: Tests are not yet compiled
2008-05-18 00:01:51 +02:00
Christian Thaeter
249c6d5eda Remove _GNU_SOURCE from certain files
GNU_SOURCE is globally activated in configure.ac
2008-05-17 23:33:21 +02:00
Christian Thaeter
2cbfeda4df correct return types in condition.h 2008-05-17 23:25:50 +02:00
Joel Holdsworth
5f8c9a2a12 Corrected 3 build errors 2008-05-17 18:12:07 +01:00
Joel Holdsworth
df5c40fd63 Panels can now be show and hidden
More documentation added to Panel
2008-05-17 11:20:49 +01:00
88fc2f6099 WIP reworked to replace boost::variant by a custom solution
Not a big simplification, but at least the actual codepath is shorter,
while it's not so general as boost::variant (and not threadsafe!)
2008-05-17 04:34:46 +02:00
Joel Holdsworth
8437450767 More work on icons 2008-05-16 19:23:12 +01:00
Joel Holdsworth
a51d91d7b5 Corrected the makefile 2008-05-16 18:53:45 +01:00
Joel Holdsworth
fdbdfe2493 Added an icon for the timeline 2008-05-16 18:49:32 +01:00
Joel Holdsworth
41d5ff9610 Added an icon to the viewer panel 2008-05-15 00:04:10 +01:00
Joel Holdsworth
1d89341fa4 Removed a couple of redundant files 2008-05-14 22:50:53 +01:00
Joel Holdsworth
0b70cf132a Copying lumiera_gui.rc now works 2008-05-14 22:29:05 +01:00
Joel Holdsworth
4c9eea2c73 Modified Makefile.am to test lumiera_gui.rc copying failure 2008-05-14 22:02:02 +01:00
Joel Holdsworth
ae2c74ff42 Tied gui into main lumiera build 2008-05-14 00:26:00 +01:00
Joel Holdsworth
f030798844 Merge branch 'devel' of git://git.lumiera.org/lumiera/ct into work 2008-05-13 22:10:22 +01:00
Christian Thaeter
a9cf2c719d Fix: uuid includes 2008-05-13 21:42:51 +02:00
Christian Thaeter
380c1d2c47 dropped the pre-gavl framerate sources out of lib 2008-05-13 21:31:30 +02:00
Joel Holdsworth
05055fa795 Added POTFILES.in 2008-05-13 20:07:21 +01:00
Christian Thaeter
b41115d1b2 Add cuckoo hashing to the library
This implementation of cuckoo hashing gives guaranteed O(1)
lookup complexity and amortized O(1) insert and remove complexity.
Hash tables by default grow and shrink automatically.
It is posible to preallocate entries and turn automatic shrinking off,
taking out the memory management factors for insert and remove operations.
2008-05-13 20:57:20 +02:00
Christian Thaeter
3a8b3feb96 add string creating functions to tmpbuf
* lumiera_tmpbuf_strndup() duplicates a string
 * lumiera_tmpbuf_sprintf() creates a formatted string
2008-05-13 20:57:20 +02:00
Christian Thaeter
d32c74361b Fix: typo in mrucache_age() 2008-05-13 20:57:19 +02:00
Christian Thaeter
69ba3b389c LUMIERA_MUTEX_SECTION(mutex) macro for sections of mutex protected code 2008-05-13 20:57:19 +02:00
Christian Thaeter
eab6b64f6d let mrucache age return how much elements it couldn't purge 2008-05-13 20:57:19 +02:00
Christian Thaeter
328127980a a small most-recent-used cache implementation 2008-05-13 20:57:19 +02:00
Christian Thaeter
7686a2ec56 Renamed the temporary 'buffer' functions to 'tmpbuf' 2008-05-13 20:57:18 +02:00
Christian Thaeter
0b8b5bf507 uuid functions 2008-05-13 20:54:05 +02:00
Christian Thaeter
27ca8a7362 let LUMIERA_DIE take an error identifier as parameter 2008-05-13 20:54:05 +02:00
Christian Thaeter
8b162cada4 llist update 2008-05-13 20:54:04 +02:00
Christian Thaeter
19ee8afa08 safeclib wraps some common c library functions and adds some tools
* lumiera_malloc which succeeds or dies
 * some safe string functions
 * Thread local round robin buffers for temporary data
2008-05-13 20:54:04 +02:00
Joel Holdsworth
ed2146dae0 Added the icon which will be used for the video viewer panel's caption 2008-05-13 17:33:18 +01:00
Joel Holdsworth
f72dab3257 Added support for video via a GDK fallback 2008-05-12 13:02:14 +01:00
Joel Holdsworth
67413c7c17 Made a temporary fix for the crash-on-undock bug 2008-05-08 23:34:28 +01:00
Joel Holdsworth
b8c94df12a Further XVideo tidy ups 2008-05-08 23:09:04 +01:00
Joel Holdsworth
f1fdfdf94a Added XVideo code 2008-05-08 20:56:55 +01:00
Joel Holdsworth
130da1ec77 Layed the foundation of a 2008-05-05 22:21:58 +01:00
Joel Holdsworth
03bc0cd276 Relocated gui into the src folder 2008-05-02 17:26:50 +01:00
03047e6d17 WIP maybe a solution for getting the correct wrapper within Builder Tools.
works, but problem is: you need to know the exact type of the wrapper, e.g. Placement<Clip> or shared_ptr<Media>
2008-04-26 05:38:19 +02:00
d9e6adfe02 make Placement<MObject> implement the interface Buildable.
WIP: works, but isnt what I intended. Rather need a specialisation to be able to define functions
treat (Placement<TY>) based on the concrete TY....
2008-04-23 05:48:45 +02:00
aea5ed323a refactor to use the customized lumiera::P<Type> instead of shared_ptr<Type> 2008-04-23 04:16:45 +02:00
3e8996005e start using the new lifecycle hooks. remove global nobugcfg.h
Now using proc/lumiera.hpp and proc/nobugcfg.hpp (i.e. only for the proc-Layer). Using ON_BASIC_INIT to
pull up NoBug automatically and for installing the unknown-exception handler. Add calls for
ON_GLOBAL_INIT and ON_GLOBAL_SHUTDOWN hooks to main() and to the testrunner
2008-04-14 05:15:16 +02:00
85189d3f4c extend Appconfig class to provide Lifecycle callback hooks
esp. for automatic triggering the initialisation of very basic struff (like NoBug...)
2008-04-13 23:54:39 +02:00
024e3c4dbc change build to link in separate libs, also split test executable.
now building  liblumiback.a liblumiproc.a liblumi.a
build a separate test-common executable (for everything in src/common)
include a precompiled header for assets.
2008-04-12 04:55:18 +02:00
f7bfe50bc9 Merge branch 'builder' 2008-04-12 02:12:41 +02:00
a03e3c5e73 Merge from backend: wikis, admin-scrits, test.sh
(dont merge any srcfiles)
2008-04-12 02:07:16 +02:00
Christian Thaeter
15bab21da8 Merged the timestuff removal, done by simeon
(cherry picked from commit bc5a301d01ac323bafcc434e33f6043678749f14)
2008-04-12 01:12:18 +02:00
97821a0fa2 Design: clarified various details regarding Track handling 2008-04-11 06:24:27 +02:00
a869c71077 Defaults Manager finished for now
...passes high level test (with help by the mock 'resolution engine')    ;-)
2008-04-08 04:39:07 +02:00
0b5b9b593e DefsManagerImpl_test now running 2008-04-08 03:21:24 +02:00
ed2799b76f getting the first test of defsmanagerimpltest.cpp to run
..adding some backdoors and bashing at the mock implementation to fake the behaviour of a real resolution engine
2008-04-07 08:03:22 +02:00
b86a8605e7 now complete and passing the compiler 2008-04-07 03:19:24 +02:00
3ed3813be3 WIP work out how some special cases of config queries can be handled.
Including some tricky recursive calls. Even if this is currently a mock implementation it helps me find out
how the real implementation (in Prolog) could handle these cases.
Doesnt pass the compiler yet (some stubs missing)
2008-04-06 20:11:34 +02:00
b53d8655fd yet another helper function: remove matching term from query string 2008-04-06 08:56:18 +02:00
b361fc9672 supplement tests for some small utils dealing with query expressions 2008-04-06 05:36:16 +02:00
24825a13f3 registry for default objects now passing test 2008-04-05 22:52:20 +02:00
dffd635482 switch asset ordering impl to utilize the new custom smart-ptr
passes compiler and test suite, finally!
TODO: also switch the derived asset kinds to use P<Media>, P<Struct>,....
maybe do the same with MObject?
2008-04-05 07:26:54 +02:00
2b529e3fac customized smart-ptr based on std::shared_ptr
hopefully resolves long standing problems with odering and type relations
of objects handled via smart ptr
2008-04-05 05:57:54 +02:00
162976a4cf WIP reorganize the ordering relation on assets
(should simplify handling of comparisons at various places)
2008-04-03 03:50:28 +02:00
3d2791b91e WIP some fixes; add test for a utility function 2008-04-02 04:06:08 +02:00
6596699f6e WIP code for handling registration of defaults objects.
Missing some TODOs and test coverage
2008-03-31 03:21:28 +02:00
c4128c9816 merge Lumiera renaming
WIP doesn't pass the compiler (not due to the merge)
2008-03-10 08:38:59 +01:00
e737b9ef1b Lumiera renaming -- source code 2008-03-10 06:09:44 +01:00
fbacb4cdb1 Lumiera renaming -- build system 2008-03-10 05:07:21 +01:00
0baf15ca94 Cinelerra-3 renamed to Lumiera -- copyright and documentation 2008-03-10 04:25:03 +01:00
a3d91286c8 WIP defaults manager implementation 2008-02-29 18:58:29 +01:00
4af2d47995 test-driven-brainstorming: DefsManager interface building blocks 2008-02-29 04:27:24 +01:00
919a57ed9a doc comment fix 2008-02-22 04:58:37 +01:00
c4d8c8ffdc merge scons (small improvement) 2008-02-18 04:28:54 +01:00
ea0416881e WIP towards a asset::Struct naming scheme 2008-02-18 04:16:53 +01:00
34b14a226e defer creation of the empty default sesison,
avoids running complex code in static initialisation
2008-02-16 02:47:01 +01:00
113678ff93 some refacturing of the (preliminary) struct asset impl... 2008-02-15 02:56:25 +01:00
71c7bd6a82 don't build testsuite for default target 'build'
> (use 'scons testcode' or 'scons check' for this)
2008-02-14 16:14:12 +01:00
93abddaa57 Merge cumulated changes to the SCONS build system 2008-02-14 15:57:24 +01:00
7884a69eb1 this will become a branch tracking the scons build system in isolation 2008-02-14 15:21:34 +01:00
6346723069 Rename 'Port' to 'Pipe' II: source code 2008-02-14 04:12:30 +01:00
c77e245f54 make the MockConfigQuery reentrant.
Basic asset::Struct factory now running (utilizing the MockConfigQuery).
basicporttest.cpp not yet running, but get some lines ahead :-P
2008-02-13 04:41:58 +01:00
d33242b8cb filled in lots of daunting details regarding structural assets.
StructFactury still very preliminary. Now able to fill the table with mock queries.
TODO: fix assertion failure...
2008-02-10 17:23:16 +01:00
531d432f02 continue with the mock impl for ConfigRules.
probably using a table of pre stored boost::any records
2008-02-06 05:34:19 +01:00
0d50639d70 Fix problem with static initialisation order 2008-02-02 14:52:23 +01:00
edbf5fd733 ConfigRules dependency problems solved by using the new SingletonSubclassFactory 2008-02-01 15:35:33 +01:00
e2ee8f081b augment the singleton factory to create a subclass.
Helps avoiding dependency problems, because client code is no longer coupled to the implementation class
2008-02-01 03:48:09 +01:00
250954bb5f oops... causes the exception type to be upcasted (from Fatal to Error) 2008-02-01 03:38:29 +01:00
706589d422 WIP yet more stubs to make it link... 2008-01-29 05:39:32 +01:00
1614769664 WIP start implementing the DefaultsManager by the (Mock)ConfigRules.
pass compiler, but loooots of undefined linker refs....
2008-01-28 06:05:46 +01:00
000538f6ef add stubs to make it link, add some typelist utils 2008-01-27 23:40:45 +01:00
c3b1048fc4 merge buildsystem improvements 2008-01-27 03:58:24 +01:00
43f8faabd1 small cleanup 2008-01-27 03:11:39 +01:00
1dd9989516 some tweeks to the (scons) build system, using precompiled header 2008-01-27 02:39:13 +01:00
398bed8d72 WIP some more details on the (planned) Prolog interface --
basically I know enough to provide a mock implementation now.
Compiles OK but fails to link because of missing StructFactory implementation
2008-01-21 02:57:09 +01:00
b0be36c8fb early draft how the Prolog interface /could/ be...
(need to draft it in order to provide a mock implementation)
2008-01-19 14:24:24 +01:00
430f38ab2f started a mock implementation for the capability queries.
Later on, I want to embedd Prolog, but for now it is more important to get ahead with the builder...
2008-01-18 16:43:53 +01:00
061a84f2be WIP implementing Ports, add DefaultsManager... 2008-01-14 01:01:11 +01:00
b7bce2a2f7 WIP defined lots of details regarding the handling of Ports 2008-01-12 18:19:37 +01:00
d255d68d35 reflect design decisions in UML, new track-MO class, start replacing tracknumber by Port 2008-01-07 18:16:03 +01:00
9e6459cc47 new visitor implementation now ready for use 2008-01-05 19:42:43 +01:00
8fe1a901ba use typelists to declare to visit a collection of types 2008-01-05 18:54:10 +01:00
bf93301211 add an type-list facility inspired by Loki 2008-01-05 17:23:38 +01:00
9aa3cc11e8 new visitor implementation now running.
Veryfied the tests, cleaned up. TODO: concurrency, error checks and convienience shortcuts.
2008-01-05 14:26:28 +01:00
0bb8051fc5 WIP adjusted BuilderTool (specialisation) and tests....
compiles ok, but segfaults
2008-01-05 01:38:32 +01:00
2bd931b6da WIP replaced former implementation with my new visitor concept.
The former implementation was more closely based on Loki's Acyclic Visitor. Swapped in the working new
concept and adapted the policies and tests. Doesn't compile yet
2008-01-04 15:10:18 +01:00
809301a60e proof-of-concept visitor implementation now working 2008-01-04 01:44:40 +01:00
46b200809e WIP desperately trying to work out a really usable visitor implementation 2007-12-22 08:45:09 +01:00
b61b34af81 design considerations, how to organize the EDL as far as placing and building is concerned 2007-11-30 05:06:27 +01:00
89c9d2f3df covered the more esoteric cases for visiting tools and made BuilderTool work 2007-11-29 07:07:14 +01:00
78a4bf8e6b introcuded a catch-all hook when applying visiting tools to a hierarchy 2007-11-28 04:19:21 +01:00
6d4133cefe WIP generalizing my builder tools to use the acyclic visitor.
inspired by Loki; ichthyo intends to use this pattern for typesafe visiting within the EDL too...
2007-11-27 06:40:51 +01:00
6bdf0e2cdc put my name in the copyright claim of those files I have written in the last months.
(search & replace). Please feel free to add your name to any files to which you added any contributions.
ALL SOURCECODE IS LICENCED UNDER THE TERMS AND CONDITIONS OF THE GPL (2 and above)
2007-11-27 03:19:35 +01:00
47eeaaaf43 Merge from branch 'ichthyo/builder': Basic Placement handling, create Clip
Merge branch 'builder'
2007-11-27 00:55:25 +01:00
7aca8cdf86 fix test-references 2007-11-27 00:52:26 +01:00
4593c0c6ff bring along changes from Cehteh and Velmont
Merge commit 'pipapo/master'
2007-11-26 23:28:25 +01:00
940d6de201 Asset/Clip now using the dependency relation.
DependantAssets_test now complete, finally...
2007-11-26 04:27:27 +01:00
855d0706d9 implemented enabling/disabling of dependant assets,
WIP: passes test, but code still needs some cleanup...
2007-11-24 04:18:54 +01:00
393f0944c1 DependantAssets_test now (partially) running 2007-11-23 04:37:50 +01:00
95af2d50cc worked out some important details of deleting and unlinking assets 2007-11-22 06:26:55 +01:00
66daf409d4 specify (as test) how asset dependency should work 2007-11-21 06:08:01 +01:00
49459b4bf7 Fix inheritance of asset::Unknown, fix broken test, enable MakeClip_test 2007-11-20 05:20:01 +01:00
5dcb9cf343 WIP implemented basic asset dependencies,
> todo: actually setup dependencies in the various ctors, fix the broken test!
2007-11-19 04:58:18 +01:00
b07d8b9687 passes the compiler again.
(using direct references instead of smart-ptrs for the 'backlink' from Clip-MO to asset::Media)
2007-11-14 10:10:52 +01:00
ce51909ef7 WIP reworked approach for clip-to-clipAsset relation.
(compiler errors spotted a design problem)
2007-11-13 03:37:58 +01:00
89e4fa9db7 WIP getting the placement part through the compiler,
still having to solve problems with the asset-to-MObject relation
2007-11-12 02:05:39 +01:00
5c2fa504e7 WIP update test code to reflect the new placement properties.
still have to convince the compiler that i am not a terrrorist....
2007-11-10 23:09:15 +01:00
38236e607d some further cleanup 2007-11-10 21:50:55 +01:00
242640c4fd some fixes 2007-11-10 02:27:16 +01:00
c58fd16edb WIP implement some Placement implementation 2007-10-22 05:15:08 +02:00
Christian Thaeter
4af35786d7 Merge branch 'velmont' of git://git.pipapo.org/cinelerra3/mob 2007-10-20 18:21:14 +02:00
Odin Omdal Hørthe
c2f5665e56 More doxygen documenting in src/lib/. Some name fixes, some new docs. 2007-10-20 18:10:35 +02:00
Odin Omdal Hørthe
9952aa33a4 Updated function docs to use the actual variables and cut textwidth at 105 2007-10-20 17:50:42 +02:00
Odin Omdal Hørthe
8afd4e1b8d Documented cinelerra_plugin_lookup in plugin.c 2007-10-20 17:38:03 +02:00
Odin Omdal Hørthe
74a7bf4493 Made a @file-skeleton for doxygen for the files in src/lib/ 2007-10-20 17:27:27 +02:00
Odin Omdal Hørthe
d9c9b4e15e Moved function doc from rwlock.h to rwlock.c 2007-10-20 17:08:12 +02:00
Odin Omdal Hørthe
e628110d45 Moved function doc from plugin.h to plugin.c 2007-10-20 17:03:59 +02:00
Christian Thaeter
b67af669ee removed check for list=!NULL which barfs on gcc 4.2 2007-10-20 17:00:53 +02:00
Odin Omdal Hørthe
9bf36e1eb4 Moved function doc from mutex.h to mutex.c 2007-10-20 16:57:39 +02:00
Odin Omdal Hørthe
6eea8a60e0 Moved function doc from error.h to error.c 2007-10-20 16:52:59 +02:00
Odin Omdal Hørthe
4b406b2a99 Moved function doc from condition.h to condition.c 2007-10-20 16:31:24 +02:00
dee1bab28b WIP implement the missing create-Clip-from-Asset mechanics 2007-10-19 22:34:07 +02:00
d7e7d3d613 WIP implementing Placement and MObject factory functions 2007-10-19 06:39:52 +02:00