Commit graph

1339 commits

Author SHA1 Message Date
2fce2b1c8d make ctor-tracking test::Dummy more widely usable 2011-11-25 22:05:12 +01:00
55a77bdd73 factor out and treat the attaching of objects separately
this is an advanced feature not required
in the standard buffer usage cycle
2011-11-25 20:23:31 +01:00
eed6d8cd1e split out obsolete ChannelDescriptor for later refactoring
Meanwhile, BuffHanle became way more concrete,
making the separation of any kind of buffer or channel
type management concievable.

Thus: extract the obsolete ChannelDescriptor
and use switch at any location where the old
(superseeded) buffer handle is still referred
2011-11-25 17:16:33 +01:00
74702ebecd address the next test... 2011-11-24 03:33:23 +01:00
2ae1e3c8f9 test/dummy buffer provider finished and passes test 2011-11-21 03:26:08 +01:00
0a1256f4e3 cover and verify detaching from ScopedPtrVect 2011-11-19 21:41:50 +01:00
ca689ae5e0 WIP some musing about building an option monad 2011-11-18 01:24:43 +01:00
27449c1438 implementation details of a test/dummy provider 2011-11-18 01:23:50 +01:00
623bb401af clarify implementation extension points of BufferProvider
decide especially how to pass on the implementation
defined data like e.g. pointers to storage extents
2011-11-15 04:47:31 +01:00
fd94367b9e stubs and changes to make the test compile 2011-11-11 23:33:59 +01:00
fe1ae51b49 WIP draft test for internal test buffer provider
a test to cover a helper for writing tests ;-)
2011-11-11 01:44:01 +01:00
f75e55a060 nail down a lot of OutputSlot implementation details 2011-11-08 02:59:56 +01:00
59dfb7c660 start drafting a (dummy) output slot implementation
this implicates a first attempt to build a
dummy buffer provider implementation.
Mostly just defining stubs here....
2011-11-07 01:57:33 +01:00
7ab7c8073d remold OutputSlot implementation structure
Better solution where to place the extension points
to be implemented by concrete output systems
2011-11-06 02:37:22 +01:00
63dbc89b6f draft implementation setup for OutputSlot baseclass 2011-11-05 16:51:24 +01:00
d6e88c85e0 finish buffer metadata; cover state transitions
BufferMetadata complete and working for now
2011-11-02 01:34:05 +01:00
0cd7bd2b4c add test coverage for the test frame table 2011-11-01 03:36:35 +01:00
db3ea6638d use boost::random to ensure distinct test frame contents 2011-11-01 03:11:43 +01:00
20777cca8a implemented testframe, not passing all tests yet 2011-10-31 02:20:32 +01:00
a14e4f7ccd define a facility to generate test frames 2011-10-31 00:13:35 +01:00
931dc3f883 draft: automatically invoke an attached ctor/dtor functor 2011-10-30 05:35:36 +01:00
ccd130966b finish and pass the first round of tests
still missing:
- implementation of a Mock frame
- automatical invocation of the TypeHandler
2011-10-30 02:19:10 +02:00
c91e703682 rename the core type BufferMetadata
makes the purpose more clear, and moreover
it matches the header filename
2011-10-28 01:18:22 +02:00
c4ff87c3a8 decide about the basic way to implement concrete buffer metadata 2011-10-24 01:03:56 +02:00
f7a3fdb7a5 fix further test glitches (due to using real random numbers now) 2011-10-23 22:06:32 +02:00
b39edad306 clean-up some additional mentions of boost::ref 2011-10-22 21:45:59 +02:00
2730fa8d7a a bit of stylistic cleanup
- using std::tr1::shared_ptr in namespace gui
- thus removing a lot of std::tr1 qualifications
- fix some includes. Should be relative to 'src'
- interface classes should declare a virtual dtor!
2011-10-22 02:49:30 +02:00
d48dc3b025 fix glitch in test definition
uncovered since rand() is now properly seeded
prior to each testsuite run
2011-10-21 02:41:20 +02:00
65b309e5cb Testsuite: automatically seed the random number generator 2011-10-21 01:09:12 +02:00
f1a4489470 Fix minor problems after merge 2011-10-21 00:58:15 +02:00
ca0ae9c120 stubbed relevant parts of BufferProvider and OutputSlot 2011-10-19 02:47:11 +02:00
991eec8185 draft test to simulate a complete buffer metadata usage cycle 2011-10-17 02:00:48 +02:00
1772659a00 start implementing buffer metadata records 2011-10-16 00:06:57 +02:00
3d859c8b53 buffer metadata hash keys implemented and tested thus far 2011-10-15 22:46:08 +02:00
3ae35b2df9 define more extensive testing of derived metadata keys 2011-10-15 17:47:50 +02:00
28c555aac7 define a type handler for attach an object to a buffer 2011-10-15 05:05:30 +02:00
2c380b5f99 draft a dedicated test for buffer metadata keys 2011-10-15 04:12:51 +02:00
1627698911 implement hash function for functor obejects. Unit-test pass 2011-10-14 14:49:55 +02:00
6baadbaef0 draft a workaround for hashing functor objects 2011-10-14 03:54:22 +02:00
7ea9afd1bb first attempt to implement buffer metadata...
...leading to refactoring
2011-10-09 04:20:56 +02:00
3acf804988 flesh out the buffer metadata API
functionality just stubbed still
2011-10-08 02:21:29 +02:00
4df45c44e9 BufferMetadata: some musing about how to access the Allocator 2011-10-06 21:55:00 +02:00
f505c46d1d finish simple allocator frontend. Unit-test pass 2011-09-25 19:26:12 +02:00
5350ef6dbe split off and test-cover simple typelist utils
these simple utils (length of typelist, maximum size
containment test) are mostly not used in conjunction
with the more elaborate typelist manipulatino utils.
Moreover, we lacked a dedicated unit test
2011-09-25 19:26:11 +02:00
057f32e15b rename the typelist-manipulation header 2011-09-25 19:26:09 +02:00
db2b02f0c5 define a front-end for explicit allocations
...currently just defined by forwarding
to std::allocator
2011-09-25 19:26:09 +02:00
bc756e42d9 rewrite (planned) test to reflect the new metadata design 2011-09-25 19:26:09 +02:00
1ea3cba2f5 remold the buffer metadata into a PImple used by BufferProvider 2011-09-25 19:26:08 +02:00
8a2c94014c extract buffer metadata handling into separate entity 2011-09-25 19:26:08 +02:00
7ef85065ba impl: buffer provider metadata... 2011-09-25 19:26:08 +02:00
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