Example #1
0
 def on_player_playing(self):
     self.start_progress_timer()
     gtkutil.image(self.play_pause_button, 'media-playback-pause.png')
     self.set_controls_sensitivity(True)
     if platform.FREMANTLE:
         hildon.hildon_gtk_window_set_progress_indicator(\
                 self.__gui_root.main_window, False)
Example #2
0
 def on_player_stopped(self):
     self.stop_progress_timer()
     self.set_controls_sensitivity(False)
     gtkutil.image(self.play_pause_button, 'media-playback-start.png')
     if self.metadata:
         estimated_length = self.metadata.get('length', 0)
         self.set_progress_callback( 0, estimated_length )
Example #3
0
 def on_player_stopped(self):
     self.stop_progress_timer()
     self.set_controls_sensitivity(False)
     gtkutil.image(self.play_pause_button, 'media-playback-start.png')
     if self.metadata:
         estimated_length = self.metadata.get('length', 0)
         self.set_progress_callback(0, estimated_length)
Example #4
0
 def on_player_playing(self):
     self.start_progress_timer()
     gtkutil.image(self.play_pause_button, 'media-playback-pause.png')
     self.set_controls_sensitivity(True)
     if platform.FREMANTLE:
         hildon.hildon_gtk_window_set_progress_indicator(\
                 self.__gui_root.main_window, False)
Example #5
0
 def on_player_paused( self, position, duration ):
     self.stop_progress_timer() # This should save some power
     self.set_progress_callback( position, duration )
     gtkutil.image(self.play_pause_button, 'media-playback-start.png')
Example #6
0
    def make_player_tab(self):
        main_vbox = gtk.VBox()
        main_vbox.set_spacing(6)
        # add a vbox to self
        self.pack_start(main_vbox, True, True)

        # a hbox to hold the cover art and metadata vbox
        metadata_hbox = gtk.HBox()
        metadata_hbox.set_spacing(6)
        main_vbox.pack_start(metadata_hbox, True, False)

        event_box = gtk.EventBox()
        self.cover_art = gtk.Image()
        event_box.add(self.cover_art)
        metadata_hbox.pack_start(event_box, False, False)
        event_box.connect('button-press-event', self.cover_art_callback)

        # vbox to hold metadata
        metadata_vbox = gtk.VBox()
        metadata_vbox.pack_start(gtk.Image(), True, True)
        self.artist_label = gtk.Label('')
        self.artist_label.set_ellipsize(pango.ELLIPSIZE_END)
        metadata_vbox.pack_start(self.artist_label, False, False)
        separator = gtk.Label("")
        separator.set_size_request(-1, 10)
        metadata_vbox.pack_start(separator, False, False)
        self.album_label = gtk.Label('')
        if platform.FREMANTLE:
            hildon.hildon_helper_set_logical_font(self.album_label, 'SmallSystemFont')
            hildon.hildon_helper_set_logical_color(self.album_label, gtk.RC_FG, gtk.STATE_NORMAL, 'SecondaryTextColor')
        else:
            self.album_label.modify_font(pango.FontDescription('normal 8'))
        self.album_label.set_ellipsize(pango.ELLIPSIZE_END)
        metadata_vbox.pack_start(self.album_label, False, False)
        separator = gtk.Label("")
        separator.set_size_request(-1, 10)
        metadata_vbox.pack_start(separator, False, False)
        self.title_label = widgets.ScrollingLabel('',
                                                  self.config.get("options", "scrolling_color"),
                                                  update_interval=100,
                                                  pixel_jump=1,
                                                  delay_btwn_scrolls=5000,
                                                  delay_halfway=3000)
        self.title_label.scrolling = self.config.getboolean("options", "scrolling_labels")
        metadata_vbox.pack_start(self.title_label, False, False)
        metadata_vbox.pack_start(gtk.Image(), True, True)
        metadata_hbox.pack_start( metadata_vbox, True, True )

        progress_eventbox = gtk.EventBox()
        progress_eventbox.set_events(gtk.gdk.BUTTON_PRESS_MASK)
        progress_eventbox.connect(
            'button-press-event', self.on_progressbar_changed )
        self.progress = gtk.ProgressBar()
        self.progress.set_size_request(-1, self.config.getint("options", "progress_height"))
        progress_eventbox.add(self.progress)
        main_vbox.pack_start( progress_eventbox, False, False )

        # make the button box
        buttonbox = gtk.HBox()

        # A wrapper to help create DualActionButtons with the right settings
        def create_da(widget, action, widget2=None, action2=None):
            if platform.FREMANTLE:
                widget2 = None
                action2 = None

            return widgets.DualActionButton(widget, action, self.config, widget2, action2)

        self.rrewind_button = create_da(
                gtkutil.generate_image('media-skip-backward.png'),
                lambda: self.do_seek(-1*self.config.getint('options', 'seek_long')),
                gtkutil.generate_image("gtk-goto-first-ltr.png"),
                self.playlist.prev)
        buttonbox.add(self.rrewind_button)

        self.rewind_button = create_da(
                gtkutil.generate_image('media-seek-backward.png'),
                lambda: self.do_seek(-1*self.config.getint('options', 'seek_short')))
        buttonbox.add(self.rewind_button)

        self.play_pause_button = gtk.Button('')
        gtkutil.image(self.play_pause_button, 'media-playback-start.png')
        self.play_pause_button.connect( 'clicked',
                                        self.on_btn_play_pause_clicked )
        buttonbox.add(self.play_pause_button)

        self.forward_button = create_da(
                gtkutil.generate_image('media-seek-forward.png'),
                lambda: self.do_seek(self.config.getint('options', 'seek_short')))
        buttonbox.add(self.forward_button)

        self.fforward_button = create_da(
                gtkutil.generate_image('media-skip-forward.png'),
                lambda: self.do_seek(self.config.getint('options', 'seek_long')),
                gtkutil.generate_image("gtk-goto-last-ltr.png"),
                self.playlist.next)
        buttonbox.add(self.fforward_button)

        self.bookmarks_button = create_da(
                gtkutil.generate_image('bookmark-new.png'),
                self.playlist.add_bookmark_at_current_position,
                gtkutil.generate_image(gtk.STOCK_JUMP_TO, True),
                lambda *args: self.notify('select-current-item-request'))
        buttonbox.add(self.bookmarks_button)
        self.set_controls_sensitivity(False)

        if platform.FREMANTLE:
            for child in buttonbox.get_children():
                if isinstance(child, gtk.Button):
                    child.set_name('HildonButton-thumb')

        buttonbox.set_size_request(-1, self.config.getint("options", "button_height"))
        main_vbox.pack_start(buttonbox, False, False)

        if platform.MAEMO:
            self.__gui_root.main_window.connect( 'key-press-event',
                                                 self.on_key_press )

            # Disable focus for all widgets, so we can use the cursor
            # keys + enter to directly control our media player, which
            # is handled by "key-press-event"
            for w in (
                    self.rrewind_button, self.rewind_button,
                    self.play_pause_button, self.forward_button,
                    self.fforward_button, self.progress,
                    self.bookmarks_button, ):
                w.unset_flags(gtk.CAN_FOCUS)
Example #7
0
 def on_player_paused(self, position, duration):
     self.stop_progress_timer()  # This should save some power
     self.set_progress_callback(position, duration)
     gtkutil.image(self.play_pause_button, 'media-playback-start.png')
Example #8
0
 def on_player_stopped(self):
     self.stop_progress_timer()
     self.set_controls_sensitivity(False)
     gtkutil.image(self.play_pause_button, 'media-playback-start.png')
Example #9
0
    def make_player_tab(self):
        main_vbox = gtk.VBox()
        main_vbox.set_spacing(6)
        # add a vbox to self
        self.pack_start(main_vbox, True, True)

        # a hbox to hold the cover art and metadata vbox
        metadata_hbox = gtk.HBox()
        metadata_hbox.set_spacing(6)
        main_vbox.pack_start(metadata_hbox, True, False)

        self.cover_art = gtk.Image()
        metadata_hbox.pack_start(self.cover_art, False, False)

        # vbox to hold metadata
        metadata_vbox = gtk.VBox()
        metadata_vbox.pack_start(gtk.Image(), True, True)
        self.artist_label = gtk.Label('')
        self.artist_label.set_ellipsize(pango.ELLIPSIZE_END)
        metadata_vbox.pack_start(self.artist_label, False, False)
        separator = gtk.Label("")
        separator.set_size_request(-1, 10)
        metadata_vbox.pack_start(separator, False, False)
        self.album_label = gtk.Label('')
        if platform.FREMANTLE:
            hildon.hildon_helper_set_logical_font(self.album_label,
                                                  'SmallSystemFont')
            hildon.hildon_helper_set_logical_color(self.album_label, gtk.RC_FG,
                                                   gtk.STATE_NORMAL,
                                                   'SecondaryTextColor')
        else:
            self.album_label.modify_font(pango.FontDescription('normal 8'))
        self.album_label.set_ellipsize(pango.ELLIPSIZE_END)
        metadata_vbox.pack_start(self.album_label, False, False)
        separator = gtk.Label("")
        separator.set_size_request(-1, 10)
        metadata_vbox.pack_start(separator, False, False)
        self.title_label = widgets.ScrollingLabel('',
                                                  self.config.get(
                                                      "options",
                                                      "scrolling_color"),
                                                  update_interval=100,
                                                  pixel_jump=1,
                                                  delay_btwn_scrolls=5000,
                                                  delay_halfway=3000)
        self.title_label.scrolling = self.config.getboolean(
            "options", "scrolling_labels")
        metadata_vbox.pack_start(self.title_label, False, False)
        metadata_vbox.pack_start(gtk.Image(), True, True)
        metadata_hbox.pack_start(metadata_vbox, True, True)

        progress_eventbox = gtk.EventBox()
        progress_eventbox.set_events(gtk.gdk.BUTTON_PRESS_MASK)
        progress_eventbox.connect('button-press-event',
                                  self.on_progressbar_changed)
        self.progress = gtk.ProgressBar()
        self.progress.set_size_request(
            -1, self.config.getint("options", "progress_height"))
        progress_eventbox.add(self.progress)
        main_vbox.pack_start(progress_eventbox, False, False)

        # make the button box
        buttonbox = gtk.HBox()

        # A wrapper to help create DualActionButtons with the right settings
        def create_da(widget, action, widget2=None, action2=None):
            if platform.FREMANTLE:
                widget2 = None
                action2 = None

            return widgets.DualActionButton(widget, action, self.config,
                                            widget2, action2)

        self.rrewind_button = create_da(
            gtkutil.generate_image('media-skip-backward.png'),
            lambda: self.do_seek(-1 * self.config.getint(
                'options', 'seek_long')),
            gtkutil.generate_image(gtk.STOCK_GOTO_FIRST,
                                   True), self.playlist.prev)
        buttonbox.add(self.rrewind_button)

        self.rewind_button = create_da(
            gtkutil.generate_image('media-seek-backward.png'),
            lambda: self.do_seek(-1 * self.config.getint(
                'options', 'seek_short')))
        buttonbox.add(self.rewind_button)

        self.play_pause_button = gtk.Button('')
        gtkutil.image(self.play_pause_button, 'media-playback-start.png')
        self.play_pause_button.connect('clicked',
                                       self.on_btn_play_pause_clicked)
        self.play_pause_button.set_sensitive(False)
        buttonbox.add(self.play_pause_button)

        self.forward_button = create_da(
            gtkutil.generate_image('media-seek-forward.png'),
            lambda: self.do_seek(self.config.getint('options', 'seek_short')))
        buttonbox.add(self.forward_button)

        self.fforward_button = create_da(
            gtkutil.generate_image('media-skip-forward.png'),
            lambda: self.do_seek(self.config.getint('options', 'seek_long')),
            gtkutil.generate_image(gtk.STOCK_GOTO_LAST,
                                   True), self.playlist.next)
        buttonbox.add(self.fforward_button)

        self.bookmarks_button = create_da(
            gtkutil.generate_image('bookmark-new.png'),
            self.playlist.player.add_bookmark_at_current_position,
            gtkutil.generate_image(gtk.STOCK_JUMP_TO, True),
            lambda *args: self.notify('select-current-item-request'))
        buttonbox.add(self.bookmarks_button)
        self.set_controls_sensitivity(False)

        if platform.FREMANTLE:
            for child in buttonbox.get_children():
                if isinstance(child, gtk.Button):
                    child.set_name('HildonButton-thumb')

        buttonbox.set_size_request(
            -1, self.config.getint("options", "button_height"))
        main_vbox.pack_start(buttonbox, False, False)

        if platform.MAEMO:
            self.__gui_root.main_window.connect('key-press-event',
                                                self.on_key_press)

            # Disable focus for all widgets, so we can use the cursor
            # keys + enter to directly control our media player, which
            # is handled by "key-press-event"
            for w in (
                    self.rrewind_button,
                    self.rewind_button,
                    self.play_pause_button,
                    self.forward_button,
                    self.fforward_button,
                    self.progress,
                    self.bookmarks_button,
            ):
                w.unset_flags(gtk.CAN_FOCUS)
Example #10
0
 def on_player_stopped(self):
     self.stop_progress_timer()
     self.set_controls_sensitivity(False)
     gtkutil.image(self.play_pause_button, 'media-playback-start.png')