d6b069fbbd
clean-up after refactoring
2011-11-25 17:29:06 +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
d6de8c8d1a
implement some missing nits and bits
2011-11-21 02:28:44 +01:00
91b74ad7bd
implement missing parts of test/dummy buffer provider
2011-11-20 01:35:52 +01:00
3830ff7ce1
refactor the test/dummy provider, based on ScopedPtrVect solely
...
instead of using a vector directy, move the
additionally required functinoality in the
utility class. This forced me to adjust
the IterAdapter, to allow working with
STL algorithms
2011-11-19 17:51:08 +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
d1d0f66fa8
allow LocalKey to carry arbitrary pointers or hashes as payload
...
...used to piggyback opaque implementation data,
deliberately no typecheck here
2011-11-15 04:46:00 +01:00
6bc94cccb5
WIP refactor BufferProvider public and protected API
2011-11-14 01:43:29 +01:00
890b6e8366
WIP implementation details of diagnostic BufferProvider
2011-11-13 04:20:14 +01:00
ca0aa23479
BufferProvider default impl: attaching a type
2011-11-12 00:36:53 +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
c8458ab397
improved diagnostics
2011-11-07 00:50:03 +01:00
a88ccd219d
extract the diagnostic BufferProvider into separate header
2011-11-07 00:07:53 +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
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
e7f0211711
better solution for calculating the Key for a concrete Entry
2011-10-30 01:17:31 +02:00
f849ca62d9
implement metadata storage (hash)table
...
not passing all tests yet
2011-10-29 02:41:56 +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
c8cdf914eb
review metadata storage, stub the actual access operations
2011-10-28 01:11:39 +02:00
9af0fb096f
WIP draft implementation of buffer metadata creation/storage
2011-10-24 02:14:08 +02:00
c4ff87c3a8
decide about the basic way to implement concrete buffer metadata
2011-10-24 01:03:56 +02:00
76a6407a5e
better formulation for the buffer metadata state machine
2011-10-23 22:07:39 +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
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
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
3256b7fe11
implementing the hash functions for the buffer metadata content fields
2011-10-12 03:47:34 +02:00
2477f2e682
outline of building a hierarchy of hash keys for buffer metadata
2011-10-09 16:03:51 +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
7459c0a41f
(cont) buffer metadate implementation
...
state transitions etc
2011-09-26 02:19:31 +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
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
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
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
9004818d63
further planning the features of time::Change
2011-09-25 19:25:51 +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
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
a207a9f003
adapt Media-Access (+Mock) to include an overall Duration
2011-05-18 01:37:33 +02:00
042598f04c
adapt Core + Proc to use the new Time framework
2011-05-16 08:37:36 +02:00
b9861ef88f
WIP completely remove the old Time wrapper
2011-05-15 22:51:02 +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
2035405251
add time Mutation to adjust by offset
2011-05-15 04:19:26 +02:00
5851332628
back to business: now able to implement time mutation messages
2011-05-15 04:19:25 +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
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
e73bea379c
Adjust some Copyright headers
...
List of years instead of a range is better
2011-02-05 20:56:51 +01:00
faf579c4c5
enforce generally imutable time values
2011-01-22 23:20:12 +01:00
c3d0fda495
remove superfluous type qualifier
2011-01-19 11:32:38 +01:00
02653621f6
adapt the TimeGrid meta asset, so it can be published as Quantiser
2011-01-17 06:38:10 +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
8bc5bf88c9
fill in the missing parts to create a grid asset
2011-01-15 13:10:02 +01:00
ee0dcf3ba0
introduce generic grid API to subsume quantiser and grid asset
2011-01-15 03:49:35 +01:00
b66b778c42
implement and test simple demo quantiser
2011-01-13 03:36:11 +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
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
640d061de6
Meta Assets as a framework for specifiyng a TimeGrid
2011-01-13 03:36:08 +01:00
459b1a061f
Autotools fixes
2010-12-18 02:22:25 +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
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
9c86deb18c
augment asset ID: automatic conversion, typed NIL ID constants
2010-12-10 15:29:43 +01:00
2827961385
WIP: test driven brainstorming about model port registry
2010-12-10 01:27:17 +01:00
8802beb753
rereading (and rewrapping) the builder/engine code...
...
started this a long time ago, then got sidelined....
2010-12-09 22:43:32 +01:00
ee56ab36a0
Definition of ModelPort, model port reference and -table ( #718 )
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
5ba7468f41
OutputMapping implementation complete, pending unit test
2010-11-28 01:43:55 +01:00
fc051dfcba
OutputMapping implementation draft
...
coded up the easy part, omitting the actual resolution
based on an configuration query
2010-11-27 06:01:31 +01:00
1e2d4d90f6
start using a typedef HashVal instead of size_t ( #722 )
2010-11-27 05:11:02 +01:00
f9bc292ac3
better use boost::operators for full equality comparison support
2010-11-27 04:21: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
645ddd284c
WIP Solution draft for defining an output mapping type
2010-11-25 04:52:49 +01:00
a7ec680955
WIP chewing on the problem how to define a output mapping type
2010-11-24 06:21:32 +01:00
0866d2c191
convenience lookup function for pipes
2010-11-24 06:20:53 +01:00
b42e5c859f
Test-driven brainstorming: how should output mapping be used?
2010-11-23 03:40:11 +01:00
5ae1f819f2
Finished the design of global pipes
2010-11-21 02:29:26 +01:00
272f3d75ff
finish OutputDesignation definition and outline. ( closes #312 )
2010-11-19 19:10:24 +01:00
9473fd3d67
OutputDesignation implementation draft
2010-11-19 05:01:43 +01:00
71f1dfede8
WIP output mapping draft ( #716 )
2010-11-17 04:49:21 +01:00
250bfeaee5
use the new OptionalRef to protect session shutdown
...
The original version was sensible to static initialisation order,
which shold be resolved now, because of OptionalLink's dtor
explicitly disabling any further access.
2010-11-06 22:56:17 +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
de54e46a12
remove the encoded capabilities from Struct asset ID ( #565 )
2010-10-29 06:04:03 +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
fcbd18621e
session: attaching and detaching objects
2010-10-26 05:37:14 +02:00
987026f4c8
implement creation of "default" Timeline
2010-10-25 06:08:36 +02:00
13e1a3a943
mostly unimplemented... referring the relevant tickets
2010-10-25 03:08:52 +02:00
9fc366bd25
session lifecycle implementation..
2010-10-24 06:50:00 +02:00
85b62d99dc
stubbed the lifecycle operations
2010-10-24 02:48:00 +02:00
9bdfface63
implementation draft of session lifecycle
2010-10-24 02:27:38 +02:00
796c4488a5
planning session lifecycle implementation
2010-10-23 05:58:14 +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
6cda74c31e
connect element-tracking to the asset unlink mechanism
2010-10-20 04:00:05 +02:00
83ea56e3ec
hook automatic element-tracking into Sequence asset
2010-10-19 04:29:05 +02:00
b35c4b4871
hook automatic element-tracking into Timeline asset
2010-10-19 04:19:38 +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
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
b9e99a2be2
add ability to generate a short-ID to MObject hierarchy
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
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
5c28b5d46e
re-read, verify and finish off the Scope, ScopeLocator and QueryFocus implementation
2010-10-16 02:21:19 +02:00
119f7be36c
define copy operations explicitly ( closes #662 )
...
ScopePath and Scope implementation should be roughly complete
2010-10-16 02:21:19 +02:00
bba9ce2570
code up the remaining Scope operations. Closes #430
2010-10-16 02:21:18 +02:00
6dd18f96c6
extend the session services API to support scope discovery
...
This allows the implementation of the Scope class to access
the current Session / PlacementIndex behind the scenes
2010-10-16 02:21:18 +02:00
99f29f9795
now able to build a IterSource based opaque const Scope iterator
...
for this to work, scope-path.hpp injects an explicit specialisation,
causing the RangeIter defined in ScopePath to yield const Scope
2010-10-16 02:21:18 +02:00
fdfb946d63
preparation to allow explicit type bindings for iter-adapter
2010-10-16 02:21:18 +02:00
e5de12fc7a
(draft) maybe solved the problem defining a scope iterator
...
actually that would require to extract the IterTraits
from iter-adapter.hpp to allow for such dedicate specialisations
2010-10-16 02:21:18 +02:00
9593d388cc
back out that caching query, it's nonsense
...
defeating the whole purpose of that interface
2010-10-16 02:21:18 +02:00
001a45f64a
WIP implementation idea how to get both iterations unified
2010-10-16 02:21:18 +02:00
e14aba833e
remove the parent-iteration capability from Scope
...
its not needed yet, and would be surprisingly tricky
to implement, so lets get rid of it!
Use QueryFocus or ScopeLocator instead
2010-10-16 02:21:17 +02:00
d5cdd39f52
WIP trying to code up the public query function for scope paths
...
problem is how to get an iterator compatible with ScopeQuery...
2010-10-16 02:21:17 +02:00
088922a790
remove obsolete helper
...
seems to be a leftover, obsoleted by the simplifications done this june
in c80b1894e6 Ticket #641
2010-10-16 02:21:17 +02:00
58757281b0
rearrange the query functions to suit the changed ScopePath internals
2010-10-16 02:21:17 +02:00
1fe76e33a2
WIP: move the (planned) logic for virtual paths to ScopePath::navigate()
2010-10-16 02:21:17 +02:00
d1d7f3bc58
decided on an extension point to add virtual/effective paths
...
we need that later to get full meta-clip functionality
2010-10-16 02:21:17 +02:00
8078357e3c
revisiting the binding scope problem
2010-10-16 02:21:17 +02:00
Christian Thaeter
99d5d3765f
FIX: Add remaining tests to the Makefiles, sort Makefiles
2010-07-16 21:44:44 +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