Commit graph

481 commits

Author SHA1 Message Date
Christian Thaeter
418231219a cosmetics 2008-08-10 12:26:18 +02:00
Christian Thaeter
9a329e0340 basic config value retrieval, just env override, no configfiles yet 2008-08-10 12:26:18 +02:00
Christian Thaeter
116c0e8125 more nobug flags for config, add a rwlock for the config, init/destroy 2008-08-10 12:26:18 +02:00
Christian Thaeter
1ff0583e4c add 'config_typed.c' for the typed high level config interface 2008-08-10 12:26:18 +02:00
Christian Thaeter
b691a9d7bb Simple config init/destroy, beginning of a config-testsuite 2008-08-10 12:26:18 +02:00
Christian Thaeter
c8210708fa skeleton for the config struct 2008-08-10 12:26:18 +02:00
Christian Thaeter
9444fb0267 use 'int' as return values rather than lumiera_err 2008-08-10 12:26:18 +02:00
Christian Thaeter
85e789742f first skeleton for the config loader 2008-08-10 12:26:15 +02:00
Christian Thaeter
0bd886249b throw away the 'references' implementation, we probably don't need it
(could be reincarnated someday later when we find out that we need it)
2008-08-10 12:19:50 +02:00
Christian Thaeter
dde54ec7b0 Adapt the condition implementation to the macro SECTION based approach 2008-08-10 12:19:50 +02:00
Christian Thaeter
d8f59fb722 Simplyfiy resource management
Move the resource announce/forget into the rwlock init/destroy
Move resource announcement/forget into the mutex init/destroy
2008-08-10 12:19:09 +02:00
Christian Thaeter
c11915a4c4 new locking section macros for RWLocks, old acquirer bites the dust 2008-08-10 12:19:09 +02:00
Christian Thaeter
d0b6919eea locking.h bites the dust 2008-08-10 12:19:09 +02:00
Christian Thaeter
b2b205f6db remove unnecessary volatile (forgotten for a test) 2008-08-10 12:19:09 +02:00
Christian Thaeter
07f06d0d88 big mutex update, dropped old acquirer
Acquiring mutexes is now wraped in a easy to use MUTEX_SECTION macro.
This scheme will be extended for chained lock propagation soon.

Notes:
 * NoBug resourcemanagement is now part of the lower layer,
   RESOURCE_ENTER/RESOUCE_LEAVE are maintained automatically
 * one must still call RESOURCE_ANNOUNCE/RESOURCE_FORGET, because we want
   to maintain high level information about resources.
 * MUTEX_SECTIONS must not be left with any kind of jump
2008-08-10 12:19:09 +02:00
Christian Thaeter
47b5a2667c add LOCKED_SECTION macros to rwlock, fix bug in rwlockacquirer 2008-08-10 12:19:08 +02:00
Christian Thaeter
12feb6e7b8 add 'lumiera_free' as replacement for 'free'
lumiera_free() is for now just a static inline wraper around free()
Later this makes it easier to hook in some resource managing functions
or a Garbage Collector in.

Replaced all current uses of free()
2008-08-10 12:19:08 +02:00
Christian Thaeter
f5df65b0a1 add a translation function to tmpbuf
tmpbuf_tr takes an input string and 2 sets of characters plus a
default character. It produces a output string with all
characters from the first set translated to the correspondending
character in the 2nd set, similar to the shell 'tr' util.
2008-08-10 12:19:08 +02:00
Christian Thaeter
93e126f5ab add a 'lumiera_err' typedef 2008-08-10 12:19:08 +02:00
Christian Thaeter
9826fd180d renamed the uuid to luid
uuid's are somewhat standardized, we use our uid's slightly differently,
so change the name not to be confused with standards.
 * Small fix for luid generation
 * build a 'luidgen' tool which will be used by the interface gen later
 * add emacs vars
 * include the luidgen tool in automake
2008-08-10 12:18:20 +02:00
Joel Holdsworth
c12e134981 Corrected some tabs, missing dependancies in src/gui/Makefile.am 2008-08-09 22:26:36 +01:00
Joel Holdsworth
2082f0843b Initial implementation of I-Beam tool. Needs more work 2008-08-07 20:27:41 +01:00
07975e520f change ConfigSelector to accept arbitrary factory function signatures 2008-08-05 03:46:06 +02:00
Joel Holdsworth
45ca590c38 Reinstated a small efficiency 2008-08-04 16:40:38 +01:00
Joel Holdsworth
2ee6f6be62 Tidied and simplified video display widget, and added cursor support to
the ibeam and arrow tool
2008-08-04 16:39:36 +01:00
Joel Holdsworth
fdab62a5d8 Added a separator between tool groups 2008-08-04 12:20:13 +01:00
Joel Holdsworth
744b28502e Temporarily bodged the icon source directory 2008-08-04 12:15:42 +01:00
Joel Holdsworth
04320ae794 Added code to render icons as part of the build process 2008-08-04 12:06:24 +01:00
29e33e4eb4 generating (wiring) configs now considered final 2008-08-04 05:42:55 +02:00
cf7bd178de WIP further refactorings.
Put nodeoperation.hpp and ConfigSelector in a sub namespace engine::config
2008-08-03 16:47:38 +02:00
847cc9c267 WIP rearranged some headers 2008-07-30 03:56:13 +02:00
Joel Holdsworth
17d0883d09 Added basic support for multiple tools in the timeline view 2008-07-30 00:12:37 +01:00
276ac8e082 test building a table of factories dealing with the possible configs 2008-07-29 18:03:37 +02:00
Joel Holdsworth
ecf392968b Implemented new icon workflow 2008-07-28 23:45:20 +01:00
0dec8de6a3 test covering ennumeration of possible configs 2008-07-28 04:33:10 +02:00
06cc4c93fd test the combination generator 2008-07-24 06:38:21 +02:00
Joel Holdsworth
9bad04751f Fixed scroll layout loop bug. 2008-07-23 23:23:48 +01:00
86f805f803 more testing 2008-07-22 08:19:03 +02:00
e5d75eee9b test covering the stack-wise buffer pointer table allocation 2008-07-21 03:25:06 +02:00
9a34d234ae WIP pass compiler, after filling in some more stubs 2008-07-20 20:08:08 +02:00
Mano Stienen
163ba179ed moved documentation from error.c to .h 2008-07-20 16:11:08 +02:00
3ec69c539c WIP resolved remaining inconsistencies 2008-07-20 15:00:39 +02:00
Joel Holdsworth
4907b19cce Set the page size of the horizontal timeline scroll bar 2008-07-19 16:35:56 +01:00
Mano Stienen
14b9847a69 moved documentation from plugin.c to .h
and
cleaned documentation from safelib.c that already existed in .h
2008-07-19 14:47:03 +02:00
Mano Stienen
a605f15ecd Merge branch 'gui' of git://git.lumiera.org/LUMIERA into doxygen_fixes 2008-07-18 22:16:57 +02:00
cb8ac94dcf WIP finally got the design straight? 2008-07-18 21:21:46 +02:00
Joel Holdsworth
e3d6026d0b Retired VideoTrack - all tracks are the same 2008-07-17 19:35:49 +01:00
Joel Holdsworth
8689d0dced Refactored widget mouse movement handling, removed some Glib::RefPtrs, and tidied a few things 2008-07-17 19:07:38 +01:00
48780bef74 WIP draft the handling of buffer pointer tables 2008-07-17 16:17:43 +02:00
Mano Stienen
4184dcf253 Merge branch 'gui' of git://git.lumiera.org/LUMIERA into doxygen_fixes 2008-07-17 00:38:20 +02:00
Joel Holdsworth
063a22fcd5 Added zoom toolbar buttons and middle click view shifting to the
timeline
2008-07-16 22:33:42 +01:00
63d5684c12 WIP continued with refactoring the Invocation 2008-07-16 05:09:04 +02:00
Joel Holdsworth
c20fb922bb Fixed order of creation so icons show on the panels 2008-07-15 20:52:24 +01:00
Joel Holdsworth
a9a592fe45 WIP: Added a dummy toolbar 2008-07-15 19:00:24 +01:00
Joel Holdsworth
b2df771149 Converted mouse chevron to use pixels not time values 2008-07-15 18:36:43 +01:00
Joel Holdsworth
6e0abf0e44 Added code to keep the mouse chevron in synch as the timeline view window changes 2008-07-15 18:25:21 +01:00
Mano Stienen
1cabeff7bf Merge branch 'HEAD' of git://git.lumiera.org/LUMIERA into doxygen_fixes 2008-07-14 22:42:59 +02:00
Joel Holdsworth
ec6c20149c Fixed broken timeline scrollwheel, added a const 2008-07-14 20:16:11 +01:00
cb5d1fd03b WIP further refactored the nodeoperation 2008-07-14 03:34:18 +02:00
2dab8cfe6e WIP adapt the nodeoperation to this (possible) solution 2008-07-11 19:40:11 +02:00
Mano Stienen
6838dbe12a documentation from condition.c and reference.c moved to .h 2008-07-11 08:15:08 +02:00
Mano Stienen
1d8bc98429 moved documentation from mutex.c to .h 2008-07-11 06:32:56 +02:00
95632785a8 Merge SCons buildsystem improvements from master 2008-07-11 06:15:35 +02:00
7a6b987a50 merge after integrating the GUI draft; now using multiple build environments and check via pkg-config 2008-07-11 05:35:48 +02:00
Mano Stienen
7f1987666f moved documentation from rwlock.c to .h 2008-07-11 05:02:47 +02:00
bfa4b2bc70 (irrelevant) adjustments to make the SCons build of the nonexistant source happen 2008-07-11 05:01:56 +02:00
e04c7d54cb merge after finishing DefaultsManager; build split in several static libs 2008-07-11 04:39:29 +02:00
a46bfd2bf6 integrate the GTK-Gui (draft) in the SCons build 2008-07-11 03:51:37 +02:00
ce90f1763b add some convenience shortcuts to the SCons build system 2008-07-10 19:02:47 +02:00
012944a461 fix compilation problem with Boost 1.35 2008-07-09 05:25:55 +02:00
7c56c71d00 Documentation Update, including info about ongoing builder work 2008-07-07 23:56:34 +02:00
39d321a4a5 WIP this approach is more likely to work actually... 2008-07-07 05:40:53 +02:00
98a542f920 WIP drafting how to build all possible operation configs 2008-07-05 18:50:54 +02:00
9389ce2d68 WIP possible solution how the operation chunks could be assembled 2008-07-01 04:53:23 +02:00
1d37bf88d8 WIP preliminary draft of node operation
(cant work, now needs to be decomposed)
2008-06-29 15:32:19 +02:00
Joel Holdsworth
8d63d7adb4 Added a mouse chevron to the ruler 2008-06-25 20:23:53 +01:00
da49742826 WIP sorting out some details of the node network impl 2008-06-24 05:19:11 +02:00
Joel Holdsworth
7752130d99 Added my name to copyright in configure.ac, and corrected some
indentation
2008-06-23 21:21:29 +01:00
Joel Holdsworth
3a5482a141 Tidied styles. Made min_division_width stylable 2008-06-23 21:18:20 +01:00
Joel Holdsworth
01b59b6c69 Corrected the styling of scroll bars 2008-06-23 21:06:07 +01:00
Joel Holdsworth
56291f6c40 Made ruler more stylable, and added minor ticks 2008-06-23 21:01:29 +01:00
Joel Holdsworth
38a9a1c892 Added minor tick-marks 2008-06-23 17:48:48 +01:00
Joel Holdsworth
a7aff05dd3 Styled timeline text 2008-06-23 17:07:57 +01:00
Joel Holdsworth
8e940b879d Added auto selection of major tick values to timeline ruler 2008-06-23 15:42:14 +01:00
Joel Holdsworth
4275c7cf8c Added zooming of the timeline with Ctrl+Scroll 2008-06-23 11:17:19 +01:00
Joel Holdsworth
6e944c1412 Added scroll wheel scrolling to the timeline. Corrected some indentation 2008-06-23 10:54:37 +01:00
Joel Holdsworth
e18b0a1d5f Added scrolling and major timeline-ruler ticks 2008-06-19 23:35:53 +01:00
Joel Holdsworth
25f28ee586 Corrected some indentation 2008-06-19 21:57:53 +01:00
Joel Holdsworth
f8a2291118 Corrected some indentation 2008-06-19 21:37:36 +01:00
Joel Holdsworth
3cc0f72389 Trivial timeline now works - more work coming 2008-06-18 23:57:47 +01:00
eeb2d04dee WIP trying to translate some of the planned pull() process into code... 2008-06-14 04:19:58 +02:00
Joel Holdsworth
3b9d05a67d Made use of boost and nobug, added some documentation, and tidied code 2008-06-07 13:53:17 +01:00
Joel Holdsworth
8dc26f9bd9 Merge branch 'master' of git://git.lumiera.org/LUMIERA into timelinework 2008-06-07 12:10:52 +01:00
Joel Holdsworth
98df76e919 Added some documentation, and made a minor code correction in
layout_headers
2008-06-07 12:09:22 +01:00
Joel Holdsworth
e12f72abe0 Merge commit 'HEAD'; branch 'timelinework' into gui 2008-06-06 00:30:53 +01:00
Joel Holdsworth
3952e27a8f Removed RefPtrs to make code more elegant 2008-06-06 00:30:31 +01:00
Joel Holdsworth
214eea574a Merge commit 'HEAD'; branch 'timelinework' into gui 2008-06-06 00:00:41 +01:00
Joel Holdsworth
85730b889e Fixed to assertion failures, and move the frame ownership to
HeaderContainer
2008-06-05 23:57:04 +01:00
Joel Holdsworth
9598b92d7e Merge commit 'HEAD'; branch 'timelinework' into gui 2008-06-05 21:00:42 +01:00
Joel Holdsworth
0ac09411bc Basic timeline with scrolling headers now works + Tidying work 2008-06-05 20:27:53 +01:00
Joel Holdsworth
e9747b360c Track backgrounds are now painted from the style 2008-05-31 18:21:05 +01:00
Joel Holdsworth
71b45acf54 Styles for custom widgets now load 2008-05-31 17:44:44 +01:00
Joel Holdsworth
7e2092825e Simple scrolling and drawing added 2008-05-31 13:22:15 +01:00
8daec32733 first draft plans for the render process, as far as needed for defining the builder 2008-05-30 06:23:13 +02:00
5d5119631b first outline regarding the wiring of nodes within the builder 2008-05-27 07:22:27 +02:00
2e58b02b8a write down implementation specs and further planned details 2008-05-26 07:28:10 +02:00
Joel Holdsworth
ea32ce0337 Merge branch 'master' of git://git.lumiera.org/LUMIERA into gui 2008-05-22 19:31:55 +01:00
Joel Holdsworth
fe975a701d Added some scroll bars 2008-05-22 19:19:04 +01:00
6310e9789b Merge ct/devel to see if there are any problems... 2008-05-20 04:58:16 +02:00
Christian Thaeter
f58be32a05 Fixes after rebase
* remove _GNU_SOURCE from tests
 * re-enable C source building in backend
2008-05-19 16:37:50 +02:00
Christian Thaeter
64e549dc81 headers for the memory mapping backend (WIP) 2008-05-19 16:27:30 +02:00
Christian Thaeter
9ad62d0edc Fix: one must not return from a mutex section 2008-05-19 16:27:30 +02:00
Christian Thaeter
241327bcd4 rename 'fhcache' global var to 'lumiera_fhcache' 2008-05-19 16:27:30 +02:00
Christian Thaeter
444b142d85 Correct File flag masking
The hash lookup needs to ignore O_EXCL|O_TRUNC|O_CREAT as well as file
reopening must not use this flags.
2008-05-19 16:27:29 +02:00
Christian Thaeter
c4816c39fd Proper flag and stat handling for files
Filedescriptors create files at construction, each later access becomes
a reopen on the now existing file.

file_handle_acquire() reopens the file to gain a handle when required
and checks that the file is really the one we expected (ino and dev num)
2008-05-19 16:27:29 +02:00
Christian Thaeter
00b9dff106 Doxygen config update
* set EXPORT_ALL=NO to leave out undcoumented entities.
* Fix a lot @file directives
2008-05-19 16:27:29 +02:00
Christian Thaeter
8311316a92 Doxydocing for the filehandling stuff 2008-05-19 16:27:28 +02:00
Christian Thaeter
dd63a0e190 filedescriptor cleanup and fixes
basically working now, flag masking is not complete yet.
2008-05-19 16:27:28 +02:00
Christian Thaeter
232afe77e9 Filehandling
* add 'backend' for backend global initialization/destruction
  and common functions.
* WIP: 'file' acts as interface to named files, provides posix
  filehandles with and acquire/release function pair.
* 'filehandle' manages posix filehandles internally, refcounted.
* WIP: 'filehandlecache' keeps unused filehandles in a MRU cache

* WIP: test for filehandle management
* improved filedescriptor test
2008-05-19 16:27:28 +02:00
Christian Thaeter
b11ff40fbe Filedescriptor updates
* make registry initialization singleton, no parameters.
 * remove registry init from all functions, has to be called explicitly.
 * some nobug improvements
2008-05-19 16:27:28 +02:00
Christian Thaeter
bb98bb434b add nobug resource tracking to filedescriptors 2008-05-19 16:27:28 +02:00
Christian Thaeter
5286838886 filedescriptor handling basics working, including some tests
It is now possible to acquire/release filedescriptors for existing files
and files to be created.

Filedescriptors are managed in a registry by refcounts, they get
automatically destructed when the last user releases them.
2008-05-19 16:27:28 +02:00
Christian Thaeter
791f42c104 WIP: Low level file management
We have 'File' which associates a name with a file and will be used to
offer an interface for the application.

Posix 'Filehandles' which are managed in a 'Filehandlecache' to utilize
a limited number of fd's at optimum.

Internally we use 'Filedescriptor's which manage files, mapping and all
kinds of metadata. Filedescriptors weak referenced by a registry and freed
when the last user vanishes.
2008-05-19 16:27:27 +02:00
Christian Thaeter
94e075d2c2 fix: mrucache_drop() must call the element destructor 2008-05-19 16:23:16 +02:00
Christian Thaeter
03ed87051d fix missing declaration of lumiera_calloc() in safeclib.h 2008-05-19 16:23:16 +02:00
Christian Thaeter
63c07d1274 doxydocing mrucache 2008-05-19 16:23:15 +02:00
Christian Thaeter
dc0cbf0ad8 Fix: off by one allocation error in tmpbuf_snprintf() 2008-05-19 16:23:15 +02:00
Christian Thaeter
ff6ce603a4 tmpbuf_sprintf renamed to tmpbuf_snprintf 2008-05-19 16:23:15 +02:00
Christian Thaeter
0996c386bb Mrucache update
* Fix: unlinking at destroy
* rename add/remove to checkin/checkout
* add a drop function which moves a node to the end for fast reuse
2008-05-19 16:23:15 +02:00
Christian Thaeter
b909c2247d add a cuckoo_nelements function
Query the number of elements stored in a hash, useful for debugging.
2008-05-19 16:23:15 +02:00
Christian Thaeter
293b872b5d extend the MUTEX_SECTION macro with NoBug resource tracking
LUMIERA_MUTEX_SECTION takes now a nobug flag as first argument and
a nobug resource-handle as second argument.

This change works forward for the NoBug resource tracker and
deadlock detector.
2008-05-19 16:23:15 +02:00
Christian Thaeter
b4183ed444 safeclib improvements
* add lumiera_calloc()
 * improve cleanup functions for tmpbuf
2008-05-19 16:23:15 +02:00
6b1be6b7e7 Refactorings regarding use of smart-ptr, Placement and BuilderTool 2008-05-19 08:46:19 +02:00
86162ad314 moved new code into library modules and adapted BuilderTool to use it.
BuilderTool_test now passed.
2008-05-19 08:38:13 +02:00
Christian Thaeter
8ba3df3b31 missing slash 2008-05-19 01:54:40 +02:00
Christian Thaeter
5ae909e2a0 add C++ parts to lib build 2008-05-19 01:51:34 +02:00
Christian Thaeter
3b6713b23c build common and (re-)enable backend build (C++ part)
- not (yet) merged backend C parts are commented out for now
2008-05-19 01:50:53 +02:00
Christian Thaeter
b6bd181ca8 correct pasting glitch and copyright header date 2008-05-19 01:48:02 +02:00
Christian Thaeter
e8164062a2 integrate proc into automake
* all files in src/proc are build into libs
 * TODO: -Werror still missing
 * TODO: Tests are not yet compiled
2008-05-18 00:01:51 +02:00
Christian Thaeter
249c6d5eda Remove _GNU_SOURCE from certain files
GNU_SOURCE is globally activated in configure.ac
2008-05-17 23:33:21 +02:00
Christian Thaeter
2cbfeda4df correct return types in condition.h 2008-05-17 23:25:50 +02:00
Joel Holdsworth
5f8c9a2a12 Corrected 3 build errors 2008-05-17 18:12:07 +01:00
Joel Holdsworth
df5c40fd63 Panels can now be show and hidden
More documentation added to Panel
2008-05-17 11:20:49 +01:00
88fc2f6099 WIP reworked to replace boost::variant by a custom solution
Not a big simplification, but at least the actual codepath is shorter,
while it's not so general as boost::variant (and not threadsafe!)
2008-05-17 04:34:46 +02:00
Joel Holdsworth
8437450767 More work on icons 2008-05-16 19:23:12 +01:00
Joel Holdsworth
a51d91d7b5 Corrected the makefile 2008-05-16 18:53:45 +01:00
Joel Holdsworth
fdbdfe2493 Added an icon for the timeline 2008-05-16 18:49:32 +01:00
Joel Holdsworth
41d5ff9610 Added an icon to the viewer panel 2008-05-15 00:04:10 +01:00
Joel Holdsworth
1d89341fa4 Removed a couple of redundant files 2008-05-14 22:50:53 +01:00
Joel Holdsworth
0b70cf132a Copying lumiera_gui.rc now works 2008-05-14 22:29:05 +01:00