Joel Holdsworth
8b5733c293
Merge branch 'sharedlib' of git.lumiera.org:/git/lumiera/ct into gui
...
Conflicts:
src/gui/Makefile.am
2008-12-16 20:44:33 +00:00
Joel Holdsworth
f3ea24260d
Added a stub menu item for add track
2008-12-16 20:31:04 +00:00
Christian Thaeter
9a1a1890e2
post rebase fixes
...
tests are still broken and will be fixed for the shared lib transistion
2008-12-16 19:54:48 +01:00
4458b6f232
some additional sanity checks and warnings
2008-12-15 13:36:43 +01:00
054f8d51e8
completed GuiStart.so now working.
...
Actually linked against the shared core and calling into it.
2008-12-15 13:36:43 +01:00
255e501258
comments and #ifdef __cplusplus
2008-12-15 13:36:42 +01:00
0675f589a2
define an (unimplemented) option to set config defs on the commandline
2008-12-15 13:36:42 +01:00
1c7402b25d
DUMMY Lumiera executable working now.
...
Lumiera starts, loads a GuiStarterPlugin dummy and finaly performes a clean shutdown
2008-12-15 13:36:42 +01:00
6a3f232036
Log system error message when loading DYNLIB fails
2008-12-15 13:36:42 +01:00
57c3559f74
WIP trying to get the guistarter shared module loaded
2008-12-15 13:36:42 +01:00
45f18379b4
provide the missing parts for actually bringing up a (dummy) subsystem "GUI"
2008-12-15 13:36:42 +01:00
4ec74a4dc3
fill in the gaps to acutally detect the options defined thus far
2008-12-15 13:36:42 +01:00
085c60e039
util to invoke two functors chained,
...
here to be used for decorating a given signal (callback)
2008-12-15 13:36:42 +01:00
feebc502e5
implementation of GuiStarterPlugin
2008-12-15 13:36:41 +01:00
f0fd9dd1ae
fix a potential segfault in the Lumiera exception base class
2008-12-15 13:36:41 +01:00
20c719d89c
add bool() to InstanceHandle, performing an validity check
2008-12-15 13:36:41 +01:00
7cad095675
WIP let the GuiFacade trigger loading of the GuiStarterPlugin
2008-12-15 13:36:41 +01:00
e8639b8319
WIP work out further how to handle start/stop of layer separation interfaces
2008-12-15 13:36:41 +01:00
b841ab3139
definitions for creating my first Interface instance :-)
2008-12-15 13:36:41 +01:00
8c501a3d7c
first rough draft implementation of calling through a layer separation interface
2008-12-15 13:36:41 +01:00
cc88a62caf
Cleanup, no need to place the unexpected handler installation into everything.
...
Sufficient to do it just "sometime" before main()
2008-12-15 13:36:40 +01:00
41f9f54907
pass compiler and starts OK without doing anything
2008-12-15 13:36:40 +01:00
75b97ff9dd
WIP draft remainder of the global start/stop sequence, incl errorhandling
2008-12-15 13:36:40 +01:00
01876fd576
add descriptive subsystem name string
2008-12-15 13:36:40 +01:00
b6a3139b66
define logic for running several dependent subsystems in parallel
2008-12-15 13:36:40 +01:00
cc871fcaec
comments, typos....
2008-12-15 13:36:40 +01:00
df85f2a5d9
pull up the config system in pre-init phase
2008-12-15 13:33:06 +01:00
fa9b23115c
move init plugin/interface system and global init to AppState::init()
2008-12-15 13:33:05 +01:00
3518235b57
Stub implementation of the various subsystem facades
2008-12-15 13:33:05 +01:00
2dd90e4fad
Subsystem descriptor skeleton
2008-12-15 13:33:05 +01:00
010b0d99ff
AppState implementation skeleton
2008-12-15 13:33:05 +01:00
14c1ebceb7
second try for drafting main
2008-12-15 13:33:05 +01:00
3693a5fa3d
draft outline for main()
2008-12-15 13:33:05 +01:00
98b3fcbad8
missing implementation
2008-12-15 13:33:05 +01:00
98005b10ae
factor out placeholder for a (planned) Symbol datatype
2008-12-15 13:33:05 +01:00
b14d711146
refactor Appconfig, split off lifecycle interface
2008-12-15 13:33:05 +01:00
9e0e79c55c
comments for logging config
2008-12-15 13:33:04 +01:00
3f6f1218fc
some typos
2008-12-15 13:33:04 +01:00
c567c57a58
reorganise NoBug global definitions and startup
2008-12-15 13:33:04 +01:00
2b5affa8b3
Appconfig doesn't provide Config functionality any longer.
...
This role of the Appconfig class is superseeded by the Config subsystem...
2008-12-15 13:33:04 +01:00
628be502e5
reordered some files to use the new include and lumiera directories
2008-12-15 13:33:04 +01:00
Christian Thaeter
6169ccaf08
refine the initialization order
...
* introduce a lumiera_preinit() which does some dirty startup work
* lumiera_init() and lumiera_shutdown() will do the desired
DesignProcess/GlobalInitilaization
* as example, initialize the config interface there
2008-12-15 13:33:04 +01:00
Christian Thaeter
d91c4ee326
build a 'liblumieracore' instead many small libs
...
This makes some cross dependency things easier, later on the parts which
get included there might be configured and selected with conditionals.
2008-12-15 13:33:04 +01:00
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
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
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
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
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
219db59d82
renamed backend config entries
...
adding one level more, more descriptive
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
Joel Holdsworth
48dd2055f5
Converted model::Project to use observable_list
2008-12-06 23:48:45 +00:00
Joel Holdsworth
bbc55e6324
Added the definition of an observable_list class
2008-12-06 23:46:01 +00:00
Joel Holdsworth
0799a4d297
Fixed problems when the notebook is empty
2008-12-06 20:05:14 +00:00
Joel Holdsworth
b27545e105
Corrected a header layout problem when adding the first timeline widget
...
to the Notebook
2008-12-06 19:58:43 +00:00
Joel Holdsworth
b8e5900067
Corrected a bug in create_timeline_tracks_from_branch
2008-12-06 19:26:46 +00:00
Joel Holdsworth
2ebd768d88
Corrected some indentation
2008-12-06 19:12:18 +00:00
Joel Holdsworth
aa9048fa68
Added more STL slickness
2008-12-06 18:15:08 +00:00
Joel Holdsworth
418bd87419
Made use of util::contains to reduce the volume of boilerplate
2008-12-06 14:52:59 +00:00
Joel Holdsworth
619c5b0769
Corrected an ENSURE condition
2008-12-06 14:48:52 +00:00
Joel Holdsworth
b2ffa116f5
Modified MAX to play nice with GLib's MAX
2008-12-06 14:47:00 +00:00
Joel Holdsworth
d75261ea23
Corrected some REQUIRE(model_track != NULL) to REQUIRE(model_track)
2008-12-06 14:36:29 +00:00
Joel Holdsworth
19c97fd52a
Replaced model::Track* with boost::shared_ptr<Track>
2008-12-06 14:08:03 +00:00
Joel Holdsworth
f54595b17e
Replace TimelineWidget* with shared_ptr<TimelineWidget>
2008-12-05 20:27:15 +00:00
Joel Holdsworth
da3d14da72
Replaced Sequence* with boost::shared_ptr<Sequence>
2008-12-05 20:17:56 +00:00
Joel Holdsworth
e3e639a2db
Corrected "New Track" to "New Sequence"
2008-12-05 18:39:23 +00:00
Joel Holdsworth
e1f752f55d
Tidied up create_timeline_tracks
2008-11-29 17:02:27 +00:00
Joel Holdsworth
7a86c08ec8
Added some documentation
2008-11-29 16:40:50 +00:00