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
6bd1e8e179
tidy up and finish the MementoTie + unit test
2009-07-09 20:47:21 +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
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
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
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
daeff6f5fd
WIP: how to define the bool conversion / validity check for the function holders?
2009-06-26 05:27:54 +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
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
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
4307191369
merging latest bugfixes
...
Merge branch 'master' into session
2009-06-19 14:36:22 +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
fba135c746
Merge backend and testsuite improvements
2009-06-19 01:19:20 +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
102e96891b
fixing, stubbing, and some chainsaw surgery to get half-finished code through the compiler
2009-06-09 09:05:19 +02:00
f1827ea753
WIP: test support macro for exception check
2009-06-07 03:22:08 +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
90dffdc9d2
some cleanup and renaming
2009-06-06 06:55:13 +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
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
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
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
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
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
Christian Thaeter
b8d3e841d0
forgot new llist.h
2009-02-15 19:29:10 +01:00
b0e6468293
some testing and debugging
2009-02-08 04:10:37 +01:00
e435822de6
Ouch.. boost::ptr_vector depends on boost-serialisation. Write a simple replacement...
2009-02-08 01:31:01 +01:00
8e5097cbe0
cleanup, fixes, comments...
2009-02-06 22:51:39 +01:00
ee950d6255
some cleanup and re-ordering
2009-01-31 23:42:56 +01: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
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
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
Christian Thaeter
b9fc2d6522
WIP: deploy new logging flags in lib
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
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
41f394a57b
Excised ObservableList::to_list
2009-01-24 12:18:12 +00: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
3dae60f559
add missing stubs to make it pass the compiler
2009-01-22 17:29:17 +01:00
Joel Holdsworth
cb13f5f74c
Merge branch 'master' of git.lumiera.org:/git/LUMIERA into gui
2009-01-21 18:21:08 +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
d42bc4ea90
Fixed a bug in tree
2009-01-20 23:17:40 +00:00
c6bc14375c
write a draft how I'd like to deal with joining threads.
2009-01-18 22:14:56 +01:00
054c652571
improve error handling when starting the GUI thread
2009-01-17 14:31:40 +01:00
Christian Thaeter
bb8ad9fbd5
move threads back into the backend
2009-01-16 02:18:58 +01:00
Christian Thaeter
a78ec21fea
ERROR_SET_* macros for different logging levels
2009-01-15 01:05:07 +01:00
aa8896a79f
merge resolution of some build/dependency problems
2009-01-14 12:31:20 +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
5b68a39cc4
move threads from backend to liblumiera
...
otherwise lib and common would depend on backend
2009-01-10 21:50:03 +01:00
e64e9a19b6
Merge GUI loading and startup, incl opening of facade interface
2009-01-10 19:12:48 +01: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
22c9e8b082
Merge branch 'master' of git.lumiera.org:/git/LUMIERA into gui
2009-01-05 17:59:23 +00:00
8d4bc62fbe
WIP start drafting a better InterfaceProxy handling
2009-01-04 15:21:04 +01:00
edb01ec8c6
Integration: Thread/sync, GUI-Plugin invoked in separate thread
2009-01-03 16:05:04 +01:00
Joel Holdsworth
8debd21363
Squished some warnings in lib/tree.hpp
2009-01-02 13:10:56 +00:00
2aab2491aa
deal with a race regarding argument passing
2009-01-02 08:02:27 +01:00
Joel Holdsworth
0f3b290b6d
Tweaked tree.hpp to improve documentation to work better in lumiera
...
doxygen
2009-01-01 12:34:39 +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
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
4b3d567ca0
Switch Singleton template to use the threadsafe version (Fix)
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