Commit graph

1214 commits

Author SHA1 Message Date
11d709b85e incorporate basic setup.ini into the AppState object 2011-02-06 02:12:00 +01:00
e84ceec9b5 refactor some lib facilities
- Cmdline into namespace lib
- test coverage for the SearchPath iterator
2011-02-05 23:53:37 +01:00
e73bea379c Adjust some Copyright headers
List of years instead of a range is better
2011-02-05 20:56:51 +01:00
ad246ad31d Merge Buildsystem adaptations for installing Lumiera
- use custom builders
- clean up specification of target paths
- generated executable is fully relocatable
- read a bootstrap INI instead of compiled in searchpath
2011-02-05 15:54:24 +01:00
d9f90c2c04 SCons: finish reworking buildsystem to rely on custom builders.
All target paths and install targets now defined automatically,
most of the buildscript just using plain sourcefile names
2011-01-30 22:12:55 +01:00
9cb03c7015 Fix installation triggered already by build target 2011-01-30 19:43:51 +01:00
abf1bc776b SCons: remove all explicit target and install specifications
now superfluous, because our custom builder handles that automatically
2011-01-30 18:56:51 +01:00
609873d90b switch to use the new (better) builder implementation
especially this means to use the common well-known names again,
like "Program" "SharedLibrary". The customisation now happens
invisible in LumieraEnvironment.
2011-01-30 17:00:15 +01:00
014c22b40a SCons: rework build directory configuration. All customisations to LuimieraEnvironment 2011-01-30 15:27:21 +01:00
35953b335b SCons: rearrange output directory to target/modules 2011-01-29 02:06:21 +01:00
764a38abe6 SCons: experimental support for some library lookup concerns
- setting -rpath with $ORIGIN  to build a relocatable package
 - fix missing DT_SONAME (likely just a problem of very old SCons version)
2011-01-28 23:31:00 +01:00
faf579c4c5 enforce generally imutable time values 2011-01-22 23:20:12 +01:00
dea026cfd9 omit the Digxel timing measurments from test suite 2011-01-22 18:44:03 +01:00
7b783e885a more thorhoug testing of denormalised values
...uncovered yet more bugs.. yay!
2011-01-22 18:35:04 +01:00
acc7a19fbd Fix: now able to handle negative extended SMPTE
changed the order of propagation when wrapping
the individual digxels of the SMPTE Timecode
2011-01-22 14:41:58 +01:00
ac9e9a99df change the way the Digxel mutator is invoked
this refactoring prepares a change to address
the problems with negative extended SMPTE Timecode
2011-01-22 14:04:43 +01:00
14f233f83b WIP: some more test coverage ... unveiling yet more bugs 2011-01-22 02:35:58 +01:00
9d75739089 SMPTE Timecode (without drop frame) unit test pass 2011-01-21 20:24:41 +01:00
1a07cc9bb2 SMPTE Timecode: first round of debugging and testing 2011-01-21 16:22:01 +01:00
1b79b4a937 fix regression 2011-01-20 21:39:17 +01:00
c55260d4e4 generalise to long and int; improve test coverage 2011-01-20 21:30:48 +01:00
05383ea44a crafting a integer scale wrapping util, for timecode conversions 2011-01-20 13:21:14 +01:00
e1c025778b Digxel: ensure the mutator functor is also called on increment 2011-01-19 11:47:14 +01:00
9df0df6145 Merge Stefan's work on timeconversion and SMPTE drop-frame 2011-01-19 11:32:03 +01:00
Stefan Kangas
6a44134833 Add support for NTSC drop-frame timecode. 2011-01-19 11:10:39 +01:00
Stefan Kangas
94f8379aa2 Improved frame counting capabilities for time lib. Unit tests. 2011-01-19 11:10:39 +01:00
Stefan Kangas
d2702e8254 Add frame counting capabilities to time conversion lib. 2011-01-19 11:10:39 +01:00
95a1687a5b draft how a SMPTE-Timecode element could be implemented
passes Compiler, but thats about all...
2011-01-18 05:01:25 +01:00
ce420a1570 special digxel to represent the sign 2011-01-18 04:59:40 +01:00
38844b9050 get simple quantisation/timecode integration to run
passing the basic tests now;
still missing: implementation of specific timecodes,
e.g. SMPTE, HMS,....
2011-01-17 07:25:22 +01:00
02653621f6 adapt the TimeGrid meta asset, so it can be published as Quantiser 2011-01-17 06:38:10 +01:00
484c771d2a establish hidden advice link to the session 2011-01-16 23:58:42 +01:00
92c4516cae implement this format-support descriptor 2011-01-16 19:50:42 +01:00
2c90335b1d WIP idea how to represent support for some timecode formats
concrete quantiser instances need a way to state
support for just some timecode formats -- yet I dont
want to push vectors aroud all over the place
2011-01-16 15:41:34 +01:00
aa5c78a30f TimeGridBasics_test pass 2011-01-15 15:04:23 +01:00
240c5ac232 extract asset iostream display into separate header 2011-01-15 14:43:50 +01:00
a70376dc4b grid asset passes first basic unit test! 2011-01-15 14:07:25 +01:00
ee0dcf3ba0 introduce generic grid API to subsume quantiser and grid asset 2011-01-15 03:49:35 +01:00
bdc1800470 add support for offset linear combinations 2011-01-15 01:45:55 +01:00
eb89547265 get rid of the QuantiserRef
this is going to become soooo complicated
better just bite the bullet and use a shared_ptr
2011-01-15 00:52:02 +01:00
debe032f49 basic quantisation now working and covered by unit test 2011-01-13 03:36:12 +01:00
e2cab1f512 some more smoothing of rough edges 2011-01-13 03:36:12 +01:00
c7a887a528 Quantiser basic unit test pass, including corner case
ufff... finally
2011-01-13 03:36:12 +01:00
edc2598f27 cover additional time handling convenience shortcuts 2011-01-13 03:36:12 +01:00
af9c799fc8 Fix time quantisation to circumvent the precision problem
required to re-arrange several functions in order
to use the new util::floordiv and to get all relevant
calculations into time.h
2011-01-13 03:36:12 +01:00
237d287021 change time.h into a multilingual header 2011-01-13 03:36:12 +01:00
71aacc7698 implement an Integer-floor function for time quantisation
Contrary to the built-in division operator, this
function always truncates towards the next smaller
integer (also for negative numbers)
2011-01-13 03:36:11 +01:00
9d8961d650 Fix test definitions tue to the slightly changed time display format
In the course of the preceeding work, I changed the
standard Time formatting in time.c, such as to omit
the leading "0" on the hour; it doesn't seem likely
that displayed hour values will frequently have
two digits...
2011-01-13 03:36:11 +01:00
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
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
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
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
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
f832e817b8 WIP: test-driven brainstorming how quantisation could be used... 2011-01-13 03:36:08 +01:00
f798428428 WIP start a unit test to cover simple time grids 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
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
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
c1be39eacb Merge recent time quantisation analysis
Merge branch 'timequant' into proc
2010-12-26 22:30:28 +01:00
Stefan Kangas
51fea24664 Add GUI/model tests fixtures 2010-12-24 19:34:25 +01:00
000486e126 WIP create empty unit tests for time quantisation/handling 2010-12-22 04:09:27 +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
Stefan Kangas
0fac2b6569 Use CHECK instead of ENSURE in test suite. (Ticket #250) 2010-12-17 21:08:44 +01:00
Stefan Kangas
518f4bac1a Use CHECK instead of REQUIRE in test suite. (Ticket #250) 2010-12-17 21:05:50 +01:00
Stefan Kangas
661e4f0da5 Use CHECK instead of ASSERT in test suite. (Ticket #250) 2010-12-17 20:51:54 +01:00
e7191ed3c6 Planning Fixure: Segmentation datastructure (#726) 2010-12-13 03:22:11 +01:00
c4282560ce fix two regressions 2010-12-12 01:53:23 +01:00
8a54e00b6b ModelPort registry unit test pass (closes #727) 2010-12-11 23:40:12 +01:00
be6f555e04 Builder: registry for model ports coded up
passes compiler, but not yet unit test....
Needed to change asset::ID to encapsulate the embedded hash value
2010-12-11 01:52:02 +01:00
0464ca965c fill in ModelPort and ModelPortRegistry definition stubs
making test pass the compiler
2010-12-10 18:12:56 +01:00
7043db90ee introduce an explicit StreamType::ID 2010-12-10 17:39:39 +01:00
Stefan Kangas
88a01845a2 Add more unit tests for the time conversion library. 2010-12-10 12:55:24 +01:00
Stefan Kangas
16aed07977 Use CHECK instead of ECHO for several tests of time.c 2010-12-10 04:13:43 +01:00
2827961385 WIP: test driven brainstorming about model port registry 2010-12-10 01:27:17 +01:00
Stefan Kangas
26bff0daa3 Add unit tests for time.c 2010-12-06 16:33:00 +01:00
145ad6c3a5 more (trivial) cleanup and renaming 2010-12-05 02:46:37 +01:00
d1c64dd1c0 small cleanup, replace try-catch by VERIFY_ERROR macro 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
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
a7ec680955 WIP chewing on the problem how to define a output mapping type 2010-11-24 06:21:32 +01:00
b42e5c859f Test-driven brainstorming: how should output mapping be used? 2010-11-23 03:40:11 +01:00
d292e4dcb9 Fix: test should not be locale dependant 2010-11-06 23:02:27 +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
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
987026f4c8 implement creation of "default" Timeline 2010-10-25 06:08:36 +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
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
bb3eb8f3aa Merge integration of placement scopes and QueryFocus 2010-10-16 03:39:33 +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
722ab4e583 corr. wrong ticket number 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
9b5a24f6cc Integration: Placement Scope test pass 2010-10-16 02:21:19 +02:00
735af19891 getting PacementScope_test from last year to compile
...now using the real 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
6bb7886b54 define the proper behaviour expected when copying ScopePath (#662) 2010-10-16 02:21:19 +02:00
2c58e595c0 augment IterSource adapters by definition through classical iterator range 2010-10-16 02:21:18 +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
25c3b04ec8 FIX: tmpbuf.h include for tools 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
ccbdcfdef9 cosmetics, remove quotes in filedescriptor test 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
4fee3d85cf testsuite update, new test.h to be in sync with nobug
test.h introduces a PLANNED_TEST() macro for C code, shows what tests
are provided and so on (the nobug version did that since some time).

test names are now passed as identifers and translated to strings by the
macros.

A lot fixes for existing tests, replace some printfs with ECHO, cosmetics.

one threadpool (sync_many) test is broken and set to PLANNED, this needs
further testsuite support for dispatching output.

add a TEST nobug flag to test.h
2010-07-21 04:49:18 +02:00
Christian Thaeter
3201ae5d8c remove acquirer list for mmap regions in use, refcount is enough 2010-07-21 04:28:42 +02:00