Commit graph

2443 commits

Author SHA1 Message Date
Michael Ploujnikov
c31bc2791b remove unnecessary REQUIREs based on my new understanding of nobug 2009-11-26 11:52:19 -05:00
Michael Ploujnikov
01223ef6ba kind vs class naming rationale 2009-11-26 11:45:34 -05:00
Michael Ploujnikov
afd2035983 rename threadpool.kind[i].pool to threadpool.kind[i].list
rename threadpool.kind to threadpool.pool
2009-11-26 11:27:50 -05:00
Michael Ploujnikov
99eb790027 rename LUMIERA_THREAD_* to LUMIERA_THREADCLASS_* in enum lumiera_thread_class 2009-11-26 11:21:31 -05:00
Michael Ploujnikov
af80622ef5 begin implementing a 'soft' thread count limit per pool
add LUMIERA_DIE in cases where this soft limit is reached
add LUMIERA_DIE when pthread_create fails to create threads - serious
add a test which tries to break the soft limit
2009-11-26 10:24:18 -05:00
Michael Ploujnikov
98c608d4c0 check that we're creating valid lumiera_thread_structures
die on pthread_create errors that we shouldn't be handling
2009-11-26 10:24:18 -05:00
Michael Ploujnikov
085216fd61 remove "allocated thread*" messages from lumiera_thread_new() and update tests 2009-11-26 10:24:17 -05:00
Michael Ploujnikov
07962b5314 add comments about locking in lumiera_threadpool_release_thread()
output the size of the created thread struct
don't print "destroying thread" (lets tests become shorter with repeated matching)
add a test which spans many threads in all pools
2009-11-26 10:24:17 -05:00
Michael Ploujnikov
8e3d4e7b7a fixed lumiera_threadpool_destroy() by using LLIST_FOREACH
added some checks to lumiera_threadpool_release_thread(), maybe too much
modified thread_loop() to return a known value - 0
added checks to lumiera_thread_new()
added a check to lumiera_thread_destroy()
made lumiera_thread_destroy() unlink the thread from a pool list
updated test case to match new debug messages
2009-11-26 10:24:17 -05:00
Michael Ploujnikov
d6d81f2e44 added lumiera_threadpool_destroy()
added locking and checks to lumiera_threadpool_acquire_thread()
added a nobug flag to threads.c
added lumiera_thread_destroy()
added lumiera_thread_delete()
2009-11-26 10:24:17 -05:00
Michael Ploujnikov
414b8b99c3 updated test passes
fixed problem with copying lists
2009-11-26 10:24:17 -05:00
Michael Ploujnikov
75696986e4 test passes 2009-11-26 10:24:17 -05:00
Michael Ploujnikov
10f79290a1 add lumiera_threadpool_release_thread
make the test compile
change from type to kind
2009-11-26 10:24:17 -05:00
Michael Ploujnikov
9dd838b129 acquire() test started, so far, everything just compiles 2009-11-26 10:24:17 -05:00
Michael Ploujnikov
775f6cbb5d actually create or use a thread struct, still not associated with a pthread 2009-11-26 10:24:17 -05:00
Michael Ploujnikov
00eb4eda46 partial code skeleton 2009-11-26 10:24:17 -05:00
0186343909 finished implementation of QueryFocus (frontend handle) 2009-11-22 11:13:49 +01:00
4082ff919e implemented connection between QueryFocus und current ScopePath 2009-11-22 10:32:08 +01:00
12dc0e2c2d add unit test, write documentation. Closes #420 2009-11-22 07:26:51 +01:00
d90812e64b implement a stack of ScopePath frames 2009-11-22 04:36:14 +01:00
665eed5f1b new logging flag for the session 2009-11-22 04:35:37 +01:00
46eae1c03a add a refcount field (for intrusive refcounting) to ScopePath 2009-11-22 03:48:52 +01:00
36e342fc11 Implement ScopePath functionality. Closes #322 2009-11-22 01:16:33 +01:00
27390b5732 add query for path/location to ScopeLocator 2009-11-22 01:15:31 +01:00
451253ae8a utility to append elements from an Lumiera Forward Iterator until exhaustion 2009-11-22 01:14:27 +01:00
c328945cb4 commented the ScopePath API 2009-11-21 21:33:01 +01:00
ed86c97881 Defined/Stubbed all required ScopePath operations 2009-11-21 20:55:14 +01:00
b7987cf3ce define iteration on ScopePath as reverse iteration on the contained Scopes 2009-11-21 04:48:29 +01:00
b2849c6099 defined and implemented equality of scopes 2009-11-21 02:49:24 +01:00
ce98bd9bca Finished basic concept how to establish a current query focus (Ticket #403) 2009-11-20 22:00:15 +01:00
cdb84a9b16 refining the draft for ScopeLocator 2009-11-20 19:58:22 +01:00
11463da463 better use an enum for the ScopeQuery kinds 2009-11-18 04:53:49 +01:00
c01f774344 expose the new query-for-contents facility as session service 2009-11-18 04:23:46 +01:00
9514970b6c refactor most of the session-contents-query impl into a dedicated *.cpp 2009-11-18 04:11:27 +01:00
002a0a97e6 add remaining bits to get query-for-session-contents impl to compile 2009-11-17 03:01:18 +01:00
7d6fa03c51 allow for Goal subclasses to provide copy operations, while prohibiting direct copy 2009-11-15 16:28:42 +01:00
09c0cacee2 add comparison to c-string for Literal 2009-11-15 16:27:56 +01:00
34dc8fa4de mark for later high-level model extension (Ticket #414) 2009-11-15 01:09:21 +01:00
7dcb59333d WIP draft of the complete query-for-session-contents implementation 2009-11-15 01:08:29 +01:00
a10a237b90 rename "MO" --> "MX" to avoid confusion with MObject 2009-11-14 23:07:01 +01:00
017c668d7a WIP outline of the index query resolution 2009-11-13 16:32:22 +01:00
981ea94708 finished the PlacementIndex API. 2009-11-13 04:52:48 +01:00
d0c905b5c9 add an transforming iterator to the itertools 2009-11-13 03:26:20 +01:00
a86517bd4f extend the protocol of the itertools core, abstracting the increment 2009-11-13 01:02:31 +01:00
a1448ed6f6 WIP first attempt to remove the query-interface from PlacementIndex 2009-11-12 20:15:52 +01:00
d658415144 WIP about providing scope contents discovery, backed by the index 2009-11-12 02:15:02 +01:00
bfd97bd98e now SessManagerImpl can go down entirely on implementation level 2009-11-11 06:01:25 +01:00
5535a7a00e phase out the existing access functions, now superseeded by SessionServices 2009-11-11 05:44:58 +01:00
1a76ce7a5f implement two of the SessionServices (internal APIs)
providing implementation-level access to the PlacementIndex
and especially installing a mock index for unit tests
2009-11-11 05:30:24 +01:00
7da8844581 first steps towards using the new SessionServices access mechanism
add the necessary hooks and change the SessionImpl accordingly.
Still using the old access method for any real code
2009-11-09 07:35:08 +01:00
79d5e49a74 defined basic session lifecycle and service access. Closes Ticket #400 2009-11-09 05:21:59 +01:00
043d4f42fa working example implementation of the access mechanism to session internal APIs 2009-11-09 02:08:37 +01:00
2765981db9 build a complete simplified mock Session/SessionManager 2009-11-08 20:13:11 +01:00
f1ce05ea9d clean up some overly clever definitions 2009-11-08 19:47:51 +01:00
aaf19f4d89 First draft regarding the access of session implementation services (Ticket #400) 2009-11-07 19:49:29 +01:00
6dbbc54247 document better how SingletonRef works 2009-11-07 17:37:37 +01:00
78f9b2b1c5 WIP refactor ContentsQuery to share implementation with a PathQuery facility 2009-11-07 02:49:55 +01:00
bdb8bc2c98 move PlacementIndex into namespace session 2009-11-06 19:27:53 +01:00
bb8c018214 integrate QueryFocus with the new ContentsQuery facility 2009-11-06 18:42:15 +01:00
e0e9b7c2c0 WIP about how to link the QueryFocus system to the session/PlacementIndex 2009-11-04 04:56:25 +01:00
Michael Ploujnikov
ce4e3608d0 make sure luidgen picks up the nobug cflags 2009-11-02 13:51:18 -05:00
8c7727704c Finish ContentQuery definition; relying on PlacementIndex 2009-11-02 07:37:15 +01:00
1c72cbb599 Iterator tools: (1) a filtering iterator 2009-11-02 06:06:43 +01:00
356fe8fd13 change the ContensQuery stub to fit into the QueryResolver in its current form
Actually, the implementation within PlacementIndex is missing.
Moreover, I think now that PlacementIndex shouldn't implement
QueryResolver directly.
2009-11-01 03:47:35 +01:00
2620c38ed9 documentation, close some tickets... 2009-11-01 02:02:21 +01:00
9ff7b1eaeb Implement registration of a resolution function. QueryResolver_test pass 2009-10-30 20:33:44 +01:00
f70f8c4e4a implemented the mechanism for dispatch-to-concrete resolution 2009-10-30 18:37:08 +01:00
f35b422316 SubID: add (preliminary) hash impl; unit test pass 2009-10-30 06:50:26 +01:00
df562a186f oops... fix a bug in Literal's hash function 2009-10-30 05:15:26 +01:00
006392f6ea yet another random test helper 2009-10-30 03:53:51 +01:00
ceb4d4b5ea reworked MultiFact passes unit test. Closes Ticket #376 2009-10-30 00:32:26 +01:00
1dccd37c70 re-order MultiFact implementation to get it to compile 2009-10-29 22:00:17 +01:00
d2721378d5 get QueryResolver to compile 2009-10-29 21:59:02 +01:00
54aa7b4afe WIP fixes and stubbing to get at compiling the MultiFact 2009-10-29 04:32:00 +01:00
3145064a21 change IterAdapter iteration control API to use free functions 2009-10-29 04:31:16 +01:00
0cef067c11 WIP adapt unit test and the argument-accepting MultiFact specialisation 2009-10-28 04:45:17 +01:00
2530e8c1a1 WIP try to create an extension point to MultiFact, allowing to accept argument(s)
sketch of an idea how to add an extension possibility
without messing up the basic MultiFact template
2009-10-27 05:13:38 +01:00
ec4b2eef00 WIP: test-driven brainstorming: how to build the query dispatcher table? 2009-10-26 01:39:25 +01:00
5968d35cdf WIP maybe resolved now the knot in my design...? 2009-10-25 21:39:02 +01:00
5d9671cb2c WIP place a ref-count into the result iterator 2009-10-25 16:18:53 +01:00
c3441ac26a WIP Query<TY> implementation draft... 2009-10-24 00:23:22 +02:00
452e1bb727 WIP draft an unit test detailing QueryFocus operation 2009-10-20 05:34:58 +02:00
f01da49955 WIP planning the operations needed on QueryFocus 2009-10-20 04:31:50 +02:00
f0c9beb5c6 WIP design the ScopePath API by unit test 2009-10-18 19:08:21 +02:00
474c293197 first shot at Ticket #355: use a default-constructed "invalid" PlacementRef
Making PlacementRef default constructible this way
would resolve the immediate problems; as any access
goes through an index lookup and thus will throw.
The bool check on this special ref yields false,
so this solution seems to fill the bill.
2009-10-18 01:30:43 +02:00
2e62a3b01b WIP continue design how to discover session contents 2009-10-17 21:31:03 +02:00
2ca89010d1 introduce pointer-to-PlacementIndex typedef 2009-10-17 21:29:16 +02:00
b03577ea3f document the stipulations lib::IterAdapter puts on his parameter types 2009-10-17 15:40:37 +02:00
3b1301be14 WIP stubbed some of the operations to implement on class Scope 2009-10-17 02:16:19 +02:00
cfc17e75ba refined and clarified planning of Scope and QueryFocus 2009-10-16 21:20:30 +02:00
9451a6888f start definition of new session::Scope interface 2009-10-16 03:13:57 +02:00
edbd54b062 Initial planning regaring the QueryFocus 2009-10-14 05:48:24 +02:00
193fd2d66b Start the new Session structure with Timeline and Sequences 2009-10-14 05:39:49 +02:00
8e9edad9e7 fixes to make this dummy compile again 2009-10-11 07:10:29 +02:00
a8e606ba27 Merge NoBug release related changes 2009-10-11 07:00:48 +02:00
cd51e5fef0 Proc Command handling frontend finished and usable for now
Additional convenience shortcuts and a bit of polishing.
Closes Ticket #300
2009-10-11 05:57:46 +02:00
c6d5f8a0b4 Proc Command framework: *first integraton round finished* 2009-10-11 05:57:46 +02:00
ae01f85452 replace existing implementation with CommandImplCloneBuilder 2009-10-11 05:57:45 +02:00
fdd940feba clone builder implemented; problem resolved according to test 2009-10-11 05:57:45 +02:00
e32044e453 refactor CmdClosure to accept a cloneBuilder visitor 2009-10-11 05:57:45 +02:00
bb7ff5e317 WIP draft of clone builder implementation 2009-10-11 05:57:45 +02:00
7812792f75 unit test showing current malfunction of UNDO state due to cloning 2009-10-11 05:57:45 +02:00
a4ad41a4e9 Idea how to solve the problem with cloning the UNDO functor 2009-10-11 05:57:45 +02:00
0bcbf7fee0 fix further problems uncovered by test; allow for anonymous cloning 2009-10-11 05:57:45 +02:00
17c7160f02 refactor CommandDef, get rid of the possibility of re-defining. YAGNI! 2009-10-11 05:57:45 +02:00
37cd451367 fix sloppy definition of less-than comparison, which caused malfunction of registry 2009-10-11 05:57:45 +02:00
2ad896027b why doesn't the reverse lookup return a Symbol?
damn! I have the vague rememberance that I had a reason for
not returning a Symbol. Anyway, here it goes...
2009-10-11 05:57:44 +02:00
d2acf48587 change semantics of state predicates, as it seems less surprising this way 2009-10-11 05:57:44 +02:00
95db5f9840 clarify state predicates in conjunction with command lifecycle 2009-10-11 05:57:44 +02:00
c8e049cdea Command system basic unit test pass 2009-10-11 05:57:44 +02:00
5861597d7f smash a glorious ref-to-local object bug 2009-10-11 05:57:44 +02:00
4f1c034b58 CommandRegistry: function test pass 2009-10-11 05:57:44 +02:00
07de2a767b implement equality comparison on CommandImpl level 2009-10-11 05:57:44 +02:00
fea85acd0e equality comparisons on function erasure objects covered
...well, as good as possible, as boost refuses to implement this feature
2009-10-11 05:57:43 +02:00
231278bafe implemented comparison on function erasure, pending test 2009-10-11 05:57:43 +02:00
5068016805 WIP draft how the equality comparison on a function erasure could work 2009-10-11 05:57:43 +02:00
96d5ce74c4 Ticket #292: outline unit test explicitly covering equality comparisions 2009-10-11 05:57:43 +02:00
4c3fc9e64d WIP getting CommandRegistry_test to run
(equality on CommandImpl is still missing)
2009-10-11 05:57:43 +02:00
39f50b548c Ticket #266: simplify and combine the bind(...) mixin templates into a single header 2009-10-11 05:57:43 +02:00
2aac4e8ea0 remove spurious AcceptArgumentBinding mixin from ArgumentHolder
it's an implementation class, after all, and doesn't need a convenience API
2009-10-11 05:57:43 +02:00
abd23ae399 TypedAllocationManager (frontend) now in lib:: -- unit test pass 2009-10-11 05:57:43 +02:00
7bac890790 Test suite runner: pass exit code = 5 when having caught an exception 2009-10-11 05:57:42 +02:00
3835399c5f Testsuite: catch exceptions at the level of invoking individual tests 2009-10-11 05:57:42 +02:00
cb7c884293 handling patterns usable for now. Close #275 2009-10-11 05:57:42 +02:00
c3d767b444 try out a recursive approach for the extensible ID
more of a general feasability study... to be continued later
2009-10-11 05:57:42 +02:00
455ee34344 start brainstorming on #279 (extensible ID) 2009-10-11 05:57:42 +02:00
8136b0a4b8 HandlingPattern: basic unit test pass 2009-10-11 05:57:42 +02:00
248b87f344 Basic implementation of HandlingPattern settled for now
the ''real implementation'' (integrated with the ProcDispatcher)
is still missing, but it's enough to get the tests going
2009-10-11 05:57:42 +02:00
effbb49afb Dummy HandingPattern implementation for unit tests 2009-10-11 05:57:42 +02:00
bb45ad67d8 WIP change how the undo operation is invoked 2009-10-11 05:57:41 +02:00
7e4a984ed4 Finish MultiFact for now; use it to set up a table of HandlingPatterns 2009-10-11 05:57:41 +02:00
b7204e05ed removed all the magic and made it simply instance based 2009-10-11 05:57:41 +02:00
bc6f8eebda basically working draft; convoluted and with a lot of static magic 2009-10-11 05:57:41 +02:00
5910f21383 first draft impl regarding automatic installation of a singleton facotry into MultiFact 2009-10-11 05:57:41 +02:00
8ee76b1bfd configurable factory? test-driven brainstorming 2009-10-11 05:57:41 +02:00
8c21f21acc namespace cleanup: bring Singleton and Factory into lib:: 2009-10-11 05:57:41 +02:00
e9b95e47cf Command handling pattern? test-driven brainstorming 2009-10-11 05:57:40 +02:00
da8be6861c WIP some musing about opening the session interface 2009-10-11 05:57:40 +02:00
777e80dd64 use BoolCheckable instead of explicit operator bool() 2009-10-11 05:57:40 +02:00
9376bff71e race fixed, test pass 2009-10-11 05:57:40 +02:00
f6397ef11c implemented TypedCounter and TypedContext.
Test basically pass, but shows an interesting
deadlock from time to time
2009-10-11 05:57:39 +02:00
373f9a5724 fix Ticket #272 (synchronisation from const methods) 2009-10-11 05:57:39 +02:00
517fb8b200 multithreaded torture test for the (planned) TypedCounter 2009-10-11 05:57:39 +02:00
83cd7fd830 Extract the type-based counting into a separate facility 2009-10-11 05:57:39 +02:00
c921d927a2 provide API for counting the allocations (unimplemented) 2009-10-11 05:57:39 +02:00
022a961284 finish implementation of CommandRegistry 2009-10-11 05:57:39 +02:00
6a77bebb6a fix type for search in map 2009-10-11 05:57:39 +02:00
7fccecacce WIP using the reverse index to find out the Command-ID
this includes using a Command* as key within a std::map
2009-10-11 05:57:39 +02:00
4c9af94e1d improve and clean up the Command interface 2009-10-11 05:57:39 +02:00
8dc434a141 CommandRegistry implementation (...) 2009-10-11 05:57:39 +02:00
109cc4701c unit test to verify building a hashtable with Symbol keys 2009-10-11 05:57:38 +02:00
18c357eb4a start using Symbol datatype instead of a disguised char* 2009-10-11 05:57:38 +02:00
f278d4521c WIP: to make the ID type usable as hashtable key 2009-10-11 05:51:31 +02:00
c9f3a345dc WIP towards CommandRegistry implementation 2009-10-11 05:51:31 +02:00
4517766517 integrating branches
Merge commit '7f09f57cbde4932269c390da70c42a622cd1275f'
2009-10-11 05:50:27 +02:00
f313a0fb14 include GUI work
Merge commit 'lumi/gui'
2009-10-11 05:46:46 +02:00
3b1e2f00a8 rewrite simulated "subsystem". Hopefully closes Ticket #253
- clarify the meaning of run(true), run(fail), run(throw)
- do a real handshake between start() and the subsystem thread
- avoid accessing the SubsystenRunner after signalling termination
2009-09-29 02:38:07 +02:00
09b9f64842 diagnostics about captured state (on the CmdClosure API) 2009-09-21 03:33:56 +02:00
246c535569 Rewrite CmdClosure to actually invoke rather then to create a tr1::bind term
basically this should close Ticket #205  (some details missing)
2009-09-21 03:15:06 +02:00
925fa685b1 WIP change HandlingPattern to work on CommandImpl rather 2009-09-21 03:11:46 +02:00
fd7337f801 WIP drastically simplify command-mutation.
As we're using now a command frontend interface and
and CommandImpl frame in the Registry, most of the
functionaliry on Mutation's interface is superfluous.
Additionally, this separates Mutation and Closure.
2009-09-20 18:37:20 +02:00
d15903f1db resolve design mismatch, as spotted by Ticket #260
Hopefully this closes #260
2009-09-07 03:25:00 +02:00
f21366833d Merge latest work on the builder interface + NoBug adaptations
Merge commit 'bb8eb4055020c609245fe35a369c70e2acb1daf6' into session
2009-09-07 01:25:28 +02:00
27f437db8f autotools fix 2009-09-05 20:10:06 +02:00
6fc7aedd95 Merge NoBug-release related additions
Merge branch 'master' into builder
2009-09-05 19:16:13 +02:00
937df66774 apply Temp.Fix for Ticket #260 2009-09-05 19:14:36 +02:00
70b4b0ad41 Fix some more format warnings 2009-09-05 19:11:17 +02:00
1969adaf02 Integration of Builder/NodeFactory implementation draft. Stubbed to pass compiler 2009-09-05 18:15:58 +02:00
1430965798 WIP: implementation of a node fabrication code path 2009-09-05 04:10:51 +02:00
32612a1a97 WIP: link between asset::Proc and the Build process, allowing to resolve the processing function 2009-09-05 03:04:00 +02:00
8c6eaa6394 WIP WiringSituation starts to become an important entity on it's own 2009-09-04 17:43:53 +02:00
Christian Thaeter
f73cc47da6 Fix all things which broke compilation with NoBug 200909.1 2009-09-04 08:53:03 +02:00
Christian Thaeter
d50d9a30f2 FIX: compiler warnings in mpool.c
Some gcc versions warn about type aliasing errors here, by using char*
this is fixed (and actually the right type here).
2009-09-04 08:02:16 +02:00
391181e699 WIP some further musing about how to do a simple invocation for unit testing ProcNode 2009-09-04 01:59:44 +02:00
83067aa318 WIP: ...to do so, some considerations regarding the entrance point.. 2009-08-31 12:16:47 +02:00
ddb8805a73 WIP attempt to nail down a very simple example... 2009-08-31 01:32:53 +02:00
Joel Holdsworth
5bfdf73f7d Replaced gavl_time_ts with lumiera::Times 2009-08-30 16:26:27 +01:00
Joel Holdsworth
2c68137be4 Merge branch 'master' of git.lumiera.org:/git/LUMIERA into gui 2009-08-30 15:31:07 +01:00
2a54f92a98 WIP: implement creation of concrete wiring descriptor 2009-08-30 14:50:40 +02:00
209765def5 WIP: correct indentation, add some comments... 2009-08-30 14:11:14 +02:00
99310dc0af WIP: continue with considerations how actually to build and wire an individual ProcNode 2009-08-29 18:33:46 +02:00
6da18f76c0 re-read the code, some cleanup, define Tickets... 2009-08-29 16:13:42 +02:00
592c79b839 FIX after rebase... still WIP 2009-08-29 13:27:47 +02:00
3ef03bc3c0 WIP adjust fixture, segments and segmentation 2009-08-29 13:27:47 +02:00
9269db45cc WIP rename class Processor to RenderGraph (engine) 2009-08-29 13:19:43 +02:00
2b3fd7ef1b WIP backbone of the builder 2009-08-29 13:06:59 +02:00
091181bbbc spell checks (and read the code again...) 2009-08-29 13:06:59 +02:00
25a7d75ad9 WIP still trying to invent chicken and egg together.... 2009-08-29 13:02:26 +02:00
ff8be4493c WIP get rid of some cruft and placeholders 2009-08-29 13:02:26 +02:00
97ee7a95ea WIP try to get grip at the actual node creation...
determining the right context for node creation to happen
2009-08-29 12:26:47 +02:00
4214284d35 accessing the frameID from within the pull() call 2009-08-29 12:26:47 +02:00
06000769e2 re-read the code concerning the pull()-call, fix obvious mismatches, comment, plan... 2009-08-29 12:23:41 +02:00
ba05a6b135 test coverage for the more exotic RefArray impls 2009-08-29 12:23:41 +02:00
8c6b6c5192 WIP further RefArray implementations 2009-08-29 12:23:40 +02:00
1c388287c9 simple vector wrapping implementation of the RefArray interface 2009-08-29 12:23:40 +02:00
1b4aa98cdf use the new stream type definitions to get ahead with the builder work 2009-08-29 12:19:26 +02:00
236e267af1 basic coverage for TypedAllocationManager 2009-08-29 03:10:34 +02:00
45c04b4463 re-visit the command impl allocation; add a quick-n-dirty implementation based on heap allocation 2009-08-29 02:16:28 +02:00
1533e5bd0d fix a problem with formatting arbitrary types; reneable the broken tests 2009-08-28 20:33:20 +02:00
08d4be3149 Fixes for building on 32bit system 2009-08-21 02:42:11 +02:00
4acb42d272 autotools fixes... 2009-08-19 15:36:03 +02:00
a845a4d234 unit test covering the cmd registry 2009-08-11 08:35:37 +02:00
0d4d3f25dc implement mising diagnostics 2009-08-11 06:32:29 +02:00
8925c9a73b see ticket 205 2009-08-10 01:33:26 +02:00
b9763b6c16 command frontend sort-of written now, pending integration test 2009-08-10 01:32:33 +02:00
5988b1d697 clean up command interface 2009-08-10 01:30:59 +02:00
9f40e4af9c implemented definition and access of handling patterns 2009-08-09 21:55:47 +02:00
2e58611e2d define session lifecycle event IDs 2009-08-09 19:22:07 +02:00
eada1aa745 now able to solve the store-as (clone) problem 2009-08-09 04:12:46 +02:00
da3cf5a6a6 rework the cmd registry to build on this 2009-08-09 03:48:19 +02:00
e178bd0811 completely factor out allocation/deallocation and placement new into a base class 2009-08-09 03:47:32 +02:00
ba2d4dc761 a handle may also be activated by sharing ownership with a manager 2009-08-09 03:38:44 +02:00
82aee60b14 WIP attempt to solve the clone problem (draft) 2009-08-07 17:13:21 +02:00
09a594d2c5 WIP: considerations for a store-as (clone) operation 2009-08-06 18:00:19 +02:00
a677e2edde second shot for implementing the binding: better the other way round 2009-08-04 02:25:50 +02:00
b6246cbb10 rename the operation "closeArguments", which is more to the point 2009-08-04 02:24:47 +02:00
efd6e99c99 first shot at solving the problem how to bind later on 2009-08-04 01:30:50 +02:00
155254dd9b build new cmd impl object within registry 2009-08-03 18:17:41 +02:00
59f42c28ef get type-id string 2009-08-03 18:15:08 +02:00
b3cd834d9e try to get generated code a bit more readable 2009-08-03 17:59:13 +02:00
853aff1228 fixed and stubbed until it passes compiler again 2009-08-02 20:57:04 +02:00
327cbc822a WIP extended binding and invocation to support the convenience shortcuts 2009-08-02 20:55:43 +02:00
4236d0649a WIP: implement the basic operation of execution pattern 2009-08-02 18:00:03 +02:00
f2126c0764 WIP partially get new proc-layer command impl through the compiler 2009-08-01 23:57:12 +02:00
8971d667cf WIP more implementation... 2009-08-01 17:14:27 +02:00
c2d9a02303 WIP some more nailing down of implementation details 2009-08-01 02:18:01 +02:00
c9e143995e WIP phase out the superfluous static access functions 2009-07-30 20:50:57 +02:00
655177921f WIP this might solve the race condition 2009-07-30 03:57:19 +02:00
eaa4adddde WIP more implementation drafting... 2009-07-29 16:55:15 +02:00
19dd606f54 WIP some implementation drafting... 2009-07-27 02:38:53 +02:00
3ebb8d0285 WIP and more stubbing... 2009-07-26 02:00:47 +02:00
c85eb20cee allow bind functions with return value 2009-07-26 02:00:00 +02:00
1db718c2b3 WIP more stubbing... 2009-07-25 19:21:50 +02:00
299c316ad4 Fix: containment check should take const args 2009-07-25 19:20:21 +02:00
76b6f5d374 ooops, forgot some copy-n-pastes 2009-07-25 17:51:59 +02:00
211a2dabdd WIP stubbing undefined operations... 2009-07-24 17:50:14 +02:00
c5f781596e reorganise the intermediary command def context classes 2009-07-23 03:47:27 +02:00
d80f0cfb8d WIP start some drafting 2009-07-21 04:49:00 +02:00
c85d1d3cd8 ArgumentHolder finished, low-level integration test pass 2009-07-20 07:03:18 +02:00
63bad834c1 comparisons and state detection now working as expected 2009-07-20 05:09:46 +02:00
33757bbac3 why the hell doesn't boost provide functor comparison operators..
(yes I know why: it can't be implemented 100% correctly)
2009-07-20 04:21:24 +02:00
e879e0c81b implemented argument and memento comparisons (doesn't pass test yet) 2009-07-19 19:13:25 +02:00
f73c938850 ArgumentHolder reworked to use InPlaceBuffer; now passes basic tests 2009-07-19 08:32:49 +02:00
7f44de24d7 collecting some formatting & diagnostics utils here... 2009-07-19 08:03:54 +02:00
5784bd2819 Fix: use boost::operator! for binding expr. to avoid infinite recursion 2009-07-19 06:24:36 +02:00
5f0c9e209e remove any use of boost::function in favour of <tr1/functional>
this resolves some long standing problems with ambiguous placeholders
closes Ticket #161
2009-07-19 05:47:36 +02:00
3ecd8047df assertion to guard buffer size limit 2009-07-19 00:41:37 +02:00
584878e0f8 yet another variation of managing an object in-place 2009-07-18 22:07:46 +02:00
6510155e76 back on route: trying to get the ArgumentHolder to fly... 2009-07-18 19:36:32 +02:00
3f8d82a13f Victory! bashed the iter-adapters and the ScopedPtrVect into submission, finally. 2009-07-17 20:22:48 +02:00
165cfc7fcd WIP allow some conversions, attempt to define the const_iterator properly 2009-07-17 04:13:14 +02:00
4f5fca6858 now able to implement ScopedPtrVect iteration properly 2009-07-16 19:36:01 +02:00
a0187847da reworked IterAdapter, added RangeIter for STL ranges. Should do for now 2009-07-15 07:26:49 +02:00
b2f72ef0fc IterAdapter now passes test, but is still rather uggly... 2009-07-14 06:29:04 +02:00
e2cd4aba8a fix name, add test for postfix increment 2009-07-13 01:25:24 +02:00
1a69026acb spelling fix 2009-07-13 01:16:40 +02:00
60cf9e8c9e trying to implement a simple iterator adapter working
(oops, didn't expect this to be so difficult...)
2009-07-13 01:16:30 +02:00
fa3d596a59 helper for accepting arguments passes unit test 2009-07-12 23:21:37 +02:00
30db042b16 add component access to the time wrapper (quick'n dirty) 2009-07-12 22:51:04 +02:00
66f7b1be17 WIP impl.draft for the helper... 2009-07-12 20:08:35 +02:00
b392d6bf84 WIP design a helper for accepting the arguments to bind 2009-07-12 19:30:55 +02:00
accaba4904 WIP impl draft for ArgumentHolder 2009-07-12 18:55:33 +02:00
6ef1aca3a4 test driven brainstorming 2009-07-11 20:06:35 +02:00
892f382f0f Ticket #182 2009-07-11 19:23:20 +02:00
9aa5ba560c finish and tidy up control::Mutation, unit test pass 2009-07-10 19:04:01 +02:00
e892a0087a remove this bool check...
seems to be overengineering! The same information can be easily accessed throught the ArgumentHolder
2009-07-10 19:00:40 +02:00
6bd1e8e179 tidy up and finish the MementoTie + unit test 2009-07-09 20:47:21 +02:00
9e95ec8b60 MementoTie unit test pass 2009-07-09 18:35:22 +02:00
2eb8b763d6 got the helper working (prepending a binder to an argument position) 2009-07-09 04:41:44 +02:00
c7b6165c6c WIP resolved the simple mismatches, but still... 2009-07-08 05:36:02 +02:00
2348a5af2b WIP draft capturing mechanism implementation, using the new tools and helpers... 2009-07-06 05:26:31 +02:00
c8c577c4cc WIP factored out another helper, not yet tested... 2009-07-06 05:25:33 +02:00
2462dee5ca issue resolved, tests pass, finally (whew) 2009-07-06 02:25:19 +02:00
c3b8d39507 refactoring into two distinct concepts. maybe solution? 2009-07-05 22:05:11 +02:00
e2bb2c440c use OpaqueHolder to solve the problem with the function type erasure...
...tried to use 2 policies, but doesn't work correct (and is uggly)
2009-07-05 03:38:33 +02:00
4d1f45fc43 activate the new test, some comments 2009-07-05 02:26:59 +02:00
6e3bfb08e6 OpaqueHolder implemented and passes unit test 2009-07-04 19:30:54 +02:00
077d3d176e WIP implementation draft 2009-07-04 04:35:17 +02:00
3cc49d0f68 need to factor out a special holder class to solve the problem with the empty check 2009-07-04 03:32:15 +02:00
c48f9086b7 extract util: isSameObject (bare ptr comparison) 2009-07-04 02:43:49 +02:00
98510cc943 rename and clean up some headers 2009-07-04 00:24:55 +02:00
b65658c10d try to fix a failing test (not really fixed yet) 2009-07-04 00:22:16 +02:00
d13d461a9c revamp namespace func. Finish excursion on function handling 2009-07-03 14:31:52 +02:00
b7be61c4e6 composition now working 2009-07-03 13:49:12 +02:00
31e9d59d80 WIP draft solution for next task 2009-07-01 04:47:52 +02:00
8d8f184ede check more cases, incl. function pointers 2009-07-01 03:23:26 +02:00
67e5779d24 now also able to close the last function argument 2009-07-01 02:29:11 +02:00
81d0e133c8 new additions in this area now reasonable covered (closes #142) 2009-07-01 00:43:19 +02:00
ca807205f9 cleanup/refactor simple type seq handling, fix broken Split template 2009-06-30 04:54:50 +02:00
320f984270 got partial application working, at least in the "front" case 2009-06-29 06:34:20 +02:00
a19892ac6a WIP some steps towards a solution of the memento binding problem 2009-06-29 06:33:42 +02:00
6029c2c4e2 better name it Splice, and extend the capabilities a bit 2009-06-29 03:05:50 +02:00
03c9edce49 factored out yet another little helper, incl unit test 2009-06-29 02:03:30 +02:00
14f3641f9b helper: initialise a tuple from an existing sub-tuple 2009-06-28 20:41:33 +02:00
51712f218d still fighting to get capture fun and undo func bound together 2009-06-28 15:27:27 +02:00
8ea07bda7a use the new bool conversion mixin to implement check for valid functor 2009-06-26 19:04:22 +02:00
b45cd49c8b separate header + unit test for this bool check mixin 2009-06-26 18:50:30 +02:00
5291f6e41a move the member pointer to the current stack frame...
hopefully the optimiser will remove it completely ;-)
2009-06-26 17:13:36 +02:00
a30461780b this way it works, but would cost additional storage.... 2009-06-26 16:38:37 +02:00
Joel Holdsworth
b8182f4341 Removed the toolbar 2009-06-26 11:14:01 +01:00
daeff6f5fd WIP: how to define the bool conversion / validity check for the function holders? 2009-06-26 05:27:54 +02:00
e91cdd39e9 stubbed and commented out to get it to compile 2009-06-26 05:27:24 +02:00
5ab8c126e0 WIP compilation fixes and stubs; split off MementoClosure (incl. separate unit test) 2009-06-24 06:38:33 +02:00
69d6bad1f4 WIP brainstorming about a way how the extended memento capturing closure might work 2009-06-24 05:51:02 +02:00
2aee99f2f3 WIP working out the details of Mutation and UndoMutation 2009-06-23 05:54:54 +02:00
909c7a1715 now core operation of CmdClosure passes compler! 2009-06-22 06:18:13 +02:00
61f8c1814d tuple test pass 2009-06-22 06:05:32 +02:00
db9ef808a5 refactoring to solve consistency problems uncovered by the tests 2009-06-21 19:52:33 +02:00
c3768b93a1 function closure utils finished and pass test 2009-06-21 08:38:24 +02:00
231834d2e9 basic tuple creation and outline of the remainder of the test 2009-06-21 02:03:22 +02:00
ad7c326c9c got basic diagnostics for type tuples working 2009-06-20 23:18:02 +02:00
294c254f29 Fix instantiation of Tuple datastructs 2009-06-20 23:17:22 +02:00
0117e4bce5 start a function-closure unit test... 2009-06-20 18:41:18 +02:00
95f0b26e38 start a type tuple unit test... 2009-06-20 18:06:07 +02:00
1620b8dcef WIP fixes to Apply<N>, but yet doesn't work... 2009-06-20 09:32:22 +02:00
b26de14dcf WIP how to apply the param tuple? 2009-06-20 09:22:33 +02:00
bc94f299e2 hey... now storing the operation is almost effortless! 2009-06-20 07:13:20 +02:00
a28c05877f test pass (resolves Ticket #174) 2009-06-20 06:11:09 +02:00
079030818d draft a test to sharpen the idea of the function holder (erasure) 2009-06-20 04:43:52 +02:00
a565bfef73 some header-renaming 2009-06-20 01:28:47 +02:00
006c29c625 Idea how to store an unspecified functor to be used later as Command implementation 2009-06-20 00:00:29 +02:00
f358f548d1 draft version of CmdClosure and Mutation interface now passing compiler 2009-06-19 19:11:33 +02:00
e951c468a7 WIP: header rename 2009-06-19 14:47:37 +02:00
4307191369 merging latest bugfixes
Merge branch 'master' into session
2009-06-19 14:36:22 +02:00
0ab5a92629 WIP: test-driven brainstorming... how to capture state and params. 2009-06-19 05:57:06 +02:00
Christian Thaeter
52ac7bdc5e FIX: bogus pointer dereference causing gcc to barf
gcc (GCC) 4.2.4 (Ubuntu 4.2.4-1ubuntu3) reported:

./src/lib/mpool.c: In function ‘bitmap_bit_get_nth’:
./src/lib/mpool.c:119: warning: dereferencing type-punned
 pointer will break strict-aliasing rules
2009-06-19 04:22:29 +02:00
8dfc234729 small fix: wrong log formatting spec detected by valgrind 2009-06-19 03:21:43 +02:00
fba135c746 Merge backend and testsuite improvements 2009-06-19 01:19:20 +02:00
37c0175bd1 fix crash on closing lumiera, in case of starting multiple threads 2009-06-19 00:45:08 +02:00
3f9902f682 fix possible race in dummy player: sync on tick thread termination 2009-06-19 00:40:31 +02:00
d1b425aba9 finish and tidy the extracted headers 2009-06-17 06:55:18 +02:00
9d04f48c51 WIP: further split the headers 2009-06-16 12:07:49 +02:00
ab4b4c71e6 WIP: start extacting new headers 2009-06-16 11:39:36 +02:00
441cb6b9e2 WIP try to solve the problem of closing a function with arbitrary args 2009-06-15 03:47:05 +02:00
7741b50b91 WIP rewrote the Sub-Tuple extractor into a simplistic Tuple type 2009-06-14 19:40:35 +02:00
b937bd08ae WIP: parameter closure brainstorming 2009-06-14 05:38:35 +02:00
246529bae9 concpet draft of parameter type extraction and checking works (i.e. compiles) 2009-06-10 05:00:01 +02:00
e3da082016 WIP idea to allow arbitrary command parameters 2009-06-10 03:42:23 +02:00
102e96891b fixing, stubbing, and some chainsaw surgery to get half-finished code through the compiler 2009-06-09 09:05:19 +02:00
3a7de1654a WIP: create a "scrapbook" test for trying out some ideas 2009-06-08 21:29:09 +02:00
ba37045b48 WIP: interface/framwork skeleton 2009-06-08 04:50:29 +02:00
f1827ea753 WIP: test support macro for exception check 2009-06-07 03:22:08 +02:00
2731e34c3e WIP: test driven brainstorming: basic MObjectRef behaviour 2009-06-07 00:45:55 +02:00
091c3a20ef fix indentation 2009-06-06 23:58:44 +02:00
Christian Thaeter
64c1238445 FIX: mpool: macro for constants depending on host wordsize
This might fix http://issues.lumiera.org/ticket/136 I have no 32bit
system to validate this.
2009-06-06 16:05:34 +02:00
ee7f2d6c0f WIP: replace direct ctor call by an embedded factory member 2009-06-06 07:12:09 +02:00
90dffdc9d2 some cleanup and renaming 2009-06-06 06:55:13 +02:00
815f8569ce WIP: accessing the default PlacementIndex (within the Session) 2009-06-06 06:18:37 +02:00
fa31f3736e WIP some details regarding PlacementRef 2009-06-06 04:23:11 +02:00
4ee0b18731 Fix: activation of MObjectRef, exception safety 2009-06-06 04:04:33 +02:00
638022c07f WIP: add run-time type check API to Placement 2009-06-06 04:02:08 +02:00
d740d9734d re-enable test for waiting on thread termination 2009-06-05 05:35:24 +02:00
b6d22bb2e0 fix: condition for signalling thread termination is optional 2009-06-05 05:04:45 +02:00
e0ff915987 adapt thread-wrapper.hpp to backend thread API change 2009-06-05 05:00:53 +02:00
Christian Thaeter
58f1fbe3a8 mpool: completion
fix tests, add some benchmarks
finished documentation, cosmetics, cleanup
2009-06-04 18:11:45 +02:00
Christian Thaeter
92271ba1c1 mpool: add an alloc_near() function which takes a explicit hint for locality 2009-06-04 18:11:44 +02:00
Christian Thaeter
0dc0d18703 mpool: ldiv() division bites the dust in favor of some bitops
before:
 1,747,160,336  PROGRAM TOTALS
after:
 1,371,806,087  PROGRAM TOTALS
2009-06-04 18:11:44 +02:00
Christian Thaeter
9ed817df97 mpool: precalculate cluster size to avoid excess recalculations
Callgrind before:
 1,963,501,246  PROGRAM TOTALS
After:
 1,747,160,336  PROGRAM TOTALS
2009-06-04 18:11:44 +02:00
Christian Thaeter
29a1a6a7a0 mpool: some pending cosmetics an trace points 2009-06-04 18:11:27 +02:00
Christian Thaeter
2a9d59ccd0 WIP: pooled allocator, initial version
* creating and allocating, freeing elements
 * live objects will be destructed when a mpool gets destroyed and a
   destructor was set up
2009-06-04 18:10:25 +02:00
Christian Thaeter
062dbfe82f Merge commit '99b5f8'
* commit '99b5f8':
  adapt the Sync template
  Add reccondition to threads, make its functionality complete
  fix some includes for new mutex/recmutex headers
  weed out reccondition bugs/typos
  New condition and reccondition implementation
  split mutex.h again into mutex.h and recmutex.h
  typo fix in mutex.h
  rename casing of RecMutex to Recmutex to be consistent
  store lumiera_rwlock in sectionlock
  store a lumiera_mutex in a sectionlock, looks cleaner
  add check to chained locking validating that the parent lock is held
  rwlock makeover, locksections etc...
  error code changed to LOCK_DESTROY
  fix: forgotten backcasts in mutex.h
  new mutex and recmutex implementation (breaks sync.hpp for now)
2009-06-03 20:20:41 +02:00
Christian Thaeter
8f2333a786 Merge commit '59de53b25a78cd330c0c6e0f637e8cf7618da4'
* commit '59de53b25a78cd330c0c6e0f637e8cf7618da4':
  llist: add an generic void* to the compare, sort and search functions
  let llist_init return the initialized node
2009-06-03 18:47:56 +02:00
99b5f8d44d adapt the Sync template 2009-06-03 18:22:11 +02:00
Christian Thaeter
dd9b7a174f Add reccondition to threads, make its functionality complete
With this the threads are now usable, despite still a mockup
implementation.

Some basic tests to show their use included.
2009-06-03 18:22:11 +02:00
Christian Thaeter
323724b623 fix some includes for new mutex/recmutex headers 2009-06-03 18:22:10 +02:00
Christian Thaeter
7758d76c7b weed out reccondition bugs/typos 2009-06-03 18:22:10 +02:00
Christian Thaeter
d91620a60f New condition and reccondition implementation
Should be working but not thoroughly tested still, docs not complete
2009-06-03 18:22:10 +02:00
Christian Thaeter
4f29f302b2 split mutex.h again into mutex.h and recmutex.h 2009-06-03 18:22:10 +02:00
Christian Thaeter
ec62ca073b typo fix in mutex.h 2009-06-03 18:22:09 +02:00
Christian Thaeter
30a117c1d8 rename casing of RecMutex to Recmutex to be consistent 2009-06-03 18:22:09 +02:00
Christian Thaeter
93abe657c8 store lumiera_rwlock in sectionlock 2009-06-03 18:22:09 +02:00
Christian Thaeter
5b82f3355b store a lumiera_mutex in a sectionlock, looks cleaner 2009-06-03 18:22:09 +02:00
Christian Thaeter
cafcffd4b1 add check to chained locking validating that the parent lock is held 2009-06-03 18:22:08 +02:00
Christian Thaeter
5c2ac96f35 rwlock makeover, locksections etc...
The CHAINED variant is not tested, what could go wrong anyways :)
2009-06-03 18:22:08 +02:00
Christian Thaeter
ca0250c018 error code changed to LOCK_DESTROY 2009-06-03 18:22:08 +02:00
Christian Thaeter
cf664ca970 fix: forgotten backcasts in mutex.h 2009-06-03 18:22:07 +02:00
Christian Thaeter
a115759128 new mutex and recmutex implementation (breaks sync.hpp for now)
prepares that chained sections if different kinds can be mixed
makes recmutexes typesafe
improves nobug tracking
2009-06-03 18:22:07 +02:00
Christian Thaeter
59de53b25a llist: add an generic void* to the compare, sort and search functions
This allows the user to pass some extra data along, which improves the
usefulness in certain cases.
2009-06-03 18:22:01 +02:00
Christian Thaeter
85b1297b4a let llist_init return the initialized node
This makes it possible to use the init without a temporary variable:
 llist_insert_next (llist_init (foo), llist_init (bar));
2009-06-03 18:19:56 +02:00
Anton Yakovlev
87e528bd58 Cyclic L1-list. Implements almost the same set of operations as for L2-list
(except those, which reverse enumeration of elements).
2009-06-03 18:12:35 +04:00
608c532df7 Fix: wrong wiring of subsystem descriptor for the Session 2009-06-02 03:32:48 +02:00
8a453bd52b WIP: start drafing MObjectRef 2009-06-02 03:31:52 +02:00
1f4676e7b6 cleanup old ID definiton now superseeded by hash-ID 2009-05-31 05:14:23 +02:00
d49eea6e5d finished reworking Placement (hierarchy and ID) 2009-05-31 05:02:03 +02:00
e8c25fca0a supply test definition 2009-05-31 02:41:00 +02:00
e0ad992f30 spinn-off: collecting some frequently used bits to support unit testing 2009-05-30 23:49:02 +02:00
20a1268683 recast the PlacementHierarchy_test to use the real Placement/MObject hierarchy 2009-05-29 23:13:56 +02:00
50a42e5104 extract dummy MObject hierarchy for unit tests 2009-05-29 22:12:12 +02:00
014b6c0b49 intend to use the time wrapper 2009-05-29 19:03:34 +02:00
940d63a9fa time wrapper minimal test coverage 2009-05-29 18:36:37 +02:00
dedb70aac9 @Joel: a simple convenience wrapper for gavl_time_t 2009-05-29 18:36:37 +02:00
efa7b4717c rework placement to contain a LUID, and to deal with inheritance according to the concept draft 2009-05-29 07:10:54 +02:00
003895b08d considering how to bring the new hash ID into Placement.
Which in turn is required for the Placement/MObject ref and the Placement index
2009-05-24 19:34:47 +02:00
85a9c99e52 hash ID: add trivial implementation + impl based on LUID 2009-05-24 05:14:11 +02:00
3b8a851722 add equality 2009-05-24 01:46:00 +02:00
2bb64a23fa augment test, rework access to the hashID, template on hash impl 2009-05-23 05:13:51 +02:00
e5d2042190 WIP rename and reorganise hash ID, now focussing on the Mixin 2009-05-23 03:43:39 +02:00
bac5da777b WIP document the concept of the hash ID, get rid of the uggly cast 2009-05-22 03:41:58 +02:00
020636b90a WIP extract the hash ID draft into separate header & test 2009-05-22 02:40:20 +02:00
0802d969cc WIP disentangle ID definition from target hierarchy by templating it on the base class 2009-05-22 02:15:58 +02:00
87362a4b0d WIP draft for a generic hash based and typed id, similar to asset::ID 2009-05-21 20:26:44 +02:00
35ebe966b5 add new kind of MObject (Binding) to express special scopes 2009-05-21 04:06:36 +02:00
cc66f2b0d0 preliminary placement index impl started.
Basically I need this simple framework to be able to write tests,
which enables me to flesh out the API, which in turn is a
prerequisite for defining the PlacementRef
2009-05-20 03:36:12 +02:00
cab776847d spelling and cleanup (to get it compiling) 2009-05-20 02:26:47 +02:00
7abada72fd a bit of API brainstorming 2009-05-13 03:46:08 +02:00
8f8831c8b3 planning index structure.. 2009-05-09 17:32:29 +02:00
9b3ca200e7 considering new facilities for referring to placements 2009-05-09 03:08:38 +02:00
0e4df5611a time wrapper minimal test coverage 2009-04-24 21:48:38 +02:00
3ae3e36f3f @Joel: a simple convenience wrapper for gavl_time_t 2009-04-24 21:48:38 +02:00
bdcef03834 Fix: (re)add gthread to make the dummy work 2009-04-24 17:33:03 +02:00
ae67c6db5c merge buildsystem changes (dummy player and GUI/gdl work) 2009-04-24 17:20:39 +02:00
Joel Holdsworth
2fbf1930dc Merge branch 'ichthyo-proc' into gui 2009-04-20 16:18:17 +01:00
730d2c0233 Fix: we should include gdl headers in accordance to pkg-config
The pkg-config of GDL advises to include the GDL subdir,
which in turn contains a directory "gdl" with the headers.
This is fine, because it makes this name switch work
painless. Thus, please just #include <gdl/gdl-whatever.h>
2009-04-20 03:05:28 +02:00
Joel Holdsworth
5359f0df6c Added some placeholder actions 2009-04-18 22:31:38 +01:00
Joel Holdsworth
ebc6993a5f Tidied NameChooser 2009-04-17 11:15:06 +01:00
Joel Holdsworth
647ea9797e Bugfix: Fix window size being too thin 2009-04-16 18:33:27 +01:00
Joel Holdsworth
b6263971cf Added PanelBar border padding support 2009-04-16 18:28:49 +01:00
Joel Holdsworth
e753463802 Added PanelBar and ButtonBar RTL support 2009-04-16 17:58:28 +01:00
Joel Holdsworth
937f1f6298 Arrange PanelBar widgets with varying heights 2009-04-16 17:16:08 +01:00
Joel Holdsworth
3a6ac0425c Bugfix for negative PanelBar areas 2009-04-16 16:02:58 +01:00
Joel Holdsworth
8cd3d64679 Added custom layouts for better PanelBar overflow 2009-04-16 15:44:40 +01:00
Joel Holdsworth
5eed949e27 Bugfix: Panel popping out when shown because it's already visible 2009-04-16 10:08:35 +01:00
Joel Holdsworth
8baca7edc6 Made Panel more Gtk friendly 2009-04-16 10:03:51 +01:00
Joel Holdsworth
0fbfd169df Replaced shared_ptrs with normal pointers in PanelManager 2009-04-16 10:02:53 +01:00
Joel Holdsworth
303a6f2ce4 Modify Panel hiding for PanelManager compatibility 2009-04-15 20:12:06 +01:00
Joel Holdsworth
08fd135a98 Allowed show_panel to lift a panel to view if it's hidden 2009-04-15 18:27:07 +01:00
Joel Holdsworth
4165474900 Added show panel commands 2009-04-15 18:14:16 +01:00
Joel Holdsworth
12ecb634b6 Tidied PanelManager 2009-04-15 18:05:45 +01:00
Joel Holdsworth
a4fbcfec49 Added panel splitting 2009-04-15 12:24:34 +01:00
Joel Holdsworth
592d94fadb Updated switch_panel documentation 2009-04-15 11:13:27 +01:00
Joel Holdsworth
55176fb70f Fixed a bug in panel locking 2009-04-14 23:43:17 +01:00
Joel Holdsworth
1ce8a626eb Resolved some Gtk container warnings 2009-04-14 21:40:58 +01:00
Joel Holdsworth
8f201b76b7 Added Hide command 2009-04-14 19:39:58 +01:00
Joel Holdsworth
fbbebc9ab7 Documented PanelBar 2009-04-14 19:37:46 +01:00
Joel Holdsworth
a40642fd0e Tidied up some loose ends on panel switching 2009-04-13 16:50:42 +01:00
Joel Holdsworth
8b3b6a263f Fixed destruction bug 2009-04-13 16:42:58 +01:00
Joel Holdsworth
653f820c7e Improved switching implementation 2009-04-13 16:11:50 +01:00
Joel Holdsworth
53f987e63d Did some tidying 2009-04-13 12:45:14 +01:00
Joel Holdsworth
1814669301 Added nieve PanelManager::switch_panel 2009-04-06 23:08:51 +01:00
Joel Holdsworth
fb20cb5e07 Remove debugging code 2009-04-06 23:08:50 +01:00
Joel Holdsworth
fff605e6d8 Added the panel choice list 2009-04-06 23:08:50 +01:00
Joel Holdsworth
bb38e5fb76 Documented PanelManager 2009-04-06 23:08:50 +01:00
Joel Holdsworth
6151415029 Implemented initial PanelManager implementation 2009-04-06 23:08:50 +01:00
Joel Holdsworth
775ef6d809 Fixes for MenuButton including stay depressed while menu is shown 2009-04-06 23:04:33 +01:00
Joel Holdsworth
21da356818 Bugfix: TimelineState not being stored correctly 2009-03-28 20:21:07 +00:00
Joel Holdsworth
f90b575e16 Fixed rulers not being correctly updated 2009-03-28 19:25:58 +00:00
Joel Holdsworth
7693e36642 Add a 1 pixel border around PanelBar 2009-03-28 19:16:56 +00:00
Joel Holdsworth
390354ea8a Added support for no-state mode to TimelineWidget 2009-03-28 18:24:53 +00:00
Joel Holdsworth
7766a223eb Finished TimelineState work 2009-03-28 18:24:53 +00:00
Joel Holdsworth
2933deaa20 Bugfix: TimelineWidget is never thawed 2009-03-28 18:24:52 +00:00
Joel Holdsworth
16793fc2d4 Added show_all so that child widgets are shown 2009-03-28 18:24:52 +00:00
Joel Holdsworth
8e81f31a04 WIP: Added Sequence Chooser 2009-03-28 18:24:52 +00:00
Joel Holdsworth
890d24fe04 Add hide item to the menu 2009-03-23 22:23:41 +00:00
Joel Holdsworth
c47c08650d Put a window under the panel bar widgets to set the cursor to be an
arrow
2009-03-23 22:23:41 +00:00
Joel Holdsworth
ee50f55fa6 Moved panel handles into GDL 2009-03-23 22:23:41 +00:00
Joel Holdsworth
457a930f47 Added panel grip handles 2009-03-23 22:23:40 +00:00
Joel Holdsworth
46d30306cb Removed PanelBar::internal_setup - a redundant function 2009-03-23 22:23:40 +00:00
Joel Holdsworth
192a3dfae8 Tidied up and documented PanelBar 2009-03-23 22:23:40 +00:00
Joel Holdsworth
cb5c4a682e Remove redundant include 2009-03-23 22:23:40 +00:00
Joel Holdsworth
d42d1722be Documented and tidied menu-button.hpp 2009-03-23 22:23:40 +00:00
Joel Holdsworth
2a7cc40a19 Reinstated the time indicator 2009-03-23 22:23:40 +00:00
Joel Holdsworth
46a310ad8c Relocated Timeline Toolbar into the grip 2009-03-23 22:23:40 +00:00
Joel Holdsworth
6ce9aff38b Put ButtonBar into grip 2009-03-23 22:23:39 +00:00
Joel Holdsworth
0599428045 Added initial PanelBar implementation 2009-03-23 22:23:39 +00:00
Joel Holdsworth
d3d703e200 Modified ButtonBar::append to be universal for all widgets 2009-03-23 22:23:39 +00:00
Joel Holdsworth
3769719f7e Reworked MiniButton as a template class 2009-03-23 22:23:39 +00:00
Joel Holdsworth
babb46a4ad Improved ButtonBar documentation 2009-03-23 22:23:38 +00:00
Joel Holdsworth
d15264fd67 Added MiniButton::set_stock_id 2009-03-23 22:23:38 +00:00
Joel Holdsworth
94242b779a Added append with event to ButtonBar 2009-03-23 22:23:38 +00:00
Joel Holdsworth
2f2bb6b75a Added support for ButtonBar seperators 2009-03-23 22:23:38 +00:00
Joel Holdsworth
ec01a51302 Misc fixes, and added default icon size to MiniButton 2009-03-23 22:23:38 +00:00
Joel Holdsworth
2a66789773 Divorced ButtonBar from Toolbar 2009-03-23 22:23:38 +00:00
Joel Holdsworth
77022b3bcb Added initial ButtonBar implementation 2009-03-23 22:23:37 +00:00
Joel Holdsworth
249380fed0 Factored the state out of the timeline widget 2009-03-23 22:22:14 +00:00
Joel Holdsworth
caea5b9236 Implemented util::rects_overlap and documented util 2009-03-16 22:14:22 +00:00
Joel Holdsworth
6f7fa0613e Set titleMenuButton so that it can't be focussed 2009-03-14 09:19:31 +00:00
Joel Holdsworth
b4e4f6c4b7 Correction to a comment 2009-03-06 11:55:29 +00:00
Joel Holdsworth
1eec9df897 Correction to menu-button.hpp documentation 2009-03-06 11:55:29 +00:00
Joel Holdsworth
7e46bc504f Removed spurious add_events call 2009-03-06 11:55:29 +00:00
Christian Thaeter
9d1054f838 FIX: prototype and call of init_exts_globs was wrong 2009-02-20 00:38:21 +01:00
Christian Thaeter
b8d3e841d0 forgot new llist.h 2009-02-15 19:29:10 +01:00
0e5314e0cf keep the display handles within a separate header 2009-02-09 05:43:55 +01:00
ebf625acae cleanup and comment 2009-02-09 02:40:57 +01:00
379ec7a126 refactor the dummy player facade to be in namespace lumiera 2009-02-09 01:42:28 +01:00
268f8cbc4c refactor interfaceproxy.cpp to rather include the definitions
this allows to put the proxy definitions alongside with the
actually implementing service, which makes much more sense
than having all in one huge interfaceproxy.cpp file
2009-02-09 01:21:01 +01:00
da2519ac34 fixed linking dependencies 2009-02-08 20:13:19 +01:00
218a8e7a2a join dummy player with latest GUI work 2009-02-08 04:21:12 +01:00
b0e6468293 some testing and debugging 2009-02-08 04:10:37 +01:00
73f29f3a6a Set up gui::DisplayService as one of the facade interfaces provided by the GUI 2009-02-08 02:02:03 +01:00
32c2c85abc add the impl. of the periodic playback function, now pushing output up to GUI 2009-02-08 02:00:55 +01:00
4524c23832 replace ptr_vector by lib:ScopedPtrVect. passes compiler. 2009-02-08 01:35:45 +01:00
e435822de6 Ouch.. boost::ptr_vector depends on boost-serialisation. Write a simple replacement... 2009-02-08 01:31:01 +01:00
e1dd3cac74 WIP allocating and using a display slot (impl of Display facade interface) 2009-02-06 22:52:06 +01:00
8e5097cbe0 cleanup, fixes, comments... 2009-02-06 22:51:39 +01:00
Joel Holdsworth
a0cb947880 Bugfix: Fixed File>Exit 2009-02-04 17:14:57 +00:00
Joel Holdsworth
2d8a1d7d59 Retired lumigui from scons and removed GUI main 2009-02-04 17:06:07 +00:00
6fb86a2caf WIP setUp of an output slot, connecting playback_controller 2009-02-04 05:23:43 +01:00
Joel Holdsworth
4683b120c5 Ion Fixes: Corrected the timeline header dragging cursors 2009-02-03 23:33:26 +00:00
Joel Holdsworth
981ff21530 Removed lumigui, and fixed broken lumiera build in autotools 2009-02-03 22:35:11 +00:00
7de661f4c9 WIP factor out all signal dispatching from playback-controller into DisplayService and DisplayerSlot
DisplayService is intended to implement the Display facade and additionally
manage N display output sinks (DisplayerSlot). Now the playback-controller
contains just the bare controller logic, all services like tick generation
or signal dispatching have been factored out...  makes me feel better :-)
2009-02-02 05:25:49 +01:00
Joel Holdsworth
fa40a67b77 Merge branch 'master' of git.lumiera.org:/git/LUMIERA into gui 2009-02-01 22:56:58 +00:00
06272c2e4b join dummy player with latest GUI work 2009-02-01 20:45:18 +01:00
ec2f362c3a During alpha: build .libs into the LUMIERA_PLUGIN_PATH to ease developent 2009-02-01 20:43:23 +01:00
2cae8d8ccc fix to circumvent a problem with Iconinfo::operator bool() not being const
seemingly this has been fixed in recent gtkmm, but is still present on lenny (and etch)
2009-02-01 19:56:49 +01:00
Joel Holdsworth
0edd7ceda3 Moved the New Window command into the new Window menu 2009-02-01 17:12:44 +00:00
Joel Holdsworth
dc99cc5841 Fixed a typo in a comment 2009-02-01 17:06:27 +00:00
c2bcb9f199 WIP remove all locking and thread handling from PlaybackController.
Yay! as expected, just by refactoring orthogonally, the controller
gets much simpler, without adding much complexities to ProcessImpl
2009-02-01 01:39:52 +01:00
e23417cfc0 WIP quick'n dirty Tick service implementation 2009-02-01 01:24:33 +01:00
Joel Holdsworth
17c1942c68 Removed some redundant name setting code 2009-02-01 00:05:15 +00:00
5ebd0dcf5a WIP fix namespace 2009-02-01 01:01:44 +01:00
Joel Holdsworth
3ad2230864 Added synchronisation between multiple views of the track title 2009-01-31 23:45:32 +00:00
e78383b044 WIP continue with the skeleton of a DisplayService within the GUI 2009-02-01 00:43:21 +01:00
cc585dd0d6 comment, rename guinotification-facade 2009-02-01 00:02:50 +01:00
45668836ba start fleshing out a display facade interface 2009-01-31 23:42:56 +01:00
ee950d6255 some cleanup and re-ordering 2009-01-31 23:42:56 +01:00
Joel Holdsworth
d3b6a7a07f Merge commit 'ichthyo/guistart' into merge 2009-01-31 22:30:01 +00:00
19e85a95d4 fix: better make the shared_ptr a member of the Handle class
this change circumvents compiler uncertainities with the operator bool()
and actually seems to be better design too...
2009-01-31 23:28:09 +01:00
Joel Holdsworth
946a26f574 Merge commit 'ichthyo/guistart' into merge 2009-01-31 21:26:10 +00:00
Joel Holdsworth
9e585ab591 Removed stupid WindowManager singleton 2009-01-31 21:17:05 +00:00
Joel Holdsworth
852377c1f1 Implemented New Window command 2009-01-31 21:14:53 +00:00
Joel Holdsworth
cef0e0e074 Added WindowManager::new_window, and used it as the standard way of
creaing the workspaces
2009-01-31 21:14:52 +00:00
Joel Holdsworth
1084a12e8a Added theme icons support, and a New Window menu command 2009-01-31 21:14:52 +00:00
Joel Holdsworth
4a2e5c2762 Fixed the resources menu item 2009-01-31 21:14:52 +00:00
cbd27b0418 Completely reworked the design of the DummyPlayer API, now using the handle
this allows the C++ version to provide automatic lifecycle management for
the play process, while both versions of the API (C and C++) impose only
one level of indirection.
2009-01-28 02:49:20 +01:00
8419534f49 A generic opaque Handle type built on top of shared_ptr, for managing lifecycle 2009-01-28 02:44:59 +01:00
aa7fe2591c use a dedicated header to pull up early NoBug init 2009-01-26 01:09:49 +01:00
a8285878ac fix some logging flags after merge 2009-01-25 03:27:16 +01:00
50625039d0 merge NoBug changes from master to bring this devel branch up-to-date
Next things to do will be reworking the draft/dummy to support multiple playback processes and a display callback
2009-01-25 02:10:03 +01:00
5eea58986f merge: ... bring in latest GUI additions from joel 2009-01-25 00:54:12 +01:00
10597beeba mass rename: relocate basic Logging conf. from liblumieracommon to liblumiera 2009-01-25 00:24:42 +01:00
Joel Holdsworth
e5665f3820 Fixed a headers issue introduced by a proc merge 2009-01-24 21:36:50 +00:00
Christian Thaeter
62d24569b3 WIP: deploy new logging flags in proc 2009-01-24 22:30:26 +01:00
Christian Thaeter
288df8eb35 WIP: deploy new logging flags in lumiera 2009-01-24 22:30:26 +01:00
Christian Thaeter
b9fc2d6522 WIP: deploy new logging flags in lib 2009-01-24 22:30:25 +01:00
Christian Thaeter
9aefc2e971 WIP: deploy new logging flags in gui 2009-01-24 22:30:25 +01:00
Christian Thaeter
6a5951bad6 WIP: deploy new logging flags in common 2009-01-24 22:30:25 +01:00
Christian Thaeter
65142d9cae WIP: deploy new logging flags in backend 2009-01-24 22:30:25 +01:00
Christian Thaeter
16ebdd65b1 some more logging flags, little cleanup, fix to Makefile.am 2009-01-24 22:30:25 +01:00
Christian Thaeter
ef6344057c first attempt to organize the nobug flags for review
I grepped out all flags which are actually defined/used in lumiera and
refactored them into one big tree here. There are some annotations and
issues which shall be finally resolved. Please check if the intended
hierarchy looks OK this way and add more flags when you think some are
missing. I chosen to make a quite verbose hierarchy, this doesnt cost much
in nobug and adds some flexibility. The Documentation at the head needs to
be reviewed. Many flags which are collected here need to be brought back
into the subsystems which use them, this is only to get a big picture for
now.
2009-01-24 22:30:25 +01:00
Joel Holdsworth
51f05ebb3e Merge branch 'guistart' of git://git.lumiera.org/lumiera/ichthyo into gui 2009-01-24 21:28:45 +00:00
19c7226c9f Autotools fix: add dummy-player-service to lublumieraproc.so 2009-01-24 22:25:50 +01:00
e524e8c528 Fix the most obvious lockups ... but the design still doesn't feel right for me! 2009-01-24 21:33:41 +01:00
Joel Holdsworth
c938526a94 Renamed panel-assets icon to panel-resources 2009-01-24 18:40:20 +00:00
Joel Holdsworth
2f335a87d1 Added an initial resources notebook 2009-01-24 18:31:26 +00:00
Joel Holdsworth
9d9f7c40e9 Renamed Assets to Resources 2009-01-24 18:18:41 +00:00
Joel Holdsworth
0355c83f0e Added handling for when the user drags beyond the end of the tree 2009-01-24 17:50:18 +00:00
Joel Holdsworth
262ee3655b Added is_descendant_of method to tree 2009-01-24 17:19:10 +00:00
Joel Holdsworth
ce37fa649d Added a comment 2009-01-24 17:04:31 +00:00
Joel Holdsworth
28c758b032 Tidied and documented TimelineHeaderWidget 2009-01-24 15:54:19 +00:00
Joel Holdsworth
4bdee16230 Fixed a more flaw in drop logic 2009-01-24 15:42:45 +00:00
Joel Holdsworth
5740a3687e Removed spurious curlies 2009-01-24 15:39:30 +00:00
Joel Holdsworth
64a7941002 Fixed a bug related to the scroll slide timer not being correctly
terminated
2009-01-24 15:28:54 +00:00
Joel Holdsworth
73f7380506 Removed some debug messages 2009-01-24 15:15:38 +00:00
Joel Holdsworth
ec78f73ca9 Timeline scroll is updated as the layout changes 2009-01-24 14:41:32 +00:00
Joel Holdsworth
f327dcab7a Tidyups 2009-01-24 14:34:26 +00:00
Joel Holdsworth
aa5cf0ea3a Made a track expand when the dragging track is going to be dragged
inside
2009-01-24 14:33:49 +00:00
Joel Holdsworth
1951324726 Corrected a typo 2009-01-24 14:17:20 +00:00
Joel Holdsworth
7a066cdd72 Fixed bug in measure branch height 2009-01-24 14:16:33 +00:00
Joel Holdsworth
523eecfc24 Fixed drag by expander bug 2009-01-24 14:12:13 +00:00
Joel Holdsworth
b48c5e0cc0 Added some ParentTrack documentation 2009-01-24 13:00:56 +00:00
Joel Holdsworth
0689e0256c Refactored ParentTrack::remove_descendant_track 2009-01-24 12:59:56 +00:00
Joel Holdsworth
ed1f4abfea Refactored find_branch_parent 2009-01-24 12:50:49 +00:00
Joel Holdsworth
e2992c62ef Documented model::GroupTrack 2009-01-24 12:31:03 +00:00
Joel Holdsworth
f0c7d85a1f Documented model::Sequence 2009-01-24 12:30:07 +00:00
Joel Holdsworth
2f12e5b239 Reorganized test code 2009-01-24 12:26:50 +00:00
Joel Holdsworth
c0d0081677 Documented model::ParentTrack 2009-01-24 12:25:02 +00:00
Joel Holdsworth
e7481afc3d Renamed remove_child_track -> remove_descendant_track 2009-01-24 12:23:18 +00:00
Joel Holdsworth
41f394a57b Excised ObservableList::to_list 2009-01-24 12:18:12 +00:00
Joel Holdsworth
53297cccd6 Tidied and documented Track::find_parent 2009-01-24 12:02:09 +00:00
Joel Holdsworth
c88aec9c03 Added some documentation to model::Track 2009-01-24 11:45:47 +00:00
Joel Holdsworth
9879aef3dd Tidied and documented TimelineLayoutHelper 2009-01-24 10:58:54 +00:00
Joel Holdsworth
1908ff08a0 Removed extraneous TimelineLayoutHelper::draggingTrack member 2009-01-24 10:37:04 +00:00
Joel Holdsworth
e15adf1afb Reorganized attempt_drop_* functions 2009-01-24 10:15:58 +00:00
58512e8a34 First version working again. Thread handling is not stable and stop hangs though 2009-01-23 20:23:24 +01:00
48a632434a switch from Glib::Mutex to an object monitor (using LumieraMutex) 2009-01-23 19:57:12 +01:00
6c3492396c Refactoring: switch gui::PlaybackController to use the player service 2009-01-23 04:15:58 +01:00
791b09142a Refactoring: extract test image generation code into a separate class 2009-01-23 03:05:21 +01:00
49a865fa57 merge latest GUI additions (and fixes from master) for colaboration on the Player mockup
this branch still corresponds to joel/gui
2009-01-22 23:26:08 +01:00
7150ab9ee9 add implementation of PlayProcess logic 2009-01-22 23:16:46 +01:00
3dae60f559 add missing stubs to make it pass the compiler 2009-01-22 17:29:17 +01:00
Joel Holdsworth
69253909e3 Initial drop code added 2009-01-21 23:48:56 +00:00
Joel Holdsworth
f18c039074 Replaced an errant Glib::ustring with std::string 2009-01-21 22:18:55 +00:00
Joel Holdsworth
5eadcfb56a Added boost and std namespaces to model/track.cpp 2009-01-21 22:15:50 +00:00
Joel Holdsworth
355da88630 Added a dragging cursor 2009-01-21 18:40:13 +00:00
Joel Holdsworth
cb13f5f74c Merge branch 'master' of git.lumiera.org:/git/LUMIERA into gui 2009-01-21 18:21:08 +00:00
Joel Holdsworth
1472a2ebe4 Improved track drop code 2009-01-21 18:20:11 +00:00
974e83676a Further ClassLock refactoring; added linkonce assertion check 2009-01-21 13:04:28 +01:00
801f070a7d Fix for broken logic of the ClassLock (showed up on Ubuntu Hardy)
this was nice copy-n-paster error, of course the implementation
namespace was never intended to be anonymous.
2009-01-21 12:19:02 +01:00
Joel Holdsworth
78e0f9bbe6 WIP: Gave dragging a more immediate feeling 2009-01-21 00:20:33 +00:00
Joel Holdsworth
d209e0e2f2 Made drop targets more sensible 2009-01-20 23:31:40 +00:00
Joel Holdsworth
d42bc4ea90 Fixed a bug in tree 2009-01-20 23:17:40 +00:00
Joel Holdsworth
b0f56c070d WIP: Initial commit of prototype real drop hit test code 2009-01-20 21:39:33 +00:00
962921d375 WIP (still doesnt compile...) add impl of the forwarding proxy... 2009-01-20 12:41:21 +01:00
Joel Holdsworth
f6e28febdb Removed static App* constants in GtkLumiera - replaced with static
functions
2009-01-19 19:25:06 +00:00
Joel Holdsworth
977cbf9e64 Fixed track drag raise behaviour 2009-01-19 18:14:52 +00:00
60d41ea017 WIP (unfinished, doesn't compile) flesh out some impl details 2009-01-19 12:43:28 +01:00
29b9887faa first draft of a Dummy-Player service 2009-01-19 11:38:20 +01:00
198d6bde73 better make GuiNotification an experimental interface (Version=0) 2009-01-19 02:21:41 +01:00
Joel Holdsworth
1be33426e4 Reduced the hack level in the test card 2009-01-18 23:26:41 +00:00
c6bc14375c write a draft how I'd like to deal with joining threads. 2009-01-18 22:14:56 +01:00
2679156a9c Thread-wrapper: improve comments, push action down into private function 2009-01-18 22:14:56 +01:00
63565ebd97 merge latest work from Joel for colaboration on the Player mockup, adjusting build-dependencies 2009-01-18 22:13:17 +01:00
Joel Holdsworth
20b2cb1ee5 Implemented a funky test card generator 2009-01-18 17:41:55 +00:00
Joel Holdsworth
b0db84ec14 Implemented intial playback controller thread 2009-01-18 16:17:39 +00:00
Joel Holdsworth
9197aa2ddf WIP: PlaybackController can now push frames to the Viewer 2009-01-17 17:37:06 +00:00
Joel Holdsworth
ebe91793c5 WIP: Corrected some compile problems 2009-01-17 16:53:01 +00:00
Joel Holdsworth
bbbda188e2 Merge branch 'master' of git.lumiera.org:/git/LUMIERA into gui 2009-01-17 16:34:19 +00:00
Joel Holdsworth
d3f94730b5 Removed a spurious include 2009-01-17 16:17:42 +00:00
Joel Holdsworth
d166238922 Added the new controller classes 2009-01-17 16:12:11 +00:00
Joel Holdsworth
ebb552e323 Transitioned to references of project instead of pointers 2009-01-17 15:38:39 +00:00
Joel Holdsworth
47296381a8 WIP: Added keep-above code 2009-01-17 15:05:19 +00:00
d1d8d164e1 fix the logging flag "sync" using the wrong parent 2009-01-17 14:31:40 +01:00
054c652571 improve error handling when starting the GUI thread 2009-01-17 14:31:40 +01:00
Joel Holdsworth
7a939e5d87 Added header dragging scroll slide animation 2009-01-17 11:09:44 +00:00
Christian Thaeter
bb8ad9fbd5 move threads back into the backend 2009-01-16 02:18:58 +01:00
Joel Holdsworth
c9d269872e Fixed a bug with dragging when the timeline is scrolled down 2009-01-15 18:57:58 +00:00
Joel Holdsworth
0b5fb555b6 Added dragging of whole branches 2009-01-15 18:54:13 +00:00
83e0c44a49 (irrelevant) fixes to make the dummy/demo build work again 2009-01-15 14:48:07 +01:00
13ca25569a merge plugin building rule and cleanup done for starting the GUI as module 2009-01-15 14:22:01 +01:00
Christian Thaeter
4172bdf17f move vgsuppression to tests/tool, it will only needed for running tests 2009-01-15 01:34:01 +01:00
Christian Thaeter
9665aa1df9 Apply log levels to existing errors 2009-01-15 01:05:07 +01:00
Christian Thaeter
a78ec21fea ERROR_SET_* macros for different logging levels 2009-01-15 01:05:07 +01:00
Joel Holdsworth
f93d224977 Squashed a race condition bug 2009-01-15 00:03:35 +00:00
Joel Holdsworth
bf2c1f1e45 Merge branch 'master' of git.lumiera.org:/git/LUMIERA into gui 2009-01-14 23:56:43 +00:00
Joel Holdsworth
75d2890ab7 WIP: Added new header code 2009-01-14 23:22:04 +00:00
Joel Holdsworth
4a8f5629f6 WIP: Restructured track headers for more refined drag support 2009-01-14 23:20:43 +00:00
5f10e65852 path fix for Autotools 2009-01-14 21:10:30 +01:00
aa8896a79f merge resolution of some build/dependency problems 2009-01-14 12:31:20 +01:00
9cfa0e5522 push starting of the GUI thread down into the gui plugin 2009-01-14 12:28:24 +01:00
e8469d5552 chaninsaw surgery to resolve the most urgent dependency problems with lib 2009-01-14 12:15:13 +01:00
Christian Thaeter
d37bb17566 Add a context string to the error system
lumiera_error_set() now takes an optional extra string which can be used
to pass context relevant data along. This string gets copied into the
error state so one can easily create it by the tmpbuf_snprintf() facility.

Also a lot of places which define errors get fixed according to this.
2009-01-13 21:23:37 +01:00
bdffc18101 move all tools to src/tool and remove admin dir from build 2009-01-13 12:16:48 +01:00
1b9580b1d4 SCons: define lib dependencies more fine grained (core, lib, app+lib etc) 2009-01-13 11:52:04 +01:00
Joel Holdsworth
fade287745 Merge branch 'master' of git.lumiera.org:/git/LUMIERA into join
Conflicts:

	src/gui/Makefile.am
2009-01-11 00:15:01 +00:00
Joel Holdsworth
d2d27abe4a Added pt_in_rect function 2009-01-10 21:43:24 +00:00
Joel Holdsworth
542af7cc80 WIP: Added preliminary track dragging support 2009-01-10 21:25:05 +00:00
5b68a39cc4 move threads from backend to liblumiera
otherwise lib and common would depend on backend
2009-01-10 21:50:03 +01:00
ba9b72bce4 Fixes after merge 2009-01-10 21:35:43 +01:00
e64e9a19b6 Merge GUI loading and startup, incl opening of facade interface 2009-01-10 19:12:48 +01:00
f75bb233ba fix warnings and problems detected by gcc 4.3 / Lenny 2009-01-10 17:01:09 +00:00
b6fb135398 change error notification at subsystem shutdown to use just a string*
(this allows to memoize the error message and call the termination
handler outside the catch block)
2009-01-10 16:15:17 +01:00
3da9586824 Rewrite the GuiNotification service to operate in sync with bringing up the GUI 2009-01-10 15:29:11 +01:00
Joel Holdsworth
27ffbd1875 Retire expander_from_point 2009-01-10 12:58:58 +00:00
Joel Holdsworth
baa88abad0 Further tidied and simplified update_headers 2009-01-10 11:11:30 +00:00
Joel Holdsworth
c9420126f1 Retired iteration through the model tree in header container 2009-01-10 11:08:48 +00:00
Joel Holdsworth
ab900e6b28 Tidied TimelineHeaderContainer::update_headers 2009-01-10 11:03:12 +00:00
Joel Holdsworth
fcd5cd8117 Tidied up update_headers 2009-01-10 11:02:29 +00:00
Joel Holdsworth
dbc36cf727 Reorganised set_parent in header container 2009-01-10 10:50:44 +00:00
Joel Holdsworth
d02ce9b283 Fixed minor bug in expander animation 2009-01-09 23:28:51 +00:00
Joel Holdsworth
0697d2a83e Retired TimelineHeaderContainer::size_request_recursive 2009-01-09 20:16:54 +00:00
Joel Holdsworth
1f73978dd4 Added is_animating function 2009-01-09 20:03:55 +00:00
Joel Holdsworth
06f2abb6fa Transitioned TimelineWidget to use on_layout_changed 2009-01-09 20:02:09 +00:00
Joel Holdsworth
6d730ee3ae Added on_layout_changed event handler 2009-01-09 20:00:04 +00:00
Joel Holdsworth
98568c8669 Fixed a minor formatting error 2009-01-09 19:59:13 +00:00
Joel Holdsworth
57d73eca1e Removed an obselete constant 2009-01-09 19:49:57 +00:00
4ffa60161b Integration with InstanceHandle 2009-01-07 12:26:44 +01:00
635b9441f4 WIP rewrite the existing solution for the GuiNotification facade
using this new approach (not functional yet, because laci of
automatic integration with InstanceHandle.
2009-01-06 06:40:44 +01:00
24fe4bcb70 separate and hide away implementation part into common/interfaceproxy.cpp 2009-01-06 06:18:13 +01:00
afcea26399 wrap into additional namespace lumiera::facade 2009-01-06 06:15:36 +01:00
8a40075ee8 WIP expand on this draft to build a prospective solution 2009-01-06 06:09:46 +01:00
Joel Holdsworth
b48d8fc49b Tidied up, simplified and documented expand animation code 2009-01-05 20:03:52 +00:00
Joel Holdsworth
22c9e8b082 Merge branch 'master' of git.lumiera.org:/git/LUMIERA into gui 2009-01-05 17:59:23 +00:00
57ca80c2fc WIP continued drafting... 2009-01-05 16:17:53 +01:00
31a112acaa some typos 2009-01-05 16:17:17 +01:00
Christian Thaeter
9749178a06 Add some missing semicolons, the upcoming NoBug will be picky about that 2009-01-05 08:33:15 +01:00
Joel Holdsworth
43897d214d Made animation time based not tick based 2009-01-05 00:05:14 +00:00
Joel Holdsworth
8db54f1179 Removed some debug messages 2009-01-04 23:32:29 +00:00
Joel Holdsworth
05b17a7148 Simplified the layout animation a little 2009-01-04 21:16:45 +00:00
Joel Holdsworth
f3339a538b Tweaked the documentation for the layout_headers_recursive 2009-01-04 20:29:54 +00:00
Joel Holdsworth
e74e55df98 Tidied up TimelineLayoutHelper::layout_headers_recursive 2009-01-04 20:29:05 +00:00
8d4bc62fbe WIP start drafting a better InterfaceProxy handling 2009-01-04 15:21:04 +01:00
Joel Holdsworth
c401207dba Refactored creating Track::get_expander_style() 2009-01-03 21:57:24 +00:00
Joel Holdsworth
18d7290c61 Added expander button animation 2009-01-03 17:36:33 +00:00
Joel Holdsworth
932697b836 Made animation parabolic 2009-01-03 17:22:12 +00:00
Joel Holdsworth
dc9dd3fbd7 WIP: Initial track tree expand animation 2009-01-03 16:06:30 +00:00
e8229623bc Integration: complete GTK-GUI loaded from main Lumiera App. !Yay! 2009-01-03 16:57:51 +01:00
Joel Holdsworth
2d4a341123 Transition TimelineHeaderContainer::draw_header_decoration to use the
layout tree
2009-01-03 15:21:04 +00:00
edb01ec8c6 Integration: Thread/sync, GUI-Plugin invoked in separate thread 2009-01-03 16:05:04 +01:00
683e1dabe1 cleanup, add further testcase (starting prerequisite subsystems)
SubsystemRunner considered finished.
2009-01-03 13:32:24 +01:00
f90238dba4 chased two bugs... 2009-01-03 04:29:59 +01:00
Joel Holdsworth
1d376e4292 Wrapped TimelineBody::track in a scoped_ptr 2009-01-02 16:47:29 +00:00
Joel Holdsworth
cd94bf9765 Transitioned TimelineBody and timeline tools to having reference to
TimelineWidget not pointers
2009-01-02 16:32:40 +00:00
Joel Holdsworth
6bfef606a0 Transition TimelineRuler to have a reference to TimelineWidget not a
pointer
2009-01-02 16:21:52 +00:00
Joel Holdsworth
9581fc6779 Corrected a small mistake in timeline-header-container.cpp 2009-01-02 16:18:29 +00:00
Joel Holdsworth
fa60ea76dd Small correction to timeline-header-container.hpp 2009-01-02 16:17:10 +00:00
Joel Holdsworth
bf0cfc295e Transitioned TimelineHeaderContainer to having a reference to
TimelineWidget, not a pointer
2009-01-02 16:15:42 +00:00
Joel Holdsworth
eb6f364084 Merge branch 'newlayout' into gui 2009-01-02 16:07:58 +00:00
Joel Holdsworth
dfbe3764cd Added documentation to timeline-layout-helper.hpp 2009-01-02 15:54:32 +00:00
Joel Holdsworth
a28a901539 Added an extra const of consistency 2009-01-02 15:47:56 +00:00
Joel Holdsworth
643e1c9be1 Fixed an undefined constant 2009-01-02 15:26:12 +00:00
Joel Holdsworth
8ad308e679 Fixed the find functions so they're offset by the scroll position, not
absolute
2009-01-02 15:25:45 +00:00
Joel Holdsworth
2a9f1764c8 Tidied TimelineLayoutHelper 2009-01-02 13:18:09 +00:00
Joel Holdsworth
8debd21363 Squished some warnings in lib/tree.hpp 2009-01-02 13:10:56 +00:00
Joel Holdsworth
1c685a2d61 Added a new layout update infrastructure 2009-01-02 13:03:00 +00:00
Joel Holdsworth
a501616a87 Transitioned TimelineLayoutHelper::get_track_header_rect to return
weak_ptr
2009-01-02 12:43:21 +00:00
Joel Holdsworth
e135cb18cb Removed TimelineBody::track_from_point 2009-01-02 12:41:30 +00:00
Joel Holdsworth
86947936a5 Tidied TimelineBody::draw_track somewhat 2009-01-02 12:20:43 +00:00
Joel Holdsworth
bcd5dababe Transitioned TimelineBody drawing code to use the TimelineLayoutHelper 2009-01-02 12:17:19 +00:00
Joel Holdsworth
9fac0b8b46 Renamed some local variables for greater consistency 2009-01-02 11:53:32 +00:00
Joel Holdsworth
c05f0fbbfb Added a comment 2009-01-02 11:39:45 +00:00
2aab2491aa deal with a race regarding argument passing 2009-01-02 08:02:27 +01:00
120fbf8f01 temporary addition: signalling successful thread creation
(I take it the final implementation will provide something equivalent,
without such a check, failure to create the thread results in deadlock)
2009-01-02 08:01:51 +01:00
Joel Holdsworth
325a2101e7 Moved read_styles to occur earlier in the creation of
TimelineHeaderContainer
2009-01-02 00:47:09 +00:00
Joel Holdsworth
e3a7b896d0 Removed debug g_message calls 2009-01-02 00:45:20 +00:00
Joel Holdsworth
8285daec39 Added more strictness to the use of read_styles 2009-01-02 00:44:10 +00:00
Joel Holdsworth
85d6a19dd4 Fixed a bug caused by TimelineHeaderContainer::read_styles being called
at the wrong time
2009-01-02 00:33:40 +00:00
Joel Holdsworth
afb5b7298f WIP: Applying new layout system 2009-01-01 18:43:46 +00:00
Joel Holdsworth
ac28251915 Added layout code from TimelineHeaderContainer 2009-01-01 13:31:34 +00:00
Joel Holdsworth
0f3b290b6d Tweaked tree.hpp to improve documentation to work better in lumiera
doxygen
2009-01-01 12:34:39 +00:00
Joel Holdsworth
8d44b90a8b Removed a spurious lumiera:: 2008-12-31 17:29:57 +00:00
Joel Holdsworth
8d092d3b85 Added TimelineLayoutHelper::clone_tree_from_sequence 2008-12-31 17:05:32 +00:00
2f34637088 wire in the new threads implementation from backend... 2008-12-31 06:56:31 +01:00
8c892846e1 renaming etc... 2008-12-31 05:05:34 +01:00
Joel Holdsworth
78a9ebb258 Added a track tree object to the layout helper 2008-12-30 23:07:59 +00:00
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
62922d357b (irrelevant) changes to make the dummy code build and load shared module
Explanation: together with the bare SCons build system, on this branch I added
some dummy codefiles, to validate the build system is working as merged in from master
2008-12-20 03:40:28 +01:00
f6209d99d3 Merge: change building to create modules
includes DistCC and CCache support,
LUMIERA_PLUGIN_PATH and LUMIERA_CONFIG_PATH
non-verbose build messages
2008-12-20 02:15:33 +01: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