Commit graph

888 commits

Author SHA1 Message Date
3932a820a3 Job and JobClosure now located in the backend
- adjust namespaces
- fix imports
- forward the failure reason to the JobClosure implementation
2013-08-30 02:00:35 +02:00
488efdf783 WIP: relocate job descriptor into backend (Ticket #926) 2013-08-30 01:23:07 +02:00
79370ad494 FrOSCon: review of job and job definition 2013-08-24 15:53:05 +01:00
ecf65a70fb start a draft to shape the high-level interface for the Scheduler 2013-08-19 04:12:03 +02:00
f9cd80560c complilation fixes 2013-08-18 03:16:49 +02:00
86e76bf7fe define setup and chaining of render planning chunks (#920) 2013-08-17 03:37:36 +02:00
d192c42faa fill in the definition how a job can be created 2013-08-17 01:35:07 +02:00
160dafebdb WIP re-read the code, try to understand the problem to be solved
unfortunately there was an interruption of more than a month
since my last Lumiera contribution
2013-08-13 01:16:29 +02:00
1f1d478da2 WIP: move building of the follow-up anchor into the new closure 2013-06-16 04:36:32 +02:00
84281d5b60 WIP: CalcStream initialisation
especially: where to establish the effective Timings.

also fixed several compilation errors
2013-06-15 04:02:48 +02:00
77066ee3ce WIP: how to start the actual calculation streams within EngineService
this draft fills in the structure how to get from an invocation
of the engine service to the starting of actual CalcStream instances.

Basically the EngineService implementation is repsonsile to
instruct the Segmentation to provide a suitable Dispatcher.
2013-06-03 05:25:13 +02:00
723096d3f2 WIP introduce a new kind of job closure to perform the planning
this might help solving that gordian knot related to the TimeAnchor,
the Dispatcher and the introduction of a possible playback strategy
2013-06-02 03:09:18 +02:00
082822fde8 relocate the JobClosure interface to be defined alongside of Job
This is necessary since the implementation of the job functions
calls through the VTable of the interface JobClosure. Thus this
interface (and the VTable definition) needs to reside within
some compilation unit linked together with the basic job class.

TODO: move class Job entirely into the Backend
2013-05-31 02:59:32 +02:00
56be672358 WIP: reworking the dispatcher interface
the goal is still how to introduce a playback strategy
2013-05-30 02:10:56 +02:00
8982223a4d pondering about a suitable definition of a planning chunk (#920)
mostly this seems to be a matter of getting the terms
and meaning of the involved entities straight
2013-05-21 04:35:25 +02:00
e0c5b18740 draft indicator (helper) to support tree navigation 2013-04-29 01:36:32 +02:00
25be40bb4a change PlanningStepGenerator end-of-sequence logic
basically I've changed my mind to prefer an
infinite JobPlanningSequence, which is just
evaluated partially. This removes the need to
embody the logic of planning chunk generation,
which really is a different concern.
2013-02-11 03:23:10 +01:00
7ada9ff291 consider how to integrate a playback mode strategy 2013-02-11 03:19:24 +01:00
30409e66bd WIP: considering how to support non-linear playback modes 2013-01-13 23:20:20 +01:00
aca90f7ce8 DONE: mechanics of job planning 2013-01-12 14:36:01 +01:00
2b0e6d63c9 stop condition for chunk wise job planning 2013-01-12 12:49:26 +01:00
a4411d00b1 DONE: time anchor and latency handling for job planning 2013-01-12 12:38:33 +01:00
e40f3fe97f introduce a render engine configuration facade 2013-01-12 11:17:29 +01:00
18605b0c19 handling of real time start offset
decision: the base for any deadline calculations
is the expected real time corresponding to the grid origin.
This value is contained in the Timings record.
2013-01-12 08:36:35 +01:00
72e5557d1e locate the real time / nominal within engine::TimeAnchor
this clarifies the relation of TimeAnchor and Timings,
the latter act as a general spec and abstracted grid,
while the latter actually performs the conversion and
deadline checking
2013-01-11 18:12:40 +01:00
d18e36708d re-read the code
OMG....
2013-01-11 16:48:28 +01:00
4ede0453be resolve the remaining liblumieracommon.so dependency problems
now this library doesn't refer to any symbols from
Proc-Layer anymore. Resolving these problems
highlighted IMHO a serious shortcomming of our
interface system, which hinders the building
of abstractions at interface level
2013-01-04 07:45:18 +01:00
ef9a6e6f11 note some unresolved problems with our DummyPlayer 2013-01-04 06:00:35 +01:00
3d628b6eee fix ill-guided linking of the DummyPlayer facade object type info
DummyPlayer is experimental code,
but actually we've established the convention
to linke the facade-proxies into common/interfaceproxy.cpp
2013-01-04 04:34:01 +01:00
1328ef4aa6 solution: how to retrieve syntactic representation
there is now a mechanism to allow sprcialised queries
to generate this syntactic representation only on demand

The actual concrete representation e.g. for scope queries
still remains TODO, but this won't really change
until we target the integration of a real resoloution engine
2013-01-02 04:18:05 +01:00
e902757a14 (DRAFT) refactor the way how to retrieve the syntactic query representation
there can't be a callback from the base ctor;
instead the subclass must pass a QueryText definition
2012-12-29 00:31:24 +01:00
a1d98eb457 restore and fix some broken tests
..more to come, especially several of the
QueryResolver based tests are still broken
2012-12-27 03:31:09 +01:00
933e486cf9 clarify some aspects of Session lifecycle
- consider especially where the reset of internal indices happens
- actively purge the Assets, the ConfigRules and Defaults
2012-12-27 02:31:58 +01:00
41f2820781 allow to clear the global Asset registration (#154) 2012-12-27 01:45:52 +01:00
384ee68129 allow simple query-for-pipe again (revert)
while refactoring, I thought it might be a good idea
only to use Query objects. But in this special case,
most often you'd just want to pass in a simple query
with a literal query string. So this convenience shortcut
indeed makes sense.
2012-12-26 02:20:11 +01:00
873d6c3d5c re-activate some tests 2012-12-26 02:01:26 +01:00
1f6e71272a simplify fake config rules table access
- since std::map is itself a smart-ptr, there is no need for an indirection
- directly use QueryKey as table key
2012-12-26 01:13:36 +01:00
d73c2fa842 adapt the fake-config-rules to use the new Query::Builder 2012-12-25 01:16:19 +01:00
bccb7a11b5 restore defs-registry Unit test 2012-12-22 22:01:51 +01:00
1bde72cccf implement another builder function; adapt OutputDesignation 2012-12-11 04:45:18 +01:00
08ff817afd implement builder/accesor function; adapt StructFactory 2012-12-09 02:42:36 +01:00
d306bb3cdf fix includes 2012-12-03 00:18:18 +01:00
a79ba2c507 refactor use of HashVal typedef (#722) 2012-12-02 23:03:37 +01:00
5dfe5e099f refactor namespaces for query and defaults manager 2012-12-01 08:44:07 +01:00
626b1d4356 re-arrange query- rules- and resolver facilities within Core
the rules-based configuration and query system
will be located within the core application,
while the concrete implementation facilities
are expected to reside within the session or
maybe also the GUI.

This is kind of a 'rochade' refactoring to resolve
circular library dependencies and confine the parts
dependant on the session and MObjects to the Proc-Layer

And while we're in the middle of chainsaw surgery,
we'll concentrate further query-based facilities
alongside the config-rules within the App core.
2012-11-27 02:17:21 +01:00
dd8a88d095 adjustments and stubbing to get it past the compiler 2012-11-26 01:22:01 +01:00
b5a7055f29 move Query interface to Lib 2012-11-25 02:29:52 +01:00
baefd74ae7 prepare refactoring of the Query interface 2012-11-25 02:04:19 +01:00
62bfccd67b cleanup: remove the old factory template
This template was a leftover from the early days
of Lumiera development and doesn't provide any
substantial value as an abstraction.

For the more intricate cases, we're using the
lib::MultiFact template, which allows to install
several "fabrication" functions at runtime
2012-10-14 01:30:08 +02:00
954ebefc4c draft implementation of the PlanningStepGenerator 2012-10-10 05:20:24 +02:00