d64d822690
merge from backend (plugin loader)
...
Merge commit 'lumi/master' into proc
2008-10-16 00:35:57 +02:00
Christian Thaeter
ebcc5c7fd2
Fix: old plugin.c|.h must not be compiled and linked
2008-10-15 22:53:55 +02:00
Christian Thaeter
26c212b292
make the old plugin stuff barely compileable, disable tests, fix later
2008-10-15 22:18:17 +02:00
Christian Thaeter
9752de3102
Some prelimary TODO's for filedescriptor.c to be fixed later
2008-10-15 22:05:22 +02:00
Christian Thaeter
be9d2b189f
fix lib/Makefile.am, a stale interfaces.h was left here
2008-10-15 18:01:52 +02:00
Christian Thaeter
9943dd76fd
use a recursive mutex to lock interface operations
...
locking interfaceregistry operations and later on open/close etc
2008-10-15 17:21:22 +02:00
Christian Thaeter
f7fa5769ca
Start of a 'wordlist' type for the config subsystem
...
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.
2008-10-15 17:19:53 +02:00
Christian Thaeter
0cf7dec793
Interfaceregistry for 'active' interfaces
...
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.
2008-10-15 17:18:03 +02:00
Christian Thaeter
29f5a0f2ab
moved the remaining interface stuff from lib to backend
2008-10-15 16:05:17 +02:00
Christian Thaeter
ee7719eada
tests and a first definition of a interface descriptor
2008-10-15 16:05:17 +02:00
Christian Thaeter
f05f6772f1
Interface system refactoring
...
* 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.
2008-10-15 16:05:17 +02:00
Christian Thaeter
405a578c42
WIP: interface open/close handling cross dependencies
2008-10-15 16:05:17 +02:00
Christian Thaeter
a6ddb55e9b
use a recursive mutex to lock interface operations
...
locking interfaceregistry operations and later on open/close etc
2008-10-15 16:05:15 +02:00
Christian Thaeter
4414af3751
add a 'weak' flag for interface_acquire/release()
...
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.
2008-10-15 16:04:32 +02:00
Christian Thaeter
c9ac956417
cosmetics
2008-10-15 16:04:32 +02:00
Christian Thaeter
bb9c53d32d
change parameter order for _DNAME in interface.h, add a _REF macro
2008-10-15 16:04:32 +02:00
Christian Thaeter
4bfe430f38
Interfaceregistry for 'active' interfaces
...
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.
2008-10-15 16:04:28 +02:00
Christian Thaeter
66a1142079
apply the new defined nameing rules to interface.h
2008-10-15 16:01:09 +02:00
Christian Thaeter
b252807c55
functions for interface acquire/release
2008-10-15 16:01:09 +02:00
Christian Thaeter
caa5bd10a0
interface update
...
* remove the data member from the interface structure
* add a psplay node used in a upcoming interface registry
* add a INLINE function mapper
2008-10-15 16:01:08 +02:00
Christian Thaeter
feb9ba7db9
provide some example code for the 'interface' system
...
* test-interfaces.c is just a mockup to show how interfaces are created
* fix some bugs introduced with a futile refactoring try at the last commit
2008-10-15 16:01:08 +02:00
Christian Thaeter
c84d10c9d5
Add a CALL macro to interface.h
2008-10-15 16:01:08 +02:00
Christian Thaeter
f114b04509
Documentation for the interface system and small refactorings on the fly
2008-10-15 16:01:08 +02:00
Christian Thaeter
de44b83fcd
New interface header
...
Provides structures used for managing interfaces, macros for declaring
and defining interfaces. Convinience macros to bundle buildin and plugin
interfaces.
2008-10-15 16:01:08 +02:00
Christian Thaeter
fdbab22ce4
some cosmetics for the config subsystem
2008-10-15 16:01:08 +02:00
Christian Thaeter
2ae274ea51
add wordlist_add function to add a word to a wordlist
2008-10-15 16:01:08 +02:00
Christian Thaeter
211b470e85
docing existing wordlist funcs
2008-10-15 16:01:07 +02:00
Christian Thaeter
b0e60e23e0
change config rwlock to mutex
...
This was overseen with the splay tree transistion. lookups mutate the
structure, thus it needs to be locked completely.
2008-10-15 16:01:07 +02:00
Christian Thaeter
2041efe5b6
more on config_wordlist
...
* universal replace function
* tests
* missing declarations
2008-10-15 16:01:07 +02:00
Christian Thaeter
f754e1521f
Start of a 'wordlist' type for the config subsystem
...
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.
2008-10-15 16:01:06 +02:00
Christian Thaeter
dd9e5051ba
use nobug's new RESOURCE_HANDLE_COMMA_INITIALIZER and some cosmetics along
2008-10-15 15:51:48 +02:00
Christian Thaeter
38f2a9c6c9
add a lumiera_realloc() function to the safeclib
2008-10-15 15:51:48 +02:00
Christian Thaeter
0346e113e5
use a recursive mutex to lock interface operations
...
locking interfaceregistry operations and later on open/close etc
2008-10-15 15:51:29 +02:00
Christian Thaeter
ed246ab222
Adding recursive mutexes, fix chained mutex to take only one parameter
...
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.
2008-10-15 15:49:35 +02:00
Christian Thaeter
9cdfd02e9b
makefile update for library
2008-10-15 15:49:35 +02:00
Christian Thaeter
2a723bc5ba
add 'STRINGIFY' to ppmpl.h
2008-10-15 15:49:35 +02:00
Christian Thaeter
a7f75b3f6f
preprocessor concat implementation which evaluates its arguments
2008-10-15 15:49:35 +02:00
Christian Thaeter
bfdcbfcb7f
add a static initializer to psplay.h
2008-10-15 15:49:35 +02:00
Nicholas Sinnott-Armstrong
7d86367909
Added preliminary support for chained mutex calls.
2008-10-15 15:49:35 +02:00
Christian Thaeter
16d2fcf2e9
macro for initializing a uchar[16] from a string literal in C++
2008-10-15 15:49:34 +02:00
Christian Thaeter
4d65f0394d
Add FOREACH variants for nesting to ppmpl
...
Three levels of nesting are enough for anyone!
2008-10-15 15:49:34 +02:00
Christian Thaeter
973348fdb8
preprocessor metaprogramming ftw
...
Added a header for generalized preprocessor idioms.
This will grow over time, as needed things will be added.
2008-10-15 15:49:34 +02:00
Christian Thaeter
14a9e95492
moved plugin code from lib to backend
...
Plugin management will become stateful. This qualifies it to become a
backend subsystem.
2008-10-15 15:49:34 +02:00
8834e4e306
merge current gui work
...
Merge branch 'master' into proc
2008-10-11 03:04:48 +02:00
Joel Holdsworth
13b2b4f7a2
Merge branch 'master' of git://git.lumiera.org/LUMIERA into gui
2008-10-10 10:59:13 +01:00
Joel Holdsworth
6195a7f655
Added wildcard support, and some documentation to the icon loading code
2008-10-10 10:56:07 +01:00
Joel Holdsworth
65568980ec
Corrected incorrect IconSize code, and made Tool icons borders darker
2008-10-07 23:02:27 +01:00
Joel Holdsworth
094ce0654d
Added playback support in the timeline
2008-10-07 21:17:29 +01:00
1bce7d4c38
define the next steps by test
2008-10-06 07:26:43 +02:00
1724e019ea
related it to the ConManager and the wiring requests
2008-10-06 06:17:40 +02:00