Christian Thaeter
dc34ea994c
add psplay_delete_node and psplay_delete_key functions
...
Both delete a entry from a splay tree by calling the registered delete
handler.
2008-09-06 12:24:06 +02:00
Christian Thaeter
86deb4e72d
Probabilistic Splay Tree implementation
...
Generalized an older implementation I already had, the splay formulas need
some improvements. Documentation comes next.
2008-09-06 12:23:58 +02:00
Christian Thaeter
bc055ab803
Probabilistic Splay Tree implementation
...
Generalized an older implementation I already had, the splay formulas need
some improvements. Documentation comes next.
2008-09-06 12:22:43 +02:00
Christian Thaeter
9471e47cdf
WIP: Cuckoo hash update, leave it at a insane state
...
* add a destructor function for elements
* rename cuckoo_free to cuckoo_delete to be consistent with the rest
* add a custom copy function to the cuckoo hash
* Cuckoo hash update, use a vtable to pass functions to the constructor
* make the source of a move non-const, just in case something needs
to be cleaned up there.
* let cuckoo_insert return the hash table entry directly
2008-09-06 12:08:23 +02:00
Christian Thaeter
cfcb9ce34c
Add lumiera_tmpbuf_strcat3 for concating up to three strings to safeclib
2008-09-06 12:08:22 +02:00
Christian Thaeter
e2b7561c76
FIX: put a note to list_relocate, add test
...
There was a fatal thinko, llist_relocate NUST NOT be called on a empty
list, the pointers will just point to invaildated memory. This cant be
handled by the llist code. The programmer is responsible to take proper
actions.
2008-09-06 12:07:38 +02:00
Christian Thaeter
0debd27d89
Merge branch 'master' of git://git.lumiera.org/LUMIERA into library
...
* 'master' of git://git.lumiera.org/LUMIERA: (80 commits)
fix some warnings
fix name of 'doc' target, remove the OPENGL flag for now
improved the architecture overview (drawing)
Fixed hyperactive scroll wheel zoom
Fixed a bug with body redrawing and added some documentation
Added some documentation to body and ruler
Added support for audacity style playback period, and added some
Added time indication
improved the scons build to report all missing dependencies instead of stopping at the first one
add my favorite lumiera logo to the TiddlyWiki page
scons: use Doxygen builder
makefile typo fix
disable precompiled headers for now.
replace the homebrew GCH-builder by a lib solution
yet more make fixes
make build work again with SCons 0.96
preliminary fix for the SCons build for Debian/testing
automatically set DEBUG when using the (current) NoBug default ALPHA
Fix build with gcc 4.3
integrated SVG Icon rendering into the SCons build
...
2008-09-06 11:53:16 +02:00
d94f1b9305
merge doc fixes
...
Merge commit '163ba179ed93c49c6d331c16afe9e54e97ad1876'
2008-09-04 15:28:39 +02:00
Michael Ploujnikov
8bdab41ea0
factor out -I$(top_srcdir)/src/ to a top-level AM_CPPFLAGS
...
also remove a related unnecesary comment in src/gui/Makefile.am
2008-08-30 12:05:21 -04:00
c5778f1540
Merge from proc (draft imp of pull() call)
2008-08-17 18:35:49 +02:00
749f7a41c6
Landing draft implementation of pull() call
2008-08-17 04:22:46 +02:00
Christian Thaeter
0bd886249b
throw away the 'references' implementation, we probably don't need it
...
(could be reincarnated someday later when we find out that we need it)
2008-08-10 12:19:50 +02:00
Christian Thaeter
dde54ec7b0
Adapt the condition implementation to the macro SECTION based approach
2008-08-10 12:19:50 +02:00
Christian Thaeter
d8f59fb722
Simplyfiy resource management
...
Move the resource announce/forget into the rwlock init/destroy
Move resource announcement/forget into the mutex init/destroy
2008-08-10 12:19:09 +02:00
Christian Thaeter
c11915a4c4
new locking section macros for RWLocks, old acquirer bites the dust
2008-08-10 12:19:09 +02:00
Christian Thaeter
d0b6919eea
locking.h bites the dust
2008-08-10 12:19:09 +02:00
Christian Thaeter
b2b205f6db
remove unnecessary volatile (forgotten for a test)
2008-08-10 12:19:09 +02:00
Christian Thaeter
07f06d0d88
big mutex update, dropped old acquirer
...
Acquiring mutexes is now wraped in a easy to use MUTEX_SECTION macro.
This scheme will be extended for chained lock propagation soon.
Notes:
* NoBug resourcemanagement is now part of the lower layer,
RESOURCE_ENTER/RESOUCE_LEAVE are maintained automatically
* one must still call RESOURCE_ANNOUNCE/RESOURCE_FORGET, because we want
to maintain high level information about resources.
* MUTEX_SECTIONS must not be left with any kind of jump
2008-08-10 12:19:09 +02:00
Christian Thaeter
47b5a2667c
add LOCKED_SECTION macros to rwlock, fix bug in rwlockacquirer
2008-08-10 12:19:08 +02:00
Christian Thaeter
12feb6e7b8
add 'lumiera_free' as replacement for 'free'
...
lumiera_free() is for now just a static inline wraper around free()
Later this makes it easier to hook in some resource managing functions
or a Garbage Collector in.
Replaced all current uses of free()
2008-08-10 12:19:08 +02:00
Christian Thaeter
f5df65b0a1
add a translation function to tmpbuf
...
tmpbuf_tr takes an input string and 2 sets of characters plus a
default character. It produces a output string with all
characters from the first set translated to the correspondending
character in the 2nd set, similar to the shell 'tr' util.
2008-08-10 12:19:08 +02:00
Christian Thaeter
93e126f5ab
add a 'lumiera_err' typedef
2008-08-10 12:19:08 +02:00
Christian Thaeter
9826fd180d
renamed the uuid to luid
...
uuid's are somewhat standardized, we use our uid's slightly differently,
so change the name not to be confused with standards.
* Small fix for luid generation
* build a 'luidgen' tool which will be used by the interface gen later
* add emacs vars
* include the luidgen tool in automake
2008-08-10 12:18:20 +02:00
Mano Stienen
163ba179ed
moved documentation from error.c to .h
2008-07-20 16:11:08 +02:00
Mano Stienen
14b9847a69
moved documentation from plugin.c to .h
...
and
cleaned documentation from safelib.c that already existed in .h
2008-07-19 14:47:03 +02:00
Mano Stienen
1cabeff7bf
Merge branch 'HEAD' of git://git.lumiera.org/LUMIERA into doxygen_fixes
2008-07-14 22:42:59 +02:00
Mano Stienen
6838dbe12a
documentation from condition.c and reference.c moved to .h
2008-07-11 08:15:08 +02:00
Mano Stienen
1d8bc98429
moved documentation from mutex.c to .h
2008-07-11 06:32:56 +02:00
Mano Stienen
7f1987666f
moved documentation from rwlock.c to .h
2008-07-11 05:02:47 +02:00
a46bfd2bf6
integrate the GTK-Gui (draft) in the SCons build
2008-07-11 03:51:37 +02:00
7c56c71d00
Documentation Update, including info about ongoing builder work
2008-07-07 23:56:34 +02:00
98a542f920
WIP drafting how to build all possible operation configs
2008-07-05 18:50:54 +02:00
Joel Holdsworth
3cc0f72389
Trivial timeline now works - more work coming
2008-06-18 23:57:47 +01:00
Christian Thaeter
00b9dff106
Doxygen config update
...
* set EXPORT_ALL=NO to leave out undcoumented entities.
* Fix a lot @file directives
2008-05-19 16:27:29 +02:00
Christian Thaeter
94e075d2c2
fix: mrucache_drop() must call the element destructor
2008-05-19 16:23:16 +02:00
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
Christian Thaeter
5ae909e2a0
add C++ parts to lib build
2008-05-19 01:51:34 +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
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
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
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
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
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
7aca8cdf86
fix test-references
2007-11-27 00:52:26 +01: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
Christian Thaeter
d5fe116941
add 'references' to lib
2007-09-19 08:44:58 +02:00
Christian Thaeter
ba716dbda4
better smart references, still raw meat
2007-09-19 07:01:12 +02:00
Christian Thaeter
96b9f65e6f
some unmmerged changes?
2007-09-19 06:58:54 +02:00
Christian Thaeter
38ce0afec4
smartref.h WIP
2007-09-13 20:24:18 +02:00
Christian Thaeter
2aaad10bbd
fixed typos and added some basic tests for the llist.h
2007-09-05 07:07:52 +02:00
Christian Thaeter
3ce5d3cedd
revived, beefed up and documented a old linked list implementation, UNTESTED
2007-09-05 02:44:23 +02:00
Christian Thaeter
f1aba12af8
renamed *lock to *acquirer
2007-09-03 06:40:44 +02:00
Christian Thaeter
d508f7cb7a
rwlock first implementation
2007-09-03 06:35:13 +02:00
Christian Thaeter
04f9424ad8
forgotten to commit the Makefile.am with the last commit
2007-09-02 23:25:38 +02:00
Christian Thaeter
0a31c7d2db
mutex implementation
2007-09-02 17:52:30 +02:00
Christian Thaeter
d50ab9fe21
cosmetic fixes
2007-09-02 17:51:55 +02:00
Christian Thaeter
7445c1798d
generic locking.h for shared declarations
2007-09-02 16:19:50 +02:00
Christian Thaeter
0d1097315c
renamed locking.* to condition.*
2007-09-02 13:56:33 +02:00
Christian Thaeter
754b9cc24e
C wraper for condition variables
2007-09-02 00:52:40 +02:00
Christian Thaeter
194d7810f4
add a cinelerra error which can be used to forward standard C errors from errno
2007-08-31 01:21:44 +02:00
Christian Thaeter
5832cfeae2
Merge branch 'master' of git://git.pipapo.org/cinelerra3/ichthyo
2007-08-30 01:42:06 +02:00
Christian Thaeter
98d3716fcb
Merge branch 'library'
2007-08-30 00:33:38 +02:00
Christian Thaeter
e438ad6e8f
add documentation and error handling to framerate functions
2007-08-29 17:41:10 +02:00
Christian Thaeter
e41059497f
refined and corrected framerate caclulation
2007-08-28 19:28:41 +02:00
d54b600382
implemented C++ error handling system
2007-08-26 19:14:39 +02:00
Christian Thaeter
c2898d26f2
put framerate caclulation in a single file
2007-08-25 03:46:07 +02:00
Christian Thaeter
2976b2ab29
time handling ok so far
2007-08-24 06:02:29 +02:00
Christian Thaeter
bf32b80521
added error handling, removed timebase from framerate
2007-08-23 11:15:01 +02:00
Christian Thaeter
1b85206c85
time.h for initial! review
2007-08-23 06:57:08 +02:00
Christian Thaeter
e2ffd09f4b
doxycomment errorhandling, small macro improvement
2007-08-23 05:30:29 +02:00
Christian Thaeter
9507fae565
reverted CINELERRA_DIE(msg) to CINELERRA_DIE
2007-08-18 05:12:14 +02:00
Christian Thaeter
db4ee5b8ad
plugin fixes
2007-08-18 05:05:38 +02:00
Christian Thaeter
7627271ce3
convinience macro CINELERRA_ERROR_SET(flag, err)
2007-08-18 05:05:11 +02:00
Christian Thaeter
e07dc59e78
use new errorhandling scheme
2007-08-14 04:56:55 +02:00
Christian Thaeter
d36a38a56e
errorhandling finished for now, as proposed
2007-08-14 04:40:13 +02:00
Christian Thaeter
441e192c81
Merge branch 'master' into errorhandling
2007-08-14 04:02:54 +02:00
Christian Thaeter
fdb691398d
compiles example, segfaults by intention (disabled error handling, no plugin yet)
2007-07-19 06:15:55 +02:00
Christian Thaeter
5946d6961d
some small fixes to make it compile (first try)
2007-07-19 05:49:02 +02:00
Christian Thaeter
e1a072a6d3
config update, small problem with NoBug which shows a warning when valgrind is enabled, dont use valgrind support until this is fixed
2007-07-19 05:48:23 +02:00
Christian Thaeter
471148b7db
basic automake setup
2007-07-19 05:10:14 +02:00
Christian Thaeter
af7bfd6fa7
just a scratch
2007-07-19 04:31:06 +02:00
Christian Thaeter
ba4a14e183
added a temporary CINELERRA_DIE macro here, all allocation failures are now a CINELERRA_DIE
2007-07-17 16:06:00 +02:00
Christian Thaeter
9d0a2af8c6
plugin lookup
2007-07-17 04:40:07 +02:00
Christian Thaeter
7d669d9abf
add error handling to existing functions
2007-07-15 20:06:20 +02:00
Christian Thaeter
6e9e34caa3
implemented error functions
2007-07-15 17:46:23 +02:00
Christian Thaeter
260e7c0276
license headers
2007-07-15 17:08:45 +02:00
Christian Thaeter
b083e8918c
preparation for next things, TLD, locking, errors...
2007-07-15 16:56:21 +02:00
Christian Thaeter
a06edceb2c
little docing and 3 error messages so far
2007-07-15 02:46:44 +02:00
Christian Thaeter
a313ea87a5
Work in progress, just for review
2007-07-15 02:23:37 +02:00
Christian Thaeter
05721f504e
add few DIR_INFO's in src
2007-07-14 21:28:47 +02:00