Ticket #13234: 20180409_1248_new_osd_nav.patch

File 20180409_1248_new_osd_nav.patch, 119.8 KB (added by Peter Bennett, 3 years ago)

New OSD Navigation screen

  • mythtv/libs/libmythtv/osd.cpp

    diff --git a/mythtv/libs/libmythtv/osd.cpp b/mythtv/libs/libmythtv/osd.cpp
    index e635ea4..94f1dec 100644
    a b  
    1515#include "mythuibutton.h"
    1616#include "mythuieditbar.h"
    1717#include "mythuistatetype.h"
     18#include "mythuigroup.h"
    1819
    1920// libmythtv
    2021#include "channelutil.h"
     
    2425#include "osd.h"
    2526#include "Bluray/bdringbuffer.h"
    2627#include "Bluray/bdoverlayscreen.h"
     28#include "tv_actions.h"
    2729
    2830#define LOC     QString("OSD: ")
    2931
    bool OSD::Reinit(const QRect &rect, float font_aspect) 
    255257    int new_stretch = (int)((font_aspect * 100) + 0.5f);
    256258    if ((rect == m_Rect) && (new_stretch == m_fontStretch))
    257259        return true;
     260    if (m_Dialog && m_Dialog->objectName() == OSD_DLG_NAVIGATE
     261        && m_Dialog->IsVisible())
     262    {
     263        bool softBlend = (m_parent->GetVideoOutput()->GetOSDRenderer() == "softblend");
     264        OsdNavigation *nav = static_cast<OsdNavigation *> (m_Dialog);
     265        QString navFocus = nav->GetFocusWidget()->objectName();
     266        if (softBlend && navFocus == "TOGGLEFILL")
     267            // in this case continue with reinit
     268            ;
     269        else
     270            return true;
     271    }
    258272
    259273    HideAll(false);
    260274    TearDown();
    void OSD::HideAll(bool keepsubs, MythScreenType* except, bool dropnotification) 
    295309    while (it.hasNext())
    296310    {
    297311        it.next();
     312        if (except && except->objectName() == OSD_DLG_NAVIGATE
     313            && it.value()->objectName() == "osd_status")
     314            continue;
    298315        bool match1 = keepsubs &&
    299316                     (it.key() == OSD_WIN_SUBTITLE  ||
    300317                      it.key() == OSD_WIN_TELETEXT);
    void OSD::SetText(const QString &window, const InfoMap &map, 
    560577        ChannelEditor *edit = dynamic_cast<ChannelEditor*>(m_Dialog);
    561578        if (edit)
    562579            edit->SetText(map);
     580        else
     581            win->SetTextFromMap(map);
    563582    }
    564583    else
    565584        win->SetTextFromMap(map);
    void OSD::CheckExpiry(void) 
    9861005void OSD::SetExpiry(const QString &window, enum OSDTimeout timeout,
    9871006                    int custom_timeout)
    9881007{
     1008    SetExpiry1(window, timeout, custom_timeout);
     1009    if (IsWindowVisible(window))
     1010    {
     1011        // Keep status and nav timeouts in sync
     1012        if (window == OSD_DLG_NAVIGATE)
     1013            SetExpiry1("osd_status", timeout, custom_timeout);
     1014        else if (window == "osd_status" && IsWindowVisible(OSD_DLG_NAVIGATE))
     1015            SetExpiry1(OSD_DLG_NAVIGATE, timeout, custom_timeout);
     1016    }
     1017}
     1018
     1019void OSD::SetExpiry1(const QString &window, enum OSDTimeout timeout,
     1020                    int custom_timeout)
     1021{
    9891022    if (timeout == kOSDTimeout_Ignore && !custom_timeout)
    9901023        return;
    9911024
    void OSD::SetExpiry(const QString &window, enum OSDTimeout timeout, 
    9941027    if ((time > 0) && win)
    9951028    {
    9961029        QDateTime expires = MythDate::current().addMSecs(time);
    997         m_ExpireTimes.insert(win, expires);
     1030            m_ExpireTimes.insert(win, expires);
    9981031    }
    9991032    else if ((time < 0) && win)
    10001033    {
    void OSD::DialogShow(const QString &window, const QString &text, int updatefor) 
    11861219            dialog = new ChannelEditor(m_ParentObject, window.toLatin1());
    11871220        else if (window == OSD_DLG_CONFIRM)
    11881221            dialog = new MythConfirmationDialog(NULL, text, false);
     1222        else if (window == OSD_DLG_NAVIGATE)
     1223            dialog = new OsdNavigation(m_ParentObject, window, this);
    11891224        else
    11901225            dialog = new MythDialogBox(text, NULL, window.toLatin1(), false, true);
    11911226
    void OSD::DisplayBDOverlay(BDOverlay* overlay) 
    14261461    if (bd)
    14271462        bd->DisplayBDOverlay(overlay);
    14281463}
     1464
     1465OsdNavigation::OsdNavigation(QObject *retobject, const QString &name, OSD *osd)
     1466  : MythScreenType((MythScreenType*)NULL, name),
     1467    m_retObject(retobject),
     1468    m_osd(osd),
     1469    m_playButton(0),
     1470    m_pauseButton(0),
     1471    m_muteButton(0),
     1472    m_unMuteButton(0),
     1473    m_paused('X'),
     1474    m_muted('X'),
     1475    m_visibleGroup(0),
     1476    m_maxGroupNum(-1),
     1477    m_IsVolumeControl(true)
     1478{
     1479    m_retObject    = retobject;
     1480}
     1481
     1482bool OsdNavigation::Create(void)
     1483{
     1484    if (!XMLParseBase::LoadWindowFromXML("osd.xml", "osd_navigation", this))
     1485        return false;
     1486
     1487    MythUIButton *moreButton;
     1488    UIUtilW::Assign(this, moreButton, "more");
     1489    if (moreButton)
     1490        connect(moreButton, SIGNAL(Clicked()), SLOT(More()));
     1491    UIUtilW::Assign(this, m_pauseButton, "PAUSE");
     1492    UIUtilW::Assign(this, m_playButton, "PLAY");
     1493    UIUtilW::Assign(this, m_muteButton, "MUTE");
     1494    UIUtilW::Assign(this, m_unMuteButton, "unmute");
     1495
     1496    MythPlayer *player = m_osd->GetPlayer();
     1497
     1498    if (!player || !player->HasAudioOut() ||
     1499        !player->PlayerControlsVolume())
     1500    {
     1501        m_IsVolumeControl = false;
     1502        if (m_muteButton)
     1503            m_muteButton->Hide();
     1504        if (m_unMuteButton)
     1505            m_unMuteButton->Hide();
     1506    }
     1507
     1508    // find number of groups and make sure only corrrect one is visible
     1509    MythUIGroup *group;
     1510    for (int i = 0; i < 100 ; i++)
     1511    {
     1512        UIUtilW::Assign(this, group, QString("grp%1").arg(i));
     1513        if (group)
     1514        {
     1515            m_maxGroupNum = i;
     1516            if (i != m_visibleGroup)
     1517                group->SetVisible (false);
     1518            QList<MythUIType *> * children = group->GetAllChildren();
     1519            QList<MythUIType *>::iterator it;
     1520            for (it = children->begin(); it != children->end(); ++it)
     1521            {
     1522                MythUIType *child = *it;
     1523                if (child == moreButton)
     1524                    continue;
     1525                connect(child, SIGNAL(Clicked()), SLOT(GeneralAction()));
     1526            }
     1527        }
     1528        else
     1529            break;
     1530    }
     1531
     1532    BuildFocusList();
     1533
     1534    return true;
     1535}
     1536
     1537bool OsdNavigation::keyPressEvent(QKeyEvent *event)
     1538{
     1539    // bool extendTimeout = (m_paused != 'Y');
     1540    bool extendTimeout = true;
     1541    bool handled = false;
     1542
     1543    MythUIType *focus = GetFocusWidget();
     1544    if (focus && focus->keyPressEvent(event))
     1545        handled = true;
     1546
     1547    if (!handled)
     1548    {
     1549        QStringList actions;
     1550        bool handled = GetMythMainWindow()->TranslateKeyPress("qt", event, actions);
     1551
     1552        for (int i = 0; i < actions.size() && !handled; i++)
     1553        {
     1554            QString action = actions[i];
     1555            if (action == "ESCAPE" )
     1556            {
     1557                sendResult(-1,action);
     1558                handled = true;
     1559                extendTimeout = false;
     1560            }
     1561        }
     1562    }
     1563    if (!handled && MythScreenType::keyPressEvent(event))
     1564        handled = true;
     1565
     1566    if (extendTimeout)
     1567    {
     1568        m_osd->SetExpiry(OSD_DLG_NAVIGATE, kOSDTimeout_Long);
     1569        // m_osd->SetExpiry("osd_status", kOSDTimeout_Long);
     1570    }
     1571
     1572    return handled;
     1573}
     1574
     1575// Virtual
     1576void OsdNavigation::ShowMenu(void)
     1577{
     1578    sendResult(100,"MENU");
     1579}
     1580
     1581void OsdNavigation::sendResult(int result, QString action)
     1582{
     1583    if (!m_retObject)
     1584        return;
     1585
     1586   DialogCompletionEvent *dce = new DialogCompletionEvent("", result,
     1587                                                           "", action);
     1588    QCoreApplication::postEvent(m_retObject, dce);
     1589}
     1590
     1591void OsdNavigation::GeneralAction(void)
     1592{
     1593    MythUIType *fw = GetFocusWidget();
     1594    if (fw)
     1595    {
     1596        QString nameClicked = fw->objectName();
     1597        int result = 100;
     1598        int hashPos = nameClicked.indexOf('#');
     1599        if (hashPos > -1)
     1600            nameClicked.truncate(hashPos);
     1601        if (nameClicked == "INFO")
     1602            result=0;
     1603        if (nameClicked == "unmute")
     1604            nameClicked = "MUTE";
     1605        sendResult(result, nameClicked);
     1606    }
     1607}
     1608
     1609// Switch to next group of icons. They have to be
     1610// named grp0, grp1, etc with no gaps in numbers.
     1611void OsdNavigation::More(void)
     1612{
     1613    if (m_maxGroupNum <= 0)
     1614        return;
     1615
     1616    MythUIGroup *group;
     1617    UIUtilW::Assign(this, group, QString("grp%1").arg(m_visibleGroup));
     1618    group->SetVisible (false);
     1619
     1620    // wrap around after last group displayed
     1621    if (++m_visibleGroup > m_maxGroupNum)
     1622        m_visibleGroup = 0;
     1623
     1624    UIUtilW::Assign(this, group, QString("grp%1").arg(m_visibleGroup));
     1625    group->SetVisible (true);
     1626}
     1627
     1628void OsdNavigation::SetTextFromMap(const InfoMap &infoMap)
     1629{
     1630
     1631    char paused = infoMap.value("paused","X").toLocal8Bit().at(0);
     1632    if (paused != 'X')
     1633    {
     1634        if (m_playButton && m_pauseButton && paused != m_paused)
     1635        {
     1636            MythUIType *fw = GetFocusWidget();
     1637            m_playButton->SetVisible(paused=='Y');
     1638            m_pauseButton->SetVisible(paused!='Y');
     1639            if (fw && (fw == m_playButton || fw == m_pauseButton))
     1640            {
     1641                fw->LoseFocus();
     1642                MythUIType *newfw = (paused=='Y' ? m_playButton : m_pauseButton);
     1643                SetFocusWidget(newfw);
     1644                if (m_paused == 'X')
     1645                     newfw->TakeFocus();
     1646            }
     1647            m_paused = paused;
     1648        }
     1649    }
     1650
     1651    char muted = infoMap.value("muted","X").toLocal8Bit().at(0);
     1652    if (m_IsVolumeControl && muted != 'X')
     1653    {
     1654        if (m_muteButton && m_unMuteButton && muted != m_muted)
     1655        {
     1656            MythUIType *fw = GetFocusWidget();
     1657            m_muteButton->SetVisible(muted!='Y');
     1658            m_unMuteButton->SetVisible(muted=='Y');
     1659            m_muted = muted;
     1660            if (fw && (fw == m_muteButton || fw == m_unMuteButton))
     1661            {
     1662                fw->LoseFocus();
     1663                SetFocusWidget(muted=='Y' ? m_unMuteButton : m_muteButton);
     1664            }
     1665        }
     1666    }
     1667
     1668    MythScreenType::SetTextFromMap(infoMap);
     1669}
  • mythtv/libs/libmythtv/osd.h

    diff --git a/mythtv/libs/libmythtv/osd.h b/mythtv/libs/libmythtv/osd.h
    index f9cc5eb..c0a608a 100644
    a b  
    2828#define OSD_DLG_EDITOR    "xx_OSD_EDITOR"
    2929#define OSD_DLG_CUTPOINT  "xx_OSD_CUTPOINT"
    3030#define OSD_DLG_DELETE    "xx_OSD_DELETE"
     31#define OSD_DLG_NAVIGATE  "xx_OSD_NAVIGATE"
    3132#define OSD_DLG_CONFIRM   "mythconfirmpopup"
    3233// subtitles are always painted first
    3334#define OSD_WIN_TELETEXT  "aa_OSD_TELETEXT"
    class OSD 
    181182    bool DialogHandleGesture(MythGestureEvent *e);
    182183    void DialogQuit(void);
    183184    void DialogShow(const QString &window, const QString &text = "",
    184                     int updatefor = 0);
     185          int updatefor = 0);
    185186    void DialogSetText(const QString &text);
    186187    void DialogBack(QString text = "", QVariant data = 0, bool exit = false);
    187188    void DialogAddButton(QString text, QVariant data,
    class OSD 
    201202    void DisplayDVDButton(AVSubtitle* dvdButton, QRect &pos);
    202203
    203204    void DisplayBDOverlay(BDOverlay *overlay);
     205    MythPlayer *GetPlayer(void) { return m_parent; }
    204206
    205207  private:
    206208    void TearDown(void);
    class OSD 
    208210
    209211    void CheckExpiry(void);
    210212    void SendHideEvent(void);
     213    void SetExpiry1(const QString &window, enum OSDTimeout timeout,
     214                      int custom_timeout);
    211215
    212216  private:
    213217    MythPlayer     *m_parent;
    class OSD 
    237241    QHash<MythScreenType*, QDateTime> m_ExpireTimes;
    238242};
    239243
     244class OsdNavigation : public MythScreenType
     245{
     246    Q_OBJECT
     247
     248  public:
     249    OsdNavigation(QObject *retobject, const QString &name, OSD *osd);
     250    virtual bool Create(void);
     251    virtual bool keyPressEvent(QKeyEvent *event);
     252    virtual void SetTextFromMap(const InfoMap &infoMap);
     253    int getVisibleGroup() {return m_visibleGroup; }
     254    // Virtual
     255    void ShowMenu(void);
     256
     257  protected:
     258
     259    QObject *m_retObject;
     260    OSD *m_osd;
     261    MythUIButton *m_playButton;
     262    MythUIButton *m_pauseButton;
     263    MythUIButton *m_muteButton;
     264    MythUIButton *m_unMuteButton;
     265    char m_paused;
     266    char m_muted;
     267    int m_visibleGroup;
     268    int m_maxGroupNum;
     269    bool m_IsVolumeControl;
     270
     271    void sendResult(int result, QString action);
     272
     273  public slots:
     274    void GeneralAction(void);
     275    void More(void);
     276};
     277
    240278#endif
  • mythtv/libs/libmythtv/tv_actions.h

    diff --git a/mythtv/libs/libmythtv/tv_actions.h b/mythtv/libs/libmythtv/tv_actions.h
    index c4d16c3..25a6594 100644
    a b  
    5252#define ACTION_JUMPCHAPTER          "JUMPTOCHAPTER"
    5353#define ACTION_SWITCHTITLE          "JUMPTOTITLE"
    5454#define ACTION_SWITCHANGLE          "SWITCHTOANGLE"
     55#define ACTION_OSDNAVIGATION        "OSDNAVIGATION"
    5556
    5657/* Picture */
    5758#define ACTION_TOGGLESTUDIOLEVELS "TOGGLESTUDIOLEVELS"
  • mythtv/libs/libmythtv/tv_play.cpp

    diff --git a/mythtv/libs/libmythtv/tv_play.cpp b/mythtv/libs/libmythtv/tv_play.cpp
    index b6af821..c9d2cc7 100644
    a b void TV::InitKeys(void) 
    877877            "Switch title"), "");
    878878    REG_KEY("TV Playback", ACTION_SWITCHANGLE, QT_TRANSLATE_NOOP("MythControls",
    879879            "Switch angle"), "");
     880    REG_KEY("TV Playback", ACTION_OSDNAVIGATION, QT_TRANSLATE_NOOP("MythControls",
     881            "OSD Navigation"), "");
    880882    REG_KEY("TV Playback", ACTION_ZOOMUP, QT_TRANSLATE_NOOP("MythControls",
    881883            "Zoom mode - shift up"), "");
    882884    REG_KEY("TV Playback", ACTION_ZOOMDOWN, QT_TRANSLATE_NOOP("MythControls",
    bool TV::ToggleHandleAction(PlayerContext *ctx, 
    49794981        else if (!isDVD)
    49804982            StartProgramEditMode(ctx);
    49814983    }
     4984    else if (has_action(ACTION_OSDNAVIGATION, actions))
     4985        StartOsdNavigation(ctx);
    49824986    else
    49834987        handled = false;
    49844988
    void TV::DoPlay(PlayerContext *ctx) 
    64826486
    64836487    SetSpeedChangeTimer(0, __LINE__);
    64846488    gCoreContext->emitTVPlaybackPlaying();
     6489    UpdateNavDialog(ctx);
    64856490}
    64866491
    64876492float TV::DoTogglePauseStart(PlayerContext *ctx)
    void TV::DoTogglePause(PlayerContext *ctx, bool showOSD) 
    65976602        DoTogglePauseFinish(ctx, DoTogglePauseStart(ctx), showOSD);
    65986603    // Emit Pause or Unpaused signal
    65996604    paused ? gCoreContext->emitTVPlaybackUnpaused() : gCoreContext->emitTVPlaybackPaused();
     6605    UpdateNavDialog(ctx);
     6606}
     6607
     6608void TV::UpdateNavDialog(PlayerContext *ctx)
     6609{
     6610    OSD *osd = GetOSDLock(ctx);
     6611    if (osd && osd->DialogVisible(OSD_DLG_NAVIGATE))
     6612    {
     6613        osdInfo info;
     6614        bool paused = ContextIsPaused(ctx, __FILE__, __LINE__);
     6615        info.text["paused"] = (paused ? "Y" : "N");
     6616        bool muted = ctx->player->IsMuted();
     6617        info.text["muted"] = (muted ? "Y" : "N");
     6618        osd->SetText(OSD_DLG_NAVIGATE, info.text, paused ? kOSDTimeout_None : kOSDTimeout_Long);
     6619    }
     6620    ReturnOSDLock(ctx, osd);
    66006621}
    66016622
    66026623bool TV::DoPlayerSeek(PlayerContext *ctx, float time)
    void TV::DoSeek(PlayerContext *ctx, float time, const QString &mesg, 
    67846805            ctx->UnlockDeletePlayer(__FILE__, __LINE__);
    67856806            DoPlayerSeekToFrame(ctx, desiredFrameRel);
    67866807        }
    6787         UpdateOSDSeekMessage(ctx, mesg, kOSDTimeout_Med);
     6808        bool paused = ctx->player->IsPaused();
     6809        UpdateOSDSeekMessage(ctx, mesg, paused ? kOSDTimeout_None : kOSDTimeout_Med);
    67886810    }
    67896811    else
    67906812        ctx->UnlockDeletePlayer(__FILE__, __LINE__);
    void TV::ToggleMute(PlayerContext *ctx, const bool muteIndividualChannels) 
    91509172        case kMuteRight: text = tr("Right Channel Muted"); break;
    91519173    }
    91529174
     9175    UpdateNavDialog(ctx);
    91539176    SetOSDMessage(ctx, text);
    91549177}
    91559178
    void TV::StartChannelEditMode(PlayerContext *ctx) 
    1044510468    }
    1044610469}
    1044710470
     10471void TV::StartOsdNavigation(PlayerContext *ctx)
     10472{
     10473    OSD *osd = GetOSDLock(ctx);
     10474    if (osd)
     10475    {
     10476        osd->DialogQuit();
     10477        osd->HideAll();
     10478        ToggleOSD(ctx, true);
     10479        osd->DialogShow(OSD_DLG_NAVIGATE);
     10480    }
     10481    ReturnOSDLock(ctx, osd);
     10482    UpdateNavDialog(ctx);
     10483}
     10484
    1044810485/**
    1044910486 *  \brief Processes channel editing key.
    1045010487 */
    void TV::OSDDialogEvent(int result, QString text, QString action) 
    1077810815            .arg(result).arg(text).arg(action));
    1077910816
    1078010817    bool hide = true;
     10818    if (result == 100)
     10819        hide = false;
    1078110820
     10821    bool handled = true;
    1078210822    if (action.startsWith("DIALOG_"))
    1078310823    {
    1078410824        action.remove("DIALOG_");
    void TV::OSDDialogEvent(int result, QString text, QString action) 
    1085710897        DoJumpFFWD(actx);
    1085810898    else if (action == ACTION_JUMPRWND)
    1085910899        DoJumpRWND(actx);
     10900    else if (action == ACTION_SEEKFFWD)
     10901        DoSeekFFWD(actx);
     10902    else if (action == ACTION_SEEKRWND)
     10903        DoSeekRWND(actx);
    1086010904    else if (action.startsWith("DEINTERLACER"))
    1086110905        HandleDeinterlacer(actx, action);
    1086210906    else if (action == ACTION_TOGGLEOSDDEBUG)
    void TV::OSDDialogEvent(int result, QString text, QString action) 
    1092810972    {
    1092910973        DoToggleNightMode(actx);
    1093010974    }
     10975    else if (action == "TOGGLEASPECT")
     10976        ToggleAspectOverride(actx);
    1093110977    else if (action.startsWith("TOGGLEASPECT"))
    1093210978    {
    1093310979        ToggleAspectOverride(actx,
    1093410980                             (AspectOverrideMode) action.right(1).toInt());
    1093510981    }
     10982    else if (action == "TOGGLEFILL")
     10983        ToggleAdjustFill(actx);
    1093610984    else if (action.startsWith("TOGGLEFILL"))
    1093710985    {
    1093810986        ToggleAdjustFill(actx, (AdjustFillMode) action.right(1).toInt());
    1093910987    }
     10988    else if (action == "MENU")
     10989         ShowOSDMenu();
    1094010990    else if (action == "AUTODETECT_FILL")
    1094110991    {
    1094210992        actx->player->detect_letter_box->SetDetectLetterbox(!actx->player->detect_letter_box->GetDetectLetterbox());
    void TV::OSDDialogEvent(int result, QString text, QString action) 
    1110811158        else if (action == ACTION_TOGGLEBOOKMARK
    1110911159                || action == ACTION_SETBOOKMARK)
    1111011160            ActivePostQHandleAction(actx, QStringList(action));
    11111         else if (action == ACTION_JUMPBKMRK)
     11161        else
    1111211162        {
    1111311163            bool isDVD = actx->buffer && actx->buffer->IsDVD();
    1111411164            bool isMenuOrStill = actx->buffer && actx->buffer->IsInDiscMenuOrStillFrame();
    11115             ActiveHandleAction(actx, QStringList(ACTION_JUMPBKMRK), isDVD, isMenuOrStill);
     11165            handled = ActiveHandleAction(actx, QStringList(action), isDVD, isMenuOrStill);
    1111611166        }
    11117         else
     11167        if (!handled)
    1111811168        {
    1111911169            LOG(VB_GENERAL, LOG_ERR, LOC +
    1112011170                "Unknown menu action selected: " + action);
    void TV::DoJumpFFWD(PlayerContext *ctx) 
    1305613106               /*honorCutlist*/true);
    1305713107}
    1305813108
     13109void TV::DoSeekFFWD(PlayerContext *ctx)
     13110{
     13111    DoSeek(ctx, ctx->fftime, tr("Skip Ahead"),
     13112            /*timeIsOffset*/true,
     13113            /*honorCutlist*/true);
     13114}
     13115
    1305913116void TV::DoJumpRWND(PlayerContext *ctx)
    1306013117{
    1306113118    if (GetState(ctx) == kState_WatchingDVD)
    void TV::DoJumpRWND(PlayerContext *ctx) 
    1306813125               /*honorCutlist*/true);
    1306913126}
    1307013127
     13128void TV::DoSeekRWND(PlayerContext *ctx)
     13129{
     13130    DoSeek(ctx, -ctx->rewtime, tr("Jump Back"),
     13131            /*timeIsOffset*/true,
     13132            /*honorCutlist*/true);
     13133}
     13134
    1307113135/*  \fn TV::DVDJumpBack(PlayerContext*)
    1307213136    \brief jump to the previous dvd title or chapter
    1307313137*/
  • mythtv/libs/libmythtv/tv_play.h

    diff --git a/mythtv/libs/libmythtv/tv_play.h b/mythtv/libs/libmythtv/tv_play.h
    index 4c67396..c5b041c 100644
    a b class MTV_PUBLIC TV : public QObject, public MenuItemDisplayer 
    573573    void DoArbSeek(PlayerContext*, ArbSeekWhence whence, bool honorCutlist);
    574574    void DoJumpFFWD(PlayerContext *ctx);
    575575    void DoJumpRWND(PlayerContext *ctx);
     576    void DoSeekFFWD(PlayerContext *ctx);
     577    void DoSeekRWND(PlayerContext *ctx);
    576578    void NormalSpeed(PlayerContext*);
    577579    void ChangeSpeed(PlayerContext*, int direction);
    578580    void ToggleTimeStretch(PlayerContext*);
    class MTV_PUBLIC TV : public QObject, public MenuItemDisplayer 
    741743                                      bool force = false);
    742744    bool HandleOSDVideoExit(PlayerContext *ctx, QString action);
    743745
     746    // Navigation Dialog
     747    void StartOsdNavigation(PlayerContext *ctx);
     748    void UpdateNavDialog(PlayerContext *ctx);
     749
    744750    // Menu dialog
    745751    void ShowOSDMenu(bool isCompact = false);
    746752
  • mythtv/themes/default-wide/osd.xml

    diff --git a/mythtv/themes/default-wide/osd.xml b/mythtv/themes/default-wide/osd.xml
    index d2cdd2f..16eb245 100644
    a b  
    259259        </progressbar>
    260260    </window>
    261261
     262    <window name="osd_navigation">
     263        <fontdef name="small" face="DejaVu Sans">
     264            <pixelsize>18</pixelsize>
     265            <color>#FFFFFF</color>
     266            <shadowoffset>1,1</shadowoffset>
     267            <shadowcolor>#000000</shadowcolor>
     268        </fontdef>
     269        <area>62,516,675,80,800x600</area>
     270        <shape name="background">
     271            <area>0,0,100%,100%</area>
     272            <type>roundbox</type>
     273            <fill color="#000000" alpha="200" />
     274            <line color="#222222" alpha="255" width="2" />
     275            <cornerradius>12</cornerradius>
     276        </shape>
     277
     278        <button name="more">
     279            <focusorder>2</focusorder>
     280            <area>6,0,112,75,800x600</area>
     281            <statetype name="buttonstate">
     282                <state name="active">
     283                    <imagetype name="icon">
     284                         <!-- <area>46,5,20,20,800x600 </area> -->
     285                         <area>74,6,32,32,1280x720</area>
     286                        <filename>more_button.png</filename>
     287                    </imagetype>
     288                </state>
     289                <state name="selected">
     290                    <shape name="background">
     291                        <!-- <area>44,0,24,30,800x600 </area> -->
     292                        <area>70,0,38,46,1280x720</area>
     293                        <type>box</type>
     294                        <fill color="#fcdb58" alpha="200" />
     295                    </shape>
     296                    <imagetype name="icon">
     297                         <!-- <area>46,5,20,20,800x600 </area> -->
     298                         <area>74,6,32,32,1280x720</area>
     299                        <filename>more_button.png</filename>
     300                    </imagetype>
     301                    <textarea name="text">
     302                        <!-- <area>0,22,112,50,800x600 </area> -->
     303                        <area>0,33,179,78,1280x720</area>
     304                        <align>allcenter</align>
     305                        <font>small</font>
     306                        <cutdown>none</cutdown>
     307                        <value>More Actions</value>
     308                    </textarea>
     309                </state>
     310                <state name="disabled" from="active" />
     311                <state name="pushed" from="selected" />
     312            </statetype>
     313        </button>
     314
     315        <group name="grp0">
     316            <area>0,0,675,80,800x600</area>
     317
     318            <button name="MENU">
     319                <focusorder>2</focusorder>
     320                <area>75,0,112,75,800x600</area>
     321                <statetype name="buttonstate">
     322                    <state name="active">
     323                        <imagetype name="icon">
     324                            <area>74,6,32,32,1280x720</area>
     325                            <filename>menu_button.png</filename>
     326                        </imagetype>
     327                    </state>
     328                    <state name="selected">
     329                        <shape name="background">
     330                            <area>70,0,38,46,1280x720</area>
     331                            <type>box</type>
     332                            <fill color="#fcdb58" alpha="200" />
     333                        </shape>
     334                        <imagetype name="icon">
     335                            <area>74,6,32,32,1280x720</area>
     336                            <filename>menu_button.png</filename>
     337                        </imagetype>
     338                        <textarea name="text">
     339                            <area>0,33,179,78,1280x720</area>
     340                            <align>allcenter</align>
     341                            <font>small</font>
     342                            <cutdown>none</cutdown>
     343                            <value>Menu</value>
     344                        </textarea>
     345                    </state>
     346                    <state name="disabled" from="active" />
     347                    <state name="pushed" from="selected" />
     348                </statetype>
     349            </button>
     350
     351            <button name="JUMPRWND">
     352                <focusorder>2</focusorder>
     353                <area>144,0,112,75,800x600</area>
     354                <statetype name="buttonstate">
     355                    <state name="active">
     356                        <imagetype name="icon">
     357                            <area>74,6,32,32,1280x720</area>
     358                            <filename>dbl_left_arrow_button.png</filename>
     359                        </imagetype>
     360                    </state>
     361                    <state name="selected">
     362                        <shape name="background">
     363                            <area>70,0,38,46,1280x720</area>
     364                            <type>box</type>
     365                            <fill color="#fcdb58" alpha="200" />
     366                        </shape>
     367                        <imagetype name="icon">
     368                            <area>74,6,32,32,1280x720</area>
     369                            <filename>dbl_left_arrow_button.png</filename>
     370                        </imagetype>
     371                        <textarea name="text">
     372                            <area>0,33,179,78,1280x720</area>
     373                            <align>allcenter</align>
     374                            <font>small</font>
     375                            <cutdown>none</cutdown>
     376                            <value>Back more</value>
     377                        </textarea>
     378                    </state>
     379                    <state name="disabled" from="active" />
     380                    <state name="pushed" from="selected" />
     381                </statetype>
     382            </button>
     383
     384            <button name="SEEKRWND">
     385                <focusorder>2</focusorder>
     386                <area>213,0,112,75,800x600</area>
     387                <statetype name="buttonstate">
     388                    <state name="active">
     389                        <imagetype name="icon">
     390                            <area>74,6,32,32,1280x720</area>
     391                            <filename>left_arrow_button.png</filename>
     392                        </imagetype>
     393                    </state>
     394                    <state name="selected">
     395                        <shape name="background">
     396                            <area>70,0,38,46,1280x720</area>
     397                            <type>box</type>
     398                            <fill color="#fcdb58" alpha="200" />
     399                        </shape>
     400                        <imagetype name="icon">
     401                            <area>74,6,32,32,1280x720</area>
     402                            <filename>left_arrow_button.png</filename>
     403                        </imagetype>
     404                        <textarea name="text">
     405                            <area>0,33,179,78,1280x720</area>
     406                            <align>allcenter</align>
     407                            <font>small</font>
     408                            <cutdown>none</cutdown>
     409                            <value>Jump back</value>
     410                        </textarea>
     411                    </state>
     412                    <state name="disabled" from="active" />
     413                    <state name="pushed" from="selected" />
     414                </statetype>
     415            </button>
     416
     417            <button name="PLAY">
     418                <area>282,0,112,75,800x600</area>
     419                <statetype name="buttonstate">
     420                    <state name="active">
     421                        <imagetype name="icon">
     422                            <area>74,6,32,32,1280x720</area>
     423                            <filename>play_button.png</filename>
     424                        </imagetype>
     425                    </state>
     426                    <state name="selected">
     427                        <shape name="background">
     428                            <area>70,0,38,46,1280x720</area>
     429                            <type>box</type>
     430                            <fill color="#fcdb58" alpha="200" />
     431                        </shape>
     432                        <imagetype name="icon">
     433                            <area>74,6,32,32,1280x720</area>
     434                            <filename>play_button.png</filename>
     435                        </imagetype>
     436                        <textarea name="text">
     437                            <area>0,33,179,78,1280x720</area>
     438                            <align>allcenter</align>
     439                            <font>small</font>
     440                            <cutdown>none</cutdown>
     441                            <value>Play</value>
     442                        </textarea>
     443                    </state>
     444                    <state name="disabled" from="active" />
     445                    <state name="pushed" from="selected" />
     446                </statetype>
     447            </button>
     448
     449            <button name="PAUSE">
     450                <area>282,0,112,75,800x600</area>
     451                <statetype name="buttonstate">
     452                    <state name="active">
     453                        <imagetype name="icon">
     454                            <area>74,6,32,32,1280x720</area>
     455                            <filename>pause_button.png</filename>
     456                        </imagetype>
     457                    </state>
     458                    <state name="selected">
     459                        <shape name="background">
     460                            <area>70,0,38,46,1280x720</area>
     461                            <type>box</type>
     462                            <fill color="#fcdb58" alpha="200" />
     463                        </shape>
     464                        <imagetype name="icon">
     465                            <area>74,6,32,32,1280x720</area>
     466                            <filename>pause_button.png</filename>
     467                        </imagetype>
     468                        <textarea name="text">
     469                            <area>0,33,179,78,1280x720</area>
     470                            <align>allcenter</align>
     471                            <font>small</font>
     472                            <cutdown>none</cutdown>
     473                            <value>Pause</value>
     474                        </textarea>
     475                    </state>
     476                    <state name="disabled" from="active" />
     477                    <state name="pushed" from="selected" />
     478                </statetype>
     479            </button>
     480
     481            <button name="SEEKFFWD">
     482                <area>351,0,112,75,800x600</area>
     483                <statetype name="buttonstate">
     484                    <state name="active">
     485                        <imagetype name="icon">
     486                            <area>74,6,32,32,1280x720</area>
     487                            <filename>right_arrow_button.png</filename>
     488                        </imagetype>
     489                    </state>
     490                    <state name="selected">
     491                        <shape name="background">
     492                            <area>70,0,38,46,1280x720</area>
     493                            <type>box</type>
     494                            <fill color="#fcdb58" alpha="200" />
     495                        </shape>
     496                        <imagetype name="icon">
     497                            <area>74,6,32,32,1280x720</area>
     498                            <filename>right_arrow_button.png</filename>
     499                        </imagetype>
     500                        <textarea name="text">
     501                            <area>0,33,179,78,1280x720</area>
     502                            <align>allcenter</align>
     503                            <font>small</font>
     504                            <cutdown>none</cutdown>
     505                            <value>Jump fwd</value>
     506                        </textarea>
     507                    </state>
     508                    <state name="disabled" from="active" />
     509                    <state name="pushed" from="selected" />
     510                </statetype>
     511            </button>
     512
     513            <button name="JUMPFFWD">
     514                <area>420,0,112,75,800x600</area>
     515                <statetype name="buttonstate">
     516                    <state name="active">
     517                        <imagetype name="icon">
     518                            <area>74,6,32,32,1280x720</area>
     519                            <filename>dbl_right_arrow_button.png</filename>
     520                        </imagetype>
     521                    </state>
     522                    <state name="selected">
     523                        <shape name="background">
     524                            <area>70,0,38,46,1280x720</area>
     525                            <type>box</type>
     526                            <fill color="#fcdb58" alpha="200" />
     527                        </shape>
     528                        <imagetype name="icon">
     529                            <area>74,6,32,32,1280x720</area>
     530                            <filename>dbl_right_arrow_button.png</filename>
     531                        </imagetype>
     532                        <textarea name="text">
     533                            <area>0,33,179,78,1280x720</area>
     534                            <align>allcenter</align>
     535                            <font>small</font>
     536                            <cutdown>none</cutdown>
     537                            <value>Fwd more</value>
     538                        </textarea>
     539                    </state>
     540                    <state name="disabled" from="active" />
     541                    <state name="pushed" from="selected" />
     542                </statetype>
     543            </button>
     544
     545            <button name="INFO">
     546                <area>489,0,112,75,800x600</area>
     547                <statetype name="buttonstate">
     548                    <state name="active">
     549                        <imagetype name="icon">
     550                            <area>74,6,32,32,1280x720</area>
     551                            <filename>info_button.png</filename>
     552                        </imagetype>
     553                    </state>
     554                    <state name="selected">
     555                        <shape name="background">
     556                            <area>70,0,38,46,1280x720</area>
     557                            <type>box</type>
     558                            <fill color="#fcdb58" alpha="200" />
     559                        </shape>
     560                        <imagetype name="icon">
     561                            <area>74,6,32,32,1280x720</area>
     562                            <filename>info_button.png</filename>
     563                        </imagetype>
     564                        <textarea name="text">
     565                            <area>0,33,179,78,1280x720</area>
     566                            <align>allcenter</align>
     567                            <font>small</font>
     568                            <cutdown>none</cutdown>
     569                            <value>Information</value>
     570                        </textarea>
     571                    </state>
     572                    <state name="disabled" from="active" />
     573                    <state name="pushed" from="selected" />
     574                </statetype>
     575            </button>
     576
     577            <button name="MUTE">
     578                <area>558,0,112,75,800x600</area>
     579                <statetype name="buttonstate">
     580                    <state name="active">
     581                        <imagetype name="mutebn">
     582                            <area>74,6,32,32,1280x720</area>
     583                            <filename>unmuted_button.png</filename>
     584                        </imagetype>
     585                    </state>
     586                    <state name="selected">
     587                        <shape name="background">
     588                            <area>70,0,38,46,1280x720</area>
     589                            <type>box</type>
     590                            <fill color="#fcdb58" alpha="200" />
     591                        </shape>
     592                        <imagetype name="icon">
     593                            <area>74,6,32,32,1280x720</area>
     594                            <filename>unmuted_button.png</filename>
     595                        </imagetype>
     596                        <textarea name="text">
     597                            <area>0,33,179,78,1280x720</area>
     598                            <align>allcenter</align>
     599                            <font>small</font>
     600                            <cutdown>none</cutdown>
     601                            <value>Mute</value>
     602                        </textarea>
     603                    </state>
     604                    <state name="disabled" from="active" />
     605                    <state name="pushed" from="selected" />
     606                </statetype>
     607            </button>
     608
     609            <button name="unmute">
     610                <area>558,0,112,75,800x600</area>
     611                <statetype name="buttonstate">
     612                    <state name="active">
     613                        <imagetype name="icon">
     614                            <area>74,6,32,32,1280x720</area>
     615                            <filename>muted_button.png</filename>
     616                        </imagetype>
     617                    </state>
     618                    <state name="selected">
     619                        <shape name="background">
     620                            <area>70,0,38,46,1280x720</area>
     621                            <type>box</type>
     622                            <fill color="#fcdb58" alpha="200" />
     623                        </shape>
     624                        <imagetype name="icon">
     625                            <area>74,6,32,32,1280x720</area>
     626                            <filename>muted_button.png</filename>
     627                        </imagetype>
     628                        <textarea name="text">
     629                            <area>0,33,179,78,1280x720</area>
     630                            <align>allcenter</align>
     631                            <font>small</font>
     632                            <cutdown>none</cutdown>
     633                            <value>Unmute</value>
     634                        </textarea>
     635                    </state>
     636                    <state name="disabled" from="active" />
     637                    <state name="pushed" from="selected" />
     638                </statetype>
     639            </button>
     640        </group>
     641
     642        <group name="grp1">
     643            <area>0,0,675,80,800x600</area>
     644
     645            <button name="TOGGLEFILL">
     646                <area>75,0,112,75,800x600</area>
     647                <statetype name="buttonstate">
     648                    <state name="active">
     649                        <imagetype name="icon">
     650                            <area>74,6,32,32,1280x720</area>
     651                            <filename>fill_button.png</filename>
     652                        </imagetype>
     653                    </state>
     654                    <state name="selected">
     655                        <shape name="background">
     656                            <area>70,0,38,46,1280x720</area>
     657                            <type>box</type>
     658                            <fill color="#fcdb58" alpha="200" />
     659                        </shape>
     660                        <imagetype name="icon">
     661                            <area>74,6,32,32,1280x720</area>
     662                            <filename>fill_button.png</filename>
     663                        </imagetype>
     664                        <textarea name="text">
     665                            <area>0,33,179,78,1280x720</area>
     666                            <align>allcenter</align>
     667                            <font>small</font>
     668                            <cutdown>none</cutdown>
     669                            <value>Fill</value>
     670                        </textarea>
     671                    </state>
     672                    <state name="disabled" from="active" />
     673                    <state name="pushed" from="selected" />200
     674                </statetype>
     675            </button>
     676
     677            <button name="TOGGLEASPECT">
     678                <area>144,0,112,75,800x600</area>
     679                <statetype name="buttonstate">
     680                    <state name="active">
     681                        <imagetype name="icon">
     682                            <area>74,6,32,32,1280x720</area>
     683                            <filename>aspect_button.png</filename>
     684                        </imagetype>
     685                    </state>
     686                    <state name="selected">
     687                        <shape name="background">
     688                            <area>70,0,38,46,1280x720</area>
     689                            <type>box</type>
     690                            <fill color="#fcdb58" alpha="200" />
     691                        </shape>
     692                        <imagetype name="icon">
     693                            <area>74,6,32,32,1280x720</area>
     694                            <filename>aspect_button.png</filename>
     695                        </imagetype>
     696                        <textarea name="text">
     697                            <area>0,33,179,78,1280x720</area>
     698                            <align>allcenter</align>
     699                            <font>small</font>
     700                            <cutdown>none</cutdown>
     701                            <value>Aspect Ratio</value>
     702                        </textarea>
     703                    </state>
     704                    <state name="disabled" from="active" />
     705                    <state name="pushed" from="selected" />
     706                </statetype>
     707            </button>
     708
     709            <button name="NEXTCC">
     710                <area>213,0,112,75,800x600</area>
     711                <statetype name="buttonstate">
     712                    <state name="active">
     713                        <imagetype name="icon">
     714                            <area>74,6,32,32,1280x720</area>
     715                            <filename>cc_button.png</filename>
     716                        </imagetype>
     717                    </state>
     718                    <state name="selected">
     719                        <shape name="background">
     720                            <area>70,0,38,46,1280x720</area>
     721                            <type>box</type>
     722                            <fill color="#fcdb58" alpha="200" />
     723                        </shape>
     724                        <imagetype name="icon">
     725                            <area>74,6,32,32,1280x720</area>
     726                            <filename>cc_button.png</filename>
     727                        </imagetype>
     728                        <textarea name="text">
     729                            <area>0,33,179,78,1280x720</area>
     730                            <align>allcenter</align>
     731                            <font>small</font>
     732                            <cutdown>none</cutdown>
     733                            <value>Captions</value>
     734                        </textarea>
     735                    </state>
     736                    <state name="disabled" from="active" />
     737                    <state name="pushed" from="selected" />
     738                </statetype>
     739            </button>
     740
     741            <button name="JUMPSTART">
     742                <area>282,0,112,75,800x600</area>
     743                <statetype name="buttonstate">
     744                    <state name="active">
     745                        <imagetype name="icon">
     746                            <area>74,6,32,32,1280x720</area>
     747                            <filename>jump_start_button.png</filename>
     748                        </imagetype>
     749                    </state>
     750                    <state name="selected">
     751                        <shape name="background">
     752                            <area>70,0,38,46,1280x720</area>
     753                            <type>box</type>
     754                            <fill color="#fcdb58" alpha="200" />
     755                        </shape>
     756                        <imagetype name="icon">
     757                            <area>74,6,32,32,1280x720</area>
     758                            <filename>jump_start_button.png</filename>
     759                        </imagetype>
     760                        <textarea name="text">
     761                            <area>0,33,179,78,1280x720</area>
     762                            <align>allcenter</align>
     763                            <font>small</font>
     764                            <cutdown>none</cutdown>
     765                            <value>Jump to start</value>
     766                        </textarea>
     767                    </state>
     768                    <state name="disabled" from="active" />
     769                    <state name="pushed" from="selected" />
     770                </statetype>
     771            </button>
     772
     773            <button name="SETBOOKMARK">
     774                <area>351,0,112,75,800x600</area>
     775                <statetype name="buttonstate">
     776                    <state name="active">
     777                        <imagetype name="icon">
     778                            <area>74,6,32,32,1280x720</area>
     779                            <filename>bookmark_button.png</filename>
     780                        </imagetype>
     781                    </state>
     782                    <state name="selected">
     783                        <shape name="background">
     784                            <area>70,0,38,46,1280x720</area>
     785                            <type>box</type>
     786                            <fill color="#fcdb58" alpha="200" />
     787                        </shape>
     788                        <imagetype name="icon">
     789                            <area>74,6,32,32,1280x720</area>
     790                            <filename>bookmark_button.png</filename>
     791                        </imagetype>
     792                        <textarea name="text">
     793                            <area>0,33,179,78,1280x720</area>
     794                            <align>allcenter</align>
     795                            <font>small</font>
     796                            <cutdown>none</cutdown>
     797                            <value>Bookmark</value>
     798                        </textarea>
     799                    </state>
     800                    <state name="disabled" from="active" />
     801                    <state name="pushed" from="selected" />
     802                </statetype>
     803            </button>
     804
     805            <button name="JUMPBKMRK">
     806                <area>420,0,112,75,800x600</area>
     807                <statetype name="buttonstate">
     808                    <state name="active">
     809                        <imagetype name="icon">
     810                            <area>74,6,32,32,1280x720</area>
     811                            <filename>jump_bookmark_button.png</filename>
     812                        </imagetype>
     813                    </state>
     814                    <state name="selected">
     815                        <shape name="background">
     816                            <area>70,0,38,46,1280x720</area>
     817                            <type>box</type>
     818                            <fill color="#fcdb58" alpha="200" />
     819                        </shape>
     820                        <imagetype name="icon">
     821                            <area>74,6,32,32,1280x720</area>
     822                            <filename>jump_bookmark_button.png</filename>
     823                        </imagetype>
     824                        <textarea name="text">
     825                            <area>0,33,179,78,1280x720</area>
     826                            <align>allcenter</align>
     827                            <font>small</font>
     828                            <cutdown>none</cutdown>
     829                            <value>Jump bkmark</value>
     830                        </textarea>
     831                    </state>
     832                    <state name="disabled" from="active" />
     833                    <state name="pushed" from="selected" />
     834                </statetype>
     835            </button>
     836        </group>
     837
     838        <group name="grp2">
     839            <area>0,0,675,80,800x600</area>
     840
     841            <button name="RWNDSTICKY">
     842                <focusorder>2</focusorder>
     843                <area>213,0,112,75,800x600</area>
     844                <statetype name="buttonstate">
     845                    <state name="active">
     846                        <imagetype name="icon">
     847                            <area>74,6,32,32,1280x720</area>
     848                            <filename>rew_button.png</filename>
     849                        </imagetype>
     850                    </state>
     851                    <state name="selected">
     852                        <shape name="background">
     853                            <area>70,0,38,46,1280x720</area>
     854                            <type>box</type>
     855                            <fill color="#fcdb58" alpha="200" />
     856                        </shape>
     857                        <imagetype name="icon">
     858                            <area>74,6,32,32,1280x720</area>
     859                            <filename>rew_button.png</filename>
     860                        </imagetype>
     861                        <textarea name="text">
     862                            <area>0,33,179,78,1280x720</area>
     863                            <align>allcenter</align>
     864                            <font>small</font>
     865                            <cutdown>none</cutdown>
     866                            <value>Rewind</value>
     867                        </textarea>
     868                    </state>
     869                    <state name="disabled" from="active" />
     870                    <state name="pushed" from="selected" />
     871                </statetype>
     872            </button>
     873
     874            <button name="PLAY#">
     875                <area>282,0,112,75,800x600</area>
     876                <statetype name="buttonstate">
     877                    <state name="active">
     878                        <imagetype name="icon">
     879                            <area>74,6,32,32,1280x720</area>
     880                            <filename>play_button.png</filename>
     881                        </imagetype>
     882                    </state>
     883                    <state name="selected">
     884                        <shape name="background">
     885                            <area>70,0,38,46,1280x720</area>
     886                            <type>box</type>
     887                            <fill color="#fcdb58" alpha="200" />
     888                        </shape>
     889                        <imagetype name="icon">
     890                            <area>74,6,32,32,1280x720</area>
     891                            <filename>play_button.png</filename>
     892                        </imagetype>
     893                        <textarea name="text">
     894                            <area>0,33,179,78,1280x720</area>
     895                            <align>allcenter</align>
     896                            <font>small</font>
     897                            <cutdown>none</cutdown>
     898                            <value>Play</value>
     899                        </textarea>
     900                    </state>
     901                    <state name="disabled" from="active" />
     902                    <state name="pushed" from="selected" />
     903                </statetype>
     904            </button>
     905
     906            <button name="FFWDSTICKY">
     907                <area>351,0,112,75,800x600</area>
     908                <statetype name="buttonstate">
     909                    <state name="active">
     910                        <imagetype name="icon">
     911                            <area>74,6,32,32,1280x720</area>
     912                            <filename>ff_button.png</filename>
     913                        </imagetype>
     914                    </state>
     915                    <state name="selected">
     916                        <shape name="background">
     917                            <area>70,0,38,46,1280x720</area>
     918                            <type>box</type>
     919                            <fill color="#fcdb58" alpha="200" />
     920                        </shape>
     921                        <imagetype name="icon">
     922                            <area>74,6,32,32,1280x720</area>
     923                            <filename>ff_button.png</filename>
     924                        </imagetype>
     925                        <textarea name="text">
     926                            <area>0,33,179,78,1280x720</area>
     927                            <align>allcenter</align>
     928                            <font>small</font>
     929                            <cutdown>none</cutdown>
     930                            <value>Fast fwd</value>
     931                        </textarea>
     932                    </state>
     933                    <state name="disabled" from="active" />
     934                    <state name="pushed" from="selected" />
     935                </statetype>
     936            </button>
     937        </group>
     938    </window>
     939
    262940    <window name="program_info">
    263941        <fontdef name="small" face="DejaVu Sans">
    264942            <pixelsize>22</pixelsize>
  • new file mythtv/themes/default/aspect_button.png

    diff --git a/mythtv/themes/default/aspect_button.png b/mythtv/themes/default/aspect_button.png
    new file mode 100644
    index 0000000000000000000000000000000000000000..a8eb2447a0f55b38a5bd9889bcca990544c92140
    GIT binary patch
    literal 440
    zcmeAS@N?(olHy`uVBq!ia0vp^HXzKw1|+Ti+$;i8Y)RhkE)4%caKYZ?lYt_f1s;*b
    zKpodXn9)gNb_Gz7y~NYkmHiR3ys)y?;tzf67#J8`JzX3_GVZ;db=K>!gNU1dSJcF=
    z%X>NOrs*$!F?omhb-ND!2VMdqG8wBkUOVE;^s&iIccN$7zRjoho>5YtY+d}B*@;83
    zMZl@ViS2=HD%YlS6H`~7xYiT2d#S37we^0H@0GQ0Y`q@{NrbQDe{jh1o721<-|sMP
    zKj5ic`&j0CuVMJ@GX<H)dRN6{@HKRv^xeH<>HWq<g5sfiCfo|<JEyP9vM@Hj$8OiS
    z^yJ=BMH|Dd`<T*fC*J$<XuF`DneiNEe#3n4-)<F*dzNkC7tgX$xpV)s{H70AOyp8$
    z|4TS=XnAkh_PA)dWHCFFzX!z)`uDb(zhl_y<sEV8V|i4v@bg@`!)-b>DUWs*&pE2I
    zC%ZLx^~0%QnVjAg0f+pvA5EC@|Dt#N`cCJMXU=b5zFF)0_seZ|)4d`N9j;HFaLHZ{
    f>~RjoZI7f^Uw7fIaJz967{&~qu6{1-oD!M<K8v_?
  • new file 0

    literal 0
    HcmV?d00001
    
    diff --git a/mythtv/themes/default/bookmark_button.png b/mythtv/themes/default/bookmark_button.png
    new file mode 100644
    index 0000000000000000000000000000000000000000..a3c76b97bd8ee4c1c59c58958a303af7384054c6
    GIT binary patch
    literal 835
    zcmV-J1HAl+P)<h;3K|Lk000e1NJLTq002Ay002A)1^@s6I{evk00006VoOIv0RI60
    z0RN!9r;`8x010qNS#tmY4c7nw4c7reD4Tcy000McNliru;sgW~03^zm&cgrz0?<iB
    zK~!ko?V8VP)Ib!+zZ3Qk2-JfoFQp0<ueL6D5TteYSlV9N{uN%-ix)xh=6}(He}EJM
    zYL{f&ZNVN2Ev4Sn28%mLOR}rZc-cbOP1Z?flFdwfkjw67lFxf@-me`3MM5b!3J}`{
    zk-6VO#pFM*=~7d$cg+XZ4N}Ubb%sr4VckJfS=ba<Az(^D0J&seCLsdWi-YBn%BRpu
    zOIG={3=bKBH8E&K-J02UVb+{jT8dhgX`Pnh+%jfg^8xJdNx!h{HnL)1t(ZN_0lh6d
    z&ZVsc%^D4COx_&}OewC%r6L{EkEn(Da8x#Z0ML&FCtd~MZ~)9rbY}pl4dvW^+0&0~
    z=QeC%2E!#OXjKN-=;nW<mev7Ic`aQjmrl}NrDj@{3tFaG*%Ay2q>3(0Ot7*g5c-Kp
    zuAO!+&65<P%UoJ2O6zECk-0P<r&ZmcQ_rP!7oyO8%{s+n+h$BZtPC2~yFHX`(R2%1
    z%1Xu}^RSGUO{`n$cJYJrY)X>xs)+yx0m4=bH#!}>mMMC&fEVu4jDa~0>MJYQ0f0^i
    zJ2Nx5EA!52TwG-bBn0evc-Cm(W%RStQ+%JA!nM-Z(rM-B2+lC<Knc@9fL<x{a8@}x
    z!<YGaJdFEpeH}kN4~v}V|3^R}z+s5q{yy%E`_0l4K6oCU5|VFv%ROju4(2$xzq|}r
    zWF6PVyV+SR{;QT2i9K<_EO!gH+juSt3jp;x9{E1Lswi>el#(m(@iE>v8hDZRzTI8i
    z3<89CK<5VR`}j6DhX+~i-Ppk8_BQS@hCiyIa{=!4(BIp`ZJ9MzSMjOc#$%BnCepfI
    zLFWO?To=u?HFRYcYBura-~ewkwyq<mfR%Q3l!8+VzO{u{sx^3ch|gE+r>V2!E=zHc
    z`na%wC#r#4E!?`ez-6h16elO}^IU&(6VvDC_?4xjieAQ^xJ%l*e*u8$5vF5}{e%Dj
    N002ovPDHLkV1nMffvErh
  • new file 0

    literal 0
    HcmV?d00001
    
    diff --git a/mythtv/themes/default/cc_button.png b/mythtv/themes/default/cc_button.png
    new file mode 100644
    index 0000000000000000000000000000000000000000..b19b03d9efebe40a5d31b01bc15289601d6ca5da
    GIT binary patch
    literal 3513
    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
  • new file 0

    literal 0
    HcmV?d00001
    
    diff --git a/mythtv/themes/default/dbl_left_arrow_button.png b/mythtv/themes/default/dbl_left_arrow_button.png
    new file mode 100644
    index 0000000000000000000000000000000000000000..955752e34634fcd442d4209d46cd9c2b885f4b64
    GIT binary patch
    literal 930
    zcmV;T16}-yP)<h;3K|Lk000e1NJLTq002Ay002A)1^@s6I{evk00006VoOIv0RI60
    z0RN!9r;`8x010qNS#tmY4c7nw4c7reD4Tcy000McNliru;sgd10u$;K!NmXo120KL
    zK~!ko?V8O?lu;CipX1k9l0j|)Ny4^DL1v307eUZJP^-WQ!=<1EK?XrZfl{raK&c?m
    z7GV$sE@Em?(FbG;HzA4@L?DWyHDk?b(M|k#?>O+j_iB01Zn&4<{2uSex#x@mbh3e>
    zhz%A2H~<IW033h=Z~zX#0r<ZGR%Ke1J!_>=;t})>a0S?DK97ko<y)i318Bc0yMeyH
    zMopYj<&!TB=PO)R#&{+}9q_{PJsDuTYYi_etjfnshEAZxV)Ql8C_<@Aji`_$8vv?2
    z1+D^hmMJ5^IT0FMYB*nEReDsZ1|D0Ceg)b@7_b>lLc_}$R%IG^3v7-Uo&#=*0I<WQ
    zhI3$(BD#U<h~b~WBN4`2YdGK1CPnNwDPp-%1=2u6KBGx!I0r5(V_cOA;1zH%V#+XZ
    zRD^dToN%QPHwwC?O>(~gY>gQHY;MhZ*BVJg$tot(zzv`_Vt5AV5}^|8Mw8HR4y;Nq
    za1CgW7@h}uM3@CC^MJ<I@KP<QQUweFM<Onh0brjonr~;s)^HUIXIPa9;Bwq2G*G@q
    zrS5b=TiPW3)0SLVXrv6RtoH_hs4|&=(aLqeGF|8y{<YCsJjELg_%QG?rq1lYvQrk{
    z($9g5c^&}sz<uC~2rZU$6kEev9v0z{2!lW~Fd8wp)Qo*lrAn3CEB<;3Xn22kh)^%W
    zLu2fVCD%3sL#k9*z+-E8172pj4`>4>BBqoBt-yO#D!RJpccHN+)zYG_#2KK%GUYpP
    zx4WC(jt-8y((qOfi%?lxOQ$IavJq1@0j=%rJj=7<u{FGQJVr;U79j`h1@2f<(Gt^5
    zO-oZ=5*l7xJZ7buMVJ5%nCb_c>2#WVQKpm7aC(MUIp2f8d1KxdbHJ@sim_~#8W$Sg
    zfR{ZyE@5w?FPJVaW-^ys+3ra~!yE7-(<8uH^7oNvfa@ZWz34<V5<9~Mobg>EJTUq9
    zn`PP-{`?r`OvBp>Tk>!FvbuR#geN{VoUL$F{!OJ8^6w8|3OMOo13dl*KsHN_2su?6
    zfo&ojTMG>@TY9}U00_VVH~<IW033h=Z~zX#0XTmA2G(Pqfqu%IuK)l507*qoM6N<$
    Eg1H5RhyVZp
  • new file 0

    literal 0
    HcmV?d00001
    
    diff --git a/mythtv/themes/default/dbl_right_arrow_button.png b/mythtv/themes/default/dbl_right_arrow_button.png
    new file mode 100644
    index 0000000000000000000000000000000000000000..5d1a8dcc353a2e35b890aa6639b5361e943bba3b
    GIT binary patch
    literal 901
    zcmV;01A6?4P)<h;3K|Lk000e1NJLTq002Ay002A)1^@s6I{evk00006VoOIv0RI60
    z0RN!9r;`8x010qNS#tmY4c7nw4c7reD4Tcy000McNliru;sgd10|ao~bwdCE0}@F@
    zK~!ko?V3$UR8bUwzhgR9q9knsGemch)FNw9IFTZ>YSA(xGoo6h7!;L65k;ZP2#hwh
    z(VbA6TuqBI`hiSw6Qn3Y1V#!<GccSMUSW{;rm6Stod)k&zI*xReBAf$x$nFYppOj{
    zWo)qU!d}=5dtoo^g}tyB_QL;_uqyjhS&H(*aWI?+tFjGf18%8uLY4Q$U^o$0Wezx-
    zbEyFsQf03y!>$-ES9k}I4!GV9yiuhlkzm#V!;P>A6~F=DUBGZTa4wyuPn9n=8Bs$1
    zwE>{Y2jC9S6f$KJxFW()n+#`VNre3(i~!xhw}2^ofETLNsq(}Y!`TW4tQNpUU~9ne
    z3UFV98ruwK!Z}Gd0LRVqxIX5AUJ+VsGn}2YM3@2g11Uh)4cD0xbTD5Dii6?wXeq)e
    z5k3OPfT@5fhk>`MRE3qGI2cZD>5yA=!tBO71BMrYn<CWPW;hehNqPym3{(dUe+4dy
    zaKt9Vsc=rxRpxkE5imRo^oY=9gHe>%LlKsN7GNY`Q|bW5RoQNXA*%c=FwYu_6Tg5=
    zM8-9dRryj7#;jl_<fWs~m<I++MR+ZuHVky5wRo}{O?XqO2xo!ih>S6yttfTa)X~Sl
    zRp4YuEd`hWZivtt7o)5QqJySBeg-;25}gJ*MHmf|jlw8*DGKxe<G|)TrQ^B?%|Npa
    zhV>Qh?`PN?13v*5LK0m7x<wc=iN?;bzQX<e4EOfZ1-t^bgiKoo9+)mhy$yzS;R2J)
    z01q1*nVX)b&IZG}a5BkQDn<JrlFS0nfB_LYP4^;JhV_m|GRc@KRjCwD&GQwO=m>B~
    zgawmmtPJZNk3@pmbeaa>Ji%SYwRjEO7NNri!@6);8H?F0wFM+OY05*Z4Tck8RaRJS
    znpfwUHV51j3I3W82O~=S?WUE^ljwKgu4$w-S!TEq7NJ&^DPZ@ychrGG>tGxVmn#f#
    z26$;sJC7<WnaO0>RRo5cP0Kuo&w(EzoQ`m|j?8dcmP$4Jzj(Z`7xuzl*b94MFYJZA
    ba7^(V_2_zvoU}ih00000NkvXXu0mjf&>(;m
  • new file 0

    literal 0
    HcmV?d00001
    
    diff --git a/mythtv/themes/default/ff_button.png b/mythtv/themes/default/ff_button.png
    new file mode 100644
    index 0000000000000000000000000000000000000000..b06cd0b97a61a342a7414a73d30206aa1f79a625
    GIT binary patch
    literal 3384
    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
    O0000<MNUMnLSTZyUK=$4
  • new file 0

    literal 0
    HcmV?d00001
    
    diff --git a/mythtv/themes/default/fill_button.png b/mythtv/themes/default/fill_button.png
    new file mode 100644
    index 0000000000000000000000000000000000000000..0f46195e452770aa48bc226c1f7f501d418df698
    GIT binary patch
    literal 289
    zcmeAS@N?(olHy`uVBq!ia0vp^HXzKw1|+Ti+$;i8Y)RhkE)4%caKYZ?lYt_f1s;*b
    zKpodXn9)gNb_Gz7y~NYkmHiP5i@2b*7-L*LP-vZ}i(^Q}y|=d<`I-%QSR8gglACu&
    zy<L3A_is*uYZYeJGMwVr9MQC9)eO!489E1`p#HRw;Kp3bqjfi<QoqTiE@^Ch9~<>P
    z@_I#I!|T776M=koowa*e3zojoy>*=9M*g`Ml5F#~ZdtdjSN5%_GA|DgkIj?pmwd06
    zS@ZDJ^qPJ;W2~1Rf5C&9nfbqw-E=1A`!aW;p6cAVrgi!MC77KD4zzz_a(Jpzy4+Ud
    Q0MO+Op00i_>zopr0K>?0ssI20
  • new file 0

    literal 0
    HcmV?d00001
    
    diff --git a/mythtv/themes/default/info_button.png b/mythtv/themes/default/info_button.png
    new file mode 100644
    index 0000000000000000000000000000000000000000..6dddbec2894873d463f746b313658f9d2dbd55d4
    GIT binary patch
    literal 1045
    zcmV+w1nT>VP)<h;3K|Lk000e1NJLTq002Ay002A)1^@s6I{evk00006VoOIv00000
    z008+zyMF)x010qNS#tmY4c7nw4c7reD4Tcy000McNliru;sYHQF&Mtn&#C|b1ENVp
    zK~!ko?VG($>o63@|4joFirON+2Z8`01{ATdQNhI02jCr$kXTWdC}Kg(OgzGU04ByV
    zF!2#45K91wRtO~$1BF8GV0ufh^5G=5n--2#HMQHuKmX4;jvXgauh;RDOy+$8+fD@P
    z(QLM!;Mtx8YlVXXitYerz^p-efky`B4ayokG_Yt;R^Xw4!@}lr(45LG3%V%iK)^vk
    z-2nY8Xa@uVrv?rJ8x}MQI4v|4FfA-A(6Hb%(7wPlu)ILSfcrs9odQdHF26Q=D(v;+
    zu%Ov2peRHs(}ZT*?A7*C*%g=vtg1pU6aZBvpA7>zIsy!XeKvQ4mPIOCC;*$AKrTnh
    z@_F)Znm`z(b2(^k(6*hZJ3&jL;!jbat7;SWtHDs!ri+U(NrbxXN@Pwf5{o~kG1G)*
    z7=UH9#2^fV)bY;Vjxo%0LSWk@L475!mZTLnQ`24{evjprEbRu&(v?{aOF^>scVJoc
    zbkDZK4?`?emUzc*ToRb)ILvAoT3!ZDPFl++CxO91a(s3MZEOsBHVd4ei|N>ZG3?~h
    zVbxU>=sP>W>MC$|2UIFRDg}&=0*V62GI8zGQ($fmD3^i#eRj}JvD|QJnP>bC3;;_@
    zKq3M3^Z>~uIc{8ZOiu%~8gP9rE{?glv}r=y+k<|53}iCE)D*D2-Gpt4DH*u90B&x?
    zxHPvIHce=zNsbQ>p(m5>-(6V&W@eyYUGayOL}cgLS!Z<{HZ%kb4~xmxLM9LCw0C_n
    z3H0~3Y4X6sK0m$dYc=5Ep^Jd~`uu?_l`aDA?e(sIe+SBCF<DyJ0)Usjy@@-Q6lT4M
    zwXwb@@74BLC@j)`CNS@925~T|`LM`177@R{G2H1Y)3jCk-^aT-eyLr$6I7;cqvX~T
    z-KcJ$q!mTw#zH{YdX{aIoqEJ=jmxs2(<}@~60ooU{rQ=EK09mPDRi<@i4Uxk$1-2y
    zktASk4f^gbaDNX}tHA54_ir8_fqcH%@KTB2%!&C8@sSa192{VAeI5AtATLRBpA%QB
    zWIk+J<oM+UC>H6UncWbN;@VG7__MWzjbagtmzT}*i3#$a&yywFbQ-w5C1sfmsZXW6
    z*S?~{dMfOvGL70^Ha_0k;Q9HMnAV~ssL;T?p?PFuzoGSaV_H;bmf&sMdKd;e3V19w
    zmqr2i>wws9A7%l~>l&FmaJ#_U_6UGz@Yp=$!5cibkMXeTfR1}mEAI9eWN!9PWRxe~
    P00000NkvXXu0mjfvK`s*
  • new file 0

    literal 0
    HcmV?d00001
    
    diff --git a/mythtv/themes/default/jump_bookmark_button.png b/mythtv/themes/default/jump_bookmark_button.png
    new file mode 100644
    index 0000000000000000000000000000000000000000..b6afa0ded85770fc65950f2f99a536d7096dad8e
    GIT binary patch
    literal 934
    zcmV;X16lluP)<h;3K|Lk000e1NJLTq002Ay002A)1^@s6I{evk00006VoOIv0RI60
    z0RN!9r;`8x010qNS#tmY4c7nw4c7reD4Tcy000McNliru;sgd27y#cz5cdE812aiP
    zK~!ko?b<;|Q*j)?@$YPg(!mvh!SJAhMg?6IOH@K(vR%~B4s~eIrAvg^VWvFw2_i-^
    zAw?)b@FLPd(1QfQ)Rog9kgyU71zWky6jbKa?RAI<b=cCiy}kW^xAFhI|Kr1d`@i4s
    z|E2?)h;pp0Aw}Xo1_N>eaTWqBzyd750xZA+EWiRRzyd750xZA+EWp|eeJDviJxFC`
    zpbwJmc0)}KjEo>_W`*zELC(nmhXWL4@0igD{rxaJjFgoXnZvk<e5Dr_kju-F&1QK2
    z{@{2)0k~Yy+KQytYv?!Zav|sEBU`QT`SZTX65#G#`1A?MYE|cIA9>Rn97Mi!3Av#G
    z*4OurrKEt}4sYKg6&9)se(YVkqXRiD4Y|7;c6RoTWn{q65DW|;8I9_IhwZUsvmxi^
    z!r<V+jm>0&>1nXrqmS0Dt)WEvrVk%NSJ$7%nC4%#w6ws?4ATAkkzetsRa!<PG&aUr
    zY3cXJ8TiDBI08>hKuJjyng@d+d`17cb4WHD+`0vciNSN;y@UFC7#)pHvk{i6H#HTh
    zwia&Qgp((O=giMTQ`4^sP4(^JVbJPouv#H0DR_?C4Rv+VhaL-j_AHeT9&q9IZAeZI
    zp0lz7&CSr;tFAs-A8zR8CbYHvs<C7C#3K~w_BM2OLVG*%{_ZJezy<@SZ8q*52KD=)
    zuMZwShQ&qoAM@xC|I^ZT2yiUK>MB1J<!F6;%z?dLw$jsi^5zX~ng<601e{K;0hmnq
    z=H{5vG<b57`l>1{zdz^ZGP1J5cTIvne&nUu%z=tMGm|c_7oVoUOG~(~T;bIry>+Rg
    z5YPm8YYX4`^Yk2+bNxES6BE?xbbsHuRSi}Y0!}Bzq2yXDoSK>8MNETTE*dH;DGfD0
    zKc7jDhc7V+o}I;EHk0_T*JWq(%<E+<robK#U-R-9JL>i0<6I2{@W%w$=VLoNo2SQ_
    z<HijtTrO&YZDMKz2VTGaQ&=1)EEdj8PxD;W;HfDdRa8(EuK9|J_~3RkuS)RjEMq29
    z=oM3_aq%L38yjq@3cS3`x4b+Y|7(7ylgqoi?1D;;cp@1;0lsMl6t$woO#lD@07*qo
    IM6N<$f@3SUdjJ3c
  • new file 0

    literal 0
    HcmV?d00001
    
    diff --git a/mythtv/themes/default/jump_start_button.png b/mythtv/themes/default/jump_start_button.png
    new file mode 100644
    index 0000000000000000000000000000000000000000..ec991bf869334de287cb2e122bbc259e7d684797
    GIT binary patch
    literal 1010
    zcmV<O0}cF%P)<h;3K|Lk000e1NJLTq002Ay002A)1^@s6I{evk00006VoOIv0RI60
    z0RN!9r;`8x010qNS#tmY4c7nw4c7reD4Tcy000McNliru;sgd1Ap$-PmR0}&1Aj?G
    zK~!ko?b%OgQ%M}a@$WB=-I{DW^$%6>pj630@2&_USSTI^@gfQ>MGy~L+a4^ekSW4$
    zc5Q6~6+sa6APOp&lUF@iyjT?if`VpcE$)`S*KTV{(!M<;V46lY)}(of^E>7@kbE+4
    zesAVC0z@1K!xy5Z<;%HRi~!$RSg-|KumxMN1zWHMTkv-S?&-nYzhAliyKlfpj$kGx
    zFoT28-VVdVl|fe>91dgd-NW3u13Pzq{=B;zIy=jcR@H(YI>axJ9x*;O1**ueSXh8<
    z+sgmFRRMb*$AG_FmxINyPoKi+)9~(HjnA;>aRSJ=E_;gQ-@Jhf7vSN;$`viOM$l8h
    zpN>OVWMzJG5~5MKaij9x6}1M~pFVtGS1`z~LhSrJT)hexFRoo1NmUSfAd#TMbs-pB
    zp37t)9*6GkweOdy3P2A6;<_B(zI{cG$B*IMIe7cFI?chdf%osH@5vM5)6=vEioD$u
    z3FzyC@$u?*K~<S%b#pRFv+HuI5c~dpw(>rB;E#5%`bOxcXV3WAbwTUpx!GA58iH8N
    zUwv)0N@(ldyPS1hXlq-ZOQ+%bbr=}%X9HiY0=r{simr~1l?5pt2V<&NkV*-m#H$w1
    z<2=w<>*rxr!i)|84Y@yux(5S4*p7z<*B5vWSgaTD|E^&XhH}NLH;4bxb!jdfmrld2
    zTiIjY<fMOJOC>+jB8-S|4M1!D)|#38{QC9K*$FRR!00Gu>sEiFzj_Uea9M;az>?Pd
    zQwVQp$ikmLhiKG)@KqNr5k^HA13ay9nwy!;&o?&0nKLjkk%e#B!tuJO(z!={R0L0J
    z{w;)W*pP+4e92xvz{~bp65;ag+pH5ov}WF~@RIk^UwOdj2i5_BOoqj|IYNbFK7E3l
    zHz67&<~U5(^u|MkVG;fS(n=A~nuSn^xneV(NYE3FVp>|*So1rr9Q^kjTxm^8DKhzE
    zg2B)5NCcx)4TJMHFCzQ~EQUfXX-z5+V5tz^+Y8AgCKADj)G#;?eo2I1fu*J<7PTf-
    zI3^$7-(M$}X}R@{=dt_aM^3i3t{l_Ul)X@^tJ9JQuft(XBmy%t%X5hYjE$9lhJA57
    zjKwf*ZJ3b}NTtAWpsTCS&%>Dv3=U%U?SrF7;nl0k?7<a2i)0d$Oxliz1zWHMTd)ON
    gumxMN1^Yh!1E4A>{f0mOod5s;07*qoM6N<$f_zQaQ~&?~
  • new file 0

    literal 0
    HcmV?d00001
    
    diff --git a/mythtv/themes/default/left_arrow_button.png b/mythtv/themes/default/left_arrow_button.png
    new file mode 100644
    index 0000000000000000000000000000000000000000..58871bc28db49c72f9aab61c3281d7a3affb41c4
    GIT binary patch
    literal 1156
    zcmV-~1bh35P)<h;3K|Lk000e1NJLTq002Ay002A)1^@s6I{evk00006VoOIv0RI60
    z0RN!9r;`8x010qNS#tmY4c7nw4c7reD4Tcy000McNliru;sgd0GB*q!1!4dI1QAI@
    zK~!ko?b%&ulUEqP@qa$;(ymF`kx(_wNLmXK#l{5m6|AgUSP2`_i_N>57DXs1*g^#_
    zM!~w(I-GdnjY?r&R9h4;230p*S6W6>OPYc(6+$tUR<!9C)1*yyv1V-Do6Xv^`Ffwr
    zoQH(pd)}P$oae}ZCbB5xWLZdH2`qsnumqOC5?BID;EVw4^{B2~Vc*~&^?7+HG8)|2
    zh;4Y7lQlI|mzJ`nvy;z~0agHe*764q9Kg`o$(IKYvOgz>4`QDe7h^IQnCa;uu%2M$
    zT79v_g685yssw>ua=GZ6^wwx3f4yfo;b5f_SxXD{+FD#14Y_gB2CA$1xxb&+X$`Kg
    z$I{fq=SCw%aZ;WDjXE7=$y%io0=C=Ho;$~<J9knJ$V5_J0AJ~JXd!vnRfF|<RPF8T
    zsi~m?L|@-|;5(Cvx!GB?sjv^fH@LA8+v(F(0w$5+1)yvDb{>z7@p~#29xDb{RbjYs
    z0|&5AWH<`^=yKud>s$W?DWPDC1<i#E?BBZ=Ax^>KJARyBIy&&Da%uU$;G7)ft*toS
    zZYlwtNXppx^YorMgD(;xn(DRme}a!3!P?eFB~T(VJk#Ax--#3S&CarrE{6wEu)~4w
    z{(W`;)gr^;-d=ufXy9I|El4W{7Z##=_6#%N7I_#^pAX-uQ~Z#s3(~uUjHRoVV2}mi
    z+e|+XD}zB~Ktr7UG~+@R3=)Y`4rXk}V=>!WJc?`rEBt;6T`od^IV=9du~qumF-p&#
    z#R=?)lN%lw;8Alk_q<+a(sqVf>S=jAyl!h_RH<Y_5Xc1zmgkyGY(9LLT@@ARM@9%t
    zPVzQw!2r=H^!75*-p(V1f(b!D5C1yHDoiFeyWKbif&9@?UZfLTv}+lO{0YBwi6Nbi
    z>GE<6fM!{m%50|C?ZzPp<okS#Pfij_OK>bgA)-A!1UfqK6czEtW}^sD$ALT30sc;X
    z>A5);@7%$E>lPlf8LU<|ifm_T0bfxg{?#kOH*fOf!2^a%N>H0j6p1tg{sH%T3A}un
    zI`H?pc?bk}bNxDxy<SGk%E&VsF^Z(A%w~$~>Tn1G+EjtB>Z;}GQ|7N-V`O}s-)uHM
    z(&^BPq^V<YyPe#jAp%oVgwqln3$K^y%a`#?PvhUVjg5JEd?*IDTKV|sQJi)=xr2i|
    zUpkT|r_xGPsMW|@TCg8FM3q)6+5`KmMRfZ%{k66HwBCn@ghnVtq`4W-)~$SV^(x)-
    z^UTFb%@2h#V1}26(TKXW6~X1=lMNfl`P-1Mpn&h!yVJSm7vd8WgzD;eC<uIg_bv|?
    z7YPGXz!%AA>#q3>FOS{3(Qn#BZdVu2lX^VNrj7>^SOQC62`qsnumqOC5?BJSKK=j#
    W{yS>gewJzg0000<MNUMnLSTYL*cj#j
  • new file 0

    literal 0
    HcmV?d00001
    
    diff --git a/mythtv/themes/default/menu_button.png b/mythtv/themes/default/menu_button.png
    new file mode 100644
    index 0000000000000000000000000000000000000000..e74968fd0eb83a7db6adee9bd0e9be9e8394ebeb
    GIT binary patch
    literal 331
    zcmeAS@N?(olHy`uVBq!ia0vp^HXzKw1|+Ti+$;i8Y)RhkE)4%caKYZ?lYt_f1s;*b
    zKpodXn9)gNb_Gz7y~NYkmHiR3yfCZ8ik~qcBX4-RIEG~0dwXLq=b;1<w}-;Mx+{;~
    z;=Oau^UlG@62|C_6ADDR>mT_ix^<{joR@vj%zp2Y3hM@yi@hFYO|0BvIuRQl{9D(v
    zfGy5J<-;{smVEWU=O?qhJHWg{^+O!j{%I@_C2`TeZfyJVll}eq237;fj_(QH=@~Dz
    zFKqF>`_=RSp9OE)rEOah4uTB4b6Zp}=hllA!WFqMMRfO`HF>#dRfKgWSWaih{0|)o
    zTxWj%n_ZWd@sdr#`lWr|%g|+>(?gHS-GC_qx~T6x^P^)H3IR=@9e{ph@O1TaS?83{
    F1ORUEgYEzT
  • new file 0

    literal 0
    HcmV?d00001
    
    diff --git a/mythtv/themes/default/more_button.png b/mythtv/themes/default/more_button.png
    new file mode 100644
    index 0000000000000000000000000000000000000000..8a493c2159b84b62b98798fa099a047f965d33b1
    GIT binary patch
    literal 1001
    zcmV<F0~Y*=P)<h;3K|Lk000e1NJLTq002Ay002A)1^@s6I{evk00006VoOIv00000
    z008+zyMF)x010qNS#tmY4c7nw4c7reD4Tcy000McNliru;sYHQCmTCLE5`r;19nM7
    zK~!ko?VCMM+dvq{|332)p(IXI@e*}Ox;P4onaW0_PT62V%J)F5ow_3sb0oTFL;^%2
    zI`#{IT2b1RiP9jFhS!q#Iv|RnaqM&ME)L<Dl9TLve$W5z@jdpPLMcT**?{N{YBhx^
    zqMAk(k^U&W6=nsL9RO~?yg@~QcML2VlsC9%VA-I&z&!zbg^fh;u2p-riubahnSfbA
    z?EsyOH2^H&u7O!#y@GZE?iSh=uv=JOpkBe<Ksy4vffWVn1>6am^a`xozMOn+t8lxE
    zy@HO7A(=`+1Ax6f)Q*qwnYY^QRJH{c1-q~SJ)6aA0NC2Xx1}X~kqJ#?!2&=wi&!p)
    zR3d?BB7tZwhg3F;n1~^6$3SGRjtm2lU=V@3|G^*vhJlDoABZe<0l+i?V(F2P+cr^&
    ztQ8C4abvf3eT{|{&@^w`WMuD_z%mK~MFDN~Th<E*B1>IAJfj}~ce~t^r80R6>azGs
    zWIOd}oukO^pU70VUdK(dd7r3M70Sp624$*DWX|7%1DxI5plMY&7Q=|lc`S8ES1R~p
    zeeNm>Fgy&^H$z&`9PaAVV8H8Kh{uthoJ7bpLC?=03{zW6r4Uxthd~a7FqFw)+Cx5Q
    zl*`yZJw?5h?{<}xr%x^MIMS=Dcw-otAOy<Q6&irEa;ged)9#B00GOIWET6{<)-`#x
    zipz}+yjoeo$5znH3b(VxMI>itkg%xa*#ZF!1_JDvdVCxqUB_6tjI*^h><FF1$t0U1
    zB2Cv37M`@$*YTs-gh}at3khjvnxH2qI4_m(lS|TSXUogjA_SP7MWWFFt<`Yt=DKhg
    zL+LaotV8(d2)}oC@yo*_?xIk@VX=r$Ow}5t)OO*)d!?1hU^<`2+tE=3@7jt*e4U@i
    z2cG@dWoS*K3PGP)e*%l%X5a_AV<cYYf}hRF=jS=x%PPC^l{_BfPkH{j9@4#_vRfaC
    zT_m2Ox=cyS&nmO{Mw}wzcWBm6rhWH{hq#Rl50&e6G^$lxSxdZ11(&kaZL6>d=yDnR
    zo16G<xz9zRfJ0fZ|H?x<6S1i!8pX@GIT*SQtyIF%_BLBR+v!f8zT39+yfLj)XrAC*
    z+j{5)x)X3;Y%c8t+$jLQ-9F3%TGSd@IB>VXyLJRXHn?vNd58x0?J*u+0qD7dT7I{`
    Xefs1D*vA*Q00000NkvXXu0mjf=8Vey
  • new file 0

    literal 0
    HcmV?d00001
    
    diff --git a/mythtv/themes/default/muted_button.png b/mythtv/themes/default/muted_button.png
    new file mode 100644
    index 0000000000000000000000000000000000000000..edd7081f791e05f3fc71357926f9696ab8de16e1
    GIT binary patch
    literal 1153
    zcmV-{1b+L8P)<h;3K|Lk000e1NJLTq002Ay002A)1^@s6I{evk00006VoOIv0RI60
    z0RN!9r;`8x010qNS#tmY4c7nw4c7reD4Tcy000McNliru;sYKQ2_4E&LI(f<1P)0=
    zK~!ko)tgIbT}2pxzyH)iu|h6Fpr8Z-6|&OMtrEMlHKG)>X(_e%D2Sj2va_z5MK%^o
    z7b0pXl!6U*(JrjC6k38pSCR)5-B>6p7YgPC0@p{Hzl)p$lj)r2J&(x`cXQ9of6jOQ
    zng1~}2O1VtLi<;N&X-lWrb<_pzf}2Jl@V9lCz^&$`d@@jNu5K$=fHEu->(D9z^``u
    zpl#Sbbq)bD7A(LnV7L_v*8v*o-3?3v2OO6l0{310f^7_Y0yqxra5VW1xX~zZU9ge7
    z27CtWv~LUC2HqFpuB)T?0-M)qsqzwV33$qJc>#D^#66sAv2dN1Rb>=7p8$Igm`sDM
    z9JnFaLC56>z&j!=Wa$Zfg*B6sDEypF2sLYYVJitsH9IF$zdA1WfGH7v%BwH%88*Yg
    z{s&A0SBfYJwh62)>%c`|R)l~1d26k~nqetQEdI>sG9p5^=zRhY=WLusrO8rKuAIxl
    zEf3Ev7FJ~f_yTw`p=lR55{-cUB79%yK0d(4z!_OoEaM{ltja6ET#+oT(eki@EDB&E
    zf_*WDE&O7Av2X-6oRCGmCBlL#gTOP<DA-db7xxL6ge>ZanOLYY4?Lf@00|AcPRDQH
    zUQ`Us<&6?Ha2R?#hb{TXl|_Xitga>xUGrsxq32G^N*PbvS(FKo2Au}$Bd{}N3=2%U
    zthPP@ZvfYU={&GmR(46J;}`Ick&{}nAF_xH47i<Itj8zdDG?r|J#1Mq`}+dClvVkZ
    zg|_?o0Ne#WF7xnN^Vs#0d;oqg?|M`bODDB!8+hC(1{#qzfz8V2hpOVNubI|K;FqW*
    zoGlBR6oP!qrB4AjfxW;vyUgp?vRVC_2L2M52c8B#NGkKHf_3!|8ixHY_RPQ=b-*Tt
    zs#s6Z0_;)X!+v42=5La|z*pER(#STvbS<!1)=h)16ZonTavFg(mw1}aw3dLcfWLvU
    zvat3;7cC%M{p(o7+p;qNe3PeBo@Le|3wTWq>9`o!mlrmVQ~?XspVJ!ecW0moXxqg@
    zsbZjC*rG=k0}(o9&pGy63^Wb9#lkVT`D1e*=TqSSs*8bsrL2*%hIHDAx6;KxTd=84
    zE843)gL`9o5jX@qTeKKx3pCZjIreIgiLfHVaufM+Rj}YV)MCIU?bYrV*?QoliqK&L
    z#X743bpl5x-Yx*6j<##Sm<Yeu5ihF-%N)|i>GBsG?RvoBBv{kS<GBPD>_OZo-aY~D
    z_++Wlz!t3S#MYzGb6JE9--c&d3&-CL*s$^T<xCM+-=PEGRUZFtV1v!=%Xf>OW%M1|
    zRSzq0jm_@{dQFsfO?&CPmSq=#kE(?A%G#>Dsmd)?{!r!HDDkNCewBZUS418G!!ETo
    TQMRbk00000NkvXXu0mjf-nb5j
  • mythtv/themes/default/osd.xml

    literal 0
    HcmV?d00001
    
    diff --git a/mythtv/themes/default/osd.xml b/mythtv/themes/default/osd.xml
    index 961e413..e881a24 100644
    a b  
    256256        </progressbar>
    257257    </window>
    258258
     259    <window name="osd_navigation">
     260        <fontdef name="small" face="DejaVu Sans">
     261            <pixelsize>18</pixelsize>
     262            <color>#FFFFFF</color>
     263            <shadowoffset>1,1</shadowoffset>
     264            <shadowcolor>#000000</shadowcolor>
     265        </fontdef>
     266        <area>62,516,675,80,800x600</area>
     267        <shape name="background">
     268            <area>0,0,100%,100%</area>
     269            <type>roundbox</type>
     270            <fill color="#000000" alpha="200" />
     271            <line color="#222222" alpha="255" width="2" />
     272            <cornerradius>12</cornerradius>
     273        </shape>
     274
     275        <button name="more">
     276            <focusorder>2</focusorder>
     277            <area>6,0,112,75,800x600</area>
     278            <statetype name="buttonstate">
     279                <state name="active">
     280                    <imagetype name="icon">
     281                         <area>46,5,20,20,800x600</area>
     282                        <filename>more_button.png</filename>
     283                    </imagetype>
     284                </state>
     285                <state name="selected">
     286                    <shape name="background">
     287                        <area>44,0,24,30,800x600</area>
     288                        <type>box</type>
     289                        <fill color="#fcdb58" alpha="200" />
     290                    </shape>
     291                    <imagetype name="icon">
     292                         <area>46,5,20,20,800x600</area>
     293                        <filename>more_button.png</filename>
     294                    </imagetype>
     295                    <textarea name="text">
     296                        <area>0,22,112,50,800x600</area>
     297                        <align>allcenter</align>
     298                        <font>small</font>
     299                        <cutdown>none</cutdown>
     300                        <value>More Actions</value>
     301                    </textarea>
     302                </state>
     303                <state name="disabled" from="active" />
     304                <state name="pushed" from="selected" />
     305            </statetype>
     306        </button>
     307
     308        <group name="grp0">
     309            <area>0,0,675,80,800x600</area>
     310
     311            <button name="MENU">
     312                <focusorder>2</focusorder>
     313                <area>75,0,112,75,800x600</area>
     314                <statetype name="buttonstate">
     315                    <state name="active">
     316                        <imagetype name="icon">
     317                            <area>46,5,20,20,800x600</area>
     318                            <filename>menu_button.png</filename>
     319                        </imagetype>
     320                    </state>
     321                    <state name="selected">
     322                        <shape name="background">
     323                            <area>44,0,24,30,800x600</area>
     324                            <type>box</type>
     325                            <fill color="#fcdb58" alpha="200" />
     326                        </shape>
     327                        <imagetype name="icon">
     328                            <area>46,5,20,20,800x600</area>
     329                            <filename>menu_button.png</filename>
     330                        </imagetype>
     331                        <textarea name="text">
     332                            <area>0,22,112,50,800x600</area>
     333                            <align>allcenter</align>
     334                            <font>small</font>
     335                            <cutdown>none</cutdown>
     336                            <value>Menu</value>
     337                        </textarea>
     338                    </state>
     339                    <state name="disabled" from="active" />
     340                    <state name="pushed" from="selected" />
     341                </statetype>
     342            </button>
     343
     344            <button name="JUMPRWND">
     345                <focusorder>2</focusorder>
     346                <area>144,0,112,75,800x600</area>
     347                <statetype name="buttonstate">
     348                    <state name="active">
     349                        <imagetype name="icon">
     350                            <area>46,5,20,20,800x600</area>
     351                            <filename>dbl_left_arrow_button.png</filename>
     352                        </imagetype>
     353                    </state>
     354                    <state name="selected">
     355                        <shape name="background">
     356                            <area>44,0,24,30,800x600</area>
     357                            <type>box</type>
     358                            <fill color="#fcdb58" alpha="200" />
     359                        </shape>
     360                        <imagetype name="icon">
     361                            <area>46,5,20,20,800x600</area>
     362                            <filename>dbl_left_arrow_button.png</filename>
     363                        </imagetype>
     364                        <textarea name="text">
     365                            <area>0,22,112,50,800x600</area>
     366                            <align>allcenter</align>
     367                            <font>small</font>
     368                            <cutdown>none</cutdown>
     369                            <value>Back more</value>
     370                        </textarea>
     371                    </state>
     372                    <state name="disabled" from="active" />
     373                    <state name="pushed" from="selected" />
     374                </statetype>
     375            </button>
     376
     377            <button name="SEEKRWND">
     378                <focusorder>2</focusorder>
     379                <area>213,0,112,75,800x600</area>
     380                <statetype name="buttonstate">
     381                    <state name="active">
     382                        <imagetype name="icon">
     383                            <area>46,5,20,20,800x600</area>
     384                            <filename>left_arrow_button.png</filename>
     385                        </imagetype>
     386                    </state>
     387                    <state name="selected">
     388                        <shape name="background">
     389                            <area>44,0,24,30,800x600</area>
     390                            <type>box</type>
     391                            <fill color="#fcdb58" alpha="200" />
     392                        </shape>
     393                        <imagetype name="icon">
     394                            <area>46,5,20,20,800x600</area>
     395                            <filename>left_arrow_button.png</filename>
     396                        </imagetype>
     397                        <textarea name="text">
     398                            <area>0,22,112,50,800x600</area>
     399                            <align>allcenter</align>
     400                            <font>small</font>
     401                            <cutdown>none</cutdown>
     402                            <value>Jump back</value>
     403                        </textarea>
     404                    </state>
     405                    <state name="disabled" from="active" />
     406                    <state name="pushed" from="selected" />
     407                </statetype>
     408            </button>
     409
     410            <button name="PLAY">
     411                <area>282,0,112,75,800x600</area>
     412                <statetype name="buttonstate">
     413                    <state name="active">
     414                        <imagetype name="icon">
     415                            <area>46,5,20,20,800x600</area>
     416                            <filename>play_button.png</filename>
     417                        </imagetype>
     418                    </state>
     419                    <state name="selected">
     420                        <shape name="background">
     421                            <area>44,0,24,30,800x600</area>
     422                            <type>box</type>
     423                            <fill color="#fcdb58" alpha="200" />
     424                        </shape>
     425                        <imagetype name="icon">
     426                            <area>46,5,20,20,800x600</area>
     427                            <filename>play_button.png</filename>
     428                        </imagetype>
     429                        <textarea name="text">
     430                            <area>0,22,112,50,800x600</area>
     431                            <align>allcenter</align>
     432                            <font>small</font>
     433                            <cutdown>none</cutdown>
     434                            <value>Play</value>
     435                        </textarea>
     436                    </state>
     437                    <state name="disabled" from="active" />
     438                    <state name="pushed" from="selected" />
     439                </statetype>
     440            </button>
     441
     442            <button name="PAUSE">
     443                <area>282,0,112,75,800x600</area>
     444                <statetype name="buttonstate">
     445                    <state name="active">
     446                        <imagetype name="icon">
     447                            <area>46,5,20,20,800x600</area>
     448                            <filename>pause_button.png</filename>
     449                        </imagetype>
     450                    </state>
     451                    <state name="selected">
     452                        <shape name="background">
     453                            <area>44,0,24,30,800x600</area>
     454                            <type>box</type>
     455                            <fill color="#fcdb58" alpha="200" />
     456                        </shape>
     457                        <imagetype name="icon">
     458                            <area>46,5,20,20,800x600</area>
     459                            <filename>pause_button.png</filename>
     460                        </imagetype>
     461                        <textarea name="text">
     462                            <area>0,22,112,50,800x600</area>
     463                            <align>allcenter</align>
     464                            <font>small</font>
     465                            <cutdown>none</cutdown>
     466                            <value>Pause</value>
     467                        </textarea>
     468                    </state>
     469                    <state name="disabled" from="active" />
     470                    <state name="pushed" from="selected" />
     471                </statetype>
     472            </button>
     473
     474            <button name="SEEKFFWD">
     475                <area>351,0,112,75,800x600</area>
     476                <statetype name="buttonstate">
     477                    <state name="active">
     478                        <imagetype name="icon">
     479                            <area>46,5,20,20,800x600</area>
     480                            <filename>right_arrow_button.png</filename>
     481                        </imagetype>
     482                    </state>
     483                    <state name="selected">
     484                        <shape name="background">
     485                            <area>44,0,24,30,800x600</area>
     486                            <type>box</type>
     487                            <fill color="#fcdb58" alpha="200" />
     488                        </shape>
     489                        <imagetype name="icon">
     490                            <area>46,5,20,20,800x600</area>
     491                            <filename>right_arrow_button.png</filename>
     492                        </imagetype>
     493                        <textarea name="text">
     494                            <area>0,22,112,50,800x600</area>
     495                            <align>allcenter</align>
     496                            <font>small</font>
     497                            <cutdown>none</cutdown>
     498                            <value>Jump fwd</value>
     499                        </textarea>
     500                    </state>
     501                    <state name="disabled" from="active" />
     502                    <state name="pushed" from="selected" />
     503                </statetype>
     504            </button>
     505
     506            <button name="JUMPFFWD">
     507                <area>420,0,112,75,800x600</area>
     508                <statetype name="buttonstate">
     509                    <state name="active">
     510                        <imagetype name="icon">
     511                            <area>46,5,20,20,800x600</area>
     512                            <filename>dbl_right_arrow_button.png</filename>
     513                        </imagetype>
     514                    </state>
     515                    <state name="selected">
     516                        <shape name="background">
     517                            <area>44,0,24,30,800x600</area>
     518                            <type>box</type>
     519                            <fill color="#fcdb58" alpha="200" />
     520                        </shape>
     521                        <imagetype name="icon">
     522                            <area>46,5,20,20,800x600</area>
     523                            <filename>dbl_right_arrow_button.png</filename>
     524                        </imagetype>
     525                        <textarea name="text">
     526                            <area>0,22,112,50,800x600</area>
     527                            <align>allcenter</align>
     528                            <font>small</font>
     529                            <cutdown>none</cutdown>
     530                            <value>Fwd more</value>
     531                        </textarea>
     532                    </state>
     533                    <state name="disabled" from="active" />
     534                    <state name="pushed" from="selected" />
     535                </statetype>
     536            </button>
     537
     538            <button name="INFO">
     539                <area>489,0,112,75,800x600</area>
     540                <statetype name="buttonstate">
     541                    <state name="active">
     542                        <imagetype name="icon">
     543                            <area>46,5,20,20,800x600</area>
     544                            <filename>info_button.png</filename>
     545                        </imagetype>
     546                    </state>
     547                    <state name="selected">
     548                        <shape name="background">
     549                            <area>44,0,24,30,800x600</area>
     550                            <type>box</type>
     551                            <fill color="#fcdb58" alpha="200" />
     552                        </shape>
     553                        <imagetype name="icon">
     554                            <area>46,5,20,20,800x600</area>
     555                            <filename>info_button.png</filename>
     556                        </imagetype>
     557                        <textarea name="text">
     558                            <area>0,22,112,50,800x600</area>
     559                            <align>allcenter</align>
     560                            <font>small</font>
     561                            <cutdown>none</cutdown>
     562                            <value>Information</value>
     563                        </textarea>
     564                    </state>
     565                    <state name="disabled" from="active" />
     566                    <state name="pushed" from="selected" />
     567                </statetype>
     568            </button>
     569
     570            <button name="MUTE">
     571                <area>558,0,112,75,800x600</area>
     572                <statetype name="buttonstate">
     573                    <state name="active">
     574                        <imagetype name="mutebn">
     575                            <area>46,5,20,20,800x600</area>
     576                            <filename>unmuted_button.png</filename>
     577                        </imagetype>
     578                    </state>
     579                    <state name="selected">
     580                        <shape name="background">
     581                            <area>44,0,24,30,800x600</area>
     582                            <type>box</type>
     583                            <fill color="#fcdb58" alpha="200" />
     584                        </shape>
     585                        <imagetype name="icon">
     586                            <area>46,5,20,20,800x600</area>
     587                            <filename>unmuted_button.png</filename>
     588                        </imagetype>
     589                        <textarea name="text">
     590                            <area>0,22,112,50,800x600</area>
     591                            <align>allcenter</align>
     592                            <font>small</font>
     593                            <cutdown>none</cutdown>
     594                            <value>Mute</value>
     595                        </textarea>
     596                    </state>
     597                    <state name="disabled" from="active" />
     598                    <state name="pushed" from="selected" />
     599                </statetype>
     600            </button>
     601
     602            <button name="unmute">
     603                <area>558,0,112,75,800x600</area>
     604                <statetype name="buttonstate">
     605                    <state name="active">
     606                        <imagetype name="icon">
     607                            <area>46,5,20,20,800x600</area>
     608                            <filename>muted_button.png</filename>
     609                        </imagetype>
     610                    </state>
     611                    <state name="selected">
     612                        <shape name="background">
     613                            <area>44,0,24,30,800x600</area>
     614                            <type>box</type>
     615                            <fill color="#fcdb58" alpha="200" />
     616                        </shape>
     617                        <imagetype name="icon">
     618                            <area>46,5,20,20,800x600</area>
     619                            <filename>muted_button.png</filename>
     620                        </imagetype>
     621                        <textarea name="text">
     622                            <area>0,22,112,50,800x600</area>
     623                            <align>allcenter</align>
     624                            <font>small</font>
     625                            <cutdown>none</cutdown>
     626                            <value>Unmute</value>
     627                        </textarea>
     628                    </state>
     629                    <state name="disabled" from="active" />
     630                    <state name="pushed" from="selected" />
     631                </statetype>
     632            </button>
     633        </group>
     634
     635        <group name="grp1">
     636            <area>0,0,675,80,800x600</area>
     637
     638            <button name="TOGGLEFILL">
     639                <area>75,0,112,75,800x600</area>
     640                <statetype name="buttonstate">
     641                    <state name="active">
     642                        <imagetype name="icon">
     643                            <area>46,5,20,20,800x600</area>
     644                            <filename>fill_button.png</filename>
     645                        </imagetype>
     646                    </state>
     647                    <state name="selected">
     648                        <shape name="background">
     649                            <area>44,0,24,30,800x600</area>
     650                            <type>box</type>
     651                            <fill color="#fcdb58" alpha="200" />
     652                        </shape>
     653                        <imagetype name="icon">
     654                            <area>46,5,20,20,800x600</area>
     655                            <filename>fill_button.png</filename>
     656                        </imagetype>
     657                        <textarea name="text">
     658                            <area>0,22,112,50,800x600</area>
     659                            <align>allcenter</align>
     660                            <font>small</font>
     661                            <cutdown>none</cutdown>
     662                            <value>Fill</value>
     663                        </textarea>
     664                    </state>
     665                    <state name="disabled" from="active" />
     666                    <state name="pushed" from="selected" />200
     667                </statetype>
     668            </button>
     669
     670            <button name="TOGGLEASPECT">
     671                <area>144,0,112,75,800x600</area>
     672                <statetype name="buttonstate">
     673                    <state name="active">
     674                        <imagetype name="icon">
     675                            <area>46,5,20,20,800x600</area>
     676                            <filename>aspect_button.png</filename>
     677                        </imagetype>
     678                    </state>
     679                    <state name="selected">
     680                        <shape name="background">
     681                            <area>44,0,24,30,800x600</area>
     682                            <type>box</type>
     683                            <fill color="#fcdb58" alpha="200" />
     684                        </shape>
     685                        <imagetype name="icon">
     686                            <area>46,5,20,20,800x600</area>
     687                            <filename>aspect_button.png</filename>
     688                        </imagetype>
     689                        <textarea name="text">
     690                            <area>0,22,112,50,800x600</area>
     691                            <align>allcenter</align>
     692                            <font>small</font>
     693                            <cutdown>none</cutdown>
     694                            <value>Aspect Ratio</value>
     695                        </textarea>
     696                    </state>
     697                    <state name="disabled" from="active" />
     698                    <state name="pushed" from="selected" />
     699                </statetype>
     700            </button>
     701
     702            <button name="NEXTCC">
     703                <area>213,0,112,75,800x600</area>
     704                <statetype name="buttonstate">
     705                    <state name="active">
     706                        <imagetype name="icon">
     707                            <area>46,5,20,20,800x600</area>
     708                            <filename>cc_button.png</filename>
     709                        </imagetype>
     710                    </state>
     711                    <state name="selected">
     712                        <shape name="background">
     713                            <area>44,0,24,30,800x600</area>
     714                            <type>box</type>
     715                            <fill color="#fcdb58" alpha="200" />
     716                        </shape>
     717                        <imagetype name="icon">
     718                            <area>46,5,20,20,800x600</area>
     719                            <filename>cc_button.png</filename>
     720                        </imagetype>
     721                        <textarea name="text">
     722                            <area>0,22,112,50,800x600</area>
     723                            <align>allcenter</align>
     724                            <font>small</font>
     725                            <cutdown>none</cutdown>
     726                            <value>Captions</value>
     727                        </textarea>
     728                    </state>
     729                    <state name="disabled" from="active" />
     730                    <state name="pushed" from="selected" />
     731                </statetype>
     732            </button>
     733
     734            <button name="JUMPSTART">
     735                <area>282,0,112,75,800x600</area>
     736                <statetype name="buttonstate">
     737                    <state name="active">
     738                        <imagetype name="icon">
     739                            <area>46,5,20,20,800x600</area>
     740                            <filename>jump_start_button.png</filename>
     741                        </imagetype>
     742                    </state>
     743                    <state name="selected">
     744                        <shape name="background">
     745                            <area>44,0,24,30,800x600</area>
     746                            <type>box</type>
     747                            <fill color="#fcdb58" alpha="200" />
     748                        </shape>
     749                        <imagetype name="icon">
     750                            <area>46,5,20,20,800x600</area>
     751                            <filename>jump_start_button.png</filename>
     752                        </imagetype>
     753                        <textarea name="text">
     754                            <area>0,22,112,50,800x600</area>
     755                            <align>allcenter</align>
     756                            <font>small</font>
     757                            <cutdown>none</cutdown>
     758                            <value>Jump to start</value>
     759                        </textarea>
     760                    </state>
     761                    <state name="disabled" from="active" />
     762                    <state name="pushed" from="selected" />
     763                </statetype>
     764            </button>
     765
     766            <button name="SETBOOKMARK">
     767                <area>351,0,112,75,800x600</area>
     768                <statetype name="buttonstate">
     769                    <state name="active">
     770                        <imagetype name="icon">
     771                            <area>46,5,20,20,800x600</area>
     772                            <filename>bookmark_button.png</filename>
     773                        </imagetype>
     774                    </state>
     775                    <state name="selected">
     776                        <shape name="background">
     777                            <area>44,0,24,30,800x600</area>
     778                            <type>box</type>
     779                            <fill color="#fcdb58" alpha="200" />
     780                        </shape>
     781                        <imagetype name="icon">
     782                            <area>46,5,20,20,800x600</area>
     783                            <filename>bookmark_button.png</filename>
     784                        </imagetype>
     785                        <textarea name="text">
     786                            <area>0,22,112,50,800x600</area>
     787                            <align>allcenter</align>
     788                            <font>small</font>
     789                            <cutdown>none</cutdown>
     790                            <value>Bookmark</value>
     791                        </textarea>
     792                    </state>
     793                    <state name="disabled" from="active" />
     794                    <state name="pushed" from="selected" />
     795                </statetype>
     796            </button>
     797
     798            <button name="JUMPBKMRK">
     799                <area>420,0,112,75,800x600</area>
     800                <statetype name="buttonstate">
     801                    <state name="active">
     802                        <imagetype name="icon">
     803                            <area>46,5,20,20,800x600</area>
     804                            <filename>jump_bookmark_button.png</filename>
     805                        </imagetype>
     806                    </state>
     807                    <state name="selected">
     808                        <shape name="background">
     809                            <area>44,0,24,30,800x600</area>
     810                            <type>box</type>
     811                            <fill color="#fcdb58" alpha="200" />
     812                        </shape>
     813                        <imagetype name="icon">
     814                            <area>46,5,20,20,800x600</area>
     815                            <filename>jump_bookmark_button.png</filename>
     816                        </imagetype>
     817                        <textarea name="text">
     818                            <area>0,22,112,50,800x600</area>
     819                            <align>allcenter</align>
     820                            <font>small</font>
     821                            <cutdown>none</cutdown>
     822                            <value>Jump bkmark</value>
     823                        </textarea>
     824                    </state>
     825                    <state name="disabled" from="active" />
     826                    <state name="pushed" from="selected" />
     827                </statetype>
     828            </button>
     829        </group>
     830
     831        <group name="grp2">
     832            <area>0,0,675,80,800x600</area>
     833
     834            <button name="RWNDSTICKY">
     835                <focusorder>2</focusorder>
     836                <area>213,0,112,75,800x600</area>
     837                <statetype name="buttonstate">
     838                    <state name="active">
     839                        <imagetype name="icon">
     840                            <area>46,5,20,20,800x600</area>
     841                            <filename>rew_button.png</filename>
     842                        </imagetype>
     843                    </state>
     844                    <state name="selected">
     845                        <shape name="background">
     846                            <area>44,0,24,30,800x600</area>
     847                            <type>box</type>
     848                            <fill color="#fcdb58" alpha="200" />
     849                        </shape>
     850                        <imagetype name="icon">
     851                            <area>46,5,20,20,800x600</area>
     852                            <filename>rew_button.png</filename>
     853                        </imagetype>
     854                        <textarea name="text">
     855                            <area>0,22,112,50,800x600</area>
     856                            <align>allcenter</align>
     857                            <font>small</font>
     858                            <cutdown>none</cutdown>
     859                            <value>Rewind</value>
     860                        </textarea>
     861                    </state>
     862                    <state name="disabled" from="active" />
     863                    <state name="pushed" from="selected" />
     864                </statetype>
     865            </button>
     866
     867            <button name="PLAY#">
     868                <area>282,0,112,75,800x600</area>
     869                <statetype name="buttonstate">
     870                    <state name="active">
     871                        <imagetype name="icon">
     872                            <area>46,5,20,20,800x600</area>
     873                            <filename>play_button.png</filename>
     874                        </imagetype>
     875                    </state>
     876                    <state name="selected">
     877                        <shape name="background">
     878                            <area>44,0,24,30,800x600</area>
     879                            <type>box</type>
     880                            <fill color="#fcdb58" alpha="200" />
     881                        </shape>
     882                        <imagetype name="icon">
     883                            <area>46,5,20,20,800x600</area>
     884                            <filename>play_button.png</filename>
     885                        </imagetype>
     886                        <textarea name="text">
     887                            <area>0,22,112,50,800x600</area>
     888                            <align>allcenter</align>
     889                            <font>small</font>
     890                            <cutdown>none</cutdown>
     891                            <value>Play</value>
     892                        </textarea>
     893                    </state>
     894                    <state name="disabled" from="active" />
     895                    <state name="pushed" from="selected" />
     896                </statetype>
     897            </button>
     898
     899            <button name="FFWDSTICKY">
     900                <area>351,0,112,75,800x600</area>
     901                <statetype name="buttonstate">
     902                    <state name="active">
     903                        <imagetype name="icon">
     904                            <area>46,5,20,20,800x600</area>
     905                            <filename>ff_button.png</filename>
     906                        </imagetype>
     907                    </state>
     908                    <state name="selected">
     909                        <shape name="background">
     910                            <area>44,0,24,30,800x600</area>
     911                            <type>box</type>
     912                            <fill color="#fcdb58" alpha="200" />
     913                        </shape>
     914                        <imagetype name="icon">
     915                            <area>46,5,20,20,800x600</area>
     916                            <filename>ff_button.png</filename>
     917                        </imagetype>
     918                        <textarea name="text">
     919                            <area>0,22,112,50,800x600</area>
     920                            <align>allcenter</align>
     921                            <font>small</font>
     922                            <cutdown>none</cutdown>
     923                            <value>Fast fwd</value>
     924                        </textarea>
     925                    </state>
     926                    <state name="disabled" from="active" />
     927                    <state name="pushed" from="selected" />
     928                </statetype>
     929            </button>
     930        </group>
     931    </window>
     932
    259933    <window name="program_info">
    260934        <fontdef name="small" face="DejaVu Sans">
    261935            <pixelsize>18</pixelsize>
  • new file mythtv/themes/default/pause_button.png

    diff --git a/mythtv/themes/default/pause_button.png b/mythtv/themes/default/pause_button.png
    new file mode 100644
    index 0000000000000000000000000000000000000000..3c4dd48071057bf349a643ac219fa1cf4ba83ad1
    GIT binary patch
    literal 843
    zcmeAS@N?(olHy`uVBq!ia0vp^T0m^W!3HD+d^GL?DYhhUcNd2LAh=-f^2tCE&H|6f
    zVxW%eAk65bF}ngJSXSVe4y3{Q84id&TE@V@<nQU?7?N@C?W~P{(vAXc`)$vk6g$Y6
    zXdPsg%&C~NlzY-rkxq?CA9zAEgFf<Aa<9_xI%+&&iNivMNF`k-6HZ^3gQ61BDX+iT
    zXx6Cpv82Dgl(VtE_~@BG-`~EOw!c%!jzPbX_tQ)650XE^))tvYb|{H8UO!;{AlL7I
    z?E{CP6T1urSQ5_UTwY}$)1-C!K=A{Cf2^!>OSeA#|6x5d$A(0ni0-!~JN$&!Xw57;
    z<{%+7?erAah`^<+HM^FV%4J9%?%JwySMRQcTG-h(6E<Cu39YPh-4_CuDjHa2E<gPB
    z9ACV@|4tb`%@oO2MaR`gFR#^&3)Rw5^ZeG|+_2#G)2#C8@86n<7oI8bs^7HDEw_5M
    z`Bo`!PorBJk9+0hiz`cx<SW#?aJ!VhFh*^Q*zCB}Ykehe>WiGVY(LIwV0X*eT>N|0
    z;+Y?VC!Xv*e>TuVv6V-(n`Nm`5|8md3j?-bEybfsMiK%(ul*z6{aMbpLy7;DW9)SH
    zuM5_lZmtTr{?yTS#p_QC<gS!f2JpYyWwV04G*<3P^DaFs%4Ydky?Cq3DUkj}`#^%j
    z!u!Wp8L1vKGF*|dzh9PT!x@3A9zZKpO&wVx<CmM+^KWj6pXIws$z#@zlU+G8Hr8+U
    zEG?c~aqYwD7JId>e{I1<$2xno+7JBBn!5SqK8+;N9~nIQYg~(ub-I*pxmX+eO35V4
    zbXpP1igOKS7j`dS%f2PFQt43E(nCpn|K}gr$-thu&`@{(mxek<`-a)oS>~B<XKJms
    z{CmE!+5Yz7m%Cab7=a0oLAAs+q9i4;B-JXpC>2OC7#SEE>KYp98d-)I8d({bS(%#Y
    z8kk!d7(6wLQAE*@o1c=IR*9~`*vixhqM?nK`xH=vB*=!~{Irtt#G+J&^73-M%)IR4
    c<ivthz5Jr|+3#$mfQlGAUHx3vIVCg!0BoyNHvj+t
  • new file 0

    literal 0
    HcmV?d00001
    
    diff --git a/mythtv/themes/default/play_button.png b/mythtv/themes/default/play_button.png
    new file mode 100644
    index 0000000000000000000000000000000000000000..f80ad602fd8de2c07d1b23ad0373de288499096a
    GIT binary patch
    literal 2442
    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
    IM6N<$g4RuBGXMYp
  • new file 0

    literal 0
    HcmV?d00001
    
    diff --git a/mythtv/themes/default/rew_button.png b/mythtv/themes/default/rew_button.png
    new file mode 100644
    index 0000000000000000000000000000000000000000..6a2393f64afaa4c6dcd4c1567549aafb38edd0f3
    GIT binary patch
    literal 3567
    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
  • new file 0

    literal 0
    HcmV?d00001
    
    diff --git a/mythtv/themes/default/right_arrow_button.png b/mythtv/themes/default/right_arrow_button.png
    new file mode 100644
    index 0000000000000000000000000000000000000000..23e6d86a804ea7763b13263cac335c071fc7d7b8
    GIT binary patch
    literal 1050
    zcmV+#1m*jQP)<h;3K|Lk000e1NJLTq002Ay002A)1^@s6I{evk00006VoOIv0RI60
    z0RN!9r;`8x010qNS#tmY4c7nw4c7reD4Tcy000McNliru;sgd0I58iRNZkMc1E)zu
    zK~!ko?b<;|n`a!y@vr)B(=IyOLuD{jEHV}vnzS1wX_wiqdf25xrMnc`!=Syj6g^nl
    z;Gt?rO=-c>ODob#@gQXolx4Ft8735CW(^Ev7%C#+?baB<$V`pdVGRx4`%c^1nD@=|
    zyCu&<o_u)2^M9T{DFHetqLfl(5nurpU;!3j0Ty5Z7GPb04F<|4Civm*U7B|8<b!;!
    zT?QP=H~7H=TFqw6Mk9@9&R~%w;(-8v>JohYItPy*rzQKkyqpTV9rKA3)INR6LNrQJ
    zS3l{R8mfTR*WYh!<ny5+E_yt)HZ-u~eXU=z9rt0Ija?%nd;?gO##dHI4i4gRI0&z;
    zk<mOjn?!;cpbuzN8kc2a*RJv7ojXKz0nULh0bRhS3d5PnNq+0-U^E<NNf%&%%1Wg9
    zc?`gL;A4d;$>Cvq?d^;&F7iV2;B0DZshFPT3!n{<6sF8yy~<c$AHVAYoXz3G?DBZ{
    z68QGz_k2B%PM##>_3}&?;A~ExrvBzlz6MMR!|Q%OfeRP-B^qU=U{6|ak|$3{xLiae
    z3E5_&8u%plfz{Pfd-g2m-MdNoe8e^?V+9We$Yj9pN4|B7a9tg%Mk6)AM>$i<Ef$RJ
    z?bOHPBqk?W)a*}MZDZ^2r`c}jAShlwMvfh0Dik823vlkn*4xW>CKD!wjcpAW*t3VZ
    z=g(i2v64h$YmaUPnv2!d|CYF70Rzkf{lx?Z$P`<PCtYmdGO38Lzn(kCl%~tlzI{|V
    zoitmm>{qGB08^cvOx(WBAE?|$3O*(iRW29JRx1|ZLzQW>Za2a1ZX)aJuQp~$YtZg)
    zn(THC02ONG$L+?~+e<|0T&)T4-n~@z^l-#(XFsSm`2HFgz~^ufT3#lt_F0k+pv%L<
    z_%B~37>oV48>$KLCZQ>>m%x=P_-1A{-^(s2u+fOY>E!4J&~z|JsH=;Ij~}aF0}C3Q
    z1GS*szylx>VY;V>pGQZL-*&BS1vfOX!|9}{rG>Bl4>~tT)a_>U-aY2tb<J%7*Vj|w
    za&crMs4Nq^aRX2G(6ANBJ9u!AqphvjfGV{)OG_l~-^c545Kg67-^%s#4o;<5Q^O{c
    zEDsIw(?+%QU6S{+bZIFi@i?c*X}hkj^0&vs!%LS4$TF$-xqjZC@XK@U_rQ2MjbUtz
    z@y<>j&CYJFudKNzoK0IBpDiqq3<lr4mTD5bT@nA{5nurpU;!3j0Ty5Z7T_()KQeeU
    UaV$kOW&i*H07*qoM6N<$f(zB?y8r+H
  • new file 0

    literal 0
    HcmV?d00001
    
    diff --git a/mythtv/themes/default/stop_button.png b/mythtv/themes/default/stop_button.png
    new file mode 100644
    index 0000000000000000000000000000000000000000..1a9010e9954402ddc2c7f7df73c9c7742ccfe94a
    GIT binary patch
    literal 971
    zcmeAS@N?(olHy`uVBq!ia0vp^HXzKw1|+Ti+$;i8Y)RhkE)4%caKYZ?lYt_f1s;*b
    zKpodXn9)gNb_GbVtiUlHNQ3n=h|XkIU|?W6@9E+gl5y|tY)9|g2@=Qa^Czi=UR=9*
    z-DEzk)o;wg&K|t|;$Wk>{Xx6C`x@d(4EXcR6K`@^^Bm!;5|}Ny_Q4w;uTO6#Xz=W@
    z;9si$p1;WR)1lAaar3@^`XlNf!f3#|hv^<u?gCC5-FN;%&JV;duzqXoKTw_!v9>Ar
    zgdKBOL+R3tNHP5>Npdr!%D?_UC}N<`6xk-UkjaK|pQ~Uk`wY#L`;5|_hjL_!=c=e=
    zdZ`$_`}Mv(DB<>vb>3G$SHx*;WYQ7qx3_+ByF&JcK%yQGr?qTfQ^Vu9{?iX9T->4h
    z?(i3rrEblU_m|(x+8DDwIJk@V0gHqMP`RmRg-qKV8JQ2s)w2&PBnY&{Fy92K?+jfX
    z_^xbcN3vUXcEIY5FLtfzdU7cDbdqM@&Q~QCw{ATuD4+iC?4w7sG!9LuNN?ZAQ6aaq
    zZ1&EgnM+NU<}&&&o#8JuN#TJ7hlI%MD?7OB8MqWUBv=@adpZS~JY42n_oX89ROR~P
    zPhV<Y_jwS%*ZbF(DX)QUHBn`iW8CIkc&_U}!3mERAK^ro6I|*H(lf3(y|I%>ylZ%9
    zS8_|~agNu0g4bk~*I2tnl=p0SN3=w@jq(Josr=#EOV7IpaIG$2@@QP>D%T-#%dBki
    z!8eDPQWFlb{eSNwCZ=I7b>^0tnd^_kOuLlk?9^NLKKOgBmO1ya*pJRBj5YJS-UpY*
    z#t5EkSjYS(U2@y=iy2!Z`jXweo*uqBS%&dLt=8<>dvdl$e6va0)T4i3AM=~e0L`ft
    zvFn4QqfZ}yHrsctlbpCx4ePfM5kuxZ3p+mcxcxs;af!3<<BoamJ3}4`{b1O$yyIgG
    z<NdDh{xQ?TcGgH=S!Gaplbx}yTOd`^-t`4Tb?f7)!E2pFF0$J(K3C$o^krM(O`kZC
    z_xw+IyQ~*g)HB-luqFOIb%_a>&Q(iXBT7;dOH!?pi&B9UgOP!up{}8ku90Pkp^=q=
    znU$%Tu7SCgfx%O=7)2Bfx%nxXX_e?2jIB(KAR5|uxlaK#NP=t#&QB{TPb^AhC@(M9
    g%goCzPEIUH)ypqRpZ(583aE&|)78&qol`;+0FJ4V#sB~S
  • new file 0

    literal 0
    HcmV?d00001
    
    diff --git a/mythtv/themes/default/unmuted_button.png b/mythtv/themes/default/unmuted_button.png
    new file mode 100644
    index 0000000000000000000000000000000000000000..b90c5c322b8496ba95b455201058491e5950ed3b
    GIT binary patch
    literal 528
    zcmV+r0`L8aP)<h;3K|Lk000e1NJLTq002Ay002A)1^@s6I{evk00006VoOIv0RI60
    z0RN!9r;`8x010qNS#tmY4c7nw4c7reD4Tcy000McNliru;sYKN4FV<pNF4wG0i8)i
    zK~!ko<(okg!ypJnmB|6T|0%tJU3DhSXp9E*f9kHCB0M30jmEHe<Q&TNyOcs)r9bY5
    zT@5V=uq(&$FQ7|2j0S58j0kH6j0$T4j0~#|j1H>`tPPuUC>9HNpnLT@zgA-+EFr9=
    zOPHQljW8D$SS|g+2K&~IhyqbdN>A(>O=f~zJD<Re+Ajfoq!gm&UKt+viML0*e4vBo
    z{0rTJ%Q=)r9yrTmd-!Z@?emO0O-NrWOE0uri^B+f3*CzZR^TaEc;J-gz1*6Qp$?CZ
    zayJh}NKZgF<(V1}6*;P;Re_G9i$s^DpL)9WJ9lNt&E{dWy>!uORUpbJw0QGuPfk3;
    z*5t(@Y`mLCh+)gjeD2CpuTHZ9msx1>1bhBZi?Y+Y8a=v!sL3Bp&*aQGFWTLb)}gk8
    z8Pwh8!Qy3Fv|7oDXEj>G{)F_1FzV}7vyfhS+*ez_>`?kf=Uct9Yo&MT5)?x$z1rP7
    z?x>fmqD5WFEI92IfZZ8<OQ(elZPr?%LYwx|h|tRn>LoLG_m)t+z1)c1SMfe&CaoFF
    SfI$oZ0000<MNUMnLSTY;80fM9