Commit graph

743 commits

Author SHA1 Message Date
3cf9974211 provide unary minus to flip a TimeVar around origin 2011-01-13 03:36:11 +01:00
d30515c37e analysis of range limit problems in quantisation 2011-01-13 03:36:11 +01:00
48b3f39c49 improve and cover Time convenience handling shortcuts 2011-01-13 03:36:11 +01:00
b66b778c42 implement and test simple demo quantiser 2011-01-13 03:36:11 +01:00
dede87d384 implement basic quantisation operation for timehandling library 2011-01-13 03:36:11 +01:00
84c73c645d draft unit-test to cover basic quantiser behaviour 2011-01-13 03:36:10 +01:00
c85f7e0715 Add more special formatters and Digxel testcases
The Digxel implementation draft can be considered complete now
2011-01-13 03:36:10 +01:00
8e90b3d5dc Digxel unit test pass 2011-01-13 03:36:10 +01:00
159d3928d8 Timecode stub implementation...
now passes Compiler and Linker again
2011-01-13 03:36:10 +01:00
031f61f31d WIP prototypical Digxel implementation complete 2011-01-13 03:36:10 +01:00
e66bed65e4 WIP stubs for timecode string representation 2011-01-13 03:36:10 +01:00
2edaae5c5b simplify util::isnil implementation
doh!
2011-01-13 03:36:10 +01:00
25d7af449e WIP adapt / rewrite Digxel implementation 2011-01-13 03:36:10 +01:00
e7f5ce9e33 WIP rework timecode format hierarchy
second try: eliminate base class,
work with concrete formats allways...
2011-01-13 03:36:09 +01:00
336264a6be WIP first implementation draft for Digxel -- problematic
This draft highlights problems with poliferation of
generated virtual methods (code bloat). Also it's
unnecessarily complex and especially the automatic
conversion to double *and* int creates a whole
shitload of problems....
2011-01-13 03:36:09 +01:00
b19fd1e634 WIP rework and adjust "Digxel" draft 2011-01-13 03:36:09 +01:00
6638120ec2 WIP test-driven dreaming... inventing a "Digxel" entity 2011-01-13 03:36:09 +01:00
607c8a2338 WIP enough stubbing to get it through the Compiler...
...but NOT yet the linker
2011-01-13 03:36:09 +01:00
62f9e84f2d reduce the prerequisites of trait.hpp
the AssignableRefWrapper is not in use anymore...
by not pulling in wrapper.hpp, we avoid <functional>
2011-01-13 03:36:09 +01:00
c40ba74bc6 WIP clarify ambiguity with fractional seconds
They are *not* intended to stand-in for gavl_time_t
Indeed, Time values should be handled as opaque
2011-01-13 03:36:09 +01:00
15214cc069 WIP start stubbing and defining time quantisation and timecode entities 2011-01-13 03:36:08 +01:00
04db5655f1 Implementation: building a simple time grid 2011-01-13 03:36:08 +01:00
3d4227d374 cover offsets, durations and timespans by unit test 2011-01-13 03:36:07 +01:00
f7588c36c4 basic time value entites defined roughly complete 2011-01-13 03:36:07 +01:00
643859f6b8 add a mutable time value with full arithmetics 2010-12-28 02:27:42 +01:00
0c45fc47f3 defining the first elementary operations for time values 2010-12-28 02:27:41 +01:00
9d91869098 move Variant to lib namespace, a bit of cleanup and clarifying the code 2010-12-28 02:27:41 +01:00
09d400d5bc put asside the existing "lumitime" to build a new hierarchy from scratch
existing code will still use lumitime.hpp for now
while we're about to reorganise time handling altogether
2010-12-28 02:27:41 +01:00
784b094fa7 fix compilation problems with draft code 2010-12-26 23:00:34 +01:00
f18226e8ac WIP start drafting simple time values, offsets and intervals
questions: what is mutable / immutable?
what is the distinction between TimeValue and Time ?
what conversions make sense?
what mutations / operators to support?
2010-12-22 04:49:57 +01:00
000486e126 WIP create empty unit tests for time quantisation/handling 2010-12-22 04:09:27 +01:00
cce72e611e WIP: new namespace and compliation units for time quantisation
namespace lib::time
lumitime.cpp will define the basic time wrapper
quantiser.cpp the grid alitnment and formatting wrapper

header for
- timevalues / ranges
- quantised time valuse
- timecode valuse

"lumitime.hpp" will contain the interface facilities
2010-12-21 02:05:13 +01:00
7fc462209e some naming cleanup and namespace indentation fixes 2010-12-18 00:58:19 +01:00
3f1b7651e9 GPL header whitespace 2010-12-17 23:28:49 +01:00
4410830f72 Merge Fixture datastructure and Testsuite work 2010-12-17 22:51:27 +01:00
7043db90ee introduce an explicit StreamType::ID 2010-12-10 17:39:39 +01:00
Stefan Kangas
41e6750163 Move time conversion logic from lumitime.cpp to time.c 2010-12-06 16:18:54 +01:00
145ad6c3a5 more (trivial) cleanup and renaming 2010-12-05 02:46:37 +01:00
5ba7468f41 OutputMapping implementation complete, pending unit test 2010-11-28 01:43:55 +01:00
c3d29d1eb3 OutputMapping: interface refactorings to yield a cleaner structure 2010-11-27 03:59:07 +01:00
645ddd284c WIP Solution draft for defining an output mapping type 2010-11-25 04:52:49 +01:00
9473fd3d67 OutputDesignation implementation draft 2010-11-19 05:01:43 +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
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
08d90be1b6 get the sesison element-tracker integration test to pass 2010-10-29 05:24:19 +02:00
d1dd3e2677 saveguard against deregistering from an alredy destroyed session 2010-10-20 04:42:22 +02:00
3e9c337ac0 review and verify lib::ElementTracker 2010-10-18 05:33:46 +02:00
b15a1c2d3c changed wording of the error message 2010-10-16 02:21:20 +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
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
Christian Thaeter
51e5b8a90c FIX: missing stdint.h include in tmpbuf.c for SIZE_MAX 2010-07-21 06:13:07 +02:00
Christian Thaeter
c34e6d547e FIX: tmpbuf.h for lib/time 2010-07-21 05:05:33 +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
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
e16ca49894 Merge in new (experimental) 'advice' concept 2010-07-14 04:33:42 +02:00
fc3e43bb19 re-reading my design and plannings from March, identiyfying next steps to take 2010-06-13 03:34:12 +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