Example #1
0
 def quit(self, button, userdata=None):
     self.dialog.hide()
     Gtk.main_quit()
     manager = StreamManager.get_stream_manager()
     manager.unsubscribe(self.stream_update)
     if manager.is_running():
         manager.stop()
Example #2
0
    def __init__(self):
        handlers = {
            "onLiveActivate": self.stream,
            "onCancelActivate": self.quit,
            "audio-source-changed": self.audio_source_changed,
            "save-settings": self.save_settings,
            "delete-event": self.quit,
            "overlay-add": self.overlay_add,
            "overlay-delete": self.overlay_delete,
            "save-overlay-dialog": self.save_overlay_dialog,
            "hide-overlay-dialog": self.hide_overlay_dialog
        }

        builder = Gtk.Builder()
        builder.add_from_file("xml/stream_dialog.glade")
        self.dialog = builder.get_object("dialog1")
        self.username_entry = builder.get_object("username_entry")
        self.stream_key_entry = builder.get_object("stream_key_entry")
        self.remember_me = builder.get_object("remember_box")
        self.stream_button = builder.get_object("stream_button")

        # Settings
        self.options_notebook = builder.get_object("options_notebook")
        self.framerate_scale = builder.get_object("framerate_scale")
        self.fps_adjustment = builder.get_object("fps_adjustment")
        self.output_width = builder.get_object("output_width")
        self.output_height = builder.get_object("output_height")
        self.capture_x = builder.get_object("capture_x")
        self.capture_y = builder.get_object("capture_y")
        self.capture_width = builder.get_object("capture_width")
        self.capture_height = builder.get_object("capture_height")

        # Audio
        self.audio_source_box = builder.get_object("audio_source_box")
        self.audio_youtube_url = builder.get_object("audio_youtube_url")
        self.audio_custom_file = builder.get_object("audio_filechooser")

        # Overlay
        self.overlay_dialog = builder.get_object("overlay_dialog")
        self.overlay_dialog_image = builder.get_object("overlay_dialog_image")
        self.overlay_dialog_x = builder.get_object("overlay_dialog_x")
        self.overlay_dialog_y = builder.get_object("overlay_dialog_y")
        self.overlay_dialog_anchor = builder.get_object("overlay_dialog_anchor")
        self.overlay_store = builder.get_object("overlay_store")
        self.overlay_selection = builder.get_object("overlay_selection")

        self.load_settings()

        # Show stream in WebKit frame
        frame = builder.get_object('web_box')
        self.webview = WebKit2.WebView()
        self.webview.set_hexpand(True)
        self.webview.set_vexpand(True)
        self.webview.load_html(ALPHA_TEXT, "")
        frame.add(self.webview)

        builder.connect_signals(handlers)

        # Monitor for vlc and jtvlc process changes
        manager = StreamManager.get_stream_manager()
        manager.subscribe(self.stream_update)
Example #3
0
 def start_stream(self):
     StreamManager.get_stream_manager().start()
     if self.webview.get_uri() != ("http://www.twitch.tv/%s" % self.username_entry.get_text()):
         self.webview.load_uri("http://www.twitch.tv/%s" % self.username_entry.get_text())
Example #4
0
 def stop_stream(self):
     StreamManager.get_stream_manager().stop()
Example #5
0
 def stream(self, button, userdata=None):
     if StreamManager.get_stream_manager().is_running() is False:
         self.start_stream()
     else:
         self.stop_stream()