<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Monaco;
        panose-1:0 0 0 0 0 0 0 0 0 0;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.apple-converted-space
        {mso-style-name:apple-converted-space;}
span.apple-tab-span
        {mso-style-name:apple-tab-span;}
span.apple-style-span
        {mso-style-name:apple-style-span;}
span.EmailStyle20
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page Section1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.Section1
        {page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=EN-US link=blue vlink=purple style='word-wrap: break-word;
-khtml-nbsp-mode: space;-khtml-line-break: after-white-space'>

<div class=Section1>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>FYI under windows there are no default video effects available
;-)<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Thierry<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<div>

<div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'>

<p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span
style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> Richard
[mailto:richardmg@trolltech.com] <br>
<b>Sent:</b> vendredi 13 juillet 2007 13:57<br>
<b>To:</b> Thierry Bastian<br>
<b>Cc:</b> phonon-backends@kde.org<br>
<b>Subject:</b> Re: Video effects<o:p></o:p></span></p>

</div>

</div>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<div>

<p class=MsoNormal>I agree that creating a separate class for every kind of
effect seems like not a good idea (Therefore I didn't suggest it either) My
main issue is that it will be impossible to write a cross-platform app with
phonon that uses any of the effects? E.g. the Gaussian blur effect on mac
(using core image filters) is called&nbsp;CIGaussianBlur. While I guess e.g.
Windows has a similar filter, but called something slightly different?<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

</div>

<div>

<p class=MsoNormal>So the only thing the user can do with any of the effects is
to show them in a list to the app-user to choose from?<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal>With the enumeration style it will not make phonon bigger,
and at least you can use the effects cross platform programatically, with
perhaps using default values for the parameters (if we cannot come up with
something better).<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

</div>

<div>

<p class=MsoNormal>I'm not saying the below solution is the best, I just wonder
if we can solve this in a more cross platform way...<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

</div>

<div>

<p class=MsoNormal>-Richard<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

</div>

<div>

<p class=MsoNormal><br>
<br>
<o:p></o:p></p>

<div>

<p class=MsoNormal>The problem is still the same: we can't easily have a common
base of<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal>effects. So adding a GaussianBlurEffect class would not make
sense out of<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal>the Quicktime world.<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

</div>

<div>

<p class=MsoNormal>Thinking loud: Maybe a factory could do that job?<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

</div>

<div>

<p class=MsoNormal>Thierry<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

</div>

<div>

<p class=MsoNormal>-----Original Message-----<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal>From: Matthias Kretz [<a href="mailto:kretz@kde.org">mailto:kretz@kde.org</a>]<span
class=apple-converted-space>&nbsp;</span><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal>Sent: vendredi 13 juillet 2007 13:23<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal>To: <a href="mailto:phonon-backends@kde.org">phonon-backends@kde.org</a><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal>Subject: Re: Video effects<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

</div>

<div>

<p class=MsoNormal>On Friday 13 July 2007, Richard wrote:<o:p></o:p></p>

</div>

<blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'>

<div>

<p class=MsoNormal>What I would prefer is something more like this:<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal>---<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><span class=apple-converted-space>&nbsp;&nbsp; &nbsp; </span>if
(Backendcapabilies::hasVideoEffect(Effect::GaussianBlur))<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><span class=apple-converted-space>&nbsp;&nbsp; &nbsp; </span><span
class=apple-tab-span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Effect * e = new
Effect(Effect::GaussianBlur, parent);<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

</div>

<div>

<p class=MsoNormal>or alternatively:<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

</div>

<div>

<p class=MsoNormal><span class=apple-converted-space>&nbsp;&nbsp; &nbsp; </span>Effect
* e = new Effect(Effect::GaussianBlur, parent);<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><span class=apple-converted-space>&nbsp;&nbsp; &nbsp; </span>if
(e-&gt;isValid()){<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><span class=apple-converted-space>&nbsp;&nbsp; &nbsp; &nbsp;
&nbsp; </span>...<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><span class=apple-converted-space>&nbsp;&nbsp; &nbsp; </span>}<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal>---<o:p></o:p></p>

</div>

</blockquote>

<div>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

</div>

<div>

<p class=MsoNormal>Why not go the whole way and provide<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal>GaussianBlurEffect *e = new GaussianBlurEffect(parent); if
(e-&gt;isValid()) {<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><span class=apple-converted-space>&nbsp; &nbsp; </span>...<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal>}<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal>then? Because otherwise you still have no guarantees about
the parameters.<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

</div>

<div>

<p class=MsoNormal>The generic Effect class was meant to be used by user
interaction only. If<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal>an app needs to integrate an effect then it needs a
specialized interface to<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal>that effect.<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

</div>

<div>

<p class=MsoNormal>This, of course, will blow up the lib size again so perhaps
this should be<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal>in a second library or #ifdefed as a feature?<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

</div>

<div>

<p class=MsoNormal>--<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal>________________________________________________________<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal>Matthias Kretz (Germany)<span class=apple-converted-space>&nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; </span>&lt;&gt;&lt;<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><a href="http://Vir.homelinux.org">http://Vir.homelinux.org</a>/<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><a href="mailto:MatthiasKretz@gmx.net">MatthiasKretz@gmx.net</a>,
<a href="mailto:kretz@kde.org">kretz@kde.org</a>,<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><a href="mailto:Matthias.Kretz@urz.uni-heidelberg.de">Matthias.Kretz@urz.uni-heidelberg.de</a><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

</div>

<div>

<p class=MsoNormal>_______________________________________________<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal>Phonon-backends mailing list<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><a href="mailto:Phonon-backends@kde.org">Phonon-backends@kde.org</a><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><a
href="https://mail.kde.org/mailman/listinfo/phonon-backends">https://mail.kde.org/mailman/listinfo/phonon-backends</a><o:p></o:p></p>

</div>

</div>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<div>

<p class=MsoNormal><span style='font-size:9.0pt;font-family:"Monaco","serif";
color:black'><br>
<br>
</span><span class=apple-style-span><span style='font-size:9.0pt;font-family:
"Monaco","serif";color:black'><o:p></o:p></span></span></p>

<div>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

</div>

<div>

<p class=MsoNormal><span style='font-size:9.0pt;font-family:"Monaco","serif";
color:black'>--<o:p></o:p></span></p>

</div>

<div>

<p class=MsoNormal><span style='font-size:9.0pt;font-family:"Monaco","serif";
color:black'>Richard Moe Gustavsen<o:p></o:p></span></p>

</div>

<div>

<p class=MsoNormal><span style='font-size:9.0pt;font-family:"Monaco","serif";
color:black'>Software Engineer II,&nbsp;Trolltech ASA<o:p></o:p></span></p>

</div>

<div>

<p class=MsoNormal><span style='font-size:9.0pt;font-family:"Monaco","serif";
color:black'>Sandakerveien 116, NO-0484 Oslo, Norway<o:p></o:p></span></p>

</div>

<p class=MsoNormal><span style='font-size:9.0pt;font-family:"Monaco","serif";
color:black'><br>
<br>
</span><o:p></o:p></p>

</div>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

</div>

</body>

</html>