Ticket #4517: 0001-Reworked-patch-from-4517-sort-items-in-UPnP-video.patch

File 0001-Reworked-patch-from-4517-sort-items-in-UPnP-video.patch, 4.5 KB (added by beirdo, 14 years ago)
  • mythtv/libs/libmythupnp/upnpcds.cpp

    From 771629c6828fe024d7452ce81d901b96d28b48c8 Mon Sep 17 00:00:00 2001
    From: Gavin Hurlbut <gjhurlbu@gmail.com>
    Date: Sun, 15 Aug 2010 23:22:24 -0700
    Subject: [PATCH] Reworked patch from #4517 - sort items in UPnP video
    
    
    diff --git a/mythtv/libs/libmythupnp/upnpcds.cpp b/mythtv/libs/libmythupnp/upnpcds.cpp
    index 9f55c5b..df06eb9 100644
    a b void UPnpCDSExtension::CreateItems( UPnpCDSRequest *pRequest, 
    12091209    if (query.isConnected())
    12101210    {
    12111211        QString sWhere( "" );
     1212        QString sOrder( "" );
    12121213
    12131214        if ( sKey.length() > 0)
    12141215        {
    void UPnpCDSExtension::CreateItems( UPnpCDSRequest *pRequest, 
    12161217                       .arg( pInfo->column );
    12171218        }
    12181219
     1220        QString orderColumn( pInfo->orderColumn );
     1221        if (orderColumn.length() != 0) {
     1222            sOrder = QString( "ORDER BY %1 " )
     1223                       .arg( orderColumn );
     1224        }
     1225
    12191226        QString sSQL = QString( "%1 %2 LIMIT %3, %4" )
    12201227                          .arg( GetItemListSQL( pInfo->column )  )
    1221                           .arg( sWhere )
     1228                          .arg( sWhere + sOrder )
    12221229                          .arg( pRequest->m_nStartingIndex  )
    12231230                          .arg( pRequest->m_nRequestedCount );
    12241231
  • mythtv/libs/libmythupnp/upnpcds.h

    diff --git a/mythtv/libs/libmythupnp/upnpcds.h b/mythtv/libs/libmythupnp/upnpcds.h
    index b645ef9..6d6a358 100644
    a b typedef struct 
    129129    const char *column;
    130130    const char *sql;
    131131    const char *where;
     132    const char *orderColumn;
    132133
    133134} UPnpCDSRootInfo;
    134135         
  • mythtv/programs/mythbackend/upnpcdsmusic.cpp

    diff --git a/mythtv/programs/mythbackend/upnpcdsmusic.cpp b/mythtv/programs/mythbackend/upnpcdsmusic.cpp
    index 43fbe6a..3db3138 100644
    a b UPnpCDSRootInfo UPnpCDSMusic::g_RootNodes[] = 
    5353            "FROM music_songs song "
    5454            "%1 "
    5555            "ORDER BY name",
    56         "" },
     56        "", "" },
    5757
    5858/*
    5959This is currently broken... need to handle list of items with single parent (like 'All Music')
  • mythtv/programs/mythbackend/upnpcdstv.cpp

    diff --git a/mythtv/programs/mythbackend/upnpcdstv.cpp b/mythtv/programs/mythbackend/upnpcdstv.cpp
    index 2fbd5f3..9efd637 100644
    a b UPnpCDSRootInfo UPnpCDSTv::g_RootNodes[] = 
    4747            "FROM recorded "
    4848            "%1 "
    4949            "ORDER BY starttime DESC",
    50         "" },
     50        "", "" },
    5151
    5252    {   "By Title",
    5353        "title",
    UPnpCDSRootInfo UPnpCDSTv::g_RootNodes[] = 
    5858            "%1 "
    5959            "GROUP BY title "
    6060            "ORDER BY title",
    61         "WHERE title=:KEY" },
     61        "WHERE title=:KEY", "" },
    6262
    6363    {   "By Genre",
    6464        "category",
    UPnpCDSRootInfo UPnpCDSTv::g_RootNodes[] = 
    6969            "%1 "
    7070            "GROUP BY category "
    7171            "ORDER BY category",
    72         "WHERE category=:KEY" },
     72        "WHERE category=:KEY", "" },
    7373
    7474    {   "By Date",
    7575        "DATE_FORMAT(starttime, '%Y-%m-%d')",
    UPnpCDSRootInfo UPnpCDSTv::g_RootNodes[] = 
    8080            "%1 "
    8181            "GROUP BY name "
    8282            "ORDER BY starttime DESC",
    83         "WHERE DATE_FORMAT(starttime, '%Y-%m-%d') =:KEY" },
     83        "WHERE DATE_FORMAT(starttime, '%Y-%m-%d') =:KEY", "" },
    8484
    8585    {   "By Channel",
    8686        "chanid",
    UPnpCDSRootInfo UPnpCDSTv::g_RootNodes[] = 
    9292            "%1 "
    9393            "GROUP BY name "
    9494            "ORDER BY channel.chanid",
    95         "WHERE channel.chanid=:KEY" },
     95        "WHERE channel.chanid=:KEY", "" },
    9696
    9797
    9898    {   "By Group",
    UPnpCDSRootInfo UPnpCDSTv::g_RootNodes[] = 
    103103            "%1 "
    104104            "GROUP BY recgroup "
    105105            "ORDER BY recgroup",
    106         "WHERE recgroup=:KEY" }
     106        "WHERE recgroup=:KEY", "" }
    107107};
    108108
    109109int UPnpCDSTv::g_nRootCount = sizeof( g_RootNodes ) / sizeof( UPnpCDSRootInfo );
  • mythtv/programs/mythbackend/upnpcdsvideo.cpp

    diff --git a/mythtv/programs/mythbackend/upnpcdsvideo.cpp b/mythtv/programs/mythbackend/upnpcdsvideo.cpp
    index 859e6ea..bfd91dc 100644
    a b UPnpCDSRootInfo UPnpCDSVideo::g_RootNodes[] = 
    3131            "FROM upnpmedia "
    3232            "%1 "
    3333            "ORDER BY title",
    34         "" }
     34        "", "title" }
    3535
    3636};
    3737