]> git.sesse.net Git - kdenlive/commitdiff
Add effect GUI for frei0r.select0r (submitted by Marko Cebokli)
authorTill Theato <root@ttill.de>
Sun, 15 Aug 2010 13:32:13 +0000 (13:32 +0000)
committerTill Theato <root@ttill.de>
Sun, 15 Aug 2010 13:32:13 +0000 (13:32 +0000)
svn path=/trunk/kdenlive/; revision=4721

data/blacklisted_effects.txt
data/kdenliveeffectscategory.rc
effects/CMakeLists.txt
effects/frei0r_select0r.xml [new file with mode: 0644]
src/customtrackview.cpp

index 894ff254bf7e69c0ca6b9e5efae13f63612581ec..9f132604dcbade13097548faa6628503f34b8617 100644 (file)
@@ -37,6 +37,7 @@ frei0r.alphagrad
 frei0r.alphaspot
 frei0r.pr0be
 frei0r.pr0file
+frei0r.select0r
 
 #effects that have simplekeyframes
 vignette
index c0a8f4d5347f9c413f60397a19bb6b00cdf72b0a..8303de558ec22a1477d61a446c62ed6fa8d6fe2f 100644 (file)
@@ -28,7 +28,7 @@
   <group list="wave,mirror,frei0r.distort0r,frei0r.lenscorrection,frei0r.c0rners,frei0r.defish0r,frei0r.pixeliz0r">
     <text>Distort</text>
   </group>
-  <group list="chroma,frei0r.alpha0ps,frei0r.alphagrad,frei0r.alphaspot,frei0r.transparency">
+  <group list="chroma,frei0r.alpha0ps,frei0r.alphagrad,frei0r.alphaspot,frei0r.transparency,frei0r.select0r">
     <text>Alpha manipulation</text>
   </group>
 </data>
index bf70d2a0f21aa2cab129c130a6d787d990a77cce..60722797e5d4e5b476a91239e3ace1d0d0913cd6 100644 (file)
@@ -65,6 +65,7 @@ frei0r_pr0be.xml
 frei0r_pr0file.xml
 frei0r_saturat0r.xml
 frei0r_scale0tilt.xml
+frei0r_select0r.xml
 frei0r_sopsat.xml
 frei0r_squareblur.xml
 frei0r_three_point_balance.xml
diff --git a/effects/frei0r_select0r.xml b/effects/frei0r_select0r.xml
new file mode 100644 (file)
index 0000000..fde3f79
--- /dev/null
@@ -0,0 +1,47 @@
+<!DOCTYPE kpartgui>
+<effect tag="frei0r.select0r" id="frei0r.select0r">
+        <name>Select0r</name>
+        <description>Color based alpha selection</description>
+        <author>Marko Cebokli</author>
+        
+        <parameter type="color" name="Color to select" default="0x00FF00">
+                <name>Color to select</name>
+        </parameter>
+        
+        <parameter type="bool" name="Invert selection" default="0">
+                <name>Invert selection</name>
+        </parameter>    
+        
+        <parameter type="constant" name="Delta R / A / Hue" default="200" min="0" max="1000" factor="1000">
+                <name>Delta R / A / Hue</name>
+        </parameter>
+        
+        <parameter type="constant" name="Delta G / B / Chroma" default="200" min="0" max="1000" factor="1000">
+                <name>Delta G / B / Chroma</name>
+        </parameter>
+        
+        <parameter type="constant" name="Delta B / I / I" default="200" min="0" max="1000" factor="1000">
+                <name>Delta B / I / I</name>
+        </parameter>
+        
+        <parameter type="list" name="Selection subspace" default="0.0" paramlist="0.0,0.5,1.0"
+                   paramlistdisplay="RGB,ABI,HCI">
+                <name>Selection subspace</name>
+        </parameter>
+        
+        <parameter type="list" name="Subspace shape" default="0.0" paramlist="0.0,0.5,1.0"
+                   paramlistdisplay="Box,Ellipsoid,Diamond">
+                <name>Subspace shape</name>
+        </parameter>
+        
+        <parameter type="list" name="Edge mode" default="0.0" paramlist="0.0,0.35,0.60,1.0"
+                   paramlistdisplay="Hard,Fat,Normal,Skiny">
+                <name>Edge mode</name>
+        </parameter>
+        
+        <parameter type="list" name="Operation" default="0.0" paramlist="0.0,0.3,0.5,0.7,1.0"
+                   paramlistdisplay="Write on clear, Max, Min, Add, Subtract">
+                <name>Operation</name>
+        </parameter>
+        
+</effect>
index 61e096a92b1ca0233b41924ef6a375fce3576071..e191ae36b385a294ba27b7ff989663a98d860bbb 100644 (file)
@@ -3576,9 +3576,12 @@ void CustomTrackView::doChangeClipSpeed(ItemInfo info, ItemInfo speedIndependant
     }
     info.track = m_document->tracksCount() - item->track();
     int endPos;
-    if (item->isVideoOnly()) endPos = m_document->renderer()->mltChangeClipSpeed(info, speedIndependantInfo, speed, oldspeed, strobe, baseclip->videoProducer());
-    else if (item->isAudioOnly()) endPos = m_document->renderer()->mltChangeClipSpeed(info, speedIndependantInfo, speed, oldspeed, strobe, baseclip->audioProducer(item->track()));
-    else endPos = m_document->renderer()->mltChangeClipSpeed(info, speedIndependantInfo, speed, oldspeed, strobe, baseclip->producer());
+    if (item->isVideoOnly())
+        endPos = m_document->renderer()->mltChangeClipSpeed(info, speedIndependantInfo, speed, oldspeed, strobe, baseclip->videoProducer());
+    else if (item->isAudioOnly())
+        endPos = m_document->renderer()->mltChangeClipSpeed(info, speedIndependantInfo, speed, oldspeed, strobe, baseclip->audioProducer(item->track()));
+    else
+        endPos = m_document->renderer()->mltChangeClipSpeed(info, speedIndependantInfo, speed, oldspeed, strobe, baseclip->producer());
     if (endPos >= 0) {
         item->setSpeed(speed, strobe);
         item->updateRectGeometry();