Commit graph

1271 commits

Author SHA1 Message Date
Joel Holdsworth
e670f42a39 Opps - tree.hpp committed now 2008-12-30 23:07:16 +00:00
Joel Holdsworth
54ddf81afa Moved tree into the lumiera namespace 2008-12-30 23:06:22 +00:00
Joel Holdsworth
2bea14748c Added Kasper Peeters STL-like templated tree class to lib 2008-12-30 22:58:21 +00:00
Joel Holdsworth
77c056266f Added empty timeline layout helper class 2008-12-30 22:27:09 +00:00
Joel Holdsworth
c32ae85a38 Small comment correction in timeline-header-container.hpp 2008-12-30 22:10:24 +00:00
Joel Holdsworth
4af80c78d8 Reimplemented nested track deleting so it work correctly 2008-12-30 21:50:18 +00:00
Joel Holdsworth
5e8620135c Added stringifying debug methods to track tree classes, and added a big
tree to the sequence
2008-12-30 17:16:29 +00:00
Joel Holdsworth
a117fe99e5 Removed spurious add_child_track 2008-12-30 16:13:09 +00:00
Joel Holdsworth
910bf4b4e4 Added "Remove" to the track dropdown menu 2008-12-30 15:20:19 +00:00
Joel Holdsworth
cdf26d3fe6 Tidied up the displayer code and added some documentation 2008-12-30 13:06:08 +00:00
Joel Holdsworth
8cb48a7298 Squished a whole load of warnings 2008-12-30 12:35:58 +00:00
5114d09156 fix after merge/rebase 2008-12-30 08:35:26 +01:00
71aa88df62 add some error checking
makes the dummy Gui plugin "work" again, but now with enabled locking.
2008-12-30 08:19:33 +01:00
4b3d567ca0 Switch Singleton template to use the threadsafe version (Fix) 2008-12-30 08:19:32 +01:00
7a2bbefb1d typos 2008-12-30 08:19:32 +01:00
75bdc877dc reconsider synchronisation and switch some parts to instance based locks. 2008-12-30 08:19:32 +01:00
00a5e7028d care for copy operations 2008-12-30 08:19:32 +01:00
33ae97b50d switch in the new recursive mutex/condition impl from backend 2008-12-30 08:17:05 +01:00
075b3c8d6a fix some warnings... 2008-12-30 07:28:34 +01:00
Joel Holdsworth
70e6394cf6 Added a TODO next to ftruncate 2008-12-29 20:48:06 +00:00
Joel Holdsworth
1802512371 Reinstated -Werror and fixed the ftruncate warning 2008-12-29 20:41:47 +00:00
Joel Holdsworth
90d14d12f7 Merged in LUMIERA master and gui branches 2008-12-29 19:13:58 +00:00
Joel Holdsworth
ad957ef9e3 Merge branch 'master' of git://git.lumiera.org/LUMIERA into gui
Conflicts:

	src/gui/Makefile.am
2008-12-29 18:46:06 +00:00
Joel Holdsworth
e17cf45b08 Added an arrow to the MenuButton class 2008-12-29 16:29:30 +00:00
Christian Thaeter
66fb3afe83 Fix: new nobug renamed some macros 2008-12-29 02:52:46 +01:00
Christian Thaeter
532f609ea1 experimental thread implementation
* This spawns a thread, almost as proposed
 * The condition variable for finishing is not yet implemented
 * Most Parameters are ignored
2008-12-29 01:50:38 +01:00
9f9ef10c11 add a temporary impl for recursive conditions just for test
(can be removed when the implemented in the backend)
2008-12-28 02:05:04 +01:00
Joel Holdsworth
b4ce796c94 Added track name setting 2008-12-27 22:02:18 +00:00
Christian Thaeter
23f89b027a fixes for new NoBug (mandatory upgrade)
I managed to break some interface compatibility with NoBug finally. The
new NOBUG_ALPHA_COMMA macros shall stay there now.
2008-12-27 18:42:10 +01:00
Christian Thaeter
1a792ac328 add reccondition variable, condition vars which use a recursive mutex
not tested yet
2008-12-27 16:25:07 +01:00
Christian Thaeter
07cec0a44d make the uses of pthread_once faster by checking the once var first 2008-12-27 16:25:07 +01:00
16adff318d Comments 2008-12-27 07:44:28 +01:00
250e3ba4df add a convenience shortcut for waiting on a bool member function 2008-12-27 06:58:13 +01:00
8ec25c1f45 TEMPORARY hack: link against Gui libs to get gthread and glib
** please undo this change when we are ready to use our own thread service!
2008-12-27 01:32:31 +01:00
af8d70c2bc include fix 2008-12-27 01:30:48 +01:00
4e4d6f9fb2 fix Automake 2008-12-27 01:11:17 +01:00
93c4a282cc Merge object monitor locking 2008-12-27 01:04:20 +01:00
e921b1658c error.hpp belongs to src/lib 2008-12-27 00:53:35 +01:00
cbbc298fe9 kill some warnings 2008-12-26 23:17:51 +01:00
e0b698d25a additions to make threads.c compile (empty) 2008-12-26 22:27:47 +01:00
Joel Holdsworth
9354c7e6ca Stopped the stylesheet from forcing the font 2008-12-26 20:47:54 +00:00
Joel Holdsworth
7a838fc4eb Added a name dialog for track 2008-12-26 19:51:41 +00:00
Joel Holdsworth
ea89f27668 Tidied up name-chooser.hpp 2008-12-26 19:10:31 +00:00
Joel Holdsworth
33afd58b8e Converted all ASSERTs to REQUIREs 2008-12-26 18:58:29 +00:00
Joel Holdsworth
b75e6a982b Converted to the SequenceName dialog to a generic name chooser dialog:
NameChooser
2008-12-26 18:49:28 +00:00
Joel Holdsworth
58d2f05db4 Added some documentation to menu-bbutton.hpp 2008-12-26 18:14:45 +00:00
Joel Holdsworth
be8d7644ed Added the MenuButton class for buttons with popup menus 2008-12-26 18:10:28 +00:00
bd2ead37d5 Refactoring V: get lifecycle of a class-based monitor correct. 2008-12-26 05:44:49 +01:00
2173698e75 splitt off the (somewhat problematic) class locking case into a separate header 2008-12-26 04:25:01 +01:00
90150b1350 tie AssetManager locking to the Asset DB impl object 2008-12-26 03:47:49 +01:00
eaedab90ea Refactoring IV: move the (still problematic) ClassLock out of the Sync compound
(no semantic change, but better notation)
2008-12-26 03:47:12 +01:00
54e88e6914 Refactoring III: Recursive/Nonrecursive and Waitable as policy classes
pass test again
2008-12-26 01:50:32 +01:00
1ff7f0c656 Refactoring II: encapsulate the variants probvieded by the backend as base classes 2008-12-24 23:23:23 +01:00
Christian Thaeter
072ea60352 Fix: use implicit nobug flag for releasing
needs new NoBug as well, I should check my code before pushing it to master
2008-12-24 03:59:08 +01:00
be2daf64ff whitespace
(trying to compare LUMIERA_MUTEX_SECTION and LUMIERA_RECMUTEX_SECTION)
2008-12-24 03:42:36 +01:00
Christian Thaeter
7e13ca33d5 Condition Variable makeover
* Improved the Documentation
 * add an CONDITION_UNLOCK macro to exoplicitly unlock the condition mutex
 * Add ENSUREs to check that the mutex is locked
 * Fix the CONDITION_WAIT, takes the missing condition expression now
 * Fix, document and improve SIGNAL and BROADCAST macros
 * remove the signal and broadcast functions
2008-12-24 03:40:55 +01:00
2650216d9b Refactoring I: better put the timeout explicitly separate 2008-12-24 03:31:35 +01:00
ee9cd8b632 typos 2008-12-24 03:30:34 +01:00
Christian Thaeter
c0bc3cffb7 add a LUMIERA_RESOURCE_CPU to the resource-collector 2008-12-24 00:38:19 +01:00
Christian Thaeter
c9d83d97c3 Moved the resourcecollector from backend to lib 2008-12-24 00:26:32 +01:00
Christian Thaeter
2126b25604 Flag to make thread jobs optional 2008-12-23 09:06:55 +01:00
Christian Thaeter
121599dc89 lowest level thread api proposal 2008-12-23 08:44:30 +01:00
Christian Thaeter
8e1f64a284 gui Makefile rework, remove _DEPENDENCIES vars
_DEPENDENCIES supresses all automatic generated dependencies which is not
what we wanted here, instead use dist_pkgdata_DATA which looks right.

Add some clean rules to cleanup generated/copied data.

I am not sure if this is completely right now, but looks (and works) much
better than before.
2008-12-23 07:24:55 +01:00
36704a856e basic wait/notify impl added, waiting-test pass 2008-12-23 04:27:11 +01:00
59a7270f5d draft test for wait/notify, fails without the implementation 2008-12-23 01:32:01 +01:00
43521e3945 building block for the Condition part of the Monitor pattern 2008-12-23 00:03:04 +01:00
2b8cd00ab5 yet another renaming. call it "Sync"... 2008-12-22 17:00:15 +01:00
Joel Holdsworth
125db978ba WIP: Experimenting with track headers 2008-12-22 11:36:46 +00:00
67e95884d5 preliminary implementation using pthread primitives. Locking test pass. 2008-12-22 07:23:48 +01:00
9240da002f WIP 2008-12-22 05:02:52 +01:00
79b1515f71 typo 2008-12-22 05:02:52 +01:00
6031ac2465 FIX after rebase 2008-12-22 05:02:52 +01:00
751e1be596 better invocation, get rid of the template parameter 2008-12-22 05:02:52 +01:00
c4df935113 add draft impl for Monitor storage; dummy impl running
todo: actually do any locking, improve handling of the forThis parameter
2008-12-22 05:02:52 +01:00
2512f04f3f WIP yet another namespace change. Now refer it from the test 2008-12-22 05:02:51 +01:00
112cd475b7 WIP draft the basic pattern 2008-12-22 05:02:51 +01:00
d1e385f3f4 rename class Thread into Concurrency
it's not a thread abstraction, but a locking helper
2008-12-22 05:02:51 +01:00
Christian Thaeter
4fb8f5b69d Makefile.am makeover, add CFLAGS and CXXFLAGS everywhere 2008-12-22 02:24:19 +01:00
Christian Thaeter
3363cfe8ba mixed fixes of small issues (compiler warnings) 2008-12-22 02:23:11 +01:00
Christian Thaeter
1058454871 remove cuckoo from the build system
cuckoo hashing was replaced by the psplay lookups, it needs some
improvements to make it easier useable and better hash function for
strings. This will be done someday later.
2008-12-21 18:59:34 +01:00
Christian Thaeter
34077ca41c rename gtkgui.lum to gtk_gui.lum 2008-12-21 18:22:19 +01:00
a0a0e456a5 oops, merge with the other merge... 2008-12-21 07:38:26 +01:00
c8465a1a38 Merge latest GUI model additions 2008-12-21 07:10:46 +01:00
Joel Holdsworth
c536915b2e Corrected errors introduced by the merge 2008-12-20 15:55:46 +00:00
Joel Holdsworth
94a07a1464 Merge branch 'master' of git://git.lumiera.org/LUMIERA into gui
Conflicts:

	src/backend/Makefile.am
	src/gui/Makefile.am
	src/gui/gtk-lumiera.hpp
2008-12-20 15:03:24 +00:00
Joel Holdsworth
992cd4d77b Added remove track feature 2008-12-20 14:31:11 +00:00
Joel Holdsworth
bc2fdc40e9 Transitioned TimelineHeaderContainer::headerBoxes from using shared_ptr
to weak_ptr
2008-12-20 13:00:48 +00:00
Joel Holdsworth
3dd30c848d Added a const 2008-12-20 11:51:54 +00:00
Joel Holdsworth
aafa600422 Modified trackMap to map shared_ptr<model::Track> not model::Track* 2008-12-20 11:45:23 +00:00
Joel Holdsworth
715f76bc8d Made the header's context menu localizable 2008-12-20 11:27:48 +00:00
Joel Holdsworth
6cb533f564 Corrected some source-formatting mistakes 2008-12-20 11:07:20 +00:00
Christian Thaeter
27815e815d including $(top_sourcedir) with a handcrafted .la doesnt solve the gdl
problem
2008-12-18 21:20:01 +01:00
Christian Thaeter
32a8dcd6ae Reorganized the gui/Makefile.am (broken)
* still building lumigui for now
 * base for building gtkgui.lum the final gui module
 * build libgui.la as convenience library holding all gui code

Does not build on non gnome systems because pita dependencies of libgdl
2008-12-18 20:26:46 +01:00
Christian Thaeter
4699efcb5d Some Makefile.am cosmetics 2008-12-18 20:23:46 +01:00
1b29b382ee WIP: try to build the GUI into a shared module, similar to SCons... 2008-12-18 11:10:32 +01:00
e32194b810 Autotools fixes (make the tests compile) 2008-12-18 10:48:50 +01:00
fb72d20812 Autotools fixes 2008-12-18 10:33:37 +01:00
5f94b3ba68 Autotools adjustments 2008-12-18 10:26:38 +01:00
6d66476383 move config, interfaces and pluginsystem to liblumieracommon 2008-12-18 08:54:33 +01:00
7bde9aa538 start refactoring: liblumieracommon.so (application core services) 2008-12-18 08:12:40 +01:00
99c2a5da25 purge old common dir 2008-12-18 07:50:37 +01:00
357c7f0d9f further Makefile.am tweaks to make the tests compile again 2008-12-18 07:44:06 +01:00
598994c0cb further Makefile.am tweaks to make it compile again
explanation: via the unresolved problems with the hig-level model,
probably a dependency to AssetManager and from there to the core systems
"bubbled" into the liblumiera.so, forcing us to link these things for now
2008-12-18 06:47:54 +01:00
fcfc80182a Autotools fixes 2008-12-18 05:11:47 +01:00
e8d76cd022 rename error.cpp to exception.cpp and fix remaining problems 2008-12-18 04:51:58 +01:00
c154a520bb temporarily move main.cpp and guistart away from src/lumiera
(reason: prepare for tansition to liblumieracommon.so)
2008-12-18 04:50:51 +01:00
Joel Holdsworth
cf6e174d85 Tidied TimelineHeaderContainer declaration, and relocated context menu
setup there
2008-12-17 18:55:38 +00:00
Joel Holdsworth
f3351d1380 Removed a redundant include 2008-12-17 18:48:04 +00:00
Joel Holdsworth
8e551acb60 Added more documentation to timeline-header-container.hpp 2008-12-17 18:47:07 +00:00
Joel Holdsworth
396b2b889f Tidied and added some documentation to timeline-header-container.hpp 2008-12-17 18:32:28 +00:00
Joel Holdsworth
0c55dfb85f Tidied set_parent_recursive 2008-12-17 18:20:52 +00:00
Joel Holdsworth
3914de5866 Silenced a GTK parenting warning 2008-12-17 18:18:37 +00:00
Christian Thaeter
5c454df9d9 Build 'lumiera' without liblumieracore 2008-12-17 17:57:45 +01:00
Christian Thaeter
052df48f73 WIP: shared liblumiera.la for vgsuppression and luidgen
Doesn't build because of some other issues
2008-12-17 17:56:50 +01:00
Christian Thaeter
3654473b75 WIP: Merge common into lib
* breaks lumigui linking
 * test non functional yet
 * tools cant not be linked because of cross dependency problems
2008-12-17 17:53:32 +01:00
Joel Holdsworth
35cfe48dfc Added a context menu with an "Add Track" command 2008-12-17 00:03:30 +00:00
Christian Thaeter
8edb786035 proc to shared lib 2008-12-17 00:56:39 +01:00
Christian Thaeter
e2999d7af7 backend shared lib 2008-12-17 00:39:40 +01:00
Christian Thaeter
c2a6d6a387 turn 'lib' into a shared library 2008-12-17 00:34:12 +01:00
Christian Thaeter
84339a0f87 moved the config system and interfaces/plugins back to lib
in preparation for the shared lib transistion doing next
2008-12-16 23:56:28 +01:00
Joel Holdsworth
1ecccb5925 Fixed set_icon_size for temporary Debian Etch compatibility 2008-12-16 22:55:32 +00:00
Joel Holdsworth
081b630a9c Fixed some problems introduced during merging 2008-12-16 20:56:47 +00:00
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
Joel Holdsworth
ed37bed4c6 Fixed a memory leak 2008-11-29 16:33:24 +00:00
Joel Holdsworth
0ef3917553 Added an error condition for unknown track types 2008-11-29 16:30:45 +00:00
Joel Holdsworth
4f4234b62c Made the timeline view model driven 2008-11-29 16:13:58 +00:00
Joel Holdsworth
d74a9e687f Tidied up trailing backslashes 2008-11-25 22:16:37 +00:00
Joel Holdsworth
14df5bbb8d Created a model for tracks 2008-11-25 22:11:58 +00:00
Joel Holdsworth
cf4898e70f Removed a spurious timeline:: 2008-11-25 21:44:33 +00:00
Joel Holdsworth
4470baf8f5 Renamed some timeline widget helper class files to avoid file name
collisions with the Model
2008-11-25 21:31:45 +00:00
Joel Holdsworth
b9d62c9be9 Removed spurious timeline:: in group-track 2008-11-25 21:19:30 +00:00
Joel Holdsworth
25dc64575e Corrected some mistakes in clip-track documentation 2008-11-25 21:12:56 +00:00
Joel Holdsworth
c58bc861ff Made some corrections in the documentation 2008-11-25 21:00:12 +00:00
Joel Holdsworth
164fff2359 Ditched some test code 2008-11-24 23:02:13 +00:00
Joel Holdsworth
16c48f69c4 Implemented a sequence name chooser dialog 2008-11-24 22:16:51 +00:00
Joel Holdsworth
a9ee81b57f Added documentation to dialog.hpp 2008-11-24 21:43:34 +00:00
Joel Holdsworth
f2f41ee99b Correct RENDER_H -> RENDER_HPP 2008-11-24 21:39:47 +00:00
Joel Holdsworth
f8fb24ff62 Added dialog.hpp for global layout constants 2008-11-24 21:37:46 +00:00
Joel Holdsworth
7ae08aa608 Corrected some mistakes in old dialog headers 2008-11-24 17:38:26 +00:00
Joel Holdsworth
37123f84b6 Corrected some indentation 2008-11-24 17:12:47 +00:00
Joel Holdsworth
3d35f2e535 Added add/remove of sequences 2008-11-22 19:08:12 +00:00
Joel Holdsworth
952d7b5599 Added some refinement to the notebook 2008-11-22 16:43:24 +00:00
Joel Holdsworth
9d11081ff7 Added sequences, and tabs in the timeline view to display them 2008-11-22 16:34:49 +00:00
Joel Holdsworth
10d256f833 Added dummy clip boxes 2008-11-22 13:36:46 +00:00
Joel Holdsworth
34e67cd01e Made TrackPadding insert between tracks, rather than shortening tracks 2008-11-22 12:33:58 +00:00
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
Michael Ploujnikov
f5387d8bf3 Merge branch 'master' of git://git.lumiera.org/LUMIERA
Conflicts:

	tests/Makefile.am
2008-09-06 20:15:05 -04:00
Christian Thaeter
c4e6cd3c51 Merge branch 'configloader_devel' of git://git.lumiera.org/lumiera/simeon into backend_devel
* '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
2008-09-06 13:18:29 +02:00
Christian Thaeter
477ecd3974 Remove the 'path' member from the config and bootstrap the config system
* 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
2008-09-06 12:41:23 +02:00
Christian Thaeter
b94e615291 just psplay_remove leaked, do psplay_delete_node 2008-09-06 12:41:23 +02:00
Christian Thaeter
a95ae05ddb some cosmetics 2008-09-06 12:41:22 +02:00
Christian Thaeter
fa54fb9bc2 add a diagnostic config dump function 2008-09-06 12:41:22 +02:00
Christian Thaeter
21db988e18 remove the default return in case an illegal config entry was found
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.
2008-09-06 12:41:22 +02:00
Christian Thaeter
b6e3650f62 use psplay trees instead cuckoo hashes in config_lookup 2008-09-06 12:41:22 +02:00
Christian Thaeter
a1bd3ee1f5 use psplay trees for the filedescriptor registry 2008-09-06 12:41:03 +02:00
Christian Thaeter
c3e2941eb8 some machinery for registering and retrieving defaults
* let config_setdefault() take a complete configline instead key:value pair
2008-09-06 12:40:32 +02:00
Christian Thaeter
a0105eec42 Documentation and error handling for config_lookup 2008-09-06 12:40:32 +02:00
Christian Thaeter
1dca87271f ConfigLookup working (for now)
added the missing unimplemented function, fixed some prototypes,
some cosmetics. Barely tested, no documentation yet.
2008-09-06 12:40:20 +02:00
Christian Thaeter
a55c122cc3 Fixed configitem_move, first parsing tests pass now 2008-09-06 12:40:19 +02:00
Christian Thaeter
d9f2b6d6fa WIP: add config_lookup skeleton 2008-09-06 12:40:19 +02:00
Simeon Voelkel
a52b08bfc5 added section part to parser 2008-09-06 12:40:10 +02:00
Simeon Voelkel
36375ce0f6 parser improvements, compiles now 2008-09-06 12:38:57 +02:00
Simeon Voelkel
1a66b58fcb added CONFIG_SYNTAX errors 2008-09-06 12:38:57 +02:00
Christian Thaeter
a51f61683f add configitem and configentry to the build system 2008-09-06 12:38:48 +02:00
Christian Thaeter
1f8906a2d8 More mockup of the configitem bootstrap
* started low-level parser
 * give the charsets for config keys some constants
2008-09-06 12:38:03 +02:00
Christian Thaeter
0d0b9fa34e Merge branch 'library' into backend
* 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
  ...
2008-09-06 12:27:56 +02:00
Christian Thaeter
79fee29519 small note annd cosmetics for safeclib 2008-09-06 12:24:36 +02:00
Christian Thaeter
dc34ea994c add psplay_delete_node and psplay_delete_key functions
Both delete a entry from a splay tree by calling the registered delete
handler.
2008-09-06 12:24:06 +02:00
Christian Thaeter
86deb4e72d Probabilistic Splay Tree implementation
Generalized an older implementation I already had, the splay formulas need
some improvements. Documentation comes next.
2008-09-06 12:23:58 +02:00
Christian Thaeter
bc055ab803 Probabilistic Splay Tree implementation
Generalized an older implementation I already had, the splay formulas need
some improvements. Documentation comes next.
2008-09-06 12:22:43 +02:00
Christian Thaeter
9471e47cdf WIP: Cuckoo hash update, leave it at a insane state
* 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
2008-09-06 12:08:23 +02:00
Christian Thaeter
cfcb9ce34c Add lumiera_tmpbuf_strcat3 for concating up to three strings to safeclib 2008-09-06 12:08:22 +02:00
Christian Thaeter
e2b7561c76 FIX: put a note to list_relocate, add test
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.
2008-09-06 12:07:38 +02:00
Christian Thaeter
0debd27d89 Merge branch 'master' of git://git.lumiera.org/LUMIERA into library
* '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
  ...
2008-09-06 11:53:16 +02:00
43291cb9cc fix some warnings 2008-09-05 17:01:24 +02:00
d94f1b9305 merge doc fixes
Merge commit '163ba179ed93c49c6d331c16afe9e54e97ad1876'
2008-09-04 15:28:39 +02:00
Michael Ploujnikov
06504c7b04 Merge branch 'master' of git://git.lumiera.org/LUMIERA 2008-09-03 18:55:19 -04:00
Joel Holdsworth
4faf561019 Merge branch 'master' of git://git.lumiera.org/LUMIERA into gui
Conflicts:

	src/gui/panels/timeline-panel.cpp
2008-09-02 22:58:22 +01:00
Joel Holdsworth
430ef04bc5 Fixed hyperactive scroll wheel zoom 2008-09-02 22:42:10 +01:00
Joel Holdsworth
708aea87bd Fixed a bug with body redrawing and added some documentation 2008-09-02 22:39:53 +01:00
Joel Holdsworth
b0b436cb92 Added some documentation to body and ruler 2008-08-30 23:10:00 +01:00
Joel Holdsworth
49f87b28bb Added support for audacity style playback period, and added some
documentation
2008-08-30 22:34:26 +01:00
Michael Ploujnikov
387ba8c321 find and configure NoBug by using pkg-config 2008-08-30 13:28:24 -04:00
Michael Ploujnikov
8bdab41ea0 factor out -I$(top_srcdir)/src/ to a top-level AM_CPPFLAGS
also remove a related unnecesary comment in src/gui/Makefile.am
2008-08-30 12:05:21 -04:00
Michael Ploujnikov
8bbcc57f48 set per-target CPPFLAGS for lumigui instead of global AM_CPPFLAGS
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
2008-08-30 11:49:31 -04:00
Joel Holdsworth
885704f0f8 Added time indication 2008-08-30 14:00:47 +01:00
Simeon Voelkel
700a7e9645 Added directive-parser and tests for a content-check of a parsed configitem 2008-08-27 11:00:10 +02:00
Michael Ploujnikov
bbab414f66 replace INCLUDES with AM_CPPFLAGS
INCLUDES is deprecated (http://www.gnu.org/software/automake/manual/automake.html#Program-variables)
2008-08-25 21:37:06 -04:00
4746dcd233 Fix build with gcc 4.3
(Explanation: 4.3 detects when a local typedef redeclares a templated type
 from an enclosing scope. This was never legal anyway)
2008-08-20 15:45:36 +01:00
19156f3a34 buildfix 2008-08-19 03:58:22 +02:00
c5778f1540 Merge from proc (draft imp of pull() call) 2008-08-17 18:35:49 +02:00
749f7a41c6 Landing draft implementation of pull() call 2008-08-17 04:22:46 +02:00
Joel Holdsworth
4e5e298bbb Added a time indicator widget 2008-08-16 22:06:46 +01:00
Joel Holdsworth
574bb5a2fd Added some documentation 2008-08-16 20:04:05 +01:00
Joel Holdsworth
071e332f04 Added a 2008-08-16 20:02:46 +01:00
Joel Holdsworth
51161f1e56 Small modifications to the documentation so that the lumiera namespace
is correctly annotated
2008-08-16 17:58:39 +01:00
Joel Holdsworth
40781e8221 Corrected a small dependancy issue in panel.hpp 2008-08-16 17:43:59 +01:00
Joel Holdsworth
a845b625b4 Added more documentation 2008-08-16 17:41:57 +01:00
Joel Holdsworth
02cf47de72 Corrected some stupid indentation in Panel 2008-08-16 17:12:12 +01:00
Joel Holdsworth
1532bc40e0 Added and corrected documentation 2008-08-16 16:44:52 +01:00
Joel Holdsworth
57aed7b40d Added resizing of selection area, and some documentation 2008-08-16 16:02:12 +01:00
Joel Holdsworth
39bd8aac74 Rerouted some dependancies on gtk-mm 2008-08-16 12:38:35 +01:00