[Kdenlive-devel] GUI <-> render engine

Rolf Dubitzky dubitzky at pktw06.phy.tu-dresden.de
Sat Nov 9 16:34:55 UTC 2002


Hi,

I tried to get some more insight into CORBA as implemented with ORBit and 
ORBit2. ORBit and it's C++ wrapper are more or less unsupported. All 
developpers focus on ORBit2. The C++ wrappers seem to be unfinished right 
now. Even if they were, I tend to agree wit Mark. He knows a lot about CORBA 
and his comment "bloatware designed by commitee" seems to be leading to the 
right direction. 

I propose to stay with the current aproach {XML over tcp) till it doesn't 
scale anymore. Everybody knows how to parse XML and in case communicatio 
overhead is getting significant we have to refactor the communication.

I looked at the specifications in you "Cutting List Specification.sxw" and 
this is an example of how the communication could look like in reality. It's 
of course far from complete, I didn't spend too much time to think about it, 
but I guess you get the idea.

Cheers, Rolf

--------[ basic ]-------

client -> server
----------------

<clientHello>
	<name>kdenlive</name>
	<version>Millenium Edition</version>
	...
</clientHello>

 answer => <serverHello>

<createVideoXWindow/>

 answer => <return>

<closeVideoXWindow/>

 answer => <return>

<quit/>

 answer => <bye>


Server -> Client:
-----------------

<serverHello>
	<name>piave</name>
	<version>9.0.3c</version>
	...
</serverHello>


<return>
	<ID>[some number]</ID>
	<msg>[some string]</msg>
	...
</return>

e.g. :  

no problem: 
	<return></return>
or a file is missing:
	<return>
		<ID>404</ID>
		<msg>file not found: "xyz.dv"</msg>
	</return>

-------[ transport render tree ]----

client -> server
----------------

<storyBoard>
	<    here comes the scene description ...
             ... very complex ...
             ... all input files ...
             ... transitions and effects ...
        >
</storyBoard>

 answer: <return>

-------[ display ]------------------

Client -> server:
-----------------

<showFrame>
	<time>[time]</time>
	<winID>[id]</winID>
</showFrame>

   answer:  <return>

<playSequence>
	<start>[time]</start>
	<length>[time]</start>
	<winID>[id]</winID>
</playSequence>

   answer: <return>


------[ features & properties ]------

client -> server
----------------

<getListOfOps/>

 answer:  <operatorList>


server -> client
----------------

<operatorList>
	<binaryOperator>
		<name>PictureInPicture</name>
		<desc>This operation overlays a video stream .. bla.. bla..</desc>
		<operatorDynProp>
			<floatValue>
				<name>x</name>
				<desc>x coordinate of upper left corner</desc>
				<min>-inf</min>
				<max>inf</max>
				<default>0.2</default>
			</floatValue>
			< ... more stuff ... >
		</operatorDynProp>
		...
	<binaryOperator>
	<unaryOperator>
		<name>OverlayText</name>
		<desc> ... bla .. bla </desc>
		<operatorStaticProp>
			<stringValue>
				<name>text</name>
				<desc>The text to display</desc>
			</stringValue>
		</operatorStaticProp>
		<operatorDynProp>
			<floatValue>
				<name>x</name>
				...
			</floatValue>
			<colorValue>
				<name>color</name>
				...
			</colorValue>
		</operatorDynProp>
		...
	</unaryOperator>
	... many more ops ...
</operatorList>


... other stuff ...


-----------------------


Cheers,
Rolf

***************************************************************
 Rolf Dubitzky  
 e-mail: Rolf.Dubitzky at Physik.TU-Dresden.de
 s-mail see http://hep.phy.tu-dresden.de/~dubitzky/
***************************************************************






More information about the Kdenlive mailing list