Beispiel #1
0
 def stop(self, *args, **kw):
     global pos
     for i in pos:
         louie_send('picture_%d' % i, sender=self, value=None)
     pos = [1, 2]
     Player.stop(self, *args, **kw)
     return None
Beispiel #2
0
 def __init__(self):
     Player.__init__(self, 'audioplayer')
     WPlayer.__init__(self)
     self._getitems_keywords['edit_list'] = self._get_edit_list
     self._getitems_keywords['title'] = self._get_title
     self._getitems_keywords['artist'] = self._get_artist
     self._getitems_keywords['album'] = self._get_album
     self._getitems_keywords['track'] = self._get_track
     self.tasks.update({
         'show_help_playlist': Task(self._show_help_playlist),
         'hide_help_playlist': Task(self._hide_help_playlist)
     })
     self.set_items([], 'edit_list')
     self.eventhandler = AudioEventHandler(self)
     self.available_choices.append('edit_list')
     self._old_played_dt = None
     self._old_played = None
     self._current_played = None
     for sig in AudioPlayer.caching_sig:
         louie_connect(receiver=self._callback_fill_list,
                       sender='audio',
                       signal=sig)
     self._status_change_callback.task._considered_idle = True
     self._start_playing.task._considered_idle = True
     self.update_media_info.task._considered_idle = True
     return None
Beispiel #3
0
 def __init__(self, type_='videoplayer'):
     Player.__init__(self, type_=type_)
     WPlayer.__init__(self)
     self.eventhandler = VideoEventHandler(self)
     self._getitems_keywords['hd_info_icon'] = self._get_hd_info_icon
     self._getitems_keywords['snd_info_icon'] = self._get_snd_info_icon
     self.subserver = pygui_globs['subserver']
     self.subtitles_textblock = None
     self.cur_subs_size = config.user_config['video']['subtitles_size']
     self.playmode = 'all'
     return None
Beispiel #4
0
 def select(self, val, list_name='main_list'):
     old_selection = self.selected
     if Player.select(self, val, list_name=list_name):
         if self.selected.player != self:
             new_selection = self.selected
             Player.select(self, old_selection, list_name=list_name)
             self.stop()
             new_selection.player.play(new_selection, self.choices)
         else:
             self.direction = val
             self.tasks['display_timer'].start(HMI_PHOTO['lazy_selection'])
     else:
         pygui_globs['menustack'].close_player()
     return None
Beispiel #5
0
 def play(self, item=None, playlist=None):
     self.time_elapsed = 0.0
     self.random_mode = False
     self._unplayed_positions = []
     try:
         log.debug('PLAY(%s)', item)
         Player.play(self, item, playlist)
     except:
         PRINT_EXCEPTION()
         if self._check_exception(_("Can't find media")):
             pygui_globs['menustack'].close_player()
             return None
     self.song_changed()
     self._start_playing()
     return None
Beispiel #6
0
 def __init__(self):
     Player.__init__(self, 'imageviewer')
     self.eventhandler = ImageEventHandler(self)
     self._getitems_keywords.update(item_name=self._get_item_name,
                                    picture_1=(lambda: None),
                                    picture_2=(lambda: None))
     self.tasks.update({
         'display_timer': Task(self.play_next),
         'select_next': Task(self.select, 1),
         'transition': Task(self._transition)
     })
     self.tasks['transition'].delay = 0
     self.speed = 1
     self._paused = True
     self.direction = 1
     return None
Beispiel #7
0
 def play(self, item=None, playlist=None, delay=0):
     try:
         Player.play(self, item, playlist)
     except:
         PRINT_EXCEPTION()
         if self._check_exception(_("Can't find media")):
             pygui_globs['menustack'].close_player()
             return None
     if self.subserver:
         self.subserver.register_txt_render(self._render_subtitle)
         self.set_subs_size(config.user_config['video']['subtitles_size'])
     try:
         WPlayer.play(self, self.selected, show_loading=False, offset=delay)
     except OverflowError:
         log.debug('Player unable to load/read selected item')
         if not self.select(1):
             pygui_globs['menustack'].close_player()
     return None
Beispiel #8
0
 def stop(self):
     log.debug('stop() on MMI PLAYER')
     if self.active_list == 'edit_list':
         self.get_item_list('edit_list').edited = False
         self.focus_previous()
     try:
         self.get_item_list('main_list').selected.unwatch(
             self._selection_changed)
     except AttributeError:
         log.info('Item %s is not unwatchable',
                  self.get_item_list('main_list').selected)
     self._start_playing.task.stop()
     WPlayer.stop(self)
     Player.stop(self)
     for sig in AudioPlayer.caching_sig:
         louie_disconnect(receiver=self._callback_fill_list,
                          signal=sig,
                          sender='audio')
     return None
Beispiel #9
0
 def stop(self):
     try:
         if 'transcode' in config.plugins:
             if hasattr(self, 'stop_transcode'):
                 self.stop_transcode(0)
                 del self.stop_transcode
         if config.resume_video:
             if self.selected['class'].endswith('tvRecord'):
                 resume_pos = self.wpl.byte_pos['data']
             else:
                 resume_pos = self.time_elapsed
             unref_link = 'refid' in self.selected.wymedia_resource
             self.selected.vfs_set_metas(_unref_link=unref_link,
                                         playbackStatus=repr(resume_pos))
             log.debug('%s save resume position at %s', self.selected,
                       resume_pos)
     finally:
         WPlayer.stop(self)
         Player.stop(self)
         self._start_playing.task.stop()
         self.subserver.unregister_txt_render()
         self._render_subtitle(u'')
     return None
Beispiel #10
0
 def select(self,
            val,
            list_name='main_list',
            end_reached=False,
            force_pos=False):
     if end_reached:
         unref_link = bool(self.selected['refid'])
         self.selected.vfs_set_metas(_unref_link=unref_link,
                                     playbackStatus='')
     sel_ret = Player.select(self,
                             val,
                             list_name=list_name,
                             force_pos=force_pos)
     if sel_ret:
         self._start_playing()
     return sel_ret
Beispiel #11
0
 def select(self, val, list_name='main_list', force_pos=False):
     if not self.get_item_list('main_list').selected:
         self._old_played = None
     else:
         self._old_played = self.get_item_list('main_list').selected
     if self._old_played is not None:
         try:
             self._old_played.unwatch(self._selection_changed)
         except AttributeError:
             log.info('Item %s is not unwatchable', self._old_played)
     sel_ret = Player.select(self,
                             val,
                             list_name=list_name,
                             force_pos=force_pos)
     if list_name != 'main_list':
         return sel_ret
     if sel_ret is True:
         if val > 0:
             louie_send('event_up', self)
         else:
             louie_send('event_down', self)
         self.song_changed()
         self._start_playing()
     return sel_ret
Beispiel #12
0
 def play(self, item=None, playlist=None):
     Player.play(self, item, playlist)
     if len(self.choices) > 1:
         self._paused = False
     self.tasks['display_timer'].start(0.5)
     return None