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
5b6ecbab1c
start diagnostic buffer provider implementation
2011-09-25 19:26:07 +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
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
8016547d9c
rework and clarify node invocation sequence
...
while passing by, identified quite some
node invocation code to be rewritten
2011-09-25 19:26:05 +02:00
95bb5e64aa
WIP desiging the interplay of BufferProvider and BuffHandle
2011-09-25 19:26:05 +02:00
0706b83a46
fix a warning
2011-09-25 19:26:04 +02:00
d1a5b9a914
main: temporarily disable dependencies...
...
disable dependency declarations for subsystems
not yet implemented, to allow the lumiera executable
to start up
2011-09-25 19:26:04 +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
3125d1c573
a first draft for the Engine Interface
2011-09-25 19:26:03 +02:00
d1b6f7a57b
polymorphic value builder functions: how to take arguments
...
Previously, I've added an additional '&' to be able
to pass references without much ado. This turned out
to be problematic when using constant values at the
invocation site. Well. C++ has really a fixation
ont passing things by value. This is fine, but
doesn't play so well at times when passing smart-ptrs
or similar ref-counting stuff, especially when we just
want to *use* the handle, not store it away.
Essentially the same situation as with for_each
Bottom line: from now on, we need to state the
template parameter for such arguments explicitly,
or just accept the overhead of creating an additional
transient copy of the smart-ptr.
2011-09-25 19:26:03 +02:00
1e7da409bb
Fix logic error uncovered by GCC 4.4
...
benefits of using a newer compiler, yay!
Explanation: the Link<...> template combines
various policy templates and exposes a set
of functions, which can be bound as functor
into an concrete time::Control instance.
Actually, we need to mix in only the Mutation
baseclass, because we just want to inherit
the privilege to change time values, which
are otherwise immutable. We don't need to
mix in the Mutator template anymore (this
was a leftover from an earlier design)
2011-09-25 19:26:02 +02:00
4a62444ad4
WIP pick up on the design work regarding Engine, OutputSlot and Player
2011-09-25 19:26:02 +02:00
f8842c75ed
WIP draft OutputSlot internal transitions
2011-09-25 19:26:01 +02:00
7adb8149db
back to test-driven brainstorming again
2011-09-25 19:26:00 +02:00
a199bff92b
BufferProvider as a frontend to buffer management
2011-09-25 19:26:00 +02:00
650e73c454
OutputSlot: draft buffer handover protocol, remove the diferent models
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
585adb88b6
Refactoring: use the output Feed as intermediary construction step
2011-09-25 19:25:58 +02:00
511d08adad
WIP: bilding a PlayProcess...
2011-09-25 19:25:58 +02:00
9e53053944
WIP: draft building a PlayProcess
2011-09-25 19:25:58 +02:00
dea1fa57a2
draft play process structure; clarify handling of multiple channels
2011-09-25 19:25:58 +02:00
a19562942c
further considerations regarding output and output slots
2011-09-25 19:25:57 +02:00
4ece135257
cont.. drafting OutputSlot
2011-09-25 19:25:56 +02:00
ce6a917b59
first draft spec for the OutputSlot
2011-09-25 19:25:56 +02:00
a379476414
create outline of PlayService, add stubs for Play::Controller
2011-09-25 19:25:56 +02:00
1b0cb56dcc
implement PlayOut subsystem and draft OutputDirector
2011-09-25 19:25:55 +02:00
971dea6f6a
PlayService: basic definition and link to facade
2011-09-25 19:25:55 +02:00
2099ecbcac
finish and comment the new time::Control facility
2011-09-25 19:25:55 +02:00
f4d0d23e48
clean up leftovers from the first implementation attempts
2011-09-25 19:25:54 +02:00
fec2d25b52
additional quantisation and duration canges covered and passing test
2011-09-25 19:25:54 +02:00
15a3694cca
more complete unit test pass
2011-09-25 19:25:54 +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
9bd96a1b19
time-entities refactoring: Duration isn't an Offset
...
removed that inheritance relation; it was a typical
example of abusing inheritance and violated the
Liscov substitution principle. It is sufficient
to allow promotion of an offset into a Duration.
Note: Duration is the time metric
2011-09-25 19:25:53 +02:00
7c5f18643b
cont. reworking based on that idea; refactor mutation base cases
2011-09-25 19:25:53 +02:00
d39ae8afc6
idea for better organisation of the template specialisations
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
5e8a9b50d1
define asset::Viewer
2011-09-25 19:25:52 +02:00
b25d85e1dd
ProcNode hierarchy cleanup
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
4731afefb8
continue drafting the Player control elements -- life timevalue changes
2011-09-25 19:25:50 +02:00
c091b8e260
define Player / Output subsystem stub
2011-09-25 19:25:50 +02:00
20f95ca26f
draft the player facade interface
2011-09-25 19:25:50 +02:00
cb6453afe1
detailed planning how to build the player subsystem
...
key idea is to grow and rework the design of the
DummyPlayer to yield the full featured Player
2011-09-25 19:25:49 +02:00
899ffa60ca
WIP create (planned) new entities for the player subsystem
2011-09-25 19:25:49 +02:00
4a53ef4cd0
Clean-up: change some long standing TODOs into tickets
...
makes the test logs way more readable
Believe me: no one will ever notice a "TODO"
entry in the logs, when it showed up for
more than some months.
Thus I've created some new tickets, mostly
tagged as "QA" and placed the ticket number
at the corresponding locations in the source
2011-09-25 19:16:33 +02:00
Stefan Kangas
e34bb5ead1
Fix autotool build again, still fails on setup.ini
2011-09-15 04:35:08 +02:00
e103b4d8aa
SCons: fix error in linking executables
...
a long standing error, uncovered recently due to more stringent
checks of the linker on newer platforms, not picking up direct
dependencies of an executable transitively from the linked-to
dynamic libs (which is fine).
The error was to *overwrite* the LIBS construction variable
in the definition of the executable to link, instead of just
adding our dynamic links to the sources to be linked.
2011-07-25 00:36:53 +02:00
49d5a9592a
Fix drop-frame: remove float framerate
2011-05-21 07:09:22 +02:00
36cfaaa14d
REVERT tmpbuf implementation to the state of July.2010 ( bc989dab)
...
The new implementation provides differentiated buffers,
but is still buggy and causes double free alarms on shutdown
See Ticket #683
2011-05-21 06:52:39 +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
e5e6264493
technique to install a mock service temporarily
2011-05-19 23:21:50 +02:00
a207a9f003
adapt Media-Access (+Mock) to include an overall Duration
2011-05-18 01:37:33 +02:00
7656e5d500
adapt GUI to use the new Time framework
2011-05-16 08:38:01 +02:00
042598f04c
adapt Core + Proc to use the new Time framework
2011-05-16 08:37:36 +02:00
ef126283eb
add symbolic constant for "neutral" time.
...
Note: it's rather arbitrary choosen,
because any time grid can define its own origin.
You must not assume that the origin of any time axis
is located at Time::ZERO !!
2011-05-16 04:37:03 +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
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
3139fb7f1e
more 64/32bit fun
2011-05-15 04:19:27 +02:00
10215948a5
Fix another 64/32bit loss-of-precision problem
2011-05-15 04:19:26 +02:00
ccd40c3fee
better use a dedicated 'materialise' operation on the Quantiser
2011-05-15 04:19:26 +02:00
80f7dba334
WIP some comments and considerations
2011-05-15 04:19:26 +02:00
11137f7634
provide implementation of the nudge-Mutation
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
5851332628
back to business: now able to implement time mutation messages
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
9aa601d004
WIP first implementation version of PolymorphicValue holder template
2011-05-15 04:19:25 +02:00