MCPcopy Create free account
hub / github.com/GStreamer/gst-python / PlayerWindow

Class PlayerWindow

old_examples/synchronizer.py:566–796  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

564 self.sync_points)
565
566class PlayerWindow(gtk.Window):
567 UPDATE_INTERVAL = 500
568 def __init__(self):
569 gtk.Window.__init__(self)
570 self.set_default_size(600, 500)
571
572 self.create_ui()
573
574 self.player = GstPlayer(self.videowidget)
575
576 def on_eos():
577 self.player.seek(0L)
578 self.play_toggled()
579 self.player.on_eos = lambda *x: on_eos()
580
581 self.update_id = -1
582 self.changed_id = -1
583 self.seek_timeout_id = -1
584
585 self.p_position = gst.CLOCK_TIME_NONE
586 self.p_duration = gst.CLOCK_TIME_NONE
587
588 def on_delete_event():
589 self.player.stop()
590 gtk.main_quit()
591 self.connect('delete-event', lambda *x: on_delete_event())
592
593 def load_file(self, location):
594 filename = location.split('/')[-1]
595 self.set_title('%s munger' % filename)
596 self.player.set_location(location)
597 if self.videowidget.flags() & gtk.REALIZED:
598 self.play_toggled()
599 else:
600 self.videowidget.connect_after('realize',
601 lambda *x: self.play_toggled())
602
603 def create_ui(self):
604 vbox = gtk.VBox()
605 vbox.show()
606 self.add(vbox)
607
608 self.videowidget = VideoWidget()
609 self.videowidget.show()
610 vbox.pack_start(self.videowidget)
611
612 hbox = gtk.HBox()
613 hbox.show()
614 vbox.pack_start(hbox, fill=False, expand=False)
615
616 self.adjustment = gtk.Adjustment(0.0, 0.00, 100.0, 0.1, 1.0, 1.0)
617 hscale = gtk.HScale(self.adjustment)
618 hscale.set_digits(2)
619 hscale.set_update_policy(gtk.UPDATE_CONTINUOUS)
620 hscale.connect('button-press-event', self.scale_button_press_cb)
621 hscale.connect('button-release-event', self.scale_button_release_cb)
622 hscale.connect('format-value', self.scale_format_value_cb)
623 hbox.pack_start(hscale)

Callers 1

mainFunction · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected