5498ace9fc
WIP define a unit-test for diagnostic context stack
2011-12-24 05:57:11 +01:00
87f7a8f6e8
unit test to cover thread-local helper
2011-12-24 05:55:31 +01:00
451b0abec5
spelling and typos
2011-12-24 05:48:31 +01:00
d27e3b15a9
clarify the handling of specific output operation modes (e.g. number of channels)
2011-12-23 02:22:38 +01:00
7fc8473337
fix some size_t printf specs (32/64bit problem)
2011-12-19 03:02:48 +01:00
6852a6feff
WIP refactor building of the active render feeds
...
RenderConfigurator becomes an internal strategy
controlled by the PlayService
2011-12-17 04:45:42 +01:00
477b443191
implement diagnostic OutputSlot simple frame tracking
...
...should be enough to run tests against the OutputSlot interface
2011-12-09 01:03:02 +01:00
aef3d50ffd
implement basics of the diagnostic OutputSlot
...
...specific diagnostic facilities still lacking
2011-12-08 23:02:19 +01:00
08d330310f
cleanup unnecessary builder function and flags in SCons build
2011-12-03 05:46:36 +01:00
77548e74c6
document a weakness of boost::hash for strings
2011-12-03 03:18:03 +01:00
7fd28e23eb
cleanup configflags to use uint instead of char
...
using char for those flag template parameters
was never a good idea. It won't save us any space
and makes debugging harder
2011-12-03 03:16:08 +01:00
d9f84a9bfd
clean up lib/meta namespaces
2011-12-03 03:15:59 +01:00
b2d6074097
cleanup test includes
2011-12-02 21:34:29 +01:00
b9d1899486
cleanup: rectify Proc-Layer namespaces (II)
2011-12-02 17:50:44 +01:00
eb79a00cf4
cleanup: rectify Proc-Layer namespaces (I)
2011-12-02 16:10:03 +01:00
89a9202c6c
cleanup: remove precompiled headers
...
we don't need them and they even tend to
increase build times due to unnecessary
compound-includes at some core headers
2011-12-01 23:32:34 +01:00
c7d4412cec
integrate recent GUI / timeline and work done on the player subsystem
2011-11-27 02:15:11 +01:00
7ba8ff432f
BufferProvider interface finished thus far.
...
simulated lifecycle passes unit test
2011-11-26 00:09:59 +01:00
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
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
Christian Thaeter
e0939e9469
improve the mmap handling
...
* add frontend interfaces to file to get a mmaping
* SECTION macro to encapsulate mmap access
* mmap_address() translating an actual offset to address
* add some tests
* some test cosmetics
2010-07-21 04:28:42 +02:00
Christian Thaeter
b578c273d5
Increase valgrind time limits for tests and fix test.sh glitch
...
On my slow laptop some tests fail because of timeouts under
valgrind, going to 55/60 seconds should be sane.
Fixing an undiscovered bug ignoring timeout configs in test.sh.
2010-07-16 21:47:08 +02:00
Christian Thaeter
99d5d3765f
FIX: Add remaining tests to the Makefiles, sort Makefiles
2010-07-16 21:44:44 +02:00
Christian Thaeter
e6d7b39ffe
disable the resourcecollector test (not finished yet)
2010-07-16 05:39:11 +02:00
Christian Thaeter
d6a18ed9a7
post-merge autotools fixup
2010-07-16 05:39:01 +02:00
e16ca49894
Merge in new (experimental) 'advice' concept
2010-07-14 04:33:42 +02:00
5c6a6c150f
clean up any remaining use of wstring
...
I consider wstring a deprecated technology
UTF-8 is all we need
2010-06-27 03:48:00 +02:00
002f024ed8
SCons: improve dependency handling for the testsuite
2010-06-26 05:08:16 +02:00
639aff0fa5
(cont) analyzing the problem of output designation
2010-06-25 04:43:06 +02:00
a85d885104
Fix RegExp causing MObjectRef_test to fail randomly
...
...by matching an LUID in the previous line.
Thanks to Cehteh for spotting this
2010-06-21 03:47:18 +02:00
5e104b633a
querying for specific objects (automatically pick target type)
2010-06-19 08:47:28 +02:00
c1cb5320e0
factor the specific query into separate header
2010-06-19 05:37:39 +02:00
c80b1894e6
Clean up design of ScopeQuery, throw out Iterator mixin ( closes #641 )
2010-06-19 05:20:34 +02:00
fab1c699ea
draft test to verify behaviour
...
but doesn't work; somehow the filterfunciton of the baseclass
gets installed
2010-06-16 06:45:38 +02:00
a1f3ad835b
investigating the problem of finding an object with given conditions
2010-06-15 05:24:05 +02:00
fc3e43bb19
re-reading my design and plannings from March, identiyfying next steps to take
2010-06-13 03:34:12 +02:00
e574fdf702
fix a regression regarding struct-asset naming scheme
2010-06-13 00:31:41 +02:00
68aefe5074
implement a simple singleton holder for NIL/default objects
2010-06-12 19:45:01 +02:00
a6621703af
SCons: improve dependency handling for the testsuite
2010-06-12 19:44:38 +02:00
cb838ba5b6
extend killer-stash to allow registration of custom deleter functions
2010-06-12 03:12:02 +02:00
eb19f59ba0
deleter memorising component passes unit test ( #629 )
2010-06-07 03:32:41 +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
7895ce5f49
solve the problem with re-binding and advice::Request
2010-06-04 17:25:33 +02:00
72c01e12c9
implement a simple singleton holder for NIL/default objects
2010-06-03 04:40:38 +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
d00d42b58c
code up the core solution finding logic
2010-06-03 04:40:36 +02:00
bf02d6d03f
adapter interface for the test-entry
2010-06-03 04:40:36 +02:00
530940254e
stubbed advice binding index implementation
2010-06-03 04:40:36 +02:00
c8ac2b0447
planning the advice binding index implementation
2010-06-03 04:40:35 +02:00
5b48b9f864
fix a regression regarding struct-asset naming scheme
2010-06-03 04:40:35 +02:00
0514c24487
Advice binding pattern finished, passing unit test
...
now detecting a lot of syntax errors
2010-06-03 04:40:35 +02:00
6bc78064d1
SCons: improve dependency handling for the testsuite
2010-06-03 04:40:35 +02:00
1e28c7f1ab
get the advice binding unit test to pass thus far
2010-06-03 04:40:35 +02:00
85f8035f92
Implement parsing of Advice binding pattern spec
2010-06-03 04:40:35 +02:00
f2269b7e78
Implement Advice binding pattern
2010-06-03 04:40:35 +02:00
f27024172f
Implementation skeleton for advice binding match
2010-06-03 04:40:34 +02:00
e3c963378f
outline some implementation details regarding the Bindings to match
2010-06-03 04:40:34 +02:00
3e2b78b670
fill in the basic definitions to make the draft test compile
2010-06-03 04:40:34 +02:00
b789c110fa
test-driven brainstorming: how the basic advice collaboration should work
2010-06-03 04:40:34 +02:00
abe8d876dd
Start planning the Advice implementation: skeleton of unit tests
2010-06-03 04:40:34 +02:00
1f988e17cd
unfinished code commented out
2010-06-03 04:37:22 +02:00
0f6c2e84d2
test-driven brainstorming: TypedID usage
2010-06-03 04:37:22 +02:00
a78845507a
cleanup
2010-06-03 04:37:20 +02:00
e61eb01942
experimental fix for #307
2010-06-03 04:37:20 +02:00
debba6f769
Fix PlacementIndex corruption while deleting recursively
2010-06-03 04:37:20 +02:00
82d8d26308
extend the map iterator adapter to work on STL ranges
2010-06-03 04:37:20 +02:00
939270063e
helper: take snapshot of a given Lumiera or STL iterator
2010-06-03 04:37:20 +02:00
81f87ba852
similar low-level iterator adapter for multimap value groups
2010-06-03 04:37:20 +02:00
c5e4725dcb
implement another wrapper to filter duplicates
2010-06-03 04:37:19 +02:00
73a2aea50c
draft a low-level adapter to get all keys/vals of a stl::map
...
intention is just to use a thin wrapper, without
abstracting the implementation type (as IterSource does)
2010-06-03 04:37:19 +02:00
fc44e522e0
improve PlacementIndex self-verification
2010-06-03 04:37:19 +02:00