Commit graph

1339 commits

Author SHA1 Message Date
cafe271830 stubbing of basic buffer provider functionality 2011-09-25 19:26:07 +02:00
ca615b9933 start stubbing some of the functionality planned thus far 2011-09-25 19:26:07 +02:00
c473784fe3 disable obsolte parts of BufferTable_test
to be rewritten
2011-09-25 19:26:06 +02:00
ed5091d8f5 considering Buffer handling and BuffTable in more detail 2011-09-25 19:26:06 +02:00
32f71cba6d more test-driven brainstorming 2011-09-25 19:26:06 +02:00
e1248d195a move asside obsoleted code
...will be removed soon, when reworking ProcNode
2011-09-25 19:26:05 +02:00
1f13931640 test driven brainstorming: using a BufferProvider 2011-09-25 19:26:05 +02:00
7efde06569 some stubs to make it compile... 2011-09-25 19:26:03 +02:00
737765260d Test-driven brainstorming: diagnostic adaptor for the engine 2011-09-25 19:26:03 +02:00
2625eee07c disable work-in-progress to make the tree compile
TODO noted as Ticket #819
2011-09-25 19:26:02 +02:00
691ab4b8b5 WIP draft simple OutputSlot usage 2011-09-25 19:26:01 +02:00
7adb8149db back to test-driven brainstorming again 2011-09-25 19:26:00 +02:00
08df994fb1 fix unit test broken by 7dad280 (14.6.2011) 2011-09-25 19:25:59 +02:00
f46cc26851 factor out convenience shortcut
transform iterator and wrap result into IterSource
2011-09-25 19:25:59 +02:00
2099ecbcac finish and comment the new time::Control facility 2011-09-25 19:25:55 +02:00
fec2d25b52 additional quantisation and duration canges covered and passing test 2011-09-25 19:25:54 +02:00
a1427bb0b9 next challenge: expected behaviour for quantised source/target values 2011-09-25 19:25:54 +02:00
15a3694cca more complete unit test pass 2011-09-25 19:25:54 +02:00
92dbedc289 intensify the unit-test... 2011-09-25 19:25:53 +02:00
b54cd2c722 cont. defining time::Control special cases
the refactoring seems to work out OK, was able
to cover all the cases defined thus far....
2011-09-25 19:25:53 +02:00
a8fd0bf7c5 better avoid throwing and use a default time grid in some cases 2011-09-25 19:25:53 +02:00
47afbbeab0 first attempt towards covering the various special cases
the intention is to generate most combinations from
generic template cases, but to define the difficult
cases by explicit specialisation
2011-09-25 19:25:53 +02:00
eed2b0f320 time::Control simple unit test pass 2011-09-25 19:25:52 +02:00
c96cd66688 draft implementation for time change and propagation 2011-09-25 19:25:52 +02:00
27533c3bb9 WIP darft usage for the new time::Control (life change) element 2011-09-25 19:25:52 +02:00
e497f0a41e test case generator (Cartesian product): unit test pass 2011-09-25 19:25:52 +02:00
ae36b2d941 stubs and adjustments to get it through the compiler 2011-09-25 19:25:52 +02:00
786ecbe829 WIP draft test helper for generating test cases (Cartesian product) 2011-09-25 19:25:51 +02:00
eb5e0ab9ff WIP: start building a Test for time::Control. Need Cartesian product of cases... 2011-09-25 19:25:51 +02:00
9004818d63 further planning the features of time::Change 2011-09-25 19:25:51 +02:00
14bc7d1fd4 fix regression in test definition
random time values are really random. Doh!
2011-09-25 19:16:13 +02:00
Stefan Kangas
e34bb5ead1 Fix autotool build again, still fails on setup.ini 2011-09-15 04:35:08 +02:00
49d5a9592a Fix drop-frame: remove float framerate 2011-05-21 07:09:22 +02:00
b6f81d1e1e Fix problems discovered by compiling with gcc 4.4 2011-05-21 07:08:17 +02:00
ad59049ed0 disable broken Thread-joining test. See Ticket #803 2011-05-21 06:52:50 +02:00
2dde33ec42 remove unecessary double calls to lumiera_config_destroy()
config system is initialised and closed automatically
2011-05-21 06:52:25 +02:00
1aafb07a43 fix remaining issues turned up by switching the time handling 2011-05-20 03:39:07 +02:00
51fa9fe735 MediaFactory now using MediaAccessFacade to determine media Duration 2011-05-20 02:59:29 +02:00
12f43078a2 fix some names 2011-05-20 02:17:20 +02:00
4b4fcb0c80 use (and verify) this with the MediaAccessMock_test 2011-05-20 02:02:14 +02:00
a207a9f003 adapt Media-Access (+Mock) to include an overall Duration 2011-05-18 01:37:33 +02:00
46c9811184 adapt the unit-tests to use the new Time framework 2011-05-16 08:38:27 +02:00
481875a78a add check for time point contained in TimeSpan 2011-05-16 04:02:26 +02:00
b9861ef88f WIP completely remove the old Time wrapper 2011-05-15 22:51:02 +02:00
ee5c9910e1 dry-run: switch the lumitime-test.cpp to use the new Time framework 2011-05-15 22:10:26 +02:00
99bf3c6d81 join with latest work on timecodes and frame quantisation
Merge branch 'timequant' into gui
2011-05-15 04:28:20 +02:00
3e28c870f5 Finish basic Time mutations, unit test pass 2011-05-15 04:19:27 +02:00
4bf53bba0f code unit test to demonstrate full time/timecode usage cycle 2011-05-15 04:19:27 +02:00
f85c86d6c8 parsing fractional seconds: unit test pass 2011-05-15 04:19:27 +02:00
c7bb7154a7 draft a test to cover parsing of timecode values 2011-05-15 04:19:27 +02:00
6b1b6cb805 draft how to integrate parsing of timecode formats 2011-05-15 04:19:27 +02:00
80f7dba334 WIP some comments and considerations 2011-05-15 04:19:26 +02:00
af1561068e definitions and stubs to make it compile 2011-05-15 04:19:26 +02:00
bf61ff7248 WIP test-driven brainstorming: nudge by grid 2011-05-15 04:19:26 +02:00
2035405251 add time Mutation to adjust by offset 2011-05-15 04:19:26 +02:00
baf601c16b first time mutation test cases pass 2011-05-15 04:19:25 +02:00
6fa11ffcf6 special case: support cloning, but not copy
needed to add yet another policy template,
so PolymorphicValue doesn't invoke the
assignment operator in such cases
2011-05-15 04:19:25 +02:00
6daf14211b Finish the PolymorphicValue support template 2011-05-15 04:19:25 +02:00
710ae8fa0f Allow for improved performance in special cases
Using a policy based switch in case the client
interface collaborates and provides copy operations;
in this case, a direct static downcast instead of
the expensive indirect (dynamic) cast to the
management interface can be employed.
2011-05-15 04:19:25 +02:00
a10e381cfa fix error in test logic
need to adjust the checksum on copy :)
2011-05-15 04:19:25 +02:00
9aa601d004 WIP first implementation version of PolymorphicValue holder template 2011-05-15 04:19:25 +02:00
0aaa010350 WIP draft how polymorphic value objects are expected to behave 2011-05-15 04:19:24 +02:00
4d6bb3d54c design outline for a limited time::Mutation capability 2011-05-15 04:19:24 +02:00
9364d717b0 implement total order on time intervals 2011-05-15 04:19:24 +02:00
0e4ed856d7 WIP: get back into the topic of time value mutations
start drafting a unit test....
2011-05-15 04:19:24 +02:00
9eb4f66372 draft more convenience handling for TimeSpan 2011-05-15 04:19:24 +02:00
ab72b528c8 draft test for changing time specs 2011-05-15 04:19:22 +02:00
Christian Thaeter
e6cc7d3f99 WIP: autotools catchup, make it build again
Lumiera builds again, but some tests are missing and the new setup.ini
isn't loaded correctly which makes the plugin loader fail.
2011-04-28 13:14:29 +02:00
1e1c3706dc update some DIR_INFO entries 2011-04-05 00:44:30 +02:00
b843546922 cumulated build/release fixes
up to corresponding debian/0.pre.01-3
- compile issue (digxel.hpp)
- SCons missing config dependency on test-only
- 32/64bit fixes
2011-03-31 18:43:50 +02:00
bc1c89639d fix the plugin loading test to suit the new dir layout
the 'missing path' test still works, but rather
accidentally: the plugin search path retrieved from
resolving $ORIGIN is an absolute path, while this
test uses relative paths; thus the querried plugin
won't be found. In the second test, we set an
environment override, using the relative path
(which is now 'modules'). Thus the discovery works.
2011-02-13 23:45:11 +01:00
35380e7873 correct expected values for timehandling tests
regarding frames: we don't round, we truncate
towards the next lower integer
2011-02-13 23:12:36 +01:00
3c27147459 small fixes, comments 2011-02-13 23:11:16 +01:00
65d28b4018 Gui: rework resource loading to make the application fully relocatable 2011-02-07 09:56:27 +01:00
88678209bc use setup.ini to retrieve the modulepath and configpath
connect config-facade with the new BasicSetup implementation
to fetch values from setup.ini, instead of the (not implemented)
Config-system. Hook this new lookup mechanism into the
plugin loader to retrieve the search path from there
2011-02-06 05:06:16 +01:00
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