Joel Holdsworth
f0ab871cb3
The other half of the previous commit
2008-11-19 22:56:46 +00:00
Joel Holdsworth
aed6b09572
Refactored timeline view window code into a helper, and added dummy
...
track drawing code
2008-11-19 22:42:38 +00:00
Joel Holdsworth
b3aac4bc90
Changed the bounding box for the expander button
2008-11-19 18:07:10 +00:00
Joel Holdsworth
7dfbd0e848
Fixed a comment
2008-11-19 17:49:06 +00:00
Joel Holdsworth
5b9c4fa42d
Fixed a headers layout bug
2008-11-19 17:44:57 +00:00
Joel Holdsworth
b2fad8d9a5
Fixed the problem with Etch support for 16x16 icons
2008-11-18 22:06:31 +00:00
Joel Holdsworth
7b52ff247e
Merge branch 'master' of git://git.lumiera.org/LUMIERA into gui
2008-11-15 23:37:21 +00:00
Joel Holdsworth
bfc34f8b1c
Refactored Track to distinguish GroupTracks, and added expand/collapse
...
functionality
2008-11-15 23:36:22 +00:00
Joel Holdsworth
6c50182db1
Added support for highlighting the hovering track
2008-11-15 15:17:26 +00:00
f13f851d77
error message when plugin.c is built without defining the plugin search path
...
(and btw... thanks for the hint ;-)
2008-11-07 23:10:08 +01:00
80e1e382f4
merge new plugin/interface system, testsuite changes, documentation
2008-11-07 01:26:31 +01:00
Christian Thaeter
aae3c8ed81
LUMIERA_PLUGIN is dead, long life LUMIERA_PLUGIN
...
removes the difference in compiled in and plugin interfaces.
* All interfaces are now defined with LUMIERA_EXPORT(...)
* The definition of LUMIERA_PLUGIN at compile time takes action to compile
as plugin which gets automatically managed.
* compiled in (core) interfaces need still be registered, this is
simplified with the LUMIERA_INTERFACE_REGISTEREXPORTED and
LUMIERA_INTERFACE_UNREGISTEREXPORTED macros which become no-ops for
plugins.
2008-11-06 05:23:47 +01:00
f19cdc1ad6
automake fixes
2008-11-06 04:25:33 +01:00
Christian Thaeter
c04f1e77d6
set LUMIERA_PLUGIN_PATH to $pkglibdir as default
2008-11-06 04:13:13 +01:00
Christian Thaeter
d5c61c0e9d
let plugin_discover() barf out when the plugin.path config cant be found
2008-11-05 11:33:49 +01:00
Christian Thaeter
fa6b6d54e9
hook the plugin refcounting in
...
The plugin refcounter is driven from interface opening/closing, this is
quite internal.
The 'last' time in plugin now records the last time the refcounter dropped
to 0, this is just sufficient enough to find out how long a plugin is
unused.
2008-11-05 11:33:29 +01:00
Christian Thaeter
7afce647fb
few tool functions for the plugin implementation
...
* plugin_name() to figure out the name of the plugin
* plugin_refinc() and plugin_refdec() to manage the refcount
2008-11-05 11:33:28 +01:00
Christian Thaeter
c26cd391b0
automatic plugin unloading at interfaceregistry_destroy()
...
All open plugins will be unloaded when the registry gets destroyed.
If there are still interfaces open, this will assert at ALPHA builds.
2008-11-05 11:33:28 +01:00
Christian Thaeter
240e7cb295
plugin_unload must lock the registry tree
2008-11-05 11:33:28 +01:00
Christian Thaeter
c35e5fb0f9
Plugin unloading, at least manually works
2008-11-05 11:33:28 +01:00
Christian Thaeter
2646b9035b
some plugin docwork
2008-11-05 11:33:28 +01:00
Christian Thaeter
3155ae068f
Loading of dynamic modules
...
* loads dynamic libs as module.
* file extensions .so and .lum (LUmieraModule)
- no unloading yet
2008-11-05 11:33:28 +01:00
Christian Thaeter
7c2415838b
WIP: big plugin update
...
* fix configure.ac to check for dlopen, introduce $(LUMIERA_PLUGIN_LIBS)
* Generic pluginloader finished, all plugins get loaded and registered at
start for now, it is prepared for on-demand loading and unloading but
not implemented because that needs the plugindb.
- plugin unloading not yet finished, this asserts at the end
2008-11-05 11:33:28 +01:00
Christian Thaeter
c30c98bebd
add a LUMIERA_INTERFACE_CLOSE macro
...
This is a small typesafe wrapper around the interface_close() function
and since we need INTERFACE_OPEN wraped too this makes it more orthogonal
2008-11-05 11:33:28 +01:00
Christian Thaeter
4d2fe242d0
Some more interfaces improvements
...
* add a lumiera_interface_version() function for runtime type and version
checking of interfaces
* the 'lumieraorg__plugin' interface is now private
* add a macro to construct a interface instance name string
2008-11-05 11:33:27 +01:00
53e17e2751
merge new Plugin implementation
...
Merge commit 'pipapo/master'
2008-11-03 20:58:09 +01:00
Christian Thaeter
2342c3a87a
New Plugin implementation
...
* plugin{.h,.c} are back but work in progress
* the interfaceregistry also manages a pluginregistry, makes no much sense
to isolate it yet, both share a mutex and are commonly used together
2008-11-03 08:07:22 +01:00
Christian Thaeter
257b310699
add an error_peek function, fix prototypes
...
lumiera_error_peek() lets one investigate the error state without resetting
it.
2008-11-03 08:03:48 +01:00
Christian Thaeter
48778cf3d7
WIP: new plugin.h header
...
This ditches the old 'proof of concept' implementation, interfaces and
plugins are internally separate now and publically only accessed over
the 'interfaces' api.
The interface registry now gets an additional 'plugin' member to
backreference plugins from interfaces.
2008-10-31 06:42:53 +01:00
Christian Thaeter
7be18d6344
Adding explicit delimiters to the config wordlist feature
...
This greatly simplifies the task where we want to handle colon separated
paths within the config.
2008-10-31 06:29:55 +01:00
57ccc289b0
comment, add to testsuite
2008-10-30 04:34:05 +01:00
b475fd0979
AllocationCluster passes test
2008-10-30 04:03:14 +01:00
a00edd2a84
cluster datastructure works, finally.
...
WIP still a bug somewhere in the pseudo-memory manager (de-allocation fails)
2008-10-28 06:07:23 +01:00
9f8f0c7c20
temp. fix to make it compile on Etch based system
2008-10-28 01:56:51 +01:00
Christian Thaeter
28a5c5257a
Merge commit 'joel/gui' into master
...
* commit 'joel/gui':
Correct a liblumi to liblumiera
Added track tree support and added widgets to headers
Corrected a selection rendering bug in TimelineBody
Added linkage to the proc layer
Made GtkLumiera and WindowManager boost::noncopyable
Added the backend as a lib, and included the interface header
Showed some love to viewer panel
Changed the "delete" variable name to "del" to satisfy the C++ compiler
Renamed HeaderContainer to TimelineHeaderContainer
Conflicts:
src/gui/Makefile.am
2008-10-27 06:00:32 +01:00
Christian Thaeter
b242f3359b
Fix/Wip: LUMIERA_PLUGIN definition
...
There where some bugs slipped in (not yet tested code)
removed the descriptor from the plugin itself, lets see if we can remove
the acquire and release functions later too.
Declare the plugin interface itself in its first experimental state
2008-10-27 05:10:24 +01:00
Christian Thaeter
ab3d3823f6
autotools fixes for the plugin system
...
don't link the tests with -ldl
Renamed GTK_LUMIERA_* to LUMIERA_GUI_* and include all gui relevant config
results here.
Set it explicit, don't add the results to CFLAGS or LIBS, the default
behaviour linked all LIBS in, even in plugins, that was not intended.
2008-10-27 05:10:01 +01:00
Christian Thaeter
84df018931
some cosmetics and a copy'n'paste interfacedescriptor example
2008-10-27 05:09:20 +01:00
Christian Thaeter
194e4b9fec
Complete the luidgen tool
...
calling 'luidgen' with a list of filenames replaces the word LUIDGEN in
each of this files with a octal escaped string consisting a unique
identifier
add luid formatter help macros to luid.h
let compilation of files which contain the word 'LUIDGEN' fail with a
hopefully self-explaining error message
2008-10-27 05:08:53 +01:00
Christian Thaeter
99e3e79fe6
Complete the interface descriptor declaration
...
After a discussion with ichthyo and some further thinking this should be
mostly finished now. Nevertheless it is still experimental until we gain
experience with it.
2008-10-27 05:08:53 +01:00
Christian Thaeter
e61c25a34a
define an 'LUIDGEN' macro as uuid containing only zeros
...
This *must* be replaced by a real luid with a upcoming luidgen tool ASAP,
luids starting with zeros are invalid. For the time until this luidgen tool
is not ready we just leave it this way. Later it will be changed to give a
compile error.
2008-10-27 05:08:53 +01:00
6a1c33e5a1
create a lib header based on this solution
2008-10-26 22:35:01 +01:00
32637dd958
experiment: possibility to circumvent the problem
...
using an custom allocator for std::vector with an explicit transfer_control().
Indeed seems to solve the problem...
2008-10-26 03:21:33 +01:00
89fca1921d
WIP added simple usage test ... and made it compile,
...
but still a fundamental problem to resolve with the use of std::vector in this scenario
2008-10-24 06:06:24 +02:00
6bd0c84355
WIP added preliminary pseudo-implementation for the raw memory manager.
...
Actually this beast does just per object heap allocations, .... any takers?
2008-10-23 23:08:27 +02:00
b479404288
fix logic for allocating a new memory manager
2008-10-23 19:47:08 +02:00
75cf4a97b3
ScopedHolder test passed
2008-10-23 18:33:56 +02:00
2b2654cb38
WIP test covering the ScopedHolder helpers
2008-10-23 07:15:48 +02:00
Joel Holdsworth
7dcfa84d6a
Correct a liblumi to liblumiera
2008-10-23 00:38:47 +01:00
Joel Holdsworth
87ba2ab3db
Merge branch 'master' of git://git.lumiera.org/LUMIERA into gui
...
Conflicts:
icons/Makefile.am
src/gui/Makefile.am
2008-10-23 00:15:46 +01:00
Joel Holdsworth
efd9ab771b
Added track tree support and added widgets to headers
2008-10-22 23:11:23 +01:00
Joel Holdsworth
a3030515be
Corrected a selection rendering bug in TimelineBody
2008-10-22 22:23:04 +01:00
716700a432
draft solution finished, compiles but test fails of course...
...
solved the problem to push the actual memory manager completely into the cpp file
2008-10-22 04:55:28 +02:00
Christian Thaeter
ca0cea1c16
no, it doesn't end ...
2008-10-22 03:50:00 +02:00
Christian Thaeter
691dc8fd4e
Does this ever end? found 2 more liblumi.a
2008-10-22 03:42:15 +02:00
1e3a03b4c5
WIP dealing with object collections taking ownership
2008-10-21 09:04:59 +02:00
Christian Thaeter
a95a40613c
Fix: oops some more liblumi to liblumiera renames
2008-10-21 06:48:59 +02:00
Christian Thaeter
23508f3f74
Nice, follow scons, name it liblumiera.a too
2008-10-21 06:19:52 +02:00
Christian Thaeter
0e5a13ec31
give a warning when using experimental interfaces
2008-10-21 05:22:59 +02:00
Joel Holdsworth
1e3df80288
Added linkage to the proc layer
2008-10-20 19:28:29 +01:00
Joel Holdsworth
ee6fac5914
Made GtkLumiera and WindowManager boost::noncopyable
2008-10-20 19:19:06 +01:00
Joel Holdsworth
6396323e9e
Added the backend as a lib, and included the interface header
2008-10-20 18:51:46 +01:00
Joel Holdsworth
d880b341b4
Showed some love to viewer panel
2008-10-20 18:50:37 +01:00
eaa89067bb
WIP test covering the AllocationCluster draft
2008-10-20 06:27:14 +02:00
74164e890e
finished the outline
2008-10-20 03:13:02 +02:00
Joel Holdsworth
3a41758682
Changed the "delete" variable name to "del" to satisfy the C++ compiler
2008-10-18 12:25:18 +01:00
Joel Holdsworth
d89e979aa0
Renamed HeaderContainer to TimelineHeaderContainer
2008-10-18 11:20:02 +01:00
1b6df94aab
documentation (drawing)
2008-10-18 04:15:07 +02:00
747d793121
draft framework for handling the memory allocation of render nodes
2008-10-18 04:15:06 +02:00
Joel Holdsworth
c6dcdf44da
Corrected a breakage in the makefile.am caused by a directory tree
...
reorganisation
2008-10-18 00:23:54 +01:00
Joel Holdsworth
b653a60c17
Merge branch 'work' into gui
2008-10-18 00:15:06 +01:00
Joel Holdsworth
58e4920048
Corrected namespaces from lumiera::gui:: to gui::
2008-10-18 00:13:27 +01:00
Joel Holdsworth
60beab4933
Merge branch 'master' of git://git.lumiera.org/LUMIERA into gui
2008-10-17 23:40:40 +01:00
Joel Holdsworth
ab609407a5
Fixed a bug exposed by make distcheck
2008-10-17 23:39:02 +01:00
Joel Holdsworth
c2d43aba2b
Advanced code in the HeaderContainer
2008-10-17 23:36:37 +01:00
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
5e60921e14
Corrected some problems in the stylesheet
2008-10-10 11:18:38 +01: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
873910f0b8
WIP considerations about querying
2008-09-28 04:05:10 +02:00
feb64fac01
outline: use of the raw type info for fetching a ImplFacade
2008-09-26 04:57:20 +02:00
f80d0a49bd
provide for the GAVL impl facade to be registered as basic media type.
...
WIP actual implementation missing...
2008-09-24 06:36:35 +02:00
83b574bdea
stream type registry lifecycle
2008-09-24 05:46:26 +02:00
14023d3024
interface brainstorming
2008-09-23 05:09:56 +02:00
578178a937
brainstorming (continued). MediaImplLib
...
considering how to snap in the actual implementation
2008-09-22 06:42:10 +02:00
2885b41895
fix a link problem
2008-09-22 04:03:37 +02:00
a6a19ef609
WIP start drafting how to bootstrap a stream type...
2008-09-17 03:46:38 +02:00
8754555492
further mulling over the problems related to stream type handling
2008-09-15 05:40:13 +02:00
7ed7f05ffb
further analyzing the problem (stream type handling)
2008-09-13 06:00:22 +02:00
d4e3405f09
some namespace rearrangements
2008-09-13 03:59:36 +02:00
f9452f654c
start media stream type classification framework
2008-09-13 01:57:59 +02:00
4d72bc23b0
merge in Config-System (first version)
...
Merge commit 'ichthyo/proc'
2008-09-13 01:27:18 +02:00
Joel Holdsworth
e815bd4fd2
Moved buttons to the timeline
2008-09-12 20:55:54 +01:00
Christian Thaeter
7c992c000d
config setters for number and word, thats it for now
2008-09-10 15:19:50 +02:00
Christian Thaeter
4b2973de27
some cosmetics, removed the CONFIG_DEFAULT error which is not used anymore
2008-09-10 15:19:50 +02:00
Christian Thaeter
e8cc26efa4
First highlevel setter, small api change
...
* setters return LumieraConfigitem (or NULL) instead int
* the config_string_set works now
2008-09-10 15:19:50 +02:00
Christian Thaeter
928847a193
little more verbose logging, dump some values at TRACE points
2008-09-10 15:19:50 +02:00
Christian Thaeter
056bb87f30
config api change, return pointers as truth value
...
NULL indicates some failure,
anything else success (with some usable value)
2008-09-10 15:19:50 +02:00
Christian Thaeter
d26a92b67f
add configitem_set_value to modify the delim/value of a existing item
2008-09-10 15:19:50 +02:00
a4f4496481
placed DefsRegistry into an impl namespace
2008-09-10 04:42:09 +02:00
d651ce4762
clean up the mess with the inclusion of defsregistry.hpp,
...
caused by the definition of DefsRegistry not being visible for DefsManager's dtor.
2008-09-09 06:16:42 +02:00
126e552f1b
oops... forgot to add the luidgen tool
2008-09-08 05:22:31 +02:00
998da8a221
migrated TODOs from the TiddlyWiki to the lumiera-work Mailinglist
2008-09-08 01:02:14 +02:00