[xiph-commits] r15068 - trunk/subtle
jmesquita at svn.xiph.org
jmesquita at svn.xiph.org
Tue Jun 24 19:05:47 PDT 2008
Author: jmesquita
Date: 2008-06-24 19:05:46 -0700 (Tue, 24 Jun 2008)
New Revision: 15068
Modified:
trunk/subtle/GPlayer.py
trunk/subtle/Subtle.py
trunk/subtle/subtle.glade
Log:
* Add support to fast forward and slow motion
Modified: trunk/subtle/GPlayer.py
===================================================================
--- trunk/subtle/GPlayer.py 2008-06-24 23:17:13 UTC (rev 15067)
+++ trunk/subtle/GPlayer.py 2008-06-25 02:05:46 UTC (rev 15068)
@@ -60,6 +60,7 @@
bus.connect('sync-message::element', self.on_sync_message)
bus.connect('message', self.on_message)
self.cur_frame = 0
+ self.rate = 1.0
def on_sync_message(self, bus, message):
if message.structure is None:
@@ -76,7 +77,53 @@
self.playing = False
elif t == gst.MESSAGE_EOS:
self.playing = False
+
+ def fast_forward(self):
+ """
+ Here we will fast forward the stream for as many times
+ as this is called
+ """
+ if self.rate < 8.0:
+ self.rate = self.rate*2.0
+ event = gst.event_new_seek(self.rate, gst.FORMAT_TIME,
+ gst.SEEK_FLAG_FLUSH,
+ gst.SEEK_TYPE_SET, self.query_position()[0],
+ gst.SEEK_TYPE_NONE, 0)
+ res = self.player.send_event(event)
+ if res:
+ gst.info("fast forwarding at rate: %f" % self.rate)
+ self.player.set_new_stream_time(0L)
+ else:
+ gst.error("change rate to %f failed" % self.rate)
+ return
+
+ def slow_motion(self):
+ """
+ Here we will slow motion the stream for as many times
+ as this is called
+ """
+ self.rate = self.rate/2.0
+ event = gst.event_new_seek(self.rate, gst.FORMAT_TIME,
+ gst.SEEK_FLAG_FLUSH,
+ gst.SEEK_TYPE_SET, self.query_position()[0],
+ gst.SEEK_TYPE_NONE, 0)
+
+ res = self.player.send_event(event)
+ if res:
+ gst.info("slowing playback to rate: %f" % self.rate)
+ self.player.set_new_stream_time(0L)
+ else:
+ gst.error("change rate to %f failed" % self.rate)
+
+ return
+
+ def get_rate(self):
+ """
+ Get the playing rate at the moment
+ """
+ return self.rate
+
## Set location.
# Set location of the source.
# \param location - URI of the source.
@@ -121,7 +168,8 @@
if caps is not None:
framerate = caps[0]['framerate']
position = float(position)/float(1000000000)
- self.cur_frame = (float(position)*float(framerate.num))/float(framerate.denom)
+ self.cur_frame = (float(position)*float(
+ framerate.num))/float(framerate.denom)
return self.cur_frame
## Seek.
@@ -129,7 +177,7 @@
# \param location - location to the seek.
def seek(self, location):
gst.debug("seeking to %r" % location)
- event = gst.event_new_seek(1.0, gst.FORMAT_TIME,
+ event = gst.event_new_seek(self.rate, gst.FORMAT_TIME,
gst.SEEK_FLAG_FLUSH,
gst.SEEK_TYPE_SET, location,
gst.SEEK_TYPE_NONE, 0)
@@ -151,14 +199,33 @@
## Play.
# Media play.
def play(self):
- gst.info("playing player")
- self.player.set_state(gst.STATE_PLAYING)
- self.playing = True
+ """
+ Change the stream state to playing or simply
+ change its playing rate to normal rate
+ """
+ if self.rate != 1.0:
+ self.rate = 1.0
+ event = gst.event_new_seek(self.rate, gst.FORMAT_TIME,
+ gst.SEEK_FLAG_FLUSH,
+ gst.SEEK_TYPE_SET, self.query_position()[0],
+ gst.SEEK_TYPE_NONE, 0)
+ res = self.player.send_event(event)
+ if res:
+ gst.info("slowing playback to rate: %f" % self.rate)
+ self.player.set_new_stream_time(0L)
+ else:
+ gst.error("change rate to %f failed" % self.rate)
+ else:
+ gst.info("playing player")
+ self.player.set_state(gst.STATE_PLAYING)
+ self.playing = True
+ return
+
## Stop
# Media stop.
def stop(self):
- self.player.set_state(gst.STATE_NULL)
+ self.player.set_state(gst.STATE_READY)
self.playing = False
gst.info("stopped player")
Modified: trunk/subtle/Subtle.py
===================================================================
--- trunk/subtle/Subtle.py 2008-06-24 23:17:13 UTC (rev 15067)
+++ trunk/subtle/Subtle.py 2008-06-25 02:05:46 UTC (rev 15068)
@@ -86,6 +86,8 @@
"on_TOOL_STOP_clicked": self.playerStop,\
"on_TOOL_SEEK_FORWARD_clicked": self.playerSeekForward,\
"on_TOOL_SEEK_REWIND_clicked": self.playerSeekRewind,\
+ "on_TOOL_SM_clicked": self.playerSlowMotion,\
+ "on_TOOL_FF_clicked":self.playerFastForward,\
"on_TOOL_HIDE_STREAMS_clicked": self.cb_hideStreamsPane,\
"on_TOOL_HIDE_SUBLIST_clicked": self.cb_hideSubPane,\
"on_MEDIA_ADJUSTMENT_button_press_event": self.buttonPressAdjustment,\
@@ -748,7 +750,8 @@
"""
Put the current playing video in slow motion
"""
- #TODO: Implement it
+ self.player.slow_motion()
+ self.playButton.set_stock_id(gtk.STOCK_MEDIA_PLAY)
pass
@@ -756,7 +759,8 @@
"""
Put the current playing video in FastForward
"""
- #TODO: Implement it
+ self.player.fast_forward()
+ self.playButton.set_stock_id(gtk.STOCK_MEDIA_PLAY)
pass
@@ -849,11 +853,14 @@
def play_toggled(self):
if self.player.is_playing():
- self.player.pause()
- self.playButton.set_stock_id(gtk.STOCK_MEDIA_PLAY)
- #self.playButton.set_icon_name(gtk.STOCK_MEDIA_PLAY)
- if gobject.source_remove(self.update_id):
- self.update_id = -1
+ if self.player.get_rate() != 1.0:
+ self.player.play()
+ self.playButton.set_stock_id(gtk.STOCK_MEDIA_PAUSE)
+ else:
+ self.player.pause()
+ self.playButton.set_stock_id(gtk.STOCK_MEDIA_PLAY)
+ if gobject.source_remove(self.update_id):
+ self.update_id = -1
else:
self.player.play()
if self.update_id == -1:
Modified: trunk/subtle/subtle.glade
===================================================================
--- trunk/subtle/subtle.glade 2008-06-24 23:17:13 UTC (rev 15067)
+++ trunk/subtle/subtle.glade 2008-06-25 02:05:46 UTC (rev 15068)
@@ -107,7 +107,7 @@
</widget>
</child>
<child>
- <widget class="GtkMenuItem" id="MAIN_VIEW_SUBTITLES">
+ <widget class="GtkMenuItem" id="MAIN_VIEW_SUBTITLES1">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="label" translatable="yes">S_ubtitle Pane</property>
@@ -261,8 +261,8 @@
<property name="use_underline">True</property>
<property name="stock_id">gtk-go-down</property>
<signal name="clicked" handler="on_TOOL_IN_SUB_clicked"/>
+ <accelerator key="c" modifiers="GDK_MOD1_MASK" signal="clicked"/>
<accelerator key="C" modifiers="GDK_MOD1_MASK" signal="clicked"/>
- <accelerator key="c" modifiers="GDK_MOD1_MASK" signal="clicked"/>
</widget>
<packing>
<property name="expand">False</property>
@@ -275,8 +275,8 @@
<property name="use_underline">True</property>
<property name="stock_id">gtk-go-up</property>
<signal name="clicked" handler="on_TOOL_OUT_SUB_clicked"/>
+ <accelerator key="V" modifiers="GDK_MOD1_MASK" signal="clicked"/>
<accelerator key="v" modifiers="GDK_MOD1_MASK" signal="clicked"/>
- <accelerator key="V" modifiers="GDK_MOD1_MASK" signal="clicked"/>
</widget>
<packing>
<property name="expand">False</property>
@@ -389,10 +389,11 @@
<property name="toolbar_style">GTK_TOOLBAR_ICONS</property>
<property name="icon_size">GTK_ICON_SIZE_MENU</property>
<child>
- <widget class="GtkToolButton" id="TOOL_PREV">
+ <widget class="GtkToolButton" id="TOOL_SM">
<property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Slow Motion</property>
<property name="stock_id">gtk-media-previous</property>
- <signal name="clicked" handler="on_TOOL_PREV_clicked"/>
+ <signal name="clicked" handler="on_TOOL_SM_clicked"/>
</widget>
<packing>
<property name="expand">False</property>
@@ -420,11 +421,12 @@
</packing>
</child>
<child>
- <widget class="GtkToolButton" id="TOOL_NEXT">
+ <widget class="GtkToolButton" id="TOOL_FF">
<property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Fast Forward</property>
<property name="use_underline">True</property>
<property name="stock_id">gtk-media-next</property>
- <signal name="clicked" handler="on_TOOL_NEXT_clicked"/>
+ <signal name="clicked" handler="on_TOOL_FF_clicked"/>
</widget>
<packing>
<property name="expand">False</property>
@@ -623,254 +625,266 @@
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<child>
- <widget class="GtkVBox" id="subedit_pane1">
+ <widget class="GtkVPaned" id="vpaned2">
<property name="visible">True</property>
- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="can_focus">True</property>
<child>
- <widget class="GtkHBox" id="hbox3">
+ <widget class="GtkVBox" id="subedit_pane1">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<child>
- <widget class="GtkToolbar" id="toolbar1">
+ <widget class="GtkHBox" id="hbox3">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="toolbar_style">GTK_TOOLBAR_ICONS</property>
- <property name="icon_size">GTK_ICON_SIZE_MENU</property>
<child>
- <widget class="GtkToolButton" id="TOOL_HIDE_SUBEDIT1">
+ <widget class="GtkToolbar" id="toolbar1">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="stock_id">gtk-close</property>
+ <property name="toolbar_style">GTK_TOOLBAR_ICONS</property>
+ <property name="icon_size">GTK_ICON_SIZE_MENU</property>
+ <child>
+ <widget class="GtkToolButton" id="TOOL_HIDE_SUBEDIT">
+ <property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="stock_id">gtk-close</property>
+ <signal name="clicked" handler="on_TOOL_HIDE_SUBEDIT_clicked"/>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkToolButton" id="TOOL_DETACH_SUBEDIT1">
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="stock_id">gtk-leave-fullscreen</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ </packing>
+ </child>
</widget>
- <packing>
- <property name="expand">False</property>
- </packing>
</child>
<child>
- <widget class="GtkToolButton" id="TOOL_DETACH_SUBEDIT1">
+ <widget class="GtkToggleButton" id="tgl_mode">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="stock_id">gtk-leave-fullscreen</property>
+ <property name="label" translatable="yes">Online Mode</property>
+ <property name="response_id">0</property>
+ <property name="active">True</property>
+ <signal name="toggled" handler="on_tgl_mode_toggled"/>
</widget>
<packing>
<property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
</packing>
</child>
</widget>
- </child>
- <child>
- <widget class="GtkToggleButton" id="tgl_mode">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="label" translatable="yes">Online Mode</property>
- <property name="response_id">0</property>
- <property name="active">True</property>
- <signal name="toggled" handler="on_tgl_mode_toggled"/>
- </widget>
<packing>
<property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
</packing>
</child>
- </widget>
- <packing>
- <property name="expand">False</property>
- </packing>
- </child>
- <child>
- <widget class="GtkFrame" id="frame1">
- <property name="visible">True</property>
- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="label_xalign">0</property>
- <property name="shadow_type">GTK_SHADOW_NONE</property>
<child>
- <widget class="GtkAlignment" id="alignment1">
+ <widget class="GtkFrame" id="frame1">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="left_padding">12</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">GTK_SHADOW_ETCHED_OUT</property>
<child>
- <widget class="GtkTextView" id="txt_subedit">
- <property name="height_request">35</property>
+ <widget class="GtkAlignment" id="alignment1">
<property name="visible">True</property>
- <property name="sensitive">False</property>
- <property name="can_focus">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="justification">GTK_JUSTIFY_CENTER</property>
- <signal name="key_release_event" handler="on_txt_subedit_key_release_event"/>
+ <property name="left_padding">12</property>
+ <child>
+ <widget class="GtkTextView" id="txt_subedit">
+ <property name="height_request">35</property>
+ <property name="visible">True</property>
+ <property name="sensitive">False</property>
+ <property name="can_focus">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="justification">GTK_JUSTIFY_CENTER</property>
+ <signal name="key_release_event" handler="on_txt_subedit_key_release_event"/>
+ </widget>
+ </child>
</widget>
</child>
+ <child>
+ <widget class="GtkLabel" id="label6">
+ <property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="label" translatable="yes"><b>Subtitle Edition</b></property>
+ <property name="use_markup">True</property>
+ </widget>
+ <packing>
+ <property name="type">label_item</property>
+ </packing>
+ </child>
</widget>
- </child>
- <child>
- <widget class="GtkLabel" id="label6">
- <property name="visible">True</property>
- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="label" translatable="yes"><b>Subtitle Edition</b></property>
- <property name="use_markup">True</property>
- </widget>
<packing>
- <property name="type">label_item</property>
+ <property name="position">1</property>
</packing>
</child>
</widget>
<packing>
- <property name="position">1</property>
+ <property name="resize">False</property>
+ <property name="shrink">True</property>
</packing>
</child>
- </widget>
- </child>
- <child>
- <widget class="GtkVBox" id="streams_pane">
- <property name="visible">True</property>
- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<child>
- <widget class="GtkFrame" id="frame2">
+ <widget class="GtkVBox" id="streams_pane">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="label_xalign">0</property>
- <property name="shadow_type">GTK_SHADOW_NONE</property>
<child>
- <widget class="GtkAlignment" id="alignment2">
+ <widget class="GtkFrame" id="frame2">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="left_padding">12</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">GTK_SHADOW_ETCHED_OUT</property>
<child>
- <widget class="GtkVBox" id="vbox5">
+ <widget class="GtkAlignment" id="alignment2">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="left_padding">12</property>
<child>
- <widget class="GtkToolbar" id="toolbar11">
+ <widget class="GtkVBox" id="vbox5">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="toolbar_style">GTK_TOOLBAR_ICONS</property>
- <property name="icon_size">GTK_ICON_SIZE_MENU</property>
<child>
- <widget class="GtkToolButton" id="TOOL_HIDE_STREAMS">
+ <widget class="GtkToolbar" id="toolbar11">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="stock_id">gtk-close</property>
- <signal name="clicked" handler="on_TOOL_HIDE_STREAMS_clicked"/>
- </widget>
- <packing>
- <property name="expand">False</property>
- </packing>
- </child>
- <child>
- <widget class="GtkToolButton" id="TOOL_DETACH_STREAMS">
- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="stock_id">gtk-leave-fullscreen</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="expand">False</property>
- </packing>
- </child>
- <child>
- <widget class="GtkVBox" id="vbox8">
- <property name="visible">True</property>
- <child>
- <widget class="GtkToolbar" id="toolbar13">
- <property name="visible">True</property>
<property name="toolbar_style">GTK_TOOLBAR_ICONS</property>
<property name="icon_size">GTK_ICON_SIZE_MENU</property>
<child>
- <widget class="GtkToolButton" id="TOOL_ADD_STREAM">
+ <widget class="GtkToolButton" id="TOOL_HIDE_STREAMS">
<property name="visible">True</property>
- <property name="stock_id">gtk-add</property>
- <signal name="clicked" handler="on_TOOL_ADD_STREAM_clicked"/>
- <accelerator key="a" modifiers="GDK_CONTROL_MASK" signal="clicked"/>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="stock_id">gtk-close</property>
+ <signal name="clicked" handler="on_TOOL_HIDE_STREAMS_clicked"/>
</widget>
<packing>
<property name="expand">False</property>
</packing>
</child>
<child>
- <widget class="GtkToolButton" id="TOOL_NEW_STREAM">
- <property name="visible">True</property>
- <property name="stock_id">gtk-new</property>
- <signal name="clicked" handler="on_TOOL_NEW_STREAM_clicked"/>
- <accelerator key="n" modifiers="GDK_CONTROL_MASK" signal="clicked"/>
+ <widget class="GtkToolButton" id="TOOL_DETACH_STREAMS">
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="stock_id">gtk-leave-fullscreen</property>
</widget>
<packing>
<property name="expand">False</property>
</packing>
</child>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkVBox" id="vbox8">
+ <property name="visible">True</property>
<child>
- <widget class="GtkToolButton" id="TOOL_MOD_STREAM">
+ <widget class="GtkToolbar" id="toolbar13">
<property name="visible">True</property>
- <property name="stock_id">gtk-edit</property>
- <signal name="clicked" handler="on_TOOL_MOD_STREAM_clicked"/>
- <accelerator key="e" modifiers="GDK_CONTROL_MASK" signal="clicked"/>
+ <property name="toolbar_style">GTK_TOOLBAR_ICONS</property>
+ <property name="icon_size">GTK_ICON_SIZE_MENU</property>
+ <child>
+ <widget class="GtkToolButton" id="TOOL_ADD_STREAM">
+ <property name="visible">True</property>
+ <property name="stock_id">gtk-add</property>
+ <signal name="clicked" handler="on_TOOL_ADD_STREAM_clicked"/>
+ <accelerator key="a" modifiers="GDK_CONTROL_MASK" signal="clicked"/>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkToolButton" id="TOOL_NEW_STREAM">
+ <property name="visible">True</property>
+ <property name="stock_id">gtk-new</property>
+ <signal name="clicked" handler="on_TOOL_NEW_STREAM_clicked"/>
+ <accelerator key="n" modifiers="GDK_CONTROL_MASK" signal="clicked"/>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkToolButton" id="TOOL_MOD_STREAM">
+ <property name="visible">True</property>
+ <property name="stock_id">gtk-edit</property>
+ <signal name="clicked" handler="on_TOOL_MOD_STREAM_clicked"/>
+ <accelerator key="e" modifiers="GDK_CONTROL_MASK" signal="clicked"/>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkToolButton" id="TOOL_DEL_STREAM">
+ <property name="visible">True</property>
+ <property name="stock_id">gtk-delete</property>
+ <signal name="clicked" handler="on_TOOL_DEL_STREAM_clicked"/>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ </packing>
+ </child>
</widget>
<packing>
<property name="expand">False</property>
+ <property name="fill">False</property>
</packing>
</child>
<child>
- <widget class="GtkToolButton" id="TOOL_DEL_STREAM">
+ <widget class="GtkScrolledWindow" id="scrolledwindow6">
<property name="visible">True</property>
- <property name="stock_id">gtk-delete</property>
- <signal name="clicked" handler="on_TOOL_DEL_STREAM_clicked"/>
+ <property name="can_focus">True</property>
+ <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <child>
+ <widget class="GtkTreeView" id="LIST_STREAMS">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ </widget>
+ </child>
</widget>
<packing>
- <property name="expand">False</property>
+ <property name="position">1</property>
</packing>
</child>
</widget>
<packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="GtkScrolledWindow" id="scrolledwindow6">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <child>
- <widget class="GtkTreeView" id="LIST_STREAMS">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- </widget>
- </child>
- </widget>
- <packing>
<property name="position">1</property>
</packing>
</child>
</widget>
- <packing>
- <property name="position">1</property>
- </packing>
</child>
</widget>
</child>
+ <child>
+ <widget class="GtkLabel" id="label7">
+ <property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="label" translatable="yes"><b>Project</b></property>
+ <property name="use_markup">True</property>
+ </widget>
+ <packing>
+ <property name="type">label_item</property>
+ </packing>
+ </child>
</widget>
</child>
- <child>
- <widget class="GtkLabel" id="label7">
- <property name="visible">True</property>
- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="label" translatable="yes"><b>Project</b></property>
- <property name="use_markup">True</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
- </child>
</widget>
+ <packing>
+ <property name="resize">True</property>
+ <property name="shrink">True</property>
+ </packing>
</child>
</widget>
- <packing>
- <property name="position">1</property>
- </packing>
</child>
</widget>
<packing>
@@ -902,7 +916,7 @@
<property name="toolbar_style">GTK_TOOLBAR_ICONS</property>
<property name="icon_size">GTK_ICON_SIZE_MENU</property>
<child>
- <widget class="GtkToolButton" id="TOOL_ADD_STREAM">
+ <widget class="GtkToolButton" id="TOOL_ADD_STREAM1">
<property name="visible">True</property>
<property name="stock_id">gtk-add</property>
<signal name="clicked" handler="on_TOOL_ADD_STREAM_clicked"/>
@@ -913,7 +927,7 @@
</packing>
</child>
<child>
- <widget class="GtkToolButton" id="TOOL_NEW_STREAM">
+ <widget class="GtkToolButton" id="TOOL_NEW_STREAM1">
<property name="visible">True</property>
<property name="stock_id">gtk-new</property>
<signal name="clicked" handler="on_TOOL_NEW_STREAM_clicked"/>
@@ -924,7 +938,7 @@
</packing>
</child>
<child>
- <widget class="GtkToolButton" id="TOOL_MOD_STREAM">
+ <widget class="GtkToolButton" id="TOOL_MOD_STREAM1">
<property name="visible">True</property>
<property name="stock_id">gtk-edit</property>
<signal name="clicked" handler="on_TOOL_MOD_STREAM_clicked"/>
@@ -934,7 +948,7 @@
</packing>
</child>
<child>
- <widget class="GtkToolButton" id="TOOL_DEL_STREAM">
+ <widget class="GtkToolButton" id="TOOL_DEL_STREAM1">
<property name="visible">True</property>
<property name="stock_id">gtk-delete</property>
<signal name="clicked" handler="on_TOOL_DEL_STREAM_clicked"/>
@@ -956,7 +970,7 @@
<property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
<property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
<child>
- <widget class="GtkTreeView" id="LIST_STREAMS">
+ <widget class="GtkTreeView" id="LIST_STREAMS1">
<property name="visible">True</property>
<property name="can_focus">True</property>
</widget>
@@ -984,7 +998,7 @@
<property name="toolbar_style">GTK_TOOLBAR_ICONS</property>
<property name="icon_size">GTK_ICON_SIZE_MENU</property>
<child>
- <widget class="GtkToolButton" id="TOOL_INS_B4_SUB">
+ <widget class="GtkToolButton" id="TOOL_INS_B4_SUB1">
<property name="visible">True</property>
<property name="stock_id">gtk-sort-ascending</property>
<signal name="clicked" handler="on_TOOL_INS_B4_SUB_clicked"/>
@@ -995,7 +1009,7 @@
</packing>
</child>
<child>
- <widget class="GtkToolButton" id="TOOL_INS_AFTER_SUB">
+ <widget class="GtkToolButton" id="TOOL_INS_AFTER_SUB1">
<property name="visible">True</property>
<property name="stock_id">gtk-sort-descending</property>
<signal name="clicked" handler="on_TOOL_INS_AFTER_SUB_clicked"/>
@@ -1006,7 +1020,7 @@
</packing>
</child>
<child>
- <widget class="GtkToolButton" id="TOOL_DEL_SUBS">
+ <widget class="GtkToolButton" id="TOOL_DEL_SUBS1">
<property name="visible">True</property>
<property name="stock_id">gtk-delete</property>
<signal name="clicked" handler="on_TOOL_DEL_SUBS_clicked"/>
@@ -1017,7 +1031,7 @@
</packing>
</child>
<child>
- <widget class="GtkToolButton" id="TOOL_SAVE_STREAM">
+ <widget class="GtkToolButton" id="TOOL_SAVE_STREAM1">
<property name="visible">True</property>
<property name="use_underline">True</property>
<property name="stock_id">gtk-save</property>
@@ -1037,28 +1051,28 @@
</packing>
</child>
<child>
- <widget class="GtkToolButton" id="TOOL_IN_SUB">
+ <widget class="GtkToolButton" id="TOOL_IN_SUB1">
<property name="visible">True</property>
<property name="tooltip" translatable="yes">Timecode IN (ALT+C)</property>
<property name="use_underline">True</property>
<property name="stock_id">gtk-go-down</property>
<signal name="clicked" handler="on_TOOL_IN_SUB_clicked"/>
+ <accelerator key="c" modifiers="GDK_MOD1_MASK" signal="clicked"/>
<accelerator key="C" modifiers="GDK_MOD1_MASK" signal="clicked"/>
- <accelerator key="c" modifiers="GDK_MOD1_MASK" signal="clicked"/>
</widget>
<packing>
<property name="expand">False</property>
</packing>
</child>
<child>
- <widget class="GtkToolButton" id="TOOL_OUT_SUB">
+ <widget class="GtkToolButton" id="TOOL_OUT_SUB1">
<property name="visible">True</property>
<property name="tooltip" translatable="yes">Timecode OUT (ALT+V)</property>
<property name="use_underline">True</property>
<property name="stock_id">gtk-go-up</property>
<signal name="clicked" handler="on_TOOL_OUT_SUB_clicked"/>
+ <accelerator key="V" modifiers="GDK_MOD1_MASK" signal="clicked"/>
<accelerator key="v" modifiers="GDK_MOD1_MASK" signal="clicked"/>
- <accelerator key="V" modifiers="GDK_MOD1_MASK" signal="clicked"/>
</widget>
<packing>
<property name="expand">False</property>
@@ -1080,7 +1094,7 @@
<widget class="GtkViewport" id="viewport1">
<property name="visible">True</property>
<child>
- <widget class="GtkTreeView" id="LIST_SUBS">
+ <widget class="GtkTreeView" id="LIST_SUBS1">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="reorderable">True</property>
@@ -1154,8 +1168,8 @@
<property name="window_position">GTK_WIN_POS_CENTER</property>
<property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
<property name="gravity">GDK_GRAVITY_CENTER</property>
+ <property name="show_hidden">True</property>
<property name="do_overwrite_confirmation">True</property>
- <property name="show_hidden">True</property>
<child internal-child="vbox">
<widget class="GtkVBox" id="dialog-vbox2">
<property name="visible">True</property>
More information about the commits
mailing list