From 012ed9ab36b8ae65919936d4d2de0c965951a0ee Mon Sep 17 00:00:00 2001 From: Ichthyostega Date: Thu, 31 Mar 2011 20:44:03 +0200 Subject: [PATCH] update intro, fix image links Signed-off-by: Ichthyostega --- doc/devel/images/lumiera_big_graph.png | Bin 0 -> 48959 bytes doc/user/intro/intro.txt | 132 ++++++++--------- doc/user/intro/lumiera_big_graph.svg | 195 +++++++++++++++---------- 3 files changed, 181 insertions(+), 146 deletions(-) create mode 100644 doc/devel/images/lumiera_big_graph.png diff --git a/doc/devel/images/lumiera_big_graph.png b/doc/devel/images/lumiera_big_graph.png new file mode 100644 index 0000000000000000000000000000000000000000..ec08d77fd102b64b6c138983619b130c5ddbbc05 GIT binary patch literal 48959 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
xS@$Z{0eqIXZS^qR1)I0iFsx9Q~}OJ4lDASx{E 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 literal 0 HcmV?d00001 diff --git a/doc/user/intro/intro.txt b/doc/user/intro/intro.txt index 1bc008b7c..0e32a454b 100644 --- a/doc/user/intro/intro.txt +++ b/doc/user/intro/intro.txt @@ -119,7 +119,7 @@ Processing of Video (and audio) data can be generalized as graph processing (more precisely ``directed acyclic graphs''). Data flows on the edges of these graphs and is processed in the nodes. -image:lumiera_big_graph.svg[Example for a graph] +image:{imgd}/lumiera_big_graph.png[Example for a graph] When we look at this model we discover that we only need to build xref:builder[->] such graphs, the nodes themselves can be seen as black boxes @@ -162,7 +162,7 @@ The visible Universe Now its time to take a look at the prelimary Lumiera GUI: -image:lumiera_screenshot.png[Screenshot of Lumiera] +image:{l}/images/lumiera_gui_small.png[Current Lumiera GUI Screenshot] The GUI is a plugin by itself and only one way to work Lumiera, it will become possible to create special-purpose GUIs or control Lumiera in different ways, @@ -178,6 +178,7 @@ xref:screenconcept[->] to adapt to different workplaces and workflows. Viewer ~~~~~~ +[red]#to be written# // only one viewer type used for everything // how is audio integrated in the viewer @@ -194,21 +195,20 @@ Viewer Transport Controls ~~~~~~~~~~~~~~~~~~ -// current gui is not final (transport controls attached to the timeline) -// It is not finally decided where transport controls will be integrated -// possibly as its own gui element +The layout in current gui is rather preliminary -- it is not finally decided +where transport controls will be integrated; possibly as its own gui element -// This are devices either controlled by widgets or by some input device (midi -// etc) so their gui may look differently. -// Either way they connect to a Play Controler xref.. in the core which -// manages playing and cursor positioning. +This are devices either controlled by widgets or by some input device +(MIDI, control surface, etc) so their gui may look differently. +Either way they connect to a Play Controler xref.. in the core which +manages playing and cursor positioning. -// thus there will be some gui facility to attach Transport controls to Play -// Controllers. Transport controls are ganged when they attach to the same -// Play Controler. +thus there will be some gui facility to attach Transport controls to Play +Controllers. Transport controls are ganged when they attach to the same +Play Controler. -// just playing some footage for preview creates a simple internal timeline, -// no magic here. +just playing some footage for preview creates a simple internal timeline, +no magic here. // TODO: bit unrelated, think about how ganging controls in general should // work, also for faders, masks and so on @@ -220,12 +220,13 @@ Transport Controls Timeline View ~~~~~~~~~~~~~ -// hierarchical tracks, not just a stack +hierarchical tracks, not just a list + +Format Independent Timeline, one can put anything on the timeline. +the busses constrain what kind of data is pulled out and in turn the +builder creates a processing graph which does the necessary conversions and +stuff. -// Format Independent Timeline, one can put anything on the timeline. -// the busses constrain what kind of data is pulled out and in turn the -// builder creates a processing graph which does the necessary conversions and -// stuff. // Q: how to handle interaction, for example when some conversion can only be // done in a lossy way and some conversion node may or may not be inserted // (i mean gui wise)? @@ -241,19 +242,23 @@ Timeline View // a special case of a selection. -// Busses -// ~~~~~~ -// How will the gui define busses? +Busses +~~~~~~ +The GUI provides a separate _bus view_, showing the master busses (subgroups) +in a manner similar to an audio mixing desk. Any bus is just a means to collect +and sum up the output of a specific kind of media (video, audio, number of channels), +produced by various processing elements and other busses. Conceptionally, these global +busses are considered a part of the timeline Asset View ~~~~~~~~~~ -// Manages all assets available in one project. -// * source media/footage/soundfiles -// * prepared clips, known subprojects -// * all available effects and transitions -// * internal artefacts like sequences and automation data sets +Manages all assets available in one project. + * source media/footage/soundfiles + * prepared clips, known subprojects + * all available effects and transitions + * internal artefacts like sequences and automation data sets // First this will be simply implemented showing data loaded into the session // and all available plugins/effects @@ -272,18 +277,23 @@ Asset View // the contents of a clip bin can be played like a storyboard +'''''''' + Dark Matter ----------- -// coarse overview about things the user does not see but have some contact -// with, details later... +[red]#to be written# +coarse overview about things the user does not see but have some contact +with, details later... -Now lets take a look under the hood. Lumiera + +Now lets take a look under the hood. Session storage ~~~~~~~~~~~~~~~ +[red]#to be written# // not generateable data @@ -314,15 +324,19 @@ output destination, layering, fade control, audio pan,... Rendering Engine ~~~~~~~~~~~~~~~~ -// rendering +[red]#to be written# +rendering... [[builder]] +[red]#to be written# -// rules system - +rules system +[red]#to be written# I/O Subsystem ~~~~~~~~~~~~~ +[red]#to be written# + // file handling // vault, work, cache // repositories @@ -331,12 +345,16 @@ I/O Subsystem Configuration ~~~~~~~~~~~~~ +[red]#to be written# + // configuration system // serves defaults, actual data are stored in the session Plugins/Interfaces ~~~~~~~~~~~~~~~~~~ +[red]#to be written# + // explain whats it is // portability // versioning @@ -345,6 +363,7 @@ Plugins/Interfaces Rendering Video --------------- +[red]#to be written# // describe the flow of data to render a frame @@ -354,6 +373,7 @@ Rendering Video Pulling a Frame ~~~~~~~~~~~~~~~ +[red]#to be written# // special cases, // case studies, @@ -372,45 +392,19 @@ Pulling a Frame // show some case-studies that someone gets a feel how plugins work -[[pluginstack]] - -//Audio +[red]#TODO# Consider integrating the following things into the document above - -// TODO Following things need to be integrated into the document above - - -* [[plugins]] -* [[timeline]] -* [[demultiplexer]] -* [[multiplexer]] -* [[encoder]] -* [[pull]] -bus defines rendering format -* [[caching]] -* [[profiling]] -* [[rendernode]] -* [[frameserver]] -* [[screenconcept]] -* [[busses]] - -// gui/screen concepts -// perspectives - -// Automation - - - - -// 3 layered model - - -such as that we only need to pull exactly what we need, -posibly down to the pixel, this also allows efficient caching xref:caching[->] -for intermediate data, to be reused later. - +* plugins +* timeline +* pull +* bus defines rendering format +* caching +* frameserver +* screenconcept / perspectives +* automation +* 3 layered model diff --git a/doc/user/intro/lumiera_big_graph.svg b/doc/user/intro/lumiera_big_graph.svg index 67cf01f66..d995d913f 100644 --- a/doc/user/intro/lumiera_big_graph.svg +++ b/doc/user/intro/lumiera_big_graph.svg @@ -33,20 +33,21 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="1.0518407" - inkscape:cx="564.81009" - inkscape:cy="277.96054" + inkscape:zoom="1.4875274" + inkscape:cx="444.97376" + inkscape:cy="280.84291" inkscape:document-units="px" - inkscape:current-layer="layer2" + inkscape:current-layer="layer4" showgrid="true" - inkscape:window-width="1274" - inkscape:window-height="774" + inkscape:window-width="1668" + inkscape:window-height="1020" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="0" inkscape:snap-to-guides="false" inkscape:snap-grids="true" - inkscape:snap-global="true"> + inkscape:snap-global="true" + gridtolerance="5"> image/svg+xml - + Lumiera Data Flow Overview + + Summer 2010 + + + Christian Thäter + + + + + Lumiera.org + + + + + + + + + + - + d="M 500,464.40942 L 540,464.40942" + id="path3473" + sodipodi:nodetypes="cc" /> + + transform="translate(15,149.9825)"> + transform="translate(70,149.9825)"> Busses Viewer + Switch-board + Data on Disk + Viewer Busses - Data on Disk - Viewer - Node/Plugin + x="545" + y="399.40942">Node/Plugin Build Connection between Nodes + x="545" + y="424.40942">Build Connection between Nodes Temporary Connection between node + x="545" + y="444.40942">Temporary Connection between node Preprocessing + External Connection