コード例 #1
0
ファイル: detail.py プロジェクト: GemZ/spotimc
 def render(self, view_manager):
     if self.__loader.is_loaded():
         session = view_manager.get_var('session')
         pm = view_manager.get_var('playlist_manager')
         list_obj = self.get_list(view_manager)
         sm = SettingsManager()
         
         #Set the thumbnails
         self._set_playlist_image(view_manager, self.__loader.get_thumbnails())
         
         #And the properties
         self._set_playlist_properties(view_manager)
         
         #Clear the list
         list_obj.reset()
         
         #Draw the items on the list
         for list_index, track_obj in enumerate(self.__loader.get_tracks()):
             show_track = (
                 track_obj.is_loaded() and
                 track_obj.error() == 0 and
                 (
                     track_obj.get_availability(session) == track.TrackAvailability.Available or
                     not sm.get_audio_hide_unplayable()
                 )
             )
             
             if show_track:
                 url, info = pm.create_track_info(track_obj, session, list_index)
                 list_obj.addItem(info)
         
         return True
コード例 #2
0
ファイル: detail.py プロジェクト: timmtim/spotimc
    def render(self, view_manager):
        if self.__loader.is_loaded():
            session = view_manager.get_var('session')
            pm = view_manager.get_var('playlist_manager')
            list_obj = self.get_list(view_manager)
            sm = SettingsManager()

            #Set the thumbnails
            self._set_playlist_image(view_manager,
                                     self.__loader.get_thumbnails())

            #And the properties
            self._set_playlist_properties(view_manager)

            #Clear the list
            list_obj.reset()

            #Draw the items on the list
            for list_index, track_obj in enumerate(self.__loader.get_tracks()):
                show_track = (track_obj.is_loaded() and track_obj.error() == 0
                              and (track_obj.get_availability(session)
                                   == track.TrackAvailability.Available
                                   or not sm.get_audio_hide_unplayable()))

                if show_track:
                    url, info = pm.create_track_info(track_obj, session,
                                                     list_index)
                    list_obj.addItem(info)

            return True
コード例 #3
0
ファイル: more.py プロジェクト: christian667/spotimc
 def _handle_list_click(self, view_manager):
     item = self.get_list(view_manager).getSelectedItem()
     
     if item is not None:
         key = item.getLabel2()
         
         if key == 'settings':
             session = view_manager.get_var('session')
             settings_obj = SettingsManager()
             settings_obj.show_dialog(session)
         
         elif key == 'sign-off':
             self._do_logout(view_manager)
コード例 #4
0
ファイル: more.py プロジェクト: timmtim/spotimc
    def _handle_list_click(self, view_manager):
        item = self.get_list(view_manager).getSelectedItem()

        if item is not None:
            key = item.getLabel2()

            if key == 'settings':
                session = view_manager.get_var('session')
                settings_obj = SettingsManager()
                settings_obj.show_dialog(session)

            elif key == 'sign-off':
                self._do_logout(view_manager)
コード例 #5
0
ファイル: more.py プロジェクト: RicardoDMelo/spotimc
    def _do_settings(self, view_manager):
        settings = SettingsManager()
        session = view_manager.get_var('session')

        #Store current values before they change
        before_cache_status = settings.get_cache_status()
        before_cache_management = settings.get_cache_management()
        before_cache_size = settings.get_cache_size()
        before_audio_normalize = settings.get_audio_normalize()
        before_audio_quality = settings.get_audio_quality()

        #Show the dialog
        settings.show_dialog()

        after_cache_status = settings.get_cache_status()
        after_cache_management = self.get_cache_management()
        after_cache_size = settings.get_cache_size()
        after_audio_normalize = settings.get_audio_normalize()
        after_audio_quality = settings.get_audio_quality()

        #Change these only if cache was and is enabled
        if before_cache_status and after_cache_status:

            #If cache management changed
            if before_cache_management != after_cache_management:
                if after_cache_management == CacheManagement.Automatic:
                    session.set_cache_size(0)
                elif after_cache_management == CacheManagement.Manual:
                    session.set_cache_size(after_cache_size * 1024)

            #If manual size changed
            if (after_cache_management == CacheManagement.Manual and
                    before_cache_size != after_cache_size):
                session.set_cache_size(after_cache_size * 1024)

        #Change volume normalization
        if before_audio_normalize != after_audio_normalize:
            session.set_volume_normalization(after_audio_normalize)

        #Change stream quality
        #FIXME: Repeated code, should be moved to utils
        br_map = {
            StreamQuality.Low: Bitrate.Rate96k,
            StreamQuality.Medium: Bitrate.Rate160k,
            StreamQuality.High: Bitrate.Rate320k,
        }
        if before_audio_quality != after_audio_quality:
            session.preferred_bitrate(br_map[after_audio_quality])
コード例 #6
0
ファイル: more.py プロジェクト: ziethan/spotimc
    def _do_settings(self, view_manager):
        settings = SettingsManager()
        session = view_manager.get_var('session')

        #Store current values before they change
        before_cache_status = settings.get_cache_status()
        before_cache_management = settings.get_cache_management()
        before_cache_size = settings.get_cache_size()
        before_audio_normalize = settings.get_audio_normalize()
        before_audio_quality = settings.get_audio_quality()

        #Show the dialog
        settings.show_dialog()

        after_cache_status = settings.get_cache_status()
        after_cache_management = self.get_cache_management()
        after_cache_size = settings.get_cache_size()
        after_audio_normalize = settings.get_audio_normalize()
        after_audio_quality = settings.get_audio_quality()

        #Change these only if cache was and is enabled
        if before_cache_status and after_cache_status:

            #If cache management changed
            if before_cache_management != after_cache_management:
                if after_cache_management == CacheManagement.Automatic:
                    session.set_cache_size(0)
                elif after_cache_management == CacheManagement.Manual:
                    session.set_cache_size(after_cache_size * 1024)

            #If manual size changed
            if (after_cache_management == CacheManagement.Manual
                    and before_cache_size != after_cache_size):
                session.set_cache_size(after_cache_size * 1024)

        #Change volume normalization
        if before_audio_normalize != after_audio_normalize:
            session.set_volume_normalization(after_audio_normalize)

        #Change stream quality
        #FIXME: Repeated code, should be moved to utils
        br_map = {
            StreamQuality.Low: Bitrate.Rate96k,
            StreamQuality.Medium: Bitrate.Rate160k,
            StreamQuality.High: Bitrate.Rate320k,
        }
        if before_audio_quality != after_audio_quality:
            session.preferred_bitrate(br_map[after_audio_quality])