Commit graph

1280 commits

Author SHA1 Message Date
Christian Thaeter
aa92eab301 Provide prelimary config interface declaration and implementation
This exports the 'configuration' system as interface. It is not finally
settled if the filenames shall be *_interface.{c,h} and some details might
be sorted out (so far it works quite well).

This can also serve as example how to implement a slightly more complex
interface (some functions got inline wraped because we dont want to export
internal config system state).
2008-12-15 13:33:03 +01:00
Christian Thaeter
085f3ec5a7 a upper limit of 16 iterations was not enough in ppmpl,
lets see how long 64 suffices
2008-12-15 13:33:03 +01:00
Christian Thaeter
85bde6ddb1 Extend the tests for plugins to show how to handle interface opening
from plugins themself.
2008-12-15 13:33:03 +01:00
Christian Thaeter
52a4f7743a Passing an interface handle to plugins
Plugins which in turn want to open other interfaces need some way to
access the interfaces system itself. This is realized with a 'interface'
implementing the interface api and passed to the plugins initialization
routine.

A plugin which wishes to open other interfaces must
safe this in a local variable defined by LUMIERA_PLUGIN_INTERFACEHANDLE
with the LUMIERA_PLUGIN_STORE_INTERFACEHANDLE macro.

The LUMIERA_INTERFACE_OPEN and LUMIERA_INTERFACE_CLOSE macros change their
definition depending on compiled as buildin or plugin to account for that.
2008-12-15 13:33:03 +01:00
Christian Thaeter
f5da688c48 some more bits towards a lumiera main 2008-12-15 13:33:03 +01:00
Christian Thaeter
37f56a670e Now converting the tests ..and some missing things
* fixed include paths
 * lots of build system fixes
 * initialization, shutdown, state and nobug flags are factored out into
   a liblumierainit.a to simplify test builds
2008-12-15 13:33:03 +01:00
Christian Thaeter
52a9c7fb27 lumiera is alive...
This starts the proposed changes in
http://www.pipapo.org/pipawiki/Lumiera/DesignProcess/ApplicationStructure

 * Moving all necessary files from src/backend to src/lumiera
 * create a small helloworld main app
 * setup the buildsystem to build it all
 * fix include paths at many places

The testsuite is not yet fixed here, that will be the next commit
2008-12-15 13:33:03 +01:00
Christian Thaeter
865398e59c cosmetics 2008-12-15 01:17:23 +01:00
Christian Thaeter
369c644ab4 Basic resourcecollector implementation
Lets one register callback functions which to incrementally cleanup unused
resources.
2008-12-15 01:17:23 +01:00
Christian Thaeter
67386a20eb few tests for mmaping 2008-12-15 01:17:23 +01:00
Christian Thaeter
17c07bad42 FIX: filehandles test, remove chunksize parameter, this is set explicit now 2008-12-15 01:17:23 +01:00
Christian Thaeter
eba465998c add some trace points to mmpcache 2008-12-15 01:17:23 +01:00
Christian Thaeter
db202e298e mmap updates/refactoring 2008-12-15 01:17:23 +01:00
Christian Thaeter
9f497cdaa3 lumiera_file_chunksize_get() function 2008-12-15 01:17:23 +01:00
Christian Thaeter
430ec0bf8b Fixed file initialization semantic (don't leak memory on error) 2008-12-15 01:17:23 +01:00
Christian Thaeter
80359fb155 documentation and nobug improvement for mrucache 2008-12-15 01:17:23 +01:00
Christian Thaeter
a5119f8947 cosmetics and documentation in file.h, remove lumiera_file_descriptor() 2008-12-15 01:17:23 +01:00
Christian Thaeter
61ea2154bb Add Doxyfile.pdf
This generates very terse Documentation for hardcopies

 * All official docs are included
 * No Graphs
 * No internal, TODO, BUGS, etc. docs
 * No inlined sources
2008-12-15 01:17:23 +01:00
Christian Thaeter
67cd569d9f New Doxyfile.browse for detailed code browsing
This generates a detailed documentation in html_browse/

 * all things get extracted (undocumented, TODO, BUG etc...)
 * produces a warnings_browse.txt to show undocumented things
 * no graphs to keep it reasonable small
2008-12-15 01:17:22 +01:00
Christian Thaeter
147b371952 main Doxfile refinements
* remove TODO TEST BUG DEPRECATED lists
 * don't inline sources

The goal is to generate a more appealing and compact default Documentation
2008-12-15 01:17:22 +01:00
Christian Thaeter
065bc25eca Remove the tests dir from the normal Doxyfile
As on the nov2008 developer meeting we concluded that the normal
Documentation shall have less noise and reflect the actual project state.
Further we will introduce special Doxyfiles for special tasks.
2008-12-15 01:17:22 +01:00
Christian Thaeter
bb74bfbc22 fixup handle_acquire/_release for file and filedescriptor 2008-12-15 01:17:22 +01:00
Christian Thaeter
c2e2a0e525 some pending cosmetics, comments and checks 2008-12-15 01:17:22 +01:00
Christian Thaeter
da7fd1242b move the mmapings nobug flag to backend.c 2008-12-15 01:17:22 +01:00
Christian Thaeter
408528d1e2 factor file-mmap chunksize setting out into its own function 2008-12-15 01:17:22 +01:00
Christian Thaeter
ec5800c61e fix filedescriptor tests to use a list for tracking references
see previous commit
2008-12-15 01:17:22 +01:00
Christian Thaeter
9d0985feb7 remove the refcounter from filedescriptor and use a list to attach files 2008-12-15 01:17:22 +01:00
Christian Thaeter
e953c3003b Refactored filehandle/filehandlecache to use a normal init function 2008-12-15 01:17:22 +01:00
Christian Thaeter
e9cca69fb1 More things for the filedescriptor destructor
* truncate the file to its realsize
 * destroy its mmapings
2008-12-15 01:17:21 +01:00
Christian Thaeter
a0cff36066 some smaller fixes in filedescriptor
* change mode for created files to 0666 (TODO: from config)
 * some members where not properly initialized yet
 * docing fixes
2008-12-15 01:17:21 +01:00
Christian Thaeter
208f7e2d76 Refactored filehandle acquisition to filehandle.c (duh!)
some old ad-hoc code slipped in which did that in file.c
2008-12-15 01:17:21 +01:00
Christian Thaeter
c88a2ffa1e move mmapcache and filehandle nobug flags into backend.c 2008-12-15 01:17:21 +01:00
Christian Thaeter
b94ede5b0b Give a overview drawing how things in the io backend relate to each other
My first inkscape drawing
2008-12-15 01:17:21 +01:00
Christian Thaeter
219db59d82 renamed backend config entries
adding one level more, more descriptive
2008-12-15 01:17:21 +01:00
Christian Thaeter
16fabb29bd initialize the config system for the file tests 2008-12-15 01:17:21 +01:00
Christian Thaeter
5bbe80b370 preliminary use of the config system for some settings
* backend.filehandles maximum filehandles used
 * backend.mmap_window_size mapping window start size
 * backend.as_limit address space limit

This needs to be changed to use the lumieraorg_configuration interface.
2008-12-15 01:17:21 +01:00
Christian Thaeter
2a0b5dca5e Fix: mutex initialization, remove explicit RESOURCE_HANDLES
The new mutex has an implicit resource handle
2008-12-15 01:17:21 +01:00
Christian Thaeter
e938b36071 WIP: mmap management first go
Quite some code which was hold back in favor of the config and plugin stuff
implements:

 * mmapcache: mru cache for unused memory mappings
 * mmap: single mmaped areas
 * mmapings: manages mmaps established for one filedescriptor
2008-12-15 01:17:21 +01:00
Simeon Voelkel
8c2b98a2e1 re-indented and moved static functions to fit Lumiera's coding standard 2008-12-15 01:17:20 +01:00
Simeon Voelkel
f89708e117 split lumiera_configitem_parse into several smaller static functions 2008-12-15 01:17:20 +01:00
eb14eaa376 temporary fix to make it compile on Etch 2008-12-15 01:08:30 +01:00
Joel Holdsworth
6cbd4282c1 Restructured model track tree, and improved child access 2008-12-13 16:58:41 +00:00
Joel Holdsworth
efa4847a61 Added to_list method for read only STL list access to the
observable_list
2008-12-13 16:56:02 +00:00
Joel Holdsworth
fdb75fdd2a Corrected some problems that emerged on the build server 2008-12-13 13:57:19 +00:00
Joel Holdsworth
d61daa0b2f Misc tidy-ups 2008-12-10 18:09:01 +00:00
Joel Holdsworth
7c1046e162 Unified Sequence and Track together as TrackBase 2008-12-10 18:04:02 +00:00
Joel Holdsworth
5eb43b7c18 Tidied observable-list.hpp somewhat 2008-12-10 17:28:50 +00:00
Joel Holdsworth
22f425a25c Added some documentation to timeline-widget.hpp 2008-12-10 17:22:49 +00:00
Joel Holdsworth
fa16c5f137 Updated sequence test code 2008-12-10 16:54:43 +00:00
Joel Holdsworth
528d02931a Converted timeline::Track* to boost::shared_ptr<timeline::Track> 2008-12-08 22:30:54 +00:00