[vlc-devel] [PATCH 3/4] Additional filters: UI control for the new features

Vianney Boyer vlcvboyer at gmail.com
Tue Sep 17 20:36:27 CEST 2013


Hi,

It seems that my GUI patch was not merged. 

Do you have any concern/comments on the modification of UI as proposed in my
previous email?
It is required to enable the several additional video filters and related
parameters.

Regards

Vianney



-----Message d'origine-----
De : Vianney Boyer [mailto:vlcvboyer at gmail.com] 
Envoyé : dimanche 18 août 2013 22:17
À : Mailing list for VLC media player developers
Objet : [PATCH 3/4] Additional filters: UI control for the new features



Hi,

You'll find below and attached the third patch: contains UI for several
filters: freeze, puzzle, VHS & oldmovie effect

Regards

Vianney


---
  modules/gui/qt4/components/extended_panels.cpp |  12 +-
  modules/gui/qt4/ui/video_effects.ui            | 344 
+++++++++++++++----------
  2 files changed, 219 insertions(+), 137 deletions(-)

diff --git a/modules/gui/qt4/components/extended_panels.cpp
b/modules/gui/qt4/components/extended_panels.cpp
index 532e811..a25d9bc 100644
--- a/modules/gui/qt4/components/extended_panels.cpp
+++ b/modules/gui/qt4/components/extended_panels.cpp
@@ -165,7 +165,11 @@ ExtVideo::ExtVideo( intf_thread_t *_p_intf, QTabWidget
*_parent ) :
      SETUP_VFILTER( puzzle )
      SETUP_VFILTER_OPTION( puzzleRowsSpin, valueChanged( int ) )
      SETUP_VFILTER_OPTION( puzzleColsSpin, valueChanged( int ) )
-    SETUP_VFILTER_OPTION( puzzleBlackSlotCheck, stateChanged( int ) )
+    SETUP_VFILTER_OPTION( puzzleBorderSlider, valueChanged( int ) )
+    SETUP_VFILTER_OPTION( puzzlePreviewCheck, stateChanged( int ) )
+    SETUP_VFILTER_OPTION( puzzlePreviewSizeSlider, valueChanged( int ) )
+    SETUP_VFILTER_OPTION( puzzleRotationCombo, currentIndexChanged( int ) )
+    SETUP_VFILTER_OPTION( puzzleModeCombo, currentIndexChanged( int ) )

      SETUP_VFILTER( magnify )

@@ -228,6 +232,12 @@ ExtVideo::ExtVideo( intf_thread_t *_p_intf, QTabWidget
*_parent ) :

      SETUP_VFILTER( anaglyph )

+    SETUP_VFILTER( oldmovie )
+
+    SETUP_VFILTER( vhs )
+
+    SETUP_VFILTER( freeze )
+
  #undef SETUP_VFILTER
  #undef SETUP_VFILTER_OPTION

diff --git a/modules/gui/qt4/ui/video_effects.ui
b/modules/gui/qt4/ui/video_effects.ui
index e6ad2b3..ba4bdba 100644
--- a/modules/gui/qt4/ui/video_effects.ui
+++ b/modules/gui/qt4/ui/video_effects.ui
@@ -716,13 +716,6 @@
      <string>Geometry</string>
     </attribute>
     <layout class="QGridLayout" name="gridLayout_13">
-    <item row="0" column="0">
-     <widget class="QCheckBox" name="magnifyEnable">
-      <property name="text">
-       <string>Interactive Zoom</string>
-      </property>
-     </widget>
-    </item>
      <item row="0" column="1" rowspan="3">
       <widget class="QGroupBox" name="wallEnable">
        <property name="title">
@@ -735,26 +728,6 @@
         <bool>false</bool>
        </property>
        <layout class="QGridLayout" name="_5">
-       <item row="0" column="0">
-        <widget class="QLabel" name="label_31">
-         <property name="text">
-          <string>Rows</string>
-         </property>
-         <property name="buddy">
-          <cstring>wallRowsSpin</cstring>
-         </property>
-        </widget>
-       </item>
-       <item row="1" column="0">
-        <widget class="QLabel" name="label_30">
-         <property name="text">
-          <string>Columns</string>
-         </property>
-         <property name="buddy">
-          <cstring>wallColsSpin</cstring>
-         </property>
-        </widget>
-       </item>
         <item row="1" column="1">
          <widget class="QSpinBox" name="wallColsSpin">
           <property name="alignment">
@@ -781,6 +754,26 @@
           </property>
          </widget>
         </item>
+       <item row="1" column="0">
+        <widget class="QLabel" name="label_30">
+         <property name="text">
+          <string>Columns</string>
+         </property>
+         <property name="buddy">
+          <cstring>wallColsSpin</cstring>
+         </property>
+        </widget>
+       </item>
+       <item row="0" column="0">
+        <widget class="QLabel" name="label_31">
+         <property name="text">
+          <string>Rows</string>
+         </property>
+         <property name="buddy">
+          <cstring>wallRowsSpin</cstring>
+         </property>
+        </widget>
+       </item>
        </layout>
       </widget>
      </item>
@@ -808,7 +801,7 @@
        </layout>
       </widget>
      </item>
-    <item row="2" column="0" rowspan="2">
+    <item row="2" column="0" rowspan="3">
       <widget class="QGroupBox" name="rotateEnable">
        <property name="sizePolicy">
         <sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding"> @@
-864,78 +857,18 @@
        </layout>
       </widget>
      </item>
-    <item row="3" column="1">
-     <widget class="QGroupBox" name="puzzleEnable">
-      <property name="title">
-       <string>Puzzle game</string>
-      </property>
-      <property name="checkable">
-       <bool>true</bool>
+    <item row="0" column="0">
+     <widget class="QCheckBox" name="magnifyEnable">
+      <property name="text">
+       <string>Interactive Zoom</string>
        </property>
-      <property name="checked">
-       <bool>false</bool>
+     </widget>
+    </item>
+    <item row="3" column="1">
+     <widget class="QCheckBox" name="freezeEnable">
+      <property name="text">
+       <string>Freeze an area selected by mouse pointer</string>
        </property>
-      <layout class="QGridLayout" name="gridLayout_3">
-       <item row="0" column="0">
-        <widget class="QLabel" name="label_27">
-         <property name="text">
-          <string>Rows</string>
-         </property>
-         <property name="buddy">
-          <cstring>puzzleRowsSpin</cstring>
-         </property>
-        </widget>
-       </item>
-       <item row="0" column="1">
-        <widget class="QSpinBox" name="puzzleRowsSpin">
-         <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-         </property>
-         <property name="minimum">
-          <number>2</number>
-         </property>
-         <property name="maximum">
-          <number>16</number>
-         </property>
-         <property name="value">
-          <number>4</number>
-         </property>
-        </widget>
-       </item>
-       <item row="1" column="0">
-        <widget class="QLabel" name="label_26">
-         <property name="text">
-          <string>Columns</string>
-         </property>
-         <property name="buddy">
-          <cstring>puzzleColsSpin</cstring>
-         </property>
-        </widget>
-       </item>
-       <item row="1" column="1">
-        <widget class="QSpinBox" name="puzzleColsSpin">
-         <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-         </property>
-         <property name="minimum">
-          <number>2</number>
-         </property>
-         <property name="maximum">
-          <number>16</number>
-         </property>
-         <property name="value">
-          <number>4</number>
-         </property>
-        </widget>
-       </item>
-       <item row="2" column="0" colspan="2">
-        <widget class="QCheckBox" name="puzzleBlackSlotCheck">
-         <property name="text">
-          <string>Black Slot</string>
-         </property>
-        </widget>
-       </item>
-      </layout>
       </widget>
      </item>
     </layout>
@@ -1602,33 +1535,6 @@
        </layout>
       </widget>
      </item>
-    <item row="3" column="2">
-     <widget class="QCheckBox" name="motiondetectEnable">
-      <property name="text">
-       <string>Motion detect</string>
-      </property>
-     </widget>
-    </item>
-    <item row="5" column="2">
-     <widget class="QCheckBox" name="psychedelicEnable">
-      <property name="text">
-       <string>Psychedelic</string>
-      </property>
-     </widget>
-    </item>
-    <item row="9" column="0">
-     <spacer name="verticalSpacer_4">
-      <property name="orientation">
-       <enum>Qt::Vertical</enum>
-      </property>
-      <property name="sizeHint" stdset="0">
-       <size>
-        <width>20</width>
-        <height>40</height>
-       </size>
-      </property>
-     </spacer>
-    </item>
      <item row="2" column="0">
       <widget class="QGroupBox" name="antiflickerEnable">
        <property name="title">
@@ -1717,13 +1623,6 @@
        </layout>
       </widget>
      </item>
-    <item row="4" column="2">
-     <widget class="QCheckBox" name="rippleEnable">
-      <property name="text">
-       <string>Water effect</string>
-      </property>
-     </widget>
-    </item>
      <item row="6" column="0" rowspan="2">
       <widget class="QGroupBox" name="gaussianblurEnable">
        <property name="title">
@@ -1771,6 +1670,27 @@
        </layout>
       </widget>
      </item>
+    <item row="3" column="2">
+     <widget class="QCheckBox" name="motiondetectEnable">
+      <property name="text">
+       <string>Motion detect</string>
+      </property>
+     </widget>
+    </item>
+    <item row="5" column="2">
+     <widget class="QCheckBox" name="psychedelicEnable">
+      <property name="text">
+       <string>Psychedelic</string>
+      </property>
+     </widget>
+    </item>
+    <item row="4" column="2">
+     <widget class="QCheckBox" name="rippleEnable">
+      <property name="text">
+       <string>Water effect</string>
+      </property>
+     </widget>
+    </item>
      <item row="6" column="2">
       <widget class="QCheckBox" name="mirrorEnable">
        <property name="text">
@@ -1785,15 +1705,170 @@
        </property>
       </widget>
      </item>
-    <item row="8" column="2">
+    <item row="9" column="2">
       <widget class="QCheckBox" name="anaglyphEnable">
        <property name="text">
         <string>Anaglyph 3D</string>
        </property>
       </widget>
      </item>
+    <item row="11" column="2">
+     <spacer name="verticalSpacer_2">
+      <property name="orientation">
+       <enum>Qt::Vertical</enum>
+      </property>
+      <property name="sizeHint" stdset="0">
+       <size>
+        <width>20</width>
+        <height>40</height>
+       </size>
+      </property>
+     </spacer>
+    </item>
+    <item row="9" column="0">
+     <widget class="QCheckBox" name="oldmovieEnable">
+      <property name="text">
+       <string>Old movie effect</string>
+      </property>
+     </widget>
+    </item>
+    <item row="10" column="0">
+     <widget class="QCheckBox" name="vhsEnable">
+      <property name="text">
+       <string>VHS effect</string>
+      </property>
+     </widget>
+    </item>
     </layout>
    </widget>
+  <widget class="QWidget" name="tab_4">
+   <attribute name="title">
+    <string>Game</string>
+   </attribute>
+   <widget class="QGroupBox" name="puzzleEnable">
+    <property name="geometry">
+     <rect>
+      <x>10</x>
+      <y>10</y>
+      <width>521</width>
+      <height>111</height>
+     </rect>
+    </property>
+    <property name="sizePolicy">
+     <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+      <horstretch>0</horstretch>
+      <verstretch>0</verstretch>
+     </sizepolicy>
+    </property>
+    <property name="title">
+     <string>Puzzle</string>
+    </property>
+    <property name="checkable">
+     <bool>true</bool>
+    </property>
+    <property name="checked">
+     <bool>false</bool>
+    </property>
+    <layout class="QGridLayout" name="gridLayout_21">
+     <item row="4" column="1" colspan="4">
+      <widget class="QSlider" name="puzzlePreviewSizeSlider">
+       <property name="maximum">
+        <number>100</number>
+       </property>
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="tickPosition">
+        <enum>QSlider::TicksBelow</enum>
+       </property>
+       <property name="tickInterval">
+        <number>10</number>
+       </property>
+      </widget>
+     </item>
+     <item row="4" column="0">
+      <widget class="QCheckBox" name="puzzlePreviewCheck">
+       <property name="text">
+        <string>Preview</string>
+       </property>
+      </widget>
+     </item>
+     <item row="3" column="0">
+      <widget class="QLabel" name="label_26">
+       <property name="text">
+        <string>border</string>
+       </property>
+      </widget>
+     </item>
+     <item row="3" column="1" colspan="4">
+      <widget class="QSlider" name="puzzleBorderSlider">
+       <property name="maximum">
+        <number>25</number>
+       </property>
+       <property name="pageStep">
+        <number>5</number>
+       </property>
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="tickPosition">
+        <enum>QSlider::TicksBelow</enum>
+       </property>
+       <property name="tickInterval">
+        <number>5</number>
+       </property>
+      </widget>
+     </item>
+     <item row="1" column="0" colspan="2">
+      <widget class="QComboBox" name="puzzleModeCombo"/>
+     </item>
+     <item row="1" column="2">
+      <widget class="QSpinBox" name="puzzleRowsSpin">
+       <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+       </property>
+       <property name="suffix">
+        <string> row</string>
+       </property>
+       <property name="prefix">
+        <string/>
+       </property>
+       <property name="minimum">
+        <number>1</number>
+       </property>
+       <property name="maximum">
+        <number>20</number>
+       </property>
+       <property name="value">
+        <number>4</number>
+       </property>
+      </widget>
+     </item>
+     <item row="1" column="4">
+      <widget class="QComboBox" name="puzzleRotationCombo"/>
+     </item>
+     <item row="1" column="3">
+      <widget class="QSpinBox" name="puzzleColsSpin">
+       <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+       </property>
+       <property name="suffix">
+        <string> col</string>
+       </property>
+       <property name="minimum">
+        <number>1</number>
+       </property>
+       <property name="maximum">
+        <number>20</number>
+       </property>
+       <property name="value">
+        <number>4</number>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </widget>
+  </widget>
   </widget>
   <customwidgets>
    <customwidget>
@@ -1823,9 +1898,6 @@
    <tabstop>rotateEnable</tabstop>
    <tabstop>rotateAngleDial</tabstop>
    <tabstop>transformTypeCombo</tabstop>
-  <tabstop>puzzleRowsSpin</tabstop>
-  <tabstop>puzzleColsSpin</tabstop>
-  <tabstop>puzzleBlackSlotCheck</tabstop>
    <tabstop>colorthresEnable</tabstop>
    <tabstop>colorthresColorText</tabstop>
    <tabstop>colorthresSaturationthresSlider</tabstop>
--
1.8.3.2






More information about the vlc-devel mailing list