Example #1
0
    def __init__(self):
        logger.log(9, 'encoding.PluginInterface.__init__(self)')
        plugin.DaemonPlugin.__init__(self)
        #IdleBarPlugin.__init__(self)
        self.poll_interval = 1
        self.draw_interval = self.poll_interval
        self.last_interval = self.poll_interval
        self.lastdraw = 0
        self.lastpoll = 0
        self.plugin_name = 'video.encodingstatus'
        self.server = EncodingClientActions()

        self.skin = skin.get_singleton()
        self.barimg = os.path.join(config.ICON_DIR, 'status/encoding_bar.png')
        self.boximg = os.path.join(config.ICON_DIR, 'status/encoding_box.png')
        self.boxborder = 3
        self.padding = 5  # internal padding for box vs text
        self.image = None
        self.cacheimg = {}
        self.muted = False
        self.encoding = -1
        self.progress = 0
        self.jobname = ''
        self.calculate = True
        self.jobs = ''
        self.mode = 'Not Running'
        self.text = []
        self.percent = 0.0
        self.running = False
        self.drawtime = 0
        self.polltime = 0
        self.state = 'noserver'
        self.laststate = None
        self.font = self.skin.get_font(config.ENCODING_IDLEBAR_FONT)
Example #2
0
    def __init__(self):
        logger.log( 9, 'encoding.PluginInterface.__init__(self)')
        plugin.DaemonPlugin.__init__(self)
        #IdleBarPlugin.__init__(self)
        self.poll_interval = 1
        self.draw_interval = self.poll_interval
        self.last_interval = self.poll_interval
        self.lastdraw  = 0
        self.lastpoll  = 0
        self.plugin_name = 'video.encodingstatus'
        self.server    = EncodingClientActions()

        self.skin      = skin.get_singleton()
        self.barimg    = os.path.join(config.ICON_DIR, 'status/encoding_bar.png')
        self.boximg    = os.path.join(config.ICON_DIR, 'status/encoding_box.png')
        self.boxborder = 3
        self.padding   = 5 # internal padding for box vs text
        self.image     = None
        self.cacheimg  = {}
        self.muted     = False
        self.encoding  = -1
        self.progress  = 0
        self.jobname   = ''
        self.calculate = True
        self.jobs      = ''
        self.mode      = 'Not Running'
        self.text      = []
        self.percent   = 0.0
        self.running   = False
        self.drawtime  = 0
        self.polltime  = 0
        self.state     = 'noserver'
        self.laststate = None
        self.font      = self.skin.get_font(config.ENCODING_IDLEBAR_FONT)
Example #3
0
    def __init__(self,
                 left=0,
                 top=0,
                 width=0,
                 height=0,
                 bg_color=None,
                 fg_color=None):
        self.left = left or 0
        self.top = top or 0
        self.width = width or 0
        self.height = height or 0
        try:
            self.rect = Rect(self.left, self.top, self.width, self.height)
        except TypeError:
            logger.debug('Invalid Rect: left=%r, top=%r, width=%r, height=%r',
                         left, top, width, height)

        self.osd = osd.get_singleton()

        self.label = None
        self.icon = None
        self.surface = None
        self.bg_surface = None
        self.bg_image = None

        self.parent = None

        self.children = []
        self.enabled = 1
        self.visible = 1
        self.selected = 0

        self.rect = pygame.Rect(0, 0, 0, 0)

        self.refresh_abs_position()

        self.rect.width = self.width
        self.rect.height = self.height
        self.bg_color = bg_color
        self.fg_color = fg_color

        self.event_context = None

        style = skin.get_singleton().get_popupbox_style(self)
        self.content_layout, self.background_layout = style

        self.skin_info_widget = self.content_layout.types['widget']
        self.skin_info_font = self.skin_info_widget.font

        self.h_margin = self.content_layout.spacing
        self.v_margin = self.content_layout.spacing

        ci = self.content_layout.types['widget'].rectangle
        self.bg_color = self.bg_color or Color(ci.bgcolor)
        self.fg_color = self.fg_color or Color(ci.color)

        self.set_v_align(Align.NONE)
        self.set_h_align(Align.NONE)
Example #4
0
    def __init__(self):
        """ Initialise the transcode idlebar plug-in """
        _debug_('transcode.PluginInterface.__init__()', 2)
        IdleBarPlugin.__init__(self)
        self.plugin_name = 'idlebar.transcode'

        self.background = os.path.join(config.ICON_DIR,
                                       'status/enc_background.png')
        self.leftclamp = os.path.join(config.ICON_DIR,
                                      'status/enc_leftclamp.png')
        self.rightclamp = os.path.join(config.ICON_DIR,
                                       'status/enc_rightclamp.png')
        self.notrunning = os.path.join(config.ICON_DIR,
                                       'status/enc_notrunning.png')
        self.nojobs = os.path.join(config.ICON_DIR, 'status/enc_nojobs.png')
        self.audio = os.path.join(config.ICON_DIR, 'status/enc_audio.png')
        self.video = os.path.join(config.ICON_DIR, 'status/enc_video.png')
        self.video1 = os.path.join(config.ICON_DIR, 'status/enc_video1.png')
        self.video2 = os.path.join(config.ICON_DIR, 'status/enc_video2.png')
        self.video3 = os.path.join(config.ICON_DIR, 'status/enc_video3.png')
        self.multiplex = os.path.join(config.ICON_DIR,
                                      'status/enc_multiplex.png')

        self.cacheimg = {}
        self.background_w, self.background_h = (0, 0)
        self.leftclamp_w, self.leftclamp_h = (0, 0)
        self.rightclamp_w, self.rightclamp_h = (0, 0)
        self.remaining_min = re.compile('[0-9]*')
        self.remaining = ''
        self.progress = 0
        self.progress_x = None
        self.leftclamp_x = 0
        self.rightclamp_x = 0

        self.poll_interval = 82  # 82*1/120th seconds (~1sec)
        self.draw_interval = self.poll_interval
        self.last_interval = self.poll_interval
        self.lastdraw = 0
        self.lastpoll = 0
        self.drawtime = 0
        server_string = 'http://%s:%s/' % (config.ENCODINGSERVER_IP,
                                           config.ENCODINGSERVER_PORT)
        self.server = xmlrpclib.Server(server_string, allow_none=1)

        self.skin = skin.get_singleton()
        self.calculate = True
        self.jobs = ''
        self.mode = 'Not Running'
        self.state = 'noserver'
        self.laststate = None
        self.percent = 0.0
        self.running = False
        self.font = self.skin.get_font('small0')
        if self.font == skin.get_font('default'):
            self.font = skin.get_font('info value')
        _debug_('transcode.PluginInterface.__init__() done.')
Example #5
0
 def poll(self):
     """
     clear the osd after 2 seconds
     """
     if self.message:
         self.message = ''
         if not rc.app() or not skin.get_singleton().force_redraw:
             skin.redraw()
         elif hasattr(rc.app(), 'im_self') and hasattr(rc.app().im_self, 'redraw'):
             rc.app().im_self.redraw()
Example #6
0
 def poll(self):
     """
     clear the osd after 2 seconds
     """
     if self.message:
         self.message = ''
         if not rc.app() or not skin.get_singleton().force_redraw:
             skin.redraw()
         elif hasattr(rc.app(), 'im_self') and hasattr(
                 rc.app().im_self, 'redraw'):
             rc.app().im_self.redraw()
Example #7
0
    def __init__(self):
        """ Initialise the transcode idlebar plug-in """
        logger.log(9, 'transcode.PluginInterface.__init__()')
        IdleBarPlugin.__init__(self)
        self.plugin_name = 'idlebar.transcode'

        self.background = os.path.join(config.ICON_DIR,
                                       'status/enc_background.png')
        self.leftclamp = os.path.join(config.ICON_DIR,
                                      'status/enc_leftclamp.png')
        self.rightclamp = os.path.join(config.ICON_DIR,
                                       'status/enc_rightclamp.png')
        self.notrunning = os.path.join(config.ICON_DIR,
                                       'status/enc_notrunning.png')
        self.nojobs = os.path.join(config.ICON_DIR, 'status/enc_nojobs.png')
        self.audio = os.path.join(config.ICON_DIR, 'status/enc_audio.png')
        self.video = os.path.join(config.ICON_DIR, 'status/enc_video.png')
        self.video1 = os.path.join(config.ICON_DIR, 'status/enc_video1.png')
        self.video2 = os.path.join(config.ICON_DIR, 'status/enc_video2.png')
        self.video3 = os.path.join(config.ICON_DIR, 'status/enc_video3.png')
        self.multiplex = os.path.join(config.ICON_DIR,
                                      'status/enc_multiplex.png')

        self.cacheimg = {}
        self.background_w, self.background_h = (0, 0)
        self.leftclamp_w, self.leftclamp_h = (0, 0)
        self.rightclamp_w, self.rightclamp_h = (0, 0)
        self.remaining_min = re.compile('[0-9]*')
        self.remaining = ''
        self.progress = 0
        self.progress_x = None
        self.leftclamp_x = 0
        self.rightclamp_x = 0

        self.poll_interval = 1  # 1 sec should be same as most frequent
        self.draw_interval = 5.0  # 5 secs
        self.last_interval = self.poll_interval
        self.lastdraw = 0
        self.lastpoll = 0
        self.drawtime = 0
        self.server = EncodingClientActions()

        self.skin = skin.get_singleton()
        self.calculate = True
        self.jobs = ''
        self.mode = 'Not Running'
        self.state = 'noserver'
        self.laststate = None
        self.percent = 0.0
        self.running = False
        self.font = self.skin.get_font(config.OSD_IDLEBAR_FONT)
        self.timer = kaa.Timer(self._timerhandler)
        self.timer.start(self.poll_interval)
        logger.debug('transcode.PluginInterface.__init__() done.')
Example #8
0
 def eventhandler(self, event, menuw=None):
     """
     catch OSD_MESSAGE and display it, return False, maybe someone
     else is watching for the event.
     """
     if event == OSD_MESSAGE:
         self.poll_counter = 1
         self.message = event.arg
         if not rc.app() or not skin.get_singleton().force_redraw:
             skin.redraw()
         elif hasattr(rc.app(), 'im_self') and hasattr(rc.app().im_self, 'redraw'):
             rc.app().im_self.redraw()
     return False
Example #9
0
    def __init__(self, left=0, top=0, width=0, height=0, bg_color=None, fg_color=None):
        self.left = left or 0
        self.top = top or 0
        self.width = width or 0
        self.height = height or 0
        try:
            self.rect = Rect(self.left, self.top, self.width, self.height)
        except TypeError:
            logger.debug('Invalid Rect: left=%r, top=%r, width=%r, height=%r', left, top, width, height)

        self.osd  = osd.get_singleton()

        self.label       = None
        self.icon        = None
        self.surface     = None
        self.bg_surface  = None
        self.bg_image    = None

        self.parent      = None

        self.children    = []
        self.enabled     = 1
        self.visible     = 1
        self.selected    = 0

        self.rect        = pygame.Rect(0, 0, 0, 0)

        self.refresh_abs_position()

        self.rect.width  = self.width
        self.rect.height = self.height
        self.bg_color    = bg_color
        self.fg_color    = fg_color

        self.event_context = None

        style = skin.get_singleton().get_popupbox_style(self)
        self.content_layout, self.background_layout = style

        self.skin_info_widget = self.content_layout.types['widget']
        self.skin_info_font   = self.skin_info_widget.font

        self.h_margin = self.content_layout.spacing
        self.v_margin = self.content_layout.spacing

        ci = self.content_layout.types['widget'].rectangle
        self.bg_color = self.bg_color or Color(ci.bgcolor)
        self.fg_color = self.fg_color or Color(ci.color)

        self.set_v_align(Align.NONE)
        self.set_h_align(Align.NONE)
Example #10
0
 def eventhandler(self, event, menuw=None):
     """
     catch OSD_MESSAGE and display it, return False, maybe someone
     else is watching for the event.
     """
     if event == OSD_MESSAGE:
         self.poll_counter = 1
         self.message = event.arg
         if not rc.app() or not skin.get_singleton().force_redraw:
             skin.redraw()
         elif hasattr(rc.app(), 'im_self') and hasattr(
                 rc.app().im_self, 'redraw'):
             rc.app().im_self.redraw()
     return False
Example #11
0
    def __init__(self):
        """ Initialise the transcode idlebar plug-in """
        logger.log( 9, 'transcode.PluginInterface.__init__()')
        IdleBarPlugin.__init__(self)
        self.plugin_name = 'idlebar.transcode'

        self.background = os.path.join(config.ICON_DIR, 'status/enc_background.png')
        self.leftclamp  = os.path.join(config.ICON_DIR, 'status/enc_leftclamp.png')
        self.rightclamp = os.path.join(config.ICON_DIR, 'status/enc_rightclamp.png')
        self.notrunning = os.path.join(config.ICON_DIR, 'status/enc_notrunning.png')
        self.nojobs     = os.path.join(config.ICON_DIR, 'status/enc_nojobs.png')
        self.audio      = os.path.join(config.ICON_DIR, 'status/enc_audio.png')
        self.video      = os.path.join(config.ICON_DIR, 'status/enc_video.png')
        self.video1     = os.path.join(config.ICON_DIR, 'status/enc_video1.png')
        self.video2     = os.path.join(config.ICON_DIR, 'status/enc_video2.png')
        self.video3     = os.path.join(config.ICON_DIR, 'status/enc_video3.png')
        self.multiplex  = os.path.join(config.ICON_DIR, 'status/enc_multiplex.png')

        self.cacheimg = {}
        self.background_w, self.background_h = (0, 0)
        self.leftclamp_w, self.leftclamp_h = (0, 0)
        self.rightclamp_w, self.rightclamp_h = (0, 0)
        self.remaining_min = re.compile('[0-9]*')
        self.remaining = ''
        self.progress  = 0
        self.progress_x = None
        self.leftclamp_x = 0
        self.rightclamp_x = 0

        self.poll_interval = 1 # 1 sec should be same as most frequent
        self.draw_interval = 5.0 # 5 secs
        self.last_interval = self.poll_interval
        self.lastdraw  = 0
        self.lastpoll  = 0
        self.drawtime  = 0
        self.server    = EncodingClientActions()

        self.skin      = skin.get_singleton()
        self.calculate = True
        self.jobs      = ''
        self.mode      = 'Not Running'
        self.state     = 'noserver'
        self.laststate = None
        self.percent   = 0.0
        self.running   = False
        self.font      = self.skin.get_font(config.OSD_IDLEBAR_FONT)
        self.timer     = kaa.Timer(self._timerhandler)
        self.timer.start(self.poll_interval)
        logger.debug('transcode.PluginInterface.__init__() done.')
Example #12
0
    def __init__(self,
                 left=0,
                 top=0,
                 width=0,
                 height=0,
                 bg_color=None,
                 fg_color=None):

        self.osd = osd.get_singleton()

        self.label = None
        self.icon = None
        self.surface = None
        self.bg_surface = None
        self.bg_image = None

        self.parent = None

        self.children = []
        self.enabled = 1
        self.visible = 1
        self.selected = 0

        self.left = left
        self.top = top
        self.width = width
        self.height = height
        self.bg_color = bg_color
        self.fg_color = fg_color

        self.event_context = None

        style = skin.get_singleton().get_popupbox_style(self)
        self.content_layout, self.background_layout = style

        self.skin_info_widget = self.content_layout.types['widget']
        self.skin_info_font = self.skin_info_widget.font

        self.h_margin = self.content_layout.spacing
        self.v_margin = self.content_layout.spacing

        ci = self.content_layout.types['widget'].rectangle
        self.bg_color = self.bg_color or Color(ci.bgcolor)
        self.fg_color = self.fg_color or Color(ci.color)

        self.set_v_align(Align.NONE)
        self.set_h_align(Align.NONE)
Example #13
0
    def __init__(self):
        _debug_('encoding.PluginInterface.__init__(self)', 2)
        plugin.DaemonPlugin.__init__(self)
        #IdleBarPlugin.__init__(self)
        self.poll_interval = 82  # 82*1/120th seconds (~1sec)
        self.draw_interval = self.poll_interval
        self.last_interval = self.poll_interval
        self.lastdraw = 0
        self.lastpoll = 0
        self.plugin_name = 'video.encodingstatus'
        server_string  = 'http://%s:%s/' % \
                        (config.ENCODINGSERVER_IP, config.ENCODINGSERVER_PORT)
        self.server = xmlrpclib.Server(server_string, allow_none=1)

        self.skin = skin.get_singleton()
        self.barimg = os.path.join(config.ICON_DIR, 'status/encoding_bar.png')
        self.boximg = os.path.join(config.ICON_DIR, 'status/encoding_box.png')
        self.boxborder = 3
        self.padding = 5  # internal padding for box vs text
        self.image = None
        self.cacheimg = {}
        self.muted = False
        self.encoding = -1
        self.progress = 0
        self.jobname = ''
        self.calculate = True
        self.jobs = ''
        self.mode = 'Not Running'
        self.text = []
        self.percent = 0.0
        self.running = False
        self.drawtime = 0
        self.polltime = 0
        self.state = 'noserver'
        self.laststate = None
        self.font = self.skin.get_font('detachbar')
        if self.font == skin.get_font('default'):
            self.font = skin.get_font('info value')
# Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
# -----------------------------------------------------------------------
import logging
logger = logging.getLogger("freevo.skin.widgets.scrollabletext_screen")

import rc
from event import *
from skin.models import ScrollableText

import skin
skin_object = skin.get_singleton()


class ScrollableTextScreen:
    """
    A scrollable text screen
    """
    def __init__(self, layout, text):
        """
        Used to display and control the position of text in a scrollable area.

        @param layout: Skin layout to use.
        @param text: This is the text to scroll.
        """
        self.layout = layout
        self.scrollable_text = ScrollableText(text)
Example #15
0
import os
import codecs
import urllib

#regular expression
import re


#freevo modules
import config, menu, rc, plugin, skin, osd, util
from gui   import PopupBox, AlertBox, ConfirmBox
from item  import Item
from video import VideoItem

#get the singletons so we get skin info and access the osd
skin = skin.get_singleton()
osd  = osd.get_singleton()


class PluginInterface(plugin.MainMenuPlugin):
    """
    A plugin to obtain TV streams on Freevo

    To activate, put the following lines in local_conf.py:

    | plugin.activate('tv.freeboxtv', level=45)
    | PLUGIN_FREEBOXTV_LOCATION = "http://mafreebox.freebox.fr/freeboxtv/playlist.m3u"
    | plugin.activate('video.vlc')
    |
    | # ================
    | # VLC Settings
Example #16
0
import plugin
import skin
import osd
import event
import rc
import dialog.dialogs as dialogs
import dialog.widgets as widgets

from tv.tvguide import TVGuide
from tv.programitem import ProgramItem
from item import Item
from menu import MenuItem, Menu
from pygame import image,transform, Surface

# Create the skin_object object
skin_object = skin.get_singleton()

# Create the events and assign them to the menus.
BUTTONBAR_RED    = event.Event('BUTTONBAR_RED')
BUTTONBAR_GREEN  = event.Event('BUTTONBAR_GREEN')
BUTTONBAR_YELLOW = event.Event('BUTTONBAR_YELLOW')
BUTTONBAR_BLUE   = event.Event('BUTTONBAR_BLUE')

event.MENU_EVENTS['RED']    = BUTTONBAR_RED
event.MENU_EVENTS['GREEN']  = BUTTONBAR_GREEN
event.MENU_EVENTS['YELLOW'] = BUTTONBAR_YELLOW
event.MENU_EVENTS['BLUE']   = BUTTONBAR_BLUE

event.TVMENU_EVENTS['RED']    = BUTTONBAR_RED
event.TVMENU_EVENTS['GREEN']  = BUTTONBAR_GREEN
event.TVMENU_EVENTS['YELLOW'] = BUTTONBAR_YELLOW
Example #17
0
import pprint

import config, skin, util, rc

from event import *
from item import Item
from programitem import ProgramItem

import dialog

import tv.epg
from tv.epg_types import TvProgram
from tv.record_client import RecordClient

skin.get_singleton().register(
    'tv',
    ('screen', 'title', 'subtitle', 'view', 'tvlisting', 'info', 'plugin'))

CHAN_NO_DATA = _('This channel has no data loaded')


class TVGuide(Item):
    """
    Class for TVGuide
    """
    def __init__(self, channels, start_time, player, menuw):
        logger.log(9, 'TVGuide.__init__(start_time=%r, player=%r, menuw=%r)',
                   start_time, player, menuw)
        Item.__init__(self)

        self.channels = channels
Example #18
0
def shutdown(menuw=None, mode=None, exit=False):
    """
    Function to shut down freevo or the whole system. This system will be
    shut down when argshutdown is True, restarted when argrestart is true,
    else only Freevo will be stopped.
    """
    logger.debug('shutdown(menuw=%r, mode=%r, exit=%r)', menuw, mode, exit)
    if ShutdownModes.shutdown_in_progress:
        logger.debug('shutdown in progress')
        return
    ShutdownModes.shutdown_in_progress = True
    import osd
    import plugin
    import rc
    import util.mediainfo
    osd = osd.get_singleton()
    util.mediainfo.sync()
    if not osd.active:
        # this function is called from the signal handler, but we are dead
        # already.
        sys.exit(0)

    skin.get_singleton().suspend()
    osd.clearscreen(color=osd.COL_BLACK)
    if mode == ShutdownModes.SYSTEM_SHUTDOWN:
        msg = _('Shutting down...')
    elif mode == ShutdownModes.SYSTEM_RESTART:
        msg = _('Restarting...')
    else:
        msg = _('Exiting...')
    osd.drawstringframed(msg, 0, 0, osd.width, osd.height,
        osd.getfont(config.OSD_DEFAULT_FONTNAME, config.OSD_DEFAULT_FONTSIZE),
        fgcolor=osd.COL_ORANGE, align_h='center', align_v='center')
    osd.update()
    time.sleep(0.5)

    if mode == ShutdownModes.SYSTEM_SHUTDOWN or mode == ShutdownModes.SYSTEM_RESTART:
        # shutdown dual head for mga
        if config.CONF.display == 'mga':
            os.system('%s runapp matroxset -f /dev/fb1 -m 0' % os.environ['FREEVO_SCRIPT'])
            time.sleep(1)
            os.system('%s runapp matroxset -f /dev/fb0 -m 1' % os.environ['FREEVO_SCRIPT'])
            time.sleep(1)

        logger.debug('sys:plugin.shutdown()')
        plugin.shutdown()
        logger.debug('sys:rc.shutdown()')
        rc.shutdown()
        #if config.CONF.display == 'mga':
        logger.debug('sys:osd.shutdown()')
        osd.shutdown()

        if mode == ShutdownModes.SYSTEM_SHUTDOWN:
            logger.debug('os.system(%r)', config.SYS_SHUTDOWN_CMD)
            os.system(config.SYS_SHUTDOWN_CMD)
        elif ShutdownModes.SYSTEM_RESTART:
            logger.debug('os.system(%r)', config.SYS_RESTART_CMD)
            os.system(config.SYS_RESTART_CMD)

        # this closes the log
        logger.debug('sys:config.shutdown()')
        config.shutdown()

        # let freevo be killed by init, looks nicer for mga
        print 'Freevo shutdown'
        while True:
            time.sleep(1)

    #
    # Exit Freevo
    #

    # shutdown any daemon plugins that need it.
    logger.debug('plugin.shutdown()')
    plugin.shutdown()
    # shutdown registered callbacks
    logger.debug('rc.shutdown()')
    rc.shutdown()
    # SDL must be shutdown to restore video modes etc
    logger.log( 9, 'osd.clearscreen(color=osd.COL_BLACK)')
    osd.clearscreen(color=osd.COL_BLACK)
    logger.debug('osd.shutdown()')
    osd.shutdown()
    logger.debug('config.shutdown()')
    config.shutdown()

    if exit:
        # really exit, we are called by the signal handler
        logger.debug('raise SystemExit')
        raise SystemExit

    # We must use spawn instead of os.system here because the python interpreter
    # lock is held by os.system until the command returns, which prevents receiving
    # any signals.
    logger.log( 9, '%s --stop', os.environ['FREEVO_SCRIPT'])
    os.spawnlp(os.P_NOWAIT, os.environ['FREEVO_SCRIPT'], os.environ['FREEVO_SCRIPT'], '--stop')

    # Just wait until we're dead. SDL cannot be polled here anyway.
    while True:
        time.sleep(1)
Example #19
0
import os, time
import pprint

import config, skin, util, rc

from event import *
from item import Item
from programitem import ProgramItem

import dialog

import tv.epg
from tv.epg_types import TvProgram
from tv.record_client import RecordClient

skin.get_singleton().register('tv', ('screen', 'title', 'subtitle', 'view', 'tvlisting', 'info', 'plugin'))

CHAN_NO_DATA = _('This channel has no data loaded')

class TVGuide(Item):
    """
    Class for TVGuide
    """
    def __init__(self, channels, start_time, player, menuw):
        logger.log( 9, 'TVGuide.__init__(start_time=%r, player=%r, menuw=%r)', start_time, player, menuw)
        Item.__init__(self)

        self.channels = channels
        self.start_channel_idx = 0
        self.selected_channel_idx = 0
Example #20
0
    def __init__(self):
        plugin.ItemPlugin.__init__(self)

        self.skin = skin.get_singleton()

        self.item = None
        self.plugin_name = 'video.mplayer_ppmenu.item'

        self.default_str = _('Default')

        if hasattr(config, 'MPLAYER_VF_PROGRESSIVE_OPTS'):
            self.vfp_opts = config.MPLAYER_VF_PROGRESSIVE_OPTS
        else:

             self.vfp_opts = [
                (self.default_str, ''),
                ('LQ', 'pp=de'),
                ('HQ', 'pp=ac/al'),
                ('HQ denoise3d', 'pp=ac/al,hqdn3d=2:2:4'),
                ('HQ denoise3d+unsharp', 'pp=ac/al,hqdn3d=2:2:4,unsharp=l3x3:0.5'),
                ('HQ denoise3d+unsharp+noise', 'pp=ac/al,hqdn3d=2:2:4,unsharp=l3x3:0.5,noise=12uah:5uah'),
                ('HD content', 'pp=de -lavdopts fast:skiploopfilter=all:threads=2')
             ]

        self.vfp_opt = None

        self.vfp_args_def = config.MPLAYER_VF_PROGRESSIVE
        self.vfp_title_def = _('Video PP - %s')

        self.vfp_title = self.vfp_title_def % self.default_str


        if hasattr(config, 'MPLAYER_VF_INTERLACED_OPTS'):
            self.vfi_opts = config.MPLAYER_VF_INTERLACED_OPTS
        else:

             self.vfi_opts = [
                (self.default_str, ''),
                ('LQ', 'pp=de'),
                ('HQ', 'pp=ac/al'),
                ('HQ denoise3d', 'pp=ac/al,hqdn3d=2:2:4'),
                ('HQ denoise3d+unsharp', 'pp=ac/al,hqdn3d=2:2:4,unsharp=l3x3:0.5'),
                ('HQ denoise3d+unsharp+noise', 'pp=ac/al,hqdn3d=2:2:4,unsharp=l3x3:0.5,noise=12uah:5uah')
             ]

        self.vfi_opt = None

        self.vfi_args_def = config.MPLAYER_VF_PROGRESSIVE
        self.vfi_title_def = _('Video PP - %s')

        self.vfi_title = self.vfi_title_def % self.default_str


        # Aspect ratio properties
        #
        self.cnt  = 0
       
        if hasattr(config, 'MPLAYER_ARGS_DEF'):
            self.args_def = config.MPLAYER_ARGS_DEF
        else:
            self.args_def = ''

        self.title_def = _('Aspect Ratio - %s')
        self.title = self.title_def % self.default_str

        if hasattr(config, 'MPLAYER_ASPECT_RATIOS'):
            self.ratios = config.MPLAYER_ASPECT_RATIOS
        else:
            self.ratios = (_('Def'), '16:9', '2.35:1', '4:3')

        
        plugin.activate('video.mplayer_ppmenu.daemon')