Commit graph

3273 commits

Author SHA1 Message Date
8802beb753 rereading (and rewrapping) the builder/engine code...
started this a long time ago, then got sidelined....
2010-12-09 22:43:32 +01:00
Stefan Kangas
41e6750163 Move time conversion logic from lumitime.cpp to time.c 2010-12-06 16:18:54 +01:00
Stefan Kangas
cc95c0df97 Fix two minor typos 2010-12-06 13:46:50 +01:00
Stefan Kangas
2909804538 Add preliminary implementation of a menu option Window/Close Window 2010-12-06 13:40:32 +01:00
Stefan Kangas
df15c3d654 Change format of placeholder in About/Credits to stop it from being a clickable link 2010-12-06 03:41:07 +01:00
Stefan Kangas
9a881c95df Enable lock/unlock and disable/enable individual tracks in the GUI 2010-12-06 03:40:15 +01:00
ee56ab36a0 Definition of ModelPort, model port reference and -table (#718) 2010-12-05 02:46:37 +01:00
145ad6c3a5 more (trivial) cleanup and renaming 2010-12-05 02:46:37 +01:00
828206e6b1 OutputMapping unit test pass (closes #651 and #716) 2010-11-28 05:18:57 +01:00
c7794e7cbf rewrite to retrieve default-pipe query from the defintion context 2010-11-28 02:16:39 +01:00
5ba7468f41 OutputMapping implementation complete, pending unit test 2010-11-28 01:43:55 +01:00
fc051dfcba OutputMapping implementation draft
coded up the easy part, omitting the actual resolution
based on an configuration query
2010-11-27 06:01:31 +01:00
1e2d4d90f6 start using a typedef HashVal instead of size_t (#722) 2010-11-27 05:11:02 +01:00
f9bc292ac3 better use boost::operators for full equality comparison support 2010-11-27 04:21:39 +01:00
c3d29d1eb3 OutputMapping: interface refactorings to yield a cleaner structure 2010-11-27 03:59:07 +01:00
56c1387cd5 OutputMapping: finish interface draft (stubbed) 2010-11-25 05:35:50 +01:00
645ddd284c WIP Solution draft for defining an output mapping type 2010-11-25 04:52:49 +01:00
a7ec680955 WIP chewing on the problem how to define a output mapping type 2010-11-24 06:21:32 +01:00
0866d2c191 convenience lookup function for pipes 2010-11-24 06:20:53 +01:00
b42e5c859f Test-driven brainstorming: how should output mapping be used? 2010-11-23 03:40:11 +01:00
5ae1f819f2 Finished the design of global pipes 2010-11-21 02:29:26 +01:00
272f3d75ff finish OutputDesignation definition and outline. (closes #312) 2010-11-19 19:10:24 +01:00
9473fd3d67 OutputDesignation implementation draft 2010-11-19 05:01:43 +01:00
71f1dfede8 WIP output mapping draft (#716) 2010-11-17 04:49:21 +01:00
250bfeaee5 use the new OptionalRef to protect session shutdown
The original version was sensible to static initialisation order,
which shold be resolved now, because of OptionalLink's dtor
explicitly disabling any further access.
2010-11-06 22:56:17 +01:00
bd361523d1 better use functor-style access instead of implicit conversion 2010-11-06 22:49:32 +01:00
f597e7c8b4 optional object link implemented and working 2010-11-06 22:32:08 +01:00
07f7837a7b draft behaviour of a optional/switchable object link 2010-11-06 21:23:35 +01:00
1b95a02f14 Autotools fixes 2010-11-06 18:17:25 +01:00
40627b1c12 fix a regression, caused by removing the special Struct-ID handling 2010-11-05 04:32:35 +01:00
4cef8474ed fake-configrules: remove magic "make" token (closes #707)
use backdoor function on the StructFactory instead
Mark such backdoor-functions with Ticket #710
2010-11-02 04:09:06 +01:00
1f511c327a try to get rid of the query functions on asset::Struct (#706) 2010-10-31 02:02:31 +01:00
7a53f65508 remove the separate pipeID field, because now the asset name is sufficient 2010-10-29 06:09:06 +02:00
de54e46a12 remove the encoded capabilities from Struct asset ID (#565) 2010-10-29 06:04:03 +02:00
08d90be1b6 get the sesison element-tracker integration test to pass 2010-10-29 05:24:19 +02:00
7c758b04db rename Struct-Asset factory function to better reflect the semantics 2010-10-29 04:28:46 +02:00
da04e13213 re-thinking the pattern of the fake implementation 2010-10-28 03:57:12 +02:00
61a2e26bc8 rework fake-resolution, now searching the session
this whole creation-logic seems to be somewhat broken
2010-10-27 07:26:33 +02:00
fcbd18621e session: attaching and detaching objects 2010-10-26 05:37:14 +02:00
0733b0c39b add a faked query resolution, creating new Timelines and Sequences on demand 2010-10-26 04:54:51 +02:00
987026f4c8 implement creation of "default" Timeline 2010-10-25 06:08:36 +02:00
13e1a3a943 mostly unimplemented... referring the relevant tickets 2010-10-25 03:08:52 +02:00
9fc366bd25 session lifecycle implementation.. 2010-10-24 06:50:00 +02:00
85b62d99dc stubbed the lifecycle operations 2010-10-24 02:48:00 +02:00
9bdfface63 implementation draft of session lifecycle 2010-10-24 02:27:38 +02:00
796c4488a5 planning session lifecycle implementation 2010-10-23 05:58:14 +02:00
ad452a9dd4 activate complete SessionElementTracker_test
(doesn't pass yet -- missing sesison initialisation)
2010-10-20 05:12:13 +02:00
d1dd3e2677 saveguard against deregistering from an alredy destroyed session 2010-10-20 04:42:22 +02:00
da45bb06f7 connect Timeline/Sequence tracking to current session on initialisation 2010-10-20 04:08:58 +02:00
6cda74c31e connect element-tracking to the asset unlink mechanism 2010-10-20 04:00:05 +02:00
83ea56e3ec hook automatic element-tracking into Sequence asset 2010-10-19 04:29:05 +02:00
b35c4b4871 hook automatic element-tracking into Timeline asset 2010-10-19 04:19:38 +02:00
fc0cefcadc review the asset dependency handling in AssetManager 2010-10-19 03:53:36 +02:00
3e9c337ac0 review and verify lib::ElementTracker 2010-10-18 05:33:46 +02:00
884e3600bd experimental: allow implicit converisons to/from Placement-ID 2010-10-17 06:30:56 +02:00
120973311a Session ElementQuery unit test pass (closes #639) 2010-10-17 05:54:21 +02:00
da994cf9fd draft a test to cover ElementQuery (Session API)
trying to get #639 closed...
discovered, that I had already implemented this
filtering query in 6/2010
2010-10-17 05:08:47 +02:00
d8c06fac1e add diagnostic self display to QueryFocus 2010-10-16 02:21:20 +02:00
c772359440 add diagnostic self display to ScopePath 2010-10-16 02:21:20 +02:00
e48a9fb811 add diagnostic self display to placement-Scope 2010-10-16 02:21:20 +02:00
48605827a6 Add test to cover the very basic MObject interface 2010-10-16 02:21:20 +02:00
b9e99a2be2 add ability to generate a short-ID to MObject hierarchy 2010-10-16 02:21:20 +02:00
b15a1c2d3c changed wording of the error message 2010-10-16 02:21:20 +02:00
73a1adcdf5 QueryFocus_test working now (still without diagnostic output) 2010-10-16 02:21:19 +02:00
a0234ecc38 get QueryFocus_test to compile with the (now existing) implementation 2010-10-16 02:21:19 +02:00
64f017da43 QueryFocusStack_test pass 2010-10-16 02:21:19 +02:00
46597009f9 get the basic ScopePath_test to pass 2010-10-16 02:21:19 +02:00
5c28b5d46e re-read, verify and finish off the Scope, ScopeLocator and QueryFocus implementation 2010-10-16 02:21:19 +02:00
119f7be36c define copy operations explicitly (closes #662)
ScopePath and Scope implementation should be roughly complete
2010-10-16 02:21:19 +02:00
bba9ce2570 code up the remaining Scope operations. Closes #430 2010-10-16 02:21:18 +02:00
6dd18f96c6 extend the session services API to support scope discovery
This allows the implementation of the Scope class to access
the current Session / PlacementIndex behind the scenes
2010-10-16 02:21:18 +02:00
99f29f9795 now able to build a IterSource based opaque const Scope iterator
for this to work, scope-path.hpp injects an explicit specialisation,
causing the RangeIter defined in ScopePath to yield const Scope
2010-10-16 02:21:18 +02:00
02d6d6a65c extract iter::TypeBinding into separate header to allow explicit specialisation 2010-10-16 02:21:18 +02:00
fdfb946d63 preparation to allow explicit type bindings for iter-adapter 2010-10-16 02:21:18 +02:00
e5de12fc7a (draft) maybe solved the problem defining a scope iterator
actually that would require to extract the IterTraits
from iter-adapter.hpp to allow for such dedicate specialisations
2010-10-16 02:21:18 +02:00
2c58e595c0 augment IterSource adapters by definition through classical iterator range 2010-10-16 02:21:18 +02:00
9593d388cc back out that caching query, it's nonsense
defeating the whole purpose of that interface
2010-10-16 02:21:18 +02:00
001a45f64a WIP implementation idea how to get both iterations unified 2010-10-16 02:21:18 +02:00
e14aba833e remove the parent-iteration capability from Scope
its not needed yet, and would be surprisingly tricky
to implement, so lets get rid of it!
Use QueryFocus or ScopeLocator instead
2010-10-16 02:21:17 +02:00
d5cdd39f52 WIP trying to code up the public query function for scope paths
problem is how to get an iterator compatible with ScopeQuery...
2010-10-16 02:21:17 +02:00
088922a790 remove obsolete helper
seems to be a leftover, obsoleted by the simplifications done this june
in c80b1894e6 Ticket #641
2010-10-16 02:21:17 +02:00
58757281b0 rearrange the query functions to suit the changed ScopePath internals 2010-10-16 02:21:17 +02:00
1fe76e33a2 WIP: move the (planned) logic for virtual paths to ScopePath::navigate() 2010-10-16 02:21:17 +02:00
d1d7f3bc58 decided on an extension point to add virtual/effective paths
we need that later to get full meta-clip functionality
2010-10-16 02:21:17 +02:00
8078357e3c revisiting the binding scope problem 2010-10-16 02:21:17 +02:00
a29591c299 SCons: several small improvements, e.g. valgrind-suppressionfile 2010-07-26 03:24:15 +02:00
Christian Thaeter
c66b71deb2 extend fileheader with some flags and endianess mark 2010-07-21 06:13:59 +02:00
Christian Thaeter
c908cf4807 Start of 'fileheader' implementation
Lumiera will create and use some files on its own (caches, indices). This
lies the foundation for identifying this files.
2010-07-21 06:13:59 +02:00
Christian Thaeter
51e5b8a90c FIX: missing stdint.h include in tmpbuf.c for SIZE_MAX 2010-07-21 06:13:07 +02:00
Christian Thaeter
25c3b04ec8 FIX: tmpbuf.h include for tools 2010-07-21 05:05:33 +02:00
Christian Thaeter
c34e6d547e FIX: tmpbuf.h for lib/time 2010-07-21 05:05:33 +02:00
Christian Thaeter
3c338d1b19 FIX: tmpbuf.h include for common/plugin 2010-07-21 05:05:33 +02:00
Christian Thaeter
2f92a958a8 FIX: tmpbuf.h includes in common/config 2010-07-21 05:05:33 +02:00
Christian Thaeter
f967f9427b FIX: tmpbuf.h includes in backend 2010-07-21 05:05:32 +02:00
Christian Thaeter
0158c1b88d WIP: factor tmpbuf out of safeclib
* tmpbuf got its own implementation files
 * Some optimizations on the tmpbuf implementation, handling tiny,
   small and huge allocations better.
 * tiny allocation smaller than sizeof(void*) are not aligned
 * Reduced the ring sizes to 16 (configureable in tmpbuf.h)

This is only the tmpbuf refactoring, fixes following on the next
commits.
2010-07-21 05:05:26 +02:00
Christian Thaeter
bc989dab7a put 'VCALL' into its own lib header
There will be some use for it at other places too (config system)
2010-07-21 04:50:04 +02:00
Christian Thaeter
81da2ebc5d Small fix in nobug assertions for mmap_address() 2010-07-21 04:50:04 +02:00
Christian Thaeter
677f8712ee FIX: glitch in filehandle cache refcounters 2010-07-21 04:50:03 +02:00
Christian Thaeter
da23204bf3 Exclusive file locking
This adds global exclusive advisory file locks on a per-thread basis.
Only exclusive locking for a whole file is supported to setup headers etc.
Finer grained locking will be handled somewhere else.
2010-07-21 04:49:51 +02:00
Christian Thaeter
2dfef6cac4 add nobug flag to FILE_MMAP_SECTION() macro 2010-07-21 04:49:50 +02:00
Christian Thaeter
a8339fb5d0 add mmaping of exact blocks
namely file headers needs to be accessed unaligned and exactly as given,
this adds mmap functions to create mmap objects to do this.
2010-07-21 04:49:50 +02:00
Christian Thaeter
c4cbde9853 add a 'bias' to offset mmaped clusters
We will need cluster/page aligned access for certain files (indices),
this files will contain an initial header describing the contents. A bias
is used to step over this header and align the following data.
2010-07-21 04:49:40 +02:00
Christian Thaeter
84ec2b6a77 FIX: small refcounter glitch on mmap
freshly created mmaps have a refcounter set to 1 now, acquire a new
mmap only increments the refcounter when its checked out from cache.
2010-07-21 04:49:40 +02:00
Christian Thaeter
cd0cd341c0 Remove 'self' parameter from mmapcache calls, make it proper singleton 2010-07-21 04:49:40 +02:00
Christian Thaeter
3201ae5d8c remove acquirer list for mmap regions in use, refcount is enough 2010-07-21 04:28:42 +02:00
Christian Thaeter
e0939e9469 improve the mmap handling
* add frontend interfaces to file to get a mmaping
 * SECTION macro to encapsulate mmap access
 * mmap_address() translating an actual offset to address
 * add some tests
 * some test cosmetics
2010-07-21 04:28:42 +02:00
Christian Thaeter
f887ee81ff fix a small memory leak
forgot to delete the filedescriptorregistry tree, destroyed it only.
2010-07-21 04:28:42 +02:00
788e5646af Testsuite: throw if Test-ID is unknown (Ticket #649) 2010-07-17 01:07:23 +02:00
Christian Thaeter
99d5d3765f FIX: Add remaining tests to the Makefiles, sort Makefiles 2010-07-16 21:44:44 +02:00
Christian Thaeter
d6a18ed9a7 post-merge autotools fixup 2010-07-16 05:39:01 +02:00
adba17472e Merge recent small GUI fixes by S.Kangas
Merge commit 'skangas/minor-fixes'
2010-07-14 04:46:51 +02:00
e16ca49894 Merge in new (experimental) 'advice' concept 2010-07-14 04:33:42 +02:00
Stefan Kangas
a0804920bd Fix several minor typos 2010-07-11 19:59:08 +02:00
Stefan Kangas
fe87453441 Add tooltips to timeline panel buttons 2010-07-07 04:07:39 +02:00
Stefan Kangas
204f3c7ee9 add http:// to website, making link in about window clickable 2010-07-05 05:01:06 +02:00
5c6a6c150f clean up any remaining use of wstring
I consider wstring a deprecated technology
UTF-8 is all we need
2010-06-27 03:48:00 +02:00
562e571624 Purge Track-Asset from codebase (Ticket #581)
From now on EntryID<mobject::session::Track> will play this role
2010-06-21 03:43:25 +02:00
b7353c6368 indentation 2010-06-20 05:23:08 +02:00
1089b339d0 code up querying for specific track, as used in the StructFactory 2010-06-20 05:19:47 +02:00
edbb2410a0 factor out a new session API sub-module for the global query functions 2010-06-20 04:30:42 +02:00
daba3f2a09 fix some namespace doxygen descriptions 2010-06-20 01:53:21 +02:00
5e104b633a querying for specific objects (automatically pick target type) 2010-06-19 08:47:28 +02:00
c1cb5320e0 factor the specific query into separate header 2010-06-19 05:37:39 +02:00
c80b1894e6 Clean up design of ScopeQuery, throw out Iterator mixin (closes #641) 2010-06-19 05:20:34 +02:00
4f6fa69f2b investigate the design problems (issuing scope exploartion queries) 2010-06-19 03:36:46 +02:00
8f0dd93308 try to reorganise confusing API arrangement. leads to discovering Bug #641 2010-06-18 03:12:59 +02:00
fab1c699ea draft test to verify behaviour
but doesn't work; somehow the filterfunciton of the baseclass
gets installed
2010-06-16 06:45:38 +02:00
a8dcd9f494 idea how to implement searching for objects with specific properties 2010-06-16 05:56:44 +02:00
a1f3ad835b investigating the problem of finding an object with given conditions 2010-06-15 05:24:05 +02:00
c6c7214826 try to break the design deadlock with sequence / track creation 2010-06-14 02:08:45 +02:00
fc3e43bb19 re-reading my design and plannings from March, identiyfying next steps to take 2010-06-13 03:34:12 +02:00
e574fdf702 fix a regression regarding struct-asset naming scheme 2010-06-13 00:31:41 +02:00
68aefe5074 implement a simple singleton holder for NIL/default objects 2010-06-12 19:45:01 +02:00
2debae62e0 add locking to protect the advice index table mutations
clearly, this locking is quite global, and this couldb be
improved by using a more elaborate index structure
2010-06-12 19:32:25 +02:00
e020601ebd refactor AdviceSystem access 2010-06-12 19:06:56 +02:00
7b8f02ef20 change index/solution interface into protected
not to be used by client code, only by the index
2010-06-12 17:51:55 +02:00
a93d8a42e4 use killer-stash to resolve the AdviceSystem memory leak 2010-06-12 03:33:40 +02:00
cb838ba5b6 extend killer-stash to allow registration of custom deleter functions 2010-06-12 03:12:02 +02:00
59145e0f14 Refactor storing of advice to prepare for actually managing the storage 2010-06-11 04:12:11 +02:00
4fb884669b ooops... didn't invoke the dtor when releasing an Advice holer 2010-06-08 04:26:28 +02:00
eb19f59ba0 deleter memorising component passes unit test (#629) 2010-06-07 03:32:41 +02:00
9aca348870 code up implementation of this killer-stash 2010-06-07 02:14:10 +02:00
6b90767468 draft a component to manage deleter functions 2010-06-06 04:26:23 +02:00
dee4c33c55 change the index-interface from free to member functions
part of Ticket #628
2010-06-06 02:11:40 +02:00
2360f9b4c0 Advice colaboration: implemented and passes basic unit test 2010-06-05 05:09:42 +02:00
7d93dae8ea fix some simple problems (but doesn't pass tests yet)
looks like a logic error: new advice::Request got solution
2010-06-04 20:10:46 +02:00
203b955a33 add preliminary buffer memory management by heap allocation
TODO: use the lumiera pool allocator, prevent leak of any
advice data not explicitly retracted!
2010-06-04 19:33:42 +02:00
5a615ee4f8 consider advice::Index exception safety 2010-06-04 18:39:39 +02:00
7895ce5f49 solve the problem with re-binding and advice::Request 2010-06-04 17:25:33 +02:00
666d57f6ef code up the obvious part of the AdviceSystem implementation 2010-06-04 04:35:40 +02:00
d0e7f9b77d use the NullValue holder to solve the problem with default advice solutions
Implementation is simple, but the implications might be tricky
2010-06-03 04:40:38 +02:00
72c01e12c9 implement a simple singleton holder for NIL/default objects 2010-06-03 04:40:38 +02:00
91c2763fa4 WIP considering how to manage default / fallback advice 2010-06-03 04:40:38 +02:00
a9595d0a7f refactor link to the advice system into separate baseclass 2010-06-03 04:40:38 +02:00
74e12dd17a factor advice holding buffer into separate Class 2010-06-03 04:40:37 +02:00
d5ebe14d73 add (protected) calls to the AdviceSystem 2010-06-03 04:40:37 +02:00
69af735070 reconsider advice implementation. Investigate some tricky implementation decisions 2010-06-03 04:40:37 +02:00
7dcdff3287 advice-basics: stubbed and fixed to pass compiler 2010-06-03 04:40:37 +02:00
83b5c8c2c2 WIP code up external advice API 2010-06-03 04:40:37 +02:00
c9437b3bff binding index unit test pass 2010-06-03 04:40:37 +02:00
0c123e4af3 Bugfix 2010-06-03 04:40:36 +02:00
ca93b11010 provide self-verification. Advice index impl. now complete
but not yet tested...
2010-06-03 04:40:36 +02:00
d00d42b58c code up the core solution finding logic 2010-06-03 04:40:36 +02:00
e0cfa6798f implement the diagnostic operations 2010-06-03 04:40:36 +02:00
f1be9886fa fix problem with comparisions / containment check 2010-06-03 04:40:36 +02:00
d4433fb3f3 WIP code high-level index functionality 2010-06-03 04:40:36 +02:00
bf02d6d03f adapter interface for the test-entry 2010-06-03 04:40:36 +02:00
3c35e2a95f WIP code up index functionality... 2010-06-03 04:40:36 +02:00
530940254e stubbed advice binding index implementation 2010-06-03 04:40:36 +02:00
c8ac2b0447 planning the advice binding index implementation 2010-06-03 04:40:35 +02:00
5b48b9f864 fix a regression regarding struct-asset naming scheme 2010-06-03 04:40:35 +02:00
0514c24487 Advice binding pattern finished, passing unit test
now detecting a lot of syntax errors
2010-06-03 04:40:35 +02:00
1e28c7f1ab get the advice binding unit test to pass thus far 2010-06-03 04:40:35 +02:00
85f8035f92 Implement parsing of Advice binding pattern spec 2010-06-03 04:40:35 +02:00
f2269b7e78 Implement Advice binding pattern 2010-06-03 04:40:35 +02:00
f27024172f Implementation skeleton for advice binding match 2010-06-03 04:40:34 +02:00
e3c963378f outline some implementation details regarding the Bindings to match 2010-06-03 04:40:34 +02:00
3e2b78b670 fill in the basic definitions to make the draft test compile 2010-06-03 04:40:34 +02:00
abe8d876dd Start planning the Advice implementation: skeleton of unit tests 2010-06-03 04:40:34 +02:00
560612d467 check out how to use the GDB Python pretty-printers
Yes, it works with GDB 7.1 from Debian/Squeeze
2010-06-03 04:37:22 +02:00
b998935d6f fix linking problem with the asset::Struct naming scheme 2010-06-03 04:37:22 +02:00
1f988e17cd unfinished code commented out 2010-06-03 04:37:22 +02:00
0f6c2e84d2 test-driven brainstorming: TypedID usage 2010-06-03 04:37:22 +02:00
a78845507a cleanup 2010-06-03 04:37:20 +02:00
e61eb01942 experimental fix for #307 2010-06-03 04:37:20 +02:00
debba6f769 Fix PlacementIndex corruption while deleting recursively 2010-06-03 04:37:20 +02:00
82d8d26308 extend the map iterator adapter to work on STL ranges 2010-06-03 04:37:20 +02:00
939270063e helper: take snapshot of a given Lumiera or STL iterator 2010-06-03 04:37:20 +02:00
81f87ba852 similar low-level iterator adapter for multimap value groups 2010-06-03 04:37:20 +02:00
c5e4725dcb implement another wrapper to filter duplicates 2010-06-03 04:37:19 +02:00
a87889cbad implement convenience helper to pick key/value from a map iterator 2010-06-03 04:37:19 +02:00
73a2aea50c draft a low-level adapter to get all keys/vals of a stl::map
intention is just to use a thin wrapper, without
abstracting the implementation type (as IterSource does)
2010-06-03 04:37:19 +02:00
fc44e522e0 improve PlacementIndex self-verification 2010-06-03 04:37:19 +02:00
57a9b1a270 Iterator adapter to ennumerate all values to a multimap key (closes #492) 2010-06-03 04:37:19 +02:00
c9bf26d8c4 EntryID finished and passes unit test 2010-06-03 04:37:19 +02:00
c691213003 EntryID: fix symbol generation and improve ordering 2010-06-03 04:37:19 +02:00
b21db07aff implement generic object attach-to-model and purge 2010-06-03 04:37:18 +02:00
c43040985c more stubbing and compilation fixes 2010-06-03 04:37:18 +02:00
8a2515c0b0 stubbing and compilation fixes 2010-06-03 04:37:18 +02:00
474b1af82a add catch-all defaults for asset::struct naming 2010-06-03 04:37:18 +02:00
e4f015d622 WIP remaining parts of the EntryID implementation, untested 2010-06-03 04:37:18 +02:00
07146ad373 WIP parts of the EntryID implementation, refactor struct asset name generation 2010-06-03 04:37:18 +02:00
2131488afb test-driven brainstorming: simplified asset-like ID 2010-06-03 04:37:17 +02:00
39355713fd cleanup 2010-06-03 04:37:17 +02:00
1119b917a9 planning general refactoring to allow intended binding/sequence handling 2010-06-03 04:37:17 +02:00
4bf9a36f2e Start working on timeline-sequence binding. 2010-06-03 04:37:16 +02:00
c93dfc4f29 partially refactor into library 2010-06-03 04:37:16 +02:00
479bbbb6c7 clarify how deregistration works 2010-06-03 04:37:16 +02:00
dd3d22f950 implement registry for element-tracking. passes unit test 2010-06-03 04:37:16 +02:00
9ec865c3ab Stubbing and definitions to get element-tracking to compile 2010-06-03 04:37:16 +02:00
cdaff1566f Template instantiations for the new asset types Timeline and Sequence 2010-06-03 04:37:15 +02:00
55df5205a4 draft a mixin for adding element-tracking functionality 2010-06-03 04:37:15 +02:00
bdb21c4aa8 draft required functionality for the element-tracker 2010-06-03 04:37:15 +02:00
c7a9b04fba refactor SessionImpl to support nested interface modules on the API 2010-06-03 04:37:15 +02:00
fa0482fab4 WIP add sub-interfaces to the session API 2010-06-03 04:37:15 +02:00
bfc18dfb94 consider using RefArray for the Session API 2010-06-03 04:37:14 +02:00
ea538d962f test-driven brainstorming: adding and removing session parts 2010-06-03 04:37:14 +02:00
baff536731 placement and pointee equivalence tests 2010-06-03 04:37:14 +02:00
11c5d55b73 draft: run self-check on MObject creation 2010-06-03 04:37:14 +02:00
8f34129f60 planning: structural assets and the track-ID 2010-06-03 04:37:14 +02:00
8eb0a16134 cast the new spec regarding timeline/session into unit test code 2010-06-03 04:37:14 +02:00
4594ddde3a WIP: test driven brainstorming regarding sequence/timeline handling 2010-06-03 04:37:13 +02:00
c2cbe4c9e8 change Timeline and Sequence to be structural assets 2010-06-03 04:37:13 +02:00
092ea07b76 kill "the EDL" 2010-06-03 04:37:12 +02:00
f0aed2c2cc fix dummy compilation/tests 2010-05-21 03:50:41 +02:00
86bc30a10a Merge Ubuntu/Lucid adjustments. Drop pre 1.0 compatibility 2010-05-21 03:43:09 +02:00
Odin Hørthe Omdal
792a595041 Fix for old GAVL versions (missing uint64_t) 2010-05-15 02:20:07 +02:00
Christian Thaeter
9d99300841 FIX: #619, New Nobug required! version 201005.1
add the 'extra' argument to mpool dumps.
Solves Linking problems on some distros.
2010-05-12 00:46:39 +02:00
5b9aa5deb2 landing the new threadpool implementation 2010-02-15 00:48:52 +01:00
1c63a02e23 augment and round up the C++ thread wrapper 2010-02-14 23:39:15 +01:00
90d311dc1d Error integration: error::Flag as subclass of State. Wrapped throw 2010-02-13 20:56:41 +01:00
acd0671390 clarify some comments regarding GUI start 2010-02-13 17:41:16 +01:00
dc991ca563 valgrind suppression: add some more cases to be filtered 2010-02-13 06:00:38 +01:00
b41bd20de4 push accessing the DiagnosticContext down one layer
accessing the DiagnosticContext now inline when
providing the paramters for calling the C-functions.
No change in functionality, but saves us a lot of
syntactic noise.
2010-02-13 05:33:08 +01:00
3466793976 repackage as a more general facility (DiagnosticContext)
implementation unaltered (just managing the NoBug handle)
2010-02-13 04:54:59 +01:00
4dfd7266b9 draft solution to factor out management of the resource handle
based on the idea of a diagnostic context stack
2010-02-13 04:03:27 +01:00
763f86fe0e back out changes I do not want in lib/sync.hpp
especially, I do not want to pass a resource handle
through all locking function APIs; the memory
management of the resource tracker should better
be kept separate and not mixed with the monitor.

Also, I am rather reluctand regarding any extended
functionality for the monitor, like timed locks
or trylocks or read/write monitors. I think, the
monitor pattern is only beneficial when it is kept
fairly simple, advanced thread programming should
be pushed out into lib functions in the backend.
2010-02-12 05:22:17 +01:00
52a7d6993d SCons: remove GThreads from linking (except for the GUI) 2010-02-11 03:19:42 +01:00
dfd70c6069 replace GThreads by the Lumiera thread wrapper 2010-02-11 03:06:42 +01:00
Christian Thaeter
80e2db4800 hook the resourcecollector into safeclib on backend startup 2010-02-08 17:47:26 +01:00
Christian Thaeter
d103346482 hook mpool into the resourcecollector and using safeclib allocations 2010-02-08 14:28:54 +01:00
Christian Thaeter
9feb01e4fe add hooks for malloc/free to mpool, add (no-op) purge function
We will need this to hook the resourcecollector in
2010-02-07 20:53:51 +01:00
Christian Thaeter
b60d8aa907 FIX: error.c memory leak when destroying threads
the error context is dynamically allocated and must be freed, forgotten
this as errors originated from static strings initially.
2010-02-07 20:25:09 +01:00
Christian Thaeter
33a0591689 Make resourcecollector initialization explicit
instead automatic initialization, the resourcecollector is pulled up as
backend service.
2010-02-05 09:20:52 +01:00
Christian Thaeter
d350a250fa Move the resourcecollector to the backend, closes #521 2010-02-05 08:58:19 +01:00
Christian Thaeter
d45b2eef91 factor the filedescriptorregistry out, closes #395
also introduces a new mutex for lookup/creating files to prevent races
2010-02-04 22:52:21 +01:00
Christian Thaeter
40d1bb50bb fix double-free bug in mmap.c 2010-02-04 21:56:49 +01:00
Christian Thaeter
97d5b1c727 remove the 'once' hack from mmap_init() 2010-02-04 20:43:27 +01:00
Christian Thaeter
c1c97228a5 Set error condition when chunksize for a non mmaped file is queried 2010-02-04 20:41:49 +01:00
Christian Thaeter
4821e7eb3f add file_delete_unlink() which removes a file from disk when closed
For temporary file, only removes the name under which it was opened
2010-02-04 20:40:54 +01:00
Christian Thaeter
31a2f454d8 remove lumiera_fhcache as parameter, closes #396 2010-02-04 10:21:20 +01:00
Christian Thaeter
711af29605 Merge remote branch 'plouj/second-tp-attempt' into backend_devel
* plouj/second-tp-attempt:
  added two sync tests
  show the state name string
  it is more proper to use cond_sync flags for *CONDITION_SECTIONs
  add a threads/threadpool NOBUG flag hierarchy
  replace an old test with a compile-only one which spawns way too many threads
  increase the delay in threads to 10ms
  wrap prime test in usleep() to make the thread likely to be re-scheduled
2010-02-03 10:51:03 +01:00
Christian Thaeter
01839d4e48 update for nobug-201002.1 2010-02-03 10:38:12 +01:00
Michael Ploujnikov
6d053d3f84 show the state name string 2010-02-01 16:51:27 -05:00
Michael Ploujnikov
8588fa2b9c it is more proper to use cond_sync flags for *CONDITION_SECTIONs 2010-02-01 07:25:49 -05:00
Michael Ploujnikov
b799321dff add a threads/threadpool NOBUG flag hierarchy
and remove redundant/errorneous flag initializations as a result
also use the test flag from logging.h
2010-02-01 07:25:06 -05:00
Christian Thaeter
014c83ff5a PTHREAD_ONCE_INIT can be a macro, fast init trick doesn't work then 2010-01-30 08:40:38 +01:00
Christian Thaeter
32d9a9f9ad FIX: thread-wrapper proxy the catched error up to the joiner 2010-01-30 07:20:09 +01:00
Christian Thaeter
87465ff69b little test-helper cosmetics 2010-01-30 07:20:09 +01:00
Christian Thaeter
dc5ae73626 Log the error passing when joining threads 2010-01-30 07:20:09 +01:00
Christian Thaeter
812f7112af FIX: small race in acquire_thread, catching threads out of the void 2010-01-30 02:56:50 +01:00
Christian Thaeter
f57d637b59 Merge commit 'dc87e78590ea86615d3ebe90d23af4548445b941' into backend_devel
* commit 'dc87e78590ea86615d3ebe90d23af4548445b941':
  add a two-thread acquire test
  show the state of the thread in question
  minor fixes: remove an old comment and change another
  fix the prime test algorithm
  use unsigned long for even more digits!
2010-01-30 00:48:04 +01:00
ede06e63d5 automatically start the threadpool on demand, similar to NoBug
but the difference is: threadpool comes up application init i.e. at the begin of main(),
while NoBug comes up in static init already.
2010-01-24 15:48:48 +01:00
93af4ed017 refactor the C++ thread-wrapper, remove JoinHandle 2010-01-24 14:05:32 +01:00
82967191b3 PlacementIndexQueryResolver passes unit test 2010-01-23 15:50:46 +01:00
a9a6bb3951 better store the scope-ID within a query 2010-01-23 15:50:46 +01:00
018801895b Add some test-dummy MObjects *temporarily* to core tree (Ticket #532) 2010-01-23 15:50:46 +01:00
f6cf3195cf * MObjectRef_test pass *
This is the integration of some months of work
2010-01-23 15:50:46 +01:00
0f9fc7e3dd PlacementRef works! that's a milestone. Closes #78 2010-01-23 15:50:46 +01:00
9a6f9b2ba5 PlacementIndex: possibly retaining type information on insert 2010-01-23 15:50:46 +01:00
26972376de MobjectRef_test passes compiler as a whole 2010-01-23 15:50:45 +01:00
71428ccf6f activating an MObject ref implemented, passes compiler 2010-01-23 15:50:45 +01:00
e9d641babd nail down all the MObjectRef equality comparison cases 2010-01-23 15:50:45 +01:00
e04672936a getting MObjectRef_test partially through the compiler 2010-01-23 15:50:45 +01:00
b32a48f410 Finish definition/documentation of PlacementRef and PlacementIndex 2010-01-23 15:50:45 +01:00
Christian Thaeter
8607a4006a update the thread-wrapper to use the new threading API
This removes the explicit Sync things from the thread wraper since
the functionality is almost exactly provided by the backend.

Thread encapsulates a lumiera thread handle now, but this is strictly
optional and might be dropped on the floor (using a temporary as thread).

Thread has a sync() function which allows user controlled syncronous
startup:

 Thread("foo", myoperation).sync();

will startup myoperation and only return from the ctor after myoperation
called a matching lumiera_thread_sync().

The related tests need to initialize/destroy the threadpool accordingly
2010-01-23 06:57:14 +01:00
Christian Thaeter
9fc68c9d32 Merge remote branch 'public/nobug201001.2' into backend_devel
* public/nobug201001.2:
  integrating nobug context passing
  updates for nobug 201001.2

Conflicts:
	configure.ac
	src/lib/condition.h
	src/lib/reccondition.h
	tests/backend/test-threads.c
2010-01-23 06:56:39 +01:00
Christian Thaeter
c15f2247d7 integrating nobug context passing
Somewhat more intrusive than the previous patch,
adds contexts everywhere except for sync.hpp where only default ctors
are used.
2010-01-23 01:40:27 +01:00
Christian Thaeter
8254b3fbda updates for nobug 201001.2
dumping got a new api, surprisingly everything else works...
2010-01-22 23:21:48 +01:00
Michael Ploujnikov
fc15a2ac2c Merge commit '6f07e4eedc6b624b1f9ae1004ad3e6a77027e028' into second-tp-attempt
Conflicts:
	src/backend/threads.c
2010-01-20 21:41:14 -05:00
Michael Ploujnikov
a22bb5e54f show the state of the thread in question 2010-01-20 17:09:37 -05:00
Michael Ploujnikov
571c265ccd minor fixes: remove an old comment and change another 2010-01-20 07:58:22 -05:00
Christian Thaeter
751a8b415c few trace points 2010-01-20 01:04:35 +01:00
Christian Thaeter
6f07e4eedc one more signal/wait for syncing 2010-01-20 01:04:12 +01:00
Christian Thaeter
95fed7fd0e remove thread counters (for now)
counting the threads had a race when creating threads, with moving
threads only between idle and working list we don't need the counters for
operation anyways. Maybe later when we find out that we need them we can
re-add them in a sane way
2010-01-20 01:03:41 +01:00
Christian Thaeter
12968bb784 thread kind and flag handling
* 256 states are enough for anyone (else fix the source)
 * add proper masking and handling of flags
2010-01-20 00:43:11 +01:00
Christian Thaeter
32217debe8 Fix threadloop
* joining must be done inside the loop, doh
 * a thread must release itself first in the loop, new threads
   have to go idle when created
2010-01-20 00:33:08 +01:00
Christian Thaeter
995d813709 add threadpool init/destroy to the global backend init/destroy 2010-01-19 18:46:02 +01:00
Christian Thaeter
66a0e6e0ca Experiment: remove custom states, syncs are 2-thread barriers 2010-01-18 19:58:31 +01:00
Christian Thaeter
e2c5aceec4 FIX: off by one error in time normalization
"The value of the nanoseconds field must be in the range 0 to 999999999."
2010-01-18 18:45:02 +01:00
Christian Thaeter
020908d623 Make threadpool_destroy wait until all threads are finished
adds a state to each threadpool which can be only offline or online.
One can not acquire new threads when the pool is offline.

no need for waits in the teststuite anymore.
2010-01-18 17:53:33 +01:00
Christian Thaeter
7371db8a2c thread deadlines, first implementation 2010-01-18 16:24:45 +01:00
Christian Thaeter
cc4dc25f4a while loop is little more solid than do..while 2010-01-18 16:23:28 +01:00
Christian Thaeter
87918c657c check wait condition before loop body 2010-01-18 14:23:23 +01:00
Christian Thaeter
e55e648f29 Thread syncronization and joining
add a custom defined range for states
provide functions for barrier like syncing between 2 threads
provide joinable threads and a thread_join() function
2010-01-18 00:34:53 +01:00
Christian Thaeter
72d9cbe91c Merge remote branch 'plouj/second-tp-attempt' into backend_devel
* plouj/second-tp-attempt: (68 commits)
  partially fix a pkg-config problem with scons on Fedora12
  fix comilation by using an existing TEST macro
  more formatting fixes to put spaces before function/macro call opening brackets
  add a stronger REQUIRE check
  ignore RESOURCE_ANNOUNCE in tests
  fix the code by re-merging some of cehteh's changes
  remove redundant info from TRACE
  match the filename in the header comment
  add a thread state check and remove an old comment
  python-2.6 fix: loading the icon_rener.py script (Ticket #222)
  Use a fully qualified name for PlacementMO in PlacementIndex
  fix compilation errors
  die regardless of what type of failure pthread_create() encounters
  mark thread as worker
  remote unnecessary calls to llist_unlink() insert is enough
  continuation of working_list introduction
  begin adding a second list to store working threads
  merge ECHO with TRACE
  don't expect any more output from the basic test
  fix compilation
  ...

Conflicts:
	src/tool/Makefile.am
	tests/Makefile.am
2010-01-17 17:32:43 +01:00
Christian Thaeter
b8336879f7 autoconf/automake cleanup
* refactor configure.ac to have distinct sections to configure each
   subsystem.
 * Dedicated LUMIERA_<subsys>_CFLAGS|_LIBS vars
 * Fix Makefile.am's to use them, remove unnecessary dependencies

Stray dependencies to be refacored:
 * tests/Makefile.am has dependencies on proc and backend
  - should be moved to tests/library/Makefile.am etc anyways
 * tests/lib/Makefile.am has dependency on GUI left


 * src/tool/Makefile.am links GUI stuff generally, thats ok

 * one threading test is broken, we don't care, merging new threadpool in
   next.
2010-01-17 15:48:30 +01:00
Michael Ploujnikov
c78571be55 more formatting fixes to put spaces before function/macro call opening brackets 2010-01-16 13:53:42 -05:00
Michael Ploujnikov
fa85a01818 add a stronger REQUIRE check 2010-01-16 13:13:02 -05:00
Michael Ploujnikov
02c9ee33c7 fix the code by re-merging some of cehteh's changes
test still fails
2010-01-16 11:48:48 -05:00
Michael Ploujnikov
217d17107d Use a fully qualified name for PlacementMO in PlacementIndex
This seems to satisfy g++ 4.4.2, which otherwise complains like this:

In file included from ../src/proc/mobject/session/session-impl.hpp:53,
                from ../src/proc/mobject/session/sess-manager-impl.hpp:28,
                from ../src/proc/mobject/session/sess-manager-impl.cpp:41:
../src/proc/mobject/session/placement-index.hpp:163: error:
declaration of ‘typedef class mobject::Placement<mobject::MObject,
mobject::MObject> mobject::session::PlacementIndex::PlacementMO’
../src/proc/mobject/placement.hpp:244: error: changes meaning of
‘PlacementMO’ from ‘typedef class mobject::Placement<mobject::MObject,
mobject::MObject> mobject::PlacementMO’
2010-01-16 17:04:13 +01:00
Michael Ploujnikov
e60c10a01d remove redundant info from TRACE
and add spaces for formatting
2010-01-16 10:39:45 -05:00
Michael Ploujnikov
e9ae8c8601 add a thread state check and remove an old comment 2010-01-15 07:35:28 -05:00
Michael Ploujnikov
e0d6f1ce66 Merge branch 'master' into second-tp-attempt
Conflicts:
	src/proc/mobject/session/placement-index.cpp
	src/proc/mobject/session/placement-index.hpp
2010-01-14 21:06:14 -05:00
Michael Ploujnikov
2f27c7d71b Use a fully qualified name for PlacementMO in PlacementIndex
This seems to satisfy g++ 4.4.2, which otherwise complains like this:

In file included from ../src/proc/mobject/session/session-impl.hpp:53,
                from ../src/proc/mobject/session/sess-manager-impl.hpp:28,
                from ../src/proc/mobject/session/sess-manager-impl.cpp:41:
../src/proc/mobject/session/placement-index.hpp:163: error:
declaration of ‘typedef class mobject::Placement<mobject::MObject,
mobject::MObject> mobject::session::PlacementIndex::PlacementMO’
../src/proc/mobject/placement.hpp:244: error: changes meaning of
‘PlacementMO’ from ‘typedef class mobject::Placement<mobject::MObject,
mobject::MObject> mobject::PlacementMO’
2010-01-14 20:57:45 -05:00
Michael Ploujnikov
9d4494aa90 Merge branch 'master' into second-tp-attempt 2010-01-14 19:32:07 -05:00
Michael Ploujnikov
151b0793ab Merge remote branch 'origin/master' 2010-01-14 19:31:42 -05:00
Michael Ploujnikov
f62513dea8 fix compilation errors 2010-01-14 16:46:27 -05:00
Christian Thaeter
aea546554b reworked sync.hpp using libraries locking functions 2010-01-14 21:15:13 +01:00
Christian Thaeter
dbb3b2e2e7 FIX: uhm .. forgotten to fix some stuff 2010-01-14 13:22:19 +01:00
Michael Ploujnikov
523e898fbe Merge branch 'master' into second-tp-attempt
Conflicts:
	src/lib/condition.h
	src/lib/reccondition.h
2010-01-13 19:17:24 -05:00
Michael Ploujnikov
a045479c63 Merge branch 'master' of git://git.lumiera.org/LUMIERA 2010-01-13 19:12:15 -05:00
Christian Thaeter
3e8d8590e9 C lumiera_error to C++ exception bridge
* error::Runtime exception class which transports the C error code
 * lumiera::throwOnError() which throws when there is a pending
   lumiera error, otherwise it does nothing
2010-01-13 20:30:10 +01:00
Christian Thaeter
c29ea07138 lumiera_error_expect() lets one easily handle expected errors
This is a convenience function which clears the error state when some
expected error occurred and lets one branch on this.
2010-01-13 17:41:26 +01:00
Christian Thaeter
f0483b1d8b FIX: few glitches using nobug flags 2010-01-13 14:22:08 +01:00
Christian Thaeter
a287b13481 remove the LUMIERA_RESTRICT macro
all functions using restrict are inline and can be properly optimized by
the compiler, no restrcit necessary
2010-01-13 13:00:13 +01:00
Christian Thaeter
63346c7dff Fix remaining test, forgot to link tests in 2010-01-13 10:25:33 +01:00
Christian Thaeter
f78ec3b0ef undo -Werror which slipped into the CXXFLAGS for the lib 2010-01-13 09:23:19 +01:00
Christian Thaeter
9c9161ef65 reccondition refactoring 2010-01-13 00:19:20 +01:00
Christian Thaeter
f1cf5aee60 condition var refactoring 2010-01-13 00:19:00 +01:00
Christian Thaeter
6816766182 rwlock refactoring 2010-01-13 00:18:48 +01:00
Christian Thaeter
059f086b4f recmutex refactoring 2010-01-13 00:18:32 +01:00
Christian Thaeter
e7e9394f9b refactor locking macros to functions, simpler macros 2010-01-13 00:16:43 +01:00
Christian Thaeter
b232a4f9f0 errors for locking
* add a 'unknown' error to the error system as fallback
 * lockerror.c|h define all errors which can happen due locking
 * lumiera_lockerror_set() translates posix errors to lumiera errors
 * remove stale errors from sectionlock.h
2010-01-13 00:10:33 +01:00
Michael Ploujnikov
564e6c94a0 Merge remote branch 'origin/master'
Conflicts:
	tests/test.sh
2010-01-12 08:05:12 -05:00
Michael Ploujnikov
09fd15d5f8 die regardless of what type of failure pthread_create() encounters 2010-01-12 08:01:54 -05:00
Michael Ploujnikov
b49a5abff2 mark thread as worker 2010-01-12 07:47:28 -05:00
Michael Ploujnikov
ecbcfdefd7 remote unnecessary calls to llist_unlink() insert is enough 2010-01-12 07:39:12 -05:00
Michael Ploujnikov
49da609e80 Merge branch 'master' of git://git.lumiera.org/LUMIERA into second-tp-attempt
Conflicts:
	src/lib/condition.h
	src/lib/mutex.h
	src/lib/reccondition.h
	src/lib/rwlock.h
	tests/test.sh
2010-01-11 16:47:45 -05:00
Michael Ploujnikov
f890b35a03 continuation of working_list introduction 2010-01-11 15:04:52 -05:00
Christian Thaeter
7b014012e8 WIP: refactor locks once again, new nobug, little simpler 2010-01-10 10:36:24 +01:00
Christian Thaeter
7fea4f79be Sectionlock needs a 'user' handle with new nobug 2010-01-10 10:36:24 +01:00
Christian Thaeter
799fe34980 Fix: race conditions with the nobug resource tracker
* requires new nobug version
* 40components.test "Type-based contexts" TypedCounter_test hangs
  for unknown reason, temporary disabled
2010-01-10 10:36:24 +01:00
Michael Ploujnikov
925442b3d9 begin adding a second list to store working threads 2010-01-09 21:36:20 -05:00
81c920c0ed Fix: static initialisation problem (due to placeholder code) #518 2010-01-10 00:04:58 +01:00
Christian Thaeter
4e7d656b71 WIP: autotools fixup for ichthyo 2010-01-09 22:17:34 +01:00
14c7f7fc62 PlacementIndex implemented, unit test pass 2010-01-09 05:10:32 +01:00
96f19c656d add call for placement equivalence check
actual functionality to be added later
2010-01-09 04:46:17 +01:00
Michael Ploujnikov
fd4504c9de merge ECHO with TRACE 2010-01-08 16:38:35 -05:00
36cd34e9b1 Placement: correct handling of ID generation on copy construction 2010-01-08 04:00:14 +01:00
92ad5d1994 change to lib::BoolCheckable for the self-valididty check 2010-01-08 03:59:30 +01:00
836f533a2f add equality comparison and identity handling 2010-01-08 03:59:01 +01:00
8c7894943c add equality comparison to the HashIndexed (mixin base) 2010-01-08 03:56:21 +01:00
Michael Ploujnikov
56cf53adb3 fix compilation 2010-01-07 18:36:51 -05:00
Michael Ploujnikov
4708326b77 Merge branch 'minor-fixes' into second-tp-attempt
Conflicts:
	src/backend/threadpool.c
	src/backend/threads.c
2010-01-07 18:27:09 -05:00
Michael Ploujnikov
30a46a6255 Merge remote branch 'public/minor-fixes' into minor-fixes
Conflicts:
	src/backend/threadpool.c
	src/backend/threadpool.h
	src/backend/threads.c
2010-01-07 18:24:25 -05:00
Michael Ploujnikov
d78a826d39 Merge branch 'minor-fixes' into second-tp-attempt 2010-01-07 07:18:59 -05:00
Michael Ploujnikov
d989babc8a Merge remote branch 'ct/for_plouj2' into second-tp-attempt
Conflicts:
	src/backend/thread-wrapper.hpp
	src/backend/threadpool.c
	src/backend/threadpool.h
	src/backend/threads.c
2010-01-07 07:18:23 -05:00
a56e107fe0 PlacementIndex self-verification implemented and passes compiler 2010-01-07 08:29:27 +01:00
2fd7a2f6f9 patch temporary re-entrance problems on session creation (maybe #495) 2010-01-07 08:28:54 +01:00
5cc3af3009 document the changed/new behaviour by unit test 2010-01-07 04:40:10 +01:00
3525b77126 somewhat tricky modification of for-each, allowing inline calls 2010-01-07 03:10:02 +01:00
Michael Ploujnikov
0b961b9784 Merge remote branch 'ct/for_plouj' into second-tp-attempt 2010-01-06 17:30:16 -05:00
Michael Ploujnikov
d8234db7b3 Merge remote branch 'ct/for_plouj2' into second-tp-attempt 2010-01-06 07:48:36 -05:00
Michael Ploujnikov
c707f94929 update c++ wrapper to match the C API 2010-01-06 07:42:42 -05:00
226ed37e30 now able to compile PlacementIndex self-check code! 2010-01-06 07:49:25 +01:00
665bd19f8a use this to get the distinct keys of a multimap 2010-01-06 06:53:29 +01:00
ff2113e61f implement an duplicate-value filtering iterator 2010-01-06 06:19:30 +01:00
0081b36793 Itertools: add caching to FilterIter
filter predicate is now evaluated at most once
2010-01-06 06:16:30 +01:00
2ad85dbb07 bugfix and test coverage 2010-01-06 04:14:16 +01:00
2a5b080dd7 implement IterSource adapter for STL map and hashmap 2010-01-06 03:38:02 +01:00
030a7d3813 basic IterSource implementation passes unit test (#490) 2010-01-05 05:21:13 +01:00
16962ae714 IterSource implementation draft 2010-01-05 04:10:23 +01:00
ea5668c5e3 WIP define expected usage of IterSouce 2010-01-05 02:53:20 +01:00
73613c1e7d WIP: draft better arrangement of the PlacementIndex validation code
but still need yet another iterator related lib module
2010-01-05 01:31:22 +01:00
Michael Ploujnikov
223e79cc4a replace mutex with condition variable in threadpool
use TRACE instead of ECHO
(based on cehteh's suggested code)
2010-01-04 17:03:47 -05:00
330eb2c243 extended for-each looping helpers. Closes #479 2010-01-04 14:48:00 +01:00
cd3a77649e use the (new) iterable classification to mask for_each overloads 2010-01-04 11:19:01 +01:00
7d913dc558 start moving some metaprogramming helpers to lib::meta 2010-01-04 10:08:14 +01:00
64cedb6345 implemented compile-time detection of STL or Lumiera iterator
closes #482
2010-01-03 05:43:33 +01:00
e838d46336 Fix: operator++ needs to return the actual target type
see Ticket #486
2010-01-03 05:42:35 +01:00
e27d03c501 simple duck detecor components pass unit test 2010-01-02 09:07:10 +01:00
8777aa585a duck detector (lib helpers): initial implementation draft 2010-01-02 08:09:40 +01:00
f517cfb19a Yess we can! Invented a statical duck-detector! 2010-01-02 06:26:56 +01:00
Michael Ploujnikov
7a507a0cee don't put threads in a detached state 2009-12-31 15:09:22 -05:00
Michael Ploujnikov
03fe6dd658 properly initialize and de-initialize the thread condition variable 2009-12-31 07:37:28 -05:00
Michael Ploujnikov
c4e1fdaf9a document lumiera_thread_destroy() and lumiera_thread_delete() 2009-12-31 07:32:55 -05:00
Michael Ploujnikov
ad404bd41a remove unused old code 2009-12-31 07:30:46 -05:00
Michael Ploujnikov
d63a6066a0 insert a space between the function name and the ( in each function call 2009-12-31 07:27:45 -05:00
Michael Ploujnikov
9c60d88c56 remove thread limiting logic from the threadpool 2009-12-31 07:24:07 -05:00
Michael Ploujnikov
69277b6770 remove unused function pool_thread_loop() 2009-12-31 07:18:29 -05:00
e94927d5a3 standard case (using STL container) solved, incl. binding arguments and member functions 2009-12-31 03:25:25 +01:00
e7fcfaca8d problem was: compiler couldn't figure out the return type
thus let's give a hint...
2009-12-31 02:51:58 +01:00
9730ff4183 trying to track down a strange compiler warning 2009-12-31 01:21:45 +01:00
2b46574da3 move the for_each helpers into a separate header
(because util.hpp is used pervasively, and I don't want
<tr1/functional> in such a widely used header...
2009-12-29 04:39:27 +01:00
0dca7cbb4d not-yet-implemented.... 2009-12-29 04:30:11 +01:00
6e956f24ab WIP: drafted PlacementIndex validity self-check 2009-12-28 03:32:42 +01:00
c49d8321f6 fill in documentation and missing test cases 2009-12-27 06:36:52 +01:00
7b7e9096a3 Hook up scope contents iterator in PlacementIndex (closes #343) 2009-12-27 06:25:34 +01:00
26c506c0d6 rewrite TransformIter, allowing to return references (closes #475) 2009-12-27 04:03:00 +01:00
Christian Thaeter
88195087d6 recondition to condition,
remove the mutex from the pool
rename park to release :P
2009-12-24 01:54:49 +01:00
Christian Thaeter
6b4415d8fa nobugify
declare and init the nobug flags and use them for logging diagnostics
2009-12-24 01:50:59 +01:00
Christian Thaeter
026fab07dc cosmetics, deadcode removal 2009-12-24 01:46:43 +01:00
Christian Thaeter
bddb23d111 remove threadpool_unlink()
thread removes itself from the list, this is trival in place
2009-12-24 01:45:44 +01:00
Michael Ploujnikov
6f5578ba10 fix a copy+paste mistake in LUMIERA_RECCONDITION_SECTION_CHAIN and add a test-case for it 2009-12-23 18:14:29 -05:00
Michael Ploujnikov
f2406c23a1 bork bork bork
by pulling this you agree to...
2009-12-23 13:10:31 -05:00
534ae16605 implemented this FunctionResult template, needed for Ticket #175 2009-12-23 04:46:09 +01:00
97faf3dcb8 ItemWrapper unit test pass. Closes #476 2009-12-21 07:52:58 +01:00
e5ab9d73eb add specialisation to deal with wrapping a reference... 2009-12-21 06:19:56 +01:00
6a7f325ecf static assert to protect against misguided equality comparison 2009-12-21 05:45:02 +01:00
3db676fa32 base implementation fo the ItemWrapper 2009-12-21 05:44:29 +01:00
83eb6976cd draft an universal val/ref wrapper, needed by TransformIter.
Seemingly I've hit a nasty problem here, because PlacementIndex
should return an Placement&, but this is being fetched
after-the fact from within the iterator.
2009-12-20 04:33:24 +01:00
4773305853 Fix itertools: allow TransformIter to return an reference 2009-12-19 03:55:02 +01:00
4afa1ada5b WIP implement scope content enumeration
unresolved problem with TransformIter yielding a reference
2009-12-18 05:05:16 +01:00
Michael Ploujnikov
24e87c815d remove old functions pthread_runner and lumiera_thread_run 2009-12-17 22:08:57 -05:00
Michael Ploujnikov
3999101f30 Merge branch 'for_plouj' of git://git.lumiera.org/lumiera/ct into second-tp-attempt 2009-12-17 21:31:23 -05:00
Christian Thaeter
d7db383134 Sectionlock needs a 'user' handle with new nobug 2009-12-18 03:14:47 +01:00
Michael Ploujnikov
547ff2b772 Merge branch 'for_plouj' of git://git.lumiera.org/lumiera/ct into second-tp-attempt 2009-12-16 22:36:38 -05:00
Christian Thaeter
5c7abbded9 Fix: race conditions with the nobug resource tracker
* requires new nobug version
* 40components.test "Type-based contexts" TypedCounter_test hangs
  for unknown reason, temporary disabled
2009-12-17 03:49:02 +01:00
9f09a8aa49 push creation of the root MObject to users of PlacementIndex 2009-12-17 03:16:08 +01:00
d7aab2990f placeholder implementation of Label MObject 2009-12-17 03:14:59 +01:00
e3de0aac7c WIP handling of the model root element within the index 2009-12-16 04:54:36 +01:00
73fcc78cb3 PlacementIndex checks for bottom (invalid) ID 2009-12-13 05:49:08 +01:00
b74a505c44 change implementation of "bottom" PlacementRef to 0-LUID 2009-12-13 05:48:05 +01:00
e89b4503fd detect if the session is up and opened, lock PlacementRef else 2009-12-13 04:27:57 +01:00
6c187224eb get it through the compiler again... 2009-12-12 05:03:50 +01:00
5fd2a85400 cleanup of BuilderTool includes 2009-12-12 03:51:26 +01:00
628ad8a31d WIP add a new kind of MObject: the model root 2009-12-12 03:50:41 +01:00
fd782eb139 WIP: change management of test/mock PlacementIndex
now lifecycle of this mock index is managed automatically
from within the session services. This allows to get
rid of the smart-ptr creating factory. As a consequence,
PlacementIndex now resides directly within SessionImpl.
2009-12-11 02:49:12 +01:00
Michael Ploujnikov
41bb8b7e78 make a TODO note about the finished condition variable 2009-12-03 09:29:56 -05:00
Michael Ploujnikov
098d801d00 give each thread pool a separate pthread_attr_t structure to configure 2009-12-02 22:21:49 -05:00
Michael Ploujnikov
afe135f43e add a lock around thread pool list access in lumiera_threadpool_release_thread() 2009-12-02 13:48:08 -05:00
Michael Ploujnikov
eedfafb0d0 convert lumiera_thread_state to using the enum string trick and use it in a test 2009-11-29 18:06:14 -05:00
Michael Ploujnikov
fc16de332f convert lumiera_thread_class to using the enum string trick and use it in a test 2009-11-29 17:55:20 -05:00
488039c4c6 cleanup and write tests covering the newly implemented stuff 2009-11-28 23:37:58 +01:00
feb4480f85 Scope handling within the PlacementIndex 2009-11-28 22:18:09 +01:00
8a47f1a1ac considerations regarding type handling in the PlacementIndex 2009-11-27 20:30:06 +01:00
66175181dc basically implemented simple element access.
But the scope registration and the type problem remains unsolved
2009-11-27 02:43:09 +01:00
cde45c021e add basic storage and implementation of the PlacementIndex tables 2009-11-27 02:03:20 +01:00
0b289863e9 documentation correction. command entry is created on completed definition now. 2009-11-27 02:02:42 +01:00
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