(cont) problem of output designation
This commit is contained in:
parent
5c6a6c150f
commit
fb43061159
1 changed files with 14 additions and 8 deletions
|
|
@ -2593,7 +2593,7 @@ The operation point is provided by the current BuilderMould and used by the [[pr
|
|||
This is possible because the operation point has been provided (by the mould) with informations about the media stream type to be wired, which, together with information accessible at the the [[render node interface|ProcNode]] and from the [[referred processing assets|ProcAsset]], with the help of the [[connection manager|ConManager]] allows to figure out what's possible and how to do the desired connections. Additionally, in the course of deciding about possible connections, the PathManager is consulted to guide strategic decisions regarding the [[render node configuration|NodeConfiguration]], possible type conversions and the rendering technology to employ.
|
||||
</pre>
|
||||
</div>
|
||||
<div title="OutputDesignation" modifier="Ichthyostega" modified="201006250242" created="201006220126" tags="Model draft design discuss" changecount="15">
|
||||
<div title="OutputDesignation" modifier="Ichthyostega" modified="201006270423" created="201006220126" tags="Model draft design discuss" changecount="21">
|
||||
<pre>__6/2010__: an ever recurring (and yet unsolved) problem in the design of Luimiera's ~Proc-Layer is how to refer to output destinations, and how to organise them.
|
||||
To get ahead with this problem, I'll start collecting observations, relations and drafts on this tiddler.
|
||||
|
||||
|
|
@ -2601,19 +2601,19 @@ To get ahead with this problem, I'll start collecting observations, relations an
|
|||
* effectively each [[Timeline]] is known to expose a set of global Pipes
|
||||
* when connecting a Sequence to a Timeline or a VirtualClip, we also establish a mapping
|
||||
* this mapping translates possible media stream channels produced by the sequence into (real) output slots located in the enclosing entity
|
||||
* uncertainity on who has to provide the global pipes, implementation wise &mdash;
|
||||
** as Timeline is just a facade, BindingMO has to expose something which can be referred for attaching effects (to global pipes)
|
||||
* uncertainty on who has to provide the global pipes, implementation wise &mdash;
|
||||
** as Timeline is just a façade, BindingMO has to expose something which can be referred for attaching effects (to global pipes)
|
||||
** when used as VirtualClip, there is somehow a channel configuration, either as asset, or exposed by the BindingMO
|
||||
* Placements always resolve at least two dimensions: time and output. The latter means that a [[Placement]] can figure out to where to connect
|
||||
* the resolution ability of Placements could help to overcome the problems in conjunction with a VirtualClip: missing output destination informations could be inherited down....
|
||||
* expanding on the basic concept of a Placement in N-dimensional configuration space, this //figuring out// would denote the ability to resolve the final output destination
|
||||
* this resolution to a final destination is explicitly context dependent. We engage into quite some complexities to make this happen (&rarr; BindingScopeProblem)
|
||||
* [[processing patterns|ProcPatt]] are used for creating nodes on the source network of a clip, and similarily for fader, overlay and mixing into a summation pipe
|
||||
* [[processing patterns|ProcPatt]] are used for creating nodes on the source network of a clip, and similarly for fader, overlay and mixing into a summation pipe
|
||||
* in case the track tree of a sequence doesn't contain specific routing advice, connections will be done directly to the global pipes in order and by matching StreamType (i.e. typically video to video master, audio to stereo audio master). When a monitor (viewer window) is attached to a timeline, similar output connections are made from the timeline's global pipes, i.e. the video display will take the contents of the first video (master) bus, and the first stereo audio pipe will be pulled and sent to system audio out.
|
||||
* a mismatch between the system output possibilities and the stream type of a bus to be monitored should result in the same adaptation mechanism to kick in, as is used internally, when connecting an ~MObject to the next bus. Possibly we'll use separate rules in this case (allow 3D to flat, stereo to mono, render 5.1 into ambisonics...)
|
||||
* a mismatch between the system output possibilities and the stream type of a bus to be monitored should result in the same adaptation mechanism to kick in, as is used internally, when connecting an ~MObject to the next bus. Possibly we'll use separate rules in this case (allow 3D to flat, stereo to mono, render 5.1 into Ambisonics...)
|
||||
|
||||
!Conclusions
|
||||
* there are //direct, indirect// and //relative// referrals to an output designation
|
||||
* there are //direct, indirect//&nbsp; and //relative//&nbsp; referrals to an output designation
|
||||
* //relative// in this context means that we refer to "the N^^th^^ of this kind" (e.g. the second video out)
|
||||
* we need to attach some metadata with an output; especially we need an associated StreamType
|
||||
* output designation is structured into several //levels://
|
||||
|
|
@ -2621,6 +2621,12 @@ To get ahead with this problem, I'll start collecting observations, relations an
|
|||
** at some point, we'll address a //subgroup// within the global pipes, which acts like a summation sink
|
||||
** there might be //master pipes//
|
||||
** finally, there is the hardware output or the distinct channel within the rendered result &mdash; but this is never referred explicitly
|
||||
!!!relation to Pipes
|
||||
in almost every case mentioned above, the output designation is identical with the starting point of a [[Pipe]]. This might be a global pipe or a ClipSourcePort. Thus it sounds reasonable to use pipe-~IDs directly as output designation. Pipes, as an accountable entity (=asset) just //leap into existence by being referred.// On the other hand, the //actual// pipe is a semantic concept, a specific structural arrangement of objects. Basically it means that some object acts as attachment point and thereby //claims//&nbsp; to be the entrance side of a pipe, while other processor objects chain up in sequence.
|
||||
!!!system outputs
|
||||
System level output connections are the exception to the above rule. There is no pipe at an external port, and these externally visible connection points can appear and disappear, driven by external conditions. So the question is if system outputs shall be directly addressable at all as output designation? Rather, there should be a separate OutputManagement.
|
||||
!!!consequences of mentioning an output designation
|
||||
The immediate consequence is that an connection to this designation is wired, using an appropriate [[processing pattern|ProcPatt]]. A further consequence is for the mentioned output designation to appear as exit node of the built render nodes network.
|
||||
|
||||
</pre>
|
||||
</div>
|
||||
|
|
@ -3212,7 +3218,7 @@ The GUI can connect the viewer(s) to some pipe (and moreover can use [[probe poi
|
|||
|
||||
</pre>
|
||||
</div>
|
||||
<div title="PipeHandling" modifier="Ichthyostega" modified="200912080210" created="200801101352" tags="spec" changecount="12">
|
||||
<div title="PipeHandling" modifier="Ichthyostega" modified="201006270108" created="200801101352" tags="spec" changecount="15">
|
||||
<pre>!Identification
|
||||
Pipes are distinct objects and can be identified by their asset ~IDs. Besides, as for all [[structural assets|StructAsset]] there are extended query capabilities, including a symbolic pipe-id and a media (stream) type id. Any pipe can accept and deliver exactly one media stream kind (which may be inherently structured though, e.g. spatial sound systems or stereoscopic video)
|
||||
|
||||
|
|
@ -3224,7 +3230,7 @@ Deleting a Pipe is an advanced operation, because it includes finding and "
|
|||
|
||||
!using Pipes
|
||||
there is not much you can do directly with a pipe asset. It is an point of reference, after all. Any connection to some pipe is only temporarily done by a placement in some part of the timeline, so it isn't stored with the pipe. You can edit the (user visible) description an you can globally disable a pipe asset. The pipe's ID and media stream type of course are fixed, because any connection and referral (via the asset ID) is based on them. Later on, we should provide a {{{rewire(oldPipe, newPipe)}}} to search any ref to the {{{oldPipe}}} and try to rewrite it to use the {{{newPipe}}}, possibly with a new media stream type.
|
||||
Pipes are integrated with the [[management of defaults|DefaultsManagement]]. For example, any pipe uses implicitly some [[processing pattern|ProcPatt]] &mdash; it may default to the empty pattern. This feature enables to apply some standard wiring to the pipes (e.g a fader for audio, similar to the classic mixing consoles). This //is // a global property of the pipe, but &mdash; contrary to the stream type &mdash; this pattern may be switched
|
||||
Pipes are integrated with the [[management of defaults|DefaultsManagement]]. For example, any pipe implicitly uses some [[processing pattern|ProcPatt]] &mdash; it may default to the empty pattern. This way, any kind of standard wiring might be applied to the pipes (e.g a fader for audio, similar to the classic mixing consoles). This //is // a global property of the pipe, but &mdash; contrary to the stream type &mdash; this pattern may be switched {{red{really?}}}
|
||||
</pre>
|
||||
</div>
|
||||
<div title="Placement" modifier="Ichthyostega" modified="200910311753" created="200706220306" tags="Concepts def" changecount="11">
|
||||
|
|
|
|||
Loading…
Reference in a new issue