wordlists are simple not quoted words delimited by semicolon, tab, space or
commas. Some special functions will allow to access each of this words by
index etc.
All interfaces which are available get registered in a tree.
This will be used internal for lookup interfaces. The higher level calls
will be an amalgamation of this lookup and the upcoming plugindb and
loader.
* lumiera_interface are now static structures, never wrritten
* introduced a lumiera_interfacenode which manages the dynamic data
of interfaces. The interfaceregistry now holds this nodes.
When interfaces cross depend on each other nested acquiring from
their acquire handlers would introduce cyclic references which cant
be cleaned easily. By flagging such nested acquisitions as weak the
respective handler functions can account for this.
Example: maintain 2 ref counters one for strong and one for weak
acquisitions. At release time all acquired nested handles get closed when
the strong counter drops to zero, which causes that cross reference
releases will eventually drop the weak count to zero too. Then all
resources can be freed and the interface is properly shut down.
All interfaces which are available get registered in a tree.
This will be used internal for lookup interfaces. The higher level calls
will be an amalgamation of this lookup and the upcoming plugindb and
loader.
Provides structures used for managing interfaces, macros for declaring
and defining interfaces. Convinience macros to bundle buildin and plugin
interfaces.
wordlists are simple not quoted words delimited by semicolon, tab, space or
commas. Some special functions will allow to access each of this words by
index etc.
Recursive mutex can be locked multiple times by a single thread they
are initialitzed by lumiera_recmutex_init() and used by LUMIERA_RECMUTEX_*
macros.
Chained mutex use the mutexacquirer from the outer scope now. Maybe its
later needed to pass acquirers explicit, we will see.
* 'configloader_devel' of git://git.lumiera.org/lumiera/simeon: (24 commits)
Added directive-parser and tests for a content-check of a parsed configitem
Fixed configitem_move, first parsing tests pass now
FIX: Remove llist_move again and put a note to list_relocate, add test
WIP: add config_lookup skeleton
filedescriptor fixup for new copy func in cuckoo
add a custom copy function to the cuckoo hash
fixes after the cuckoo update in filedescriptor.c
Cuckoo hash update
Added two very simple tests for configitem
Typo fix
Fix for section-parser
added section part to parser
parser improvements, compiles now
added CONFIG_SYNTAX errors
typo fix and redundant comment removal
add configitem and configentry to the build system
give the charsets for config keys some constants
fix to make parser mockup compileable, little simplified
WIP: started low-level parser
more functional mockup of the configitem bootstrap
...
Conflicts:
src/backend/config.c
src/backend/config.h
src/backend/config_lookup.c
src/backend/config_lookup.h
src/backend/configitem.c
src/backend/configitem.h
src/backend/filedescriptor.c
src/lib/cuckoo.c
src/lib/cuckoo.h
tests/22config_highlevel.tests
tests/backend/test-config.c
* the path parameter given to config_init becomes a registered default
value for 'config.path' itself thus the config system finds its data
path on itself.
* the printf formatting string for representing values are also
bootstrapped as default entries in the config system. This is just a
prelimary example and will be refined later
Fallback to a default in case of a already pending error is not needed.
This would only obtruse error handling. If the default entry would be
erroneous it would be silently ignored and make the thing worse.
* library: (78 commits)
Doxyfile update
small note annd cosmetics for safeclib
test.h cosmetic, add a 'tests' nobug flag, give diagnostics
add psplay_delete_node and psplay_delete_key functions
Probabilistic Splay Tree implementation
Probabilistic Splay Tree implementation
WIP: Cuckoo hash update, leave it at a insane state
Add lumiera_tmpbuf_strcat3 for concating up to three strings to safeclib
FIX: put a note to list_relocate, add test
Move the resource announce/forget into the rwlock init/destroy
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
...
* 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
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.
* '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
...
this prevents strange (_CPPFLAGS) dependencies such as the one that was identified and fixed in admin/Makefile.am
Also, make sure to include the global $(AM_CPPFLAGS) flags in the per-target ones
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.
* commit 'LUMIERA/master':
Corrected some tabs, missing dependancies in src/gui/Makefile.am
Initial implementation of I-Beam tool. Needs more work
Reinstated a small efficiency
Tidied and simplified video display widget, and added cursor support to
Added a separator between tool groups
Temporarily bodged the icon source directory
Added code to render icons as part of the build process
Added basic support for multiple tools in the timeline view
Implemented new icon workflow
Fixed scroll layout loop bug.
Set the page size of the horizontal timeline scroll bar
Retired VideoTrack - all tracks are the same
a string can be either quoted (single or doublequoted), then the text
between this quotes is returned, quotes are escaped by doubling themself,
no chopping at either end is done,
or not quoted then the the tabs and spaces are chopped from the value
at either end.
even in case of an configuration error the returned value is primed
with the default. The error condition needs still be cleared!
Broken defaults would be unnoticed in case of a double error!