aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--voctogui/lib/ui.py18
-rw-r--r--voctogui/ui/stream-live.svg63
-rw-r--r--voctogui/ui/voctogui.ui43
3 files changed, 114 insertions, 10 deletions
diff --git a/voctogui/lib/ui.py b/voctogui/lib/ui.py
index c8ae1c5..73faca7 100644
--- a/voctogui/lib/ui.py
+++ b/voctogui/lib/ui.py
@@ -26,6 +26,7 @@ class Ui(UiBuilder):
self.configure_video_main()
self.configure_video_previews()
self.configure_audio_selector()
+ self.configure_streamblank_selector()
def configure_video_main(self):
self.log.info('Initializing Main Video and Main Audio-Level View')
@@ -109,6 +110,23 @@ class Ui(UiBuilder):
combo.set_active_id('moofar')
+ def configure_streamblank_selector(self):
+ livebtn = self.get_check_widget('stream_live')
+ blankbtn = self.get_check_widget('stream_blank')
+ toolbar = blankbtn.get_parent()
+ pos = toolbar.get_item_index(blankbtn)
+
+ for idx, name in enumerate(['pause', 'nostream']):
+ if idx == 0:
+ new_btn = blankbtn
+ else:
+ new_icon = Gtk.Image.new_from_pixbuf(blankbtn.get_icon_widget().get_pixbuf())
+ new_btn = Gtk.RadioToolButton(group=livebtn)
+ new_btn.set_icon_widget(new_icon)
+ toolbar.insert(new_btn, pos+1)
+
+ new_btn.set_label("Stream %s" % name)
+
def show(self):
self.log.info('Running Video-Playback Pipelines')
diff --git a/voctogui/ui/stream-live.svg b/voctogui/ui/stream-live.svg
new file mode 100644
index 0000000..6f16a60
--- /dev/null
+++ b/voctogui/ui/stream-live.svg
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="32"
+ height="32"
+ id="svg3052"
+ version="1.1"
+ inkscape:version="0.48.5 r10040"
+ sodipodi:docname="blank-stream.svg">
+ <defs
+ id="defs3054" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="22.4"
+ inkscape:cx="1.5807145"
+ inkscape:cy="15.895534"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="1920"
+ inkscape:window-height="1014"
+ inkscape:window-x="0"
+ inkscape:window-y="27"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata3057">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(0,-1020.3622)">
+ <rect
+ style="color:#000000;fill:#00ff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.50000000000000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect3062"
+ width="30"
+ height="16.875"
+ x="1"
+ y="1027.9247" />
+ </g>
+</svg>
diff --git a/voctogui/ui/voctogui.ui b/voctogui/ui/voctogui.ui
index 4fb75f5..fc4ddc7 100644
--- a/voctogui/ui/voctogui.ui
+++ b/voctogui/ui/voctogui.ui
@@ -2,11 +2,6 @@
<!-- Generated with glade 3.18.3 -->
<interface>
<requires lib="gtk+" version="3.12"/>
- <object class="GtkImage" id="img-blank-stream">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="pixbuf">blank-stream.svg</property>
- </object>
<object class="GtkImage" id="img-composite-fullscreen">
<property name="visible">True</property>
<property name="can_focus">False</property>
@@ -27,6 +22,16 @@
<property name="can_focus">False</property>
<property name="pixbuf">composite-side-by-side-preview.svg</property>
</object>
+ <object class="GtkImage" id="img-blank-stream">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="pixbuf">blank-stream.svg</property>
+ </object>
+ <object class="GtkImage" id="img-stream-live">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="pixbuf">stream-live.svg</property>
+ </object>
<object class="GtkListStore" id="liststore_audio">
<columns>
<!-- column-name name -->
@@ -58,7 +63,7 @@
<property name="hexpand">True</property>
<property name="toolbar_style">both</property>
<child>
- <object class="GtkToggleToolButton" id="composite-fullscreen">
+ <object class="GtkRadioToolButton" id="composite-fullscreen">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Fullscreen</property>
@@ -72,12 +77,13 @@
</packing>
</child>
<child>
- <object class="GtkToggleToolButton" id="composite-picture-in-picture">
+ <object class="GtkRadioToolButton" id="composite-picture-in-picture">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Picture in Picture</property>
<property name="use_underline">True</property>
<property name="icon_widget">img-composite-picture-in-picture</property>
+ <property name="group">composite-fullscreen</property>
<accelerator key="F2" signal="clicked"/>
</object>
<packing>
@@ -86,12 +92,13 @@
</packing>
</child>
<child>
- <object class="GtkToggleToolButton" id="composite-side-by-side-equal">
+ <object class="GtkRadioToolButton" id="composite-side-by-side-equal">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Side-by-side Equal</property>
<property name="use_underline">True</property>
<property name="icon_widget">img-composite-side-by-side-equal</property>
+ <property name="group">composite-fullscreen</property>
<accelerator key="F3" signal="clicked"/>
</object>
<packing>
@@ -100,12 +107,13 @@
</packing>
</child>
<child>
- <object class="GtkToggleToolButton" id="composite-side-by-side-preview">
+ <object class="GtkRadioToolButton" id="composite-side-by-side-preview">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Side-by-side Preview</property>
<property name="use_underline">True</property>
<property name="icon_widget">img-composite-side-by-side-preview</property>
+ <property name="group">composite-fullscreen</property>
<accelerator key="F4" signal="clicked"/>
</object>
<packing>
@@ -124,12 +132,27 @@
</packing>
</child>
<child>
- <object class="GtkMenuToolButton" id="stream_blank">
+ <object class="GtkRadioToolButton" id="stream_live">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Stream Live</property>
+ <property name="use_underline">True</property>
+ <property name="icon_widget">img-stream-live</property>
+ <property name="active">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="homogeneous">True</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioToolButton" id="stream_blank">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Blank Stream</property>
<property name="use_underline">True</property>
<property name="icon_widget">img-blank-stream</property>
+ <property name="group">stream_live</property>
</object>
<packing>
<property name="expand">False</property>