Exemple #1
0
 def execute_play_action(self):
     """
     Override function from Screen class. See Screen class for
     better documentation.
     """
     if self.tab_group.tab("artists").active:
         artist = self.tab_group.tab("artists").selected_artist
         self.media_player.set_playlist(
             Playlist(self.music_library.get_tracks_by_artist(artist)))
         self.media_player.play()
     elif self.tab_group.tab("albums").active:
         album = self.tab_group.tab("albums").selected_album
         self.media_player.set_playlist(Playlist(album.tracks))
         self.media_player.play()
Exemple #2
0
 def execute_play_action(self):
     """
     Override function from Screen class. See Screen class for
     better documentation.
     """
     album = self.tab_group.tab("albums").selected_album
     self.media_player.set_playlist(Playlist(album.tracks))
     self.media_player.play()
Exemple #3
0
    def _get_disc_information(self):
        """
        Fetch album information from the Internet and create widgets based
        on received data.
        """
        try:
            disc = self.music_library.get_compact_disc_information()

            title = disc.title
            artist = disc.artist
            tracks = disc.tracks

            self.playlist = Playlist(tracks)
            self._create_album_info(title, artist, tracks, disc.length)
            self.track_menu = self._create_track_menu(tracks)
            self.add(self.track_menu)
            self._create_album_cover_texture(artist, title)

            self.li = ListIndicator(0.75, 0.8, 0.2, 0.045,
                ListIndicator.VERTICAL)
            self.li.set_maximum(len(tracks))
            self.add(self.li)

            art_file = os.path.join(self.config.ALBUM_ART_DIR,
                artist + " - " + title + ".jpg")
            if artist != "Unknown artist" and not os.path.exists(art_file):
                art_search = AlbumArtDownloader(title, artist,
                    self.config.ALBUM_ART_DIR, self._update_albumart)
                art_search.start()

        except cdrom.error:
            # No disc in drive
            self.has_disc = False
            no_disc = Label(0.05, "title", 0.5, 0.5,
                _("No audio disc in drive"))
            no_disc.set_anchor_point_from_gravity(clutter.GRAVITY_CENTER)
            self.add(no_disc)

        # Remove loading animation
        self.throbber.hide()
        self.remove(self.throbber)
        del self.throbber

        # This function should be called only once (gobject timeout)
        return False