Hello community, here is the log from the commit of package smtube for openSUSE:Factory checked in at 2016-01-01 19:47:52 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/smtube (Old) and /work/SRC/openSUSE:Factory/.smtube.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "smtube" Changes: -------- --- /work/SRC/openSUSE:Factory/smtube/smtube.changes 2015-10-02 09:23:34.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.smtube.new/smtube.changes 2016-01-01 19:49:58.000000000 +0100 @@ -1,0 +2,7 @@ +Sun Dec 27 12:44:41 UTC 2015 - [email protected] + +- Update to 15.11.0: + * Fix for VEVO videos. + * Add support for YouTube live streams. + +------------------------------------------------------------------- Old: ---- smtube-15.9.0.tar.bz2 New: ---- smtube-15.11.0.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ smtube.spec ++++++ --- /var/tmp/diff_new_pack.81HVR0/_old 2016-01-01 19:49:59.000000000 +0100 +++ /var/tmp/diff_new_pack.81HVR0/_new 2016-01-01 19:49:59.000000000 +0100 @@ -1,8 +1,8 @@ # # spec file for package smtube # -# Copyright (c) 2012 Pascal Bleser <[email protected]> # Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2012 Pascal Bleser <[email protected]> # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,13 +16,14 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # + Name: smtube -Version: 15.9.0 +Version: 15.11.0 Release: 0 Summary: Small Youtube Browser License: GPL-2.0+ Group: Productivity/Multimedia/Video/Players -URL: http://smtube.sourceforge.net/ +Url: http://smtube.sourceforge.net/ Source0: http://sourceforge.net/projects/smtube/files/SMTube/%{version}/smtube-%{version}.tar.bz2 # Fix 'File is compiled without RPM_OPT_FLAGS' Patch0: %{name}-src_%{name}.pro.patch ++++++ smtube-15.9.0.tar.bz2 -> smtube-15.11.0.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/smtube-15.9.0/Changelog new/smtube-15.11.0/Changelog --- old/smtube-15.9.0/Changelog 2015-09-25 23:33:23.000000000 +0200 +++ new/smtube-15.11.0/Changelog 2015-11-18 01:21:40.000000000 +0100 @@ -1,3 +1,16 @@ +Version 15.11: + +(2015-11-17) + * Add support for YouTube live streams. + * Add the Hebrew translation. + +(2015-11-10) + * Fix the signature code. + +(2015-11-04) + * Open m3u8 URLs. + + Version 15.9: (2015-09-24) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/smtube-15.9.0/Release_notes.txt new/smtube-15.11.0/Release_notes.txt --- old/smtube-15.9.0/Release_notes.txt 2015-09-25 23:33:23.000000000 +0200 +++ new/smtube-15.11.0/Release_notes.txt 2015-11-18 01:21:40.000000000 +0100 @@ -1,10 +1,10 @@ -Version 15.9 +Version 15.11 + * Fix for VEVO videos. + * Add support for YouTube live streams. +Version 15.9 * Fix the 'can't find URL' error when using Qt 5. - Version 15.8 - * Improve support for VEVO videos. * Possibility to play the audio only. - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/smtube-15.9.0/create_deb.sh new/smtube-15.11.0/create_deb.sh --- old/smtube-15.9.0/create_deb.sh 2015-09-27 23:24:38.000000000 +0200 +++ new/smtube-15.11.0/create_deb.sh 2015-11-18 23:47:42.000000000 +0100 @@ -4,7 +4,7 @@ cp debian-rvm/changelog-orig debian-rvm/changelog ./get_svn_revision.sh -#dch -v 15.9.0-`cat svn_revision` "New version" +#dch -v 15.11.0-`cat svn_revision` "New version" #dpkg-buildpackage -rfakeroot diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/smtube-15.9.0/debian-rvm/changelog-orig new/smtube-15.11.0/debian-rvm/changelog-orig --- old/smtube-15.9.0/debian-rvm/changelog-orig 2015-09-27 23:24:38.000000000 +0200 +++ new/smtube-15.11.0/debian-rvm/changelog-orig 2015-11-18 23:47:42.000000000 +0100 @@ -1,3 +1,10 @@ +smtube (15.11.0) precise; urgency=low + + * Fix for VEVO videos. + * Add support for YouTube live streams. + + -- Ricardo Villalba <[email protected]> Wed, 18 Nov 2015 23:43:18 +0100 + smtube (15.9.0) precise; urgency=low * Fix the 'can't find URL' error when using Qt 5. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/smtube-15.9.0/smtube.desktop new/smtube-15.11.0/smtube.desktop --- old/smtube-15.9.0/smtube.desktop 2015-09-27 23:14:42.000000000 +0200 +++ new/smtube-15.11.0/smtube.desktop 2015-11-18 02:01:10.000000000 +0100 @@ -1,75 +1,111 @@ [Desktop Entry] Exec=smtube -Comment=Browse and search from YouTube -GenericName=Youtube Browser +Comment=Browse and search videos from YouTube +GenericName=YouTube Browser for SMPlayer Icon=smtube -Name=YouTube Browser for SMPlayer +Name=SMTube Type=Application Categories=Qt;KDE;AudioVideo;Player;Video; # Translations -Comment[gl]=Navegar e buscar en YouTube -GenericName[gl]=Navegador de YouTube -Name[gl]=Navegador de YouTube para SMPlayer -Icon[gl]=smtube +Comment[am]=ከ ዩቲዩብ መቃኛ እና መፈጊያ +GenericName[am]=ከ ዩቲዩብ መቃኛ ለ SMP ማጫወቻ +Name[am]=SMTube + +Comment[bg]=Прелистване и търсене в YouTube +GenericName[bg]=YouTube браузър за SMPlayer +Name[bg]=SMTube + +Comment[cs]=Procházet a hledat na YouTube +GenericName[cs]=Prohlížeč YouTube pro SMPlayer +Name[cs]=SMTube -Comment[ms_MY]=Layar dan gelintar Youtube -GenericName[ms_MY]=Pelayar Youtube -Name[ms_MY]=Pelayar YouTube untuk SMPlayer -Icon[ms_MY]=smtube +Comment[da]=Gennemse og søg fra YouTube +GenericName[da]=YouTube-browser til SMPlayer +Name[da]=SMTube -Comment[pt]=Explorar e pesquisar vídeos no YouTube -GenericName[pt]=Explorador YouTube -Name[pt]=Explorador YouTube para o SMPlayer -Icon[pt]=smtube +Comment[de]=YouTube durchsuchen +GenericName[de]=YouTube-Browser für SMPlayer +Name[de]=SMTube -Comment[pt_BR]=Navegar e procurar no YouTube -GenericName[pt_BR]=Navegador do YouTube -Name[pt_BR]=Navegador do YouTube para o SMPlayer -Icon[pt_BR]=smtube +Comment[el]=Περιήγηση και αναζήτηση στο YouTube +GenericName[el]=Περιηγητής του YouTube για το SMPlayer +Name[el]=SMTube -Comment[ru]=Просмотр и поиск по YouTube -GenericName[ru]=Браузер YouTube -Name[ru]=Браузер YouTube для SMPlayer -Icon[ru]=smtube +Comment[es]=Permite buscar vídeos de YouTube +GenericName[es]=Buscador de vídeos de YouTube de SMPlayer +Name[es]=SMTube + +Comment[eu]=Nabigatu eta bilatu YouTuben +GenericName[eu]=YouTube Nabigatzailea SMPlayer-erako +Name[eu]=SMTube + +Comment[fa]=مرور و جست و جو در یوتیوب +GenericName[fa]=مرورگر یوتیوب برای SMPlayer +Name[fa]=SMTube + +Comment[fr]=Naviguer et chercher sur YouTube +GenericName[fr]=Navigateur YouTube pour SMPlayer +Name[fr]=SMTube + +Comment[gl]=Navegar e buscar en YouTube +GenericName[gl]=Navegador de YouTube para SMPlayer +Name[gl]=SMTube + +Comment[he]=עיין וחפש מתוך YouTube +GenericName[he]=מעלעל YouTube עבור SMPlayer +Name[he]=SMTube + +Comment[hr]=Pregledavajte i pretražujte YouTube +GenericName[hr]=YouTube preglednik za SMPlayer +Name[hr]=SMTube Comment[it]=Naviga e ricerca su YouTube -GenericName[it]=Navigatore YouTube -Name[it]=Navigatore YouTube per SMPlayer -Icon[it]=smtube +GenericName[it]=Navigatore YouTube per SMPlayer +Name[it]=SMTube Comment[ja]=YouTube を閲覧し検索します -GenericName[ja]=YouTube ブラウザー -Name[ja]=SMPlayer の YouTube ブラウザー -Icon[ja]=smtube +GenericName[ja]=SMPlayer の YouTube ブラウザー +Name[ja]=SMTube -Comment[da]=Gennemse og søg fra YouTube -GenericName[da]=YouTube-browser -Name[da]=YouTube-browser til SMPlayer -Icon[da]=smtube +Comment[ko]=유투브 검색하기 +GenericName[ko]=SMPlayer 유투브 브라우저 +Name[ko]=SMTube -Comment[de]=YouTube durchsuchen -GenericName[de]=Youtube-Browser -Name[de]=YouTube-Browser für SMPlayer -Icon[de]=smtube +Comment[pl]=Przeglądanie i przeszukiwanie YouTube +GenericName[pl]=Przeglądarka YouTube dla SMPlayer +Name[pl]=SMTube -Comment[es]=Permite buscar vídeos de YouTube -GenericName[es]=Buscar vídeos en YouTube -Name[es]=El buscador de vídeos de YouTube de SMPlayer -Icon[es]=smtube +Comment[pt]=Explorar e pesquisar vídeos no YouTube +GenericName[pt]=Explorador YouTube para o SMPlayer +Name[pt]=SMTube + +Comment[pt_BR]=Navegar e procurar no YouTube +GenericName[pt_BR]=Navegador do YouTube para o SMPlayer +Name[pt_BR]=SMTube + +Comment[ru]=Просмотр и поиск по YouTube +GenericName[ru]=Браузер YouTube для SMPlayer +Name[ru]=SMTube + +Comment[sv]=Bläddra och sök från YouTube +GenericName[sv]=YouTube Bläddrare för SMplayer +Name[sv]=SMTube Comment[uk]=Перегляд і пошук на YouTube -GenericName[uk]=Переглядач YouTube -Name[uk]=YouTube переглядач для SMPlayer -Icon[uk]=smtube +GenericName[uk]=YouTube переглядач для SMPlayer +Name[uk]=SMTube -Comment[ko]=유투브 검색하기 -GenericName[ko]=유투브 브라우저 -Name[ko]=SMPlayer 유투브 브라우저 -Icon[ko]=smtube +Comment[zh_CN]=浏览 YouTube 或者搜索 +GenericName[zh_CN]=SMPlayer - YouTube 浏览器 +Name[zh_CN]=SMTube Comment[zh_TW]=在 YouTube 上瀏覽並搜尋 -GenericName[zh_TW]=Youtube 瀏覽器 -Name[zh_TW]=為 SMPlayer 所設計的 YouTube 瀏覽器 -Icon[zh_TW]=smtube +GenericName[zh_TW]=為 SMPlayer 所設計的 YouTube 瀏覽器 +Name[zh_TW]=SMTube + +Comment[ms_MY]=Layar dan gelintar Youtube +GenericName[ms_MY]=Pelayar YouTube untuk SMPlayer +Name[ms_MY]=SMTube + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/smtube-15.9.0/src/main.cpp new/smtube-15.11.0/src/main.cpp --- old/smtube-15.9.0/src/main.cpp 2015-08-05 22:58:44.000000000 +0200 +++ new/smtube-15.11.0/src/main.cpp 2015-11-18 01:33:08.000000000 +0100 @@ -17,6 +17,7 @@ */ #include "browserwindow.h" +#include "version.h" #include <QApplication> #include <QDir> #include <QTranslator> @@ -95,6 +96,8 @@ a.setApplicationName("smtube"); #if QT_VERSION >= 0x040400 + a.setApplicationVersion(smtubeVersion()); + // Enable icons in menus QCoreApplication::setAttribute(Qt::AA_DontShowIconsInMenus, false); #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/smtube-15.9.0/src/retrieveyoutubeurl.cpp new/smtube-15.11.0/src/retrieveyoutubeurl.cpp --- old/smtube-15.9.0/src/retrieveyoutubeurl.cpp 2015-09-08 00:02:26.000000000 +0200 +++ new/smtube-15.11.0/src/retrieveyoutubeurl.cpp 2015-11-17 03:21:38.000000000 +0100 @@ -60,6 +60,12 @@ connect(dl_player_page, SIGNAL(pageLoaded(QByteArray)), this, SLOT(playerPageLoaded(QByteArray))); connect(dl_player_page, SIGNAL(errorOcurred(int, QString)), this, SIGNAL(errorOcurred(int, QString))); #endif + +#ifdef YT_LIVE_STREAM + dl_stream_page = new LoadPage(manager, this); + connect(dl_stream_page, SIGNAL(pageLoaded(QByteArray)), this, SLOT(streamPageLoaded(QByteArray))); + connect(dl_stream_page, SIGNAL(errorOcurred(int, QString)), this, SIGNAL(errorOcurred(int, QString))); +#endif } RetrieveYoutubeUrl::~RetrieveYoutubeUrl() { @@ -199,17 +205,27 @@ if (!player_name.isEmpty()) { QString url; + /* if (player_name.startsWith("new-")) { url = QString("http://s.ytimg.com/yts/jsbin/html5player-%1/html5player-new.js").arg(player_name); } else { url = QString("http://s.ytimg.com/yts/jsbin/html5player-%1/html5player.js").arg(player_name); } + */ + url = QString("http://s.ytimg.com/yts/jsbin/player-%1/base.js").arg(player_name); qDebug() << "RetrieveYoutubeUrl::fetchPlayerPage: url:" << url; dl_player_page->fetchPage(url); } } #endif +#ifdef YT_LIVE_STREAM +void RetrieveYoutubeUrl::fetchStreamPage(const QString & url) { + qDebug() << "RetrieveYoutubeUrl::fetchStreamPage:" << url; + dl_stream_page->fetchPage(url); +} +#endif + void RetrieveYoutubeUrl::videoPageLoaded(QByteArray page) { qDebug() << "RetrieveYoutubeUrl::videoPageLoaded"; @@ -227,7 +243,8 @@ #ifdef YT_USE_SIG QString html5_player; #endif - QRegExp rxplayer("html5player-([\\d,\\w,-]+)\\\\"); + //QRegExp rxplayer("player-([\\d,\\w,-]+)\\\\"); + QRegExp rxplayer("jsbin\\/player-([\\d\\w-]+)\\/base\\.js"); if (rxplayer.indexIn(replyString) != -1) { html5_player = rxplayer.cap(1); qDebug() << "RetrieveYoutubeUrl::videoPageLoaded: html5player:" << html5_player; @@ -251,6 +268,19 @@ void RetrieveYoutubeUrl::processVideoPage() { QString replyString = video_page; +#ifdef YT_LIVE_STREAM + QRegExp rxhlsvp("\"hlsvp\":\"([a-zA-Z0-9\\\\\\/_%\\+:\\.-]+)\""); + if (rxhlsvp.indexIn(replyString) != -1) { + QString hlsvp = QUrl::fromPercentEncoding(rxhlsvp.cap(1).toLatin1()).replace("\\/", "/"); + qDebug() << "RetrieveYoutubeUrl::processVideoPage: hlsvp:" << hlsvp; + + if (!hlsvp.isEmpty()) { + fetchStreamPage(hlsvp); + return; + } + } +#endif + QString fmtArray; QRegExp regex("\\\"url_encoded_fmt_stream_map\\\"\\s*:\\s*\\\"([^\\\"]*)"); if (regex.indexIn(replyString) != -1) { @@ -270,7 +300,7 @@ //qDebug() << "RetrieveYoutubeUrl::videoPageLoaded: fmtArray:" << fmtArray; - #ifdef YT_GET_VIDEOINFO + #ifdef YT_DISCARD_HTTPS bool allow_https = false; #else bool allow_https = true; @@ -344,6 +374,90 @@ } #endif +#ifdef YT_LIVE_STREAM +void RetrieveYoutubeUrl::streamPageLoaded(QByteArray page) { + qDebug() << "RetrieveYoutubeUrl::streamPageLoaded"; + + //qDebug() << "RetrieveYoutubeUrl::streamPageLoaded: page:" << page; + + QRegExp rx("#EXT-X-STREAM-INF:.*RESOLUTION=\\d+x(\\d+)"); + + QMap<int, QString> url_map; + int best_resolution = 0; + int res_height = 0; + + QTextStream stream(page); + QString line; + do { + line = stream.readLine(); + if (!line.isEmpty()) { + //qDebug() << "RetrieveYoutubeUrl::streamPageLoaded: line:" << line; + if (rx.indexIn(line) != -1) { + res_height = rx.cap(1).toInt(); + qDebug() << "RetrieveYoutubeUrl::streamPageLoaded: height:" << res_height; + if (res_height > best_resolution) best_resolution = res_height; + } + else + if (!line.startsWith("#") && res_height != 0) { + url_map[res_height] = line; + res_height = 0; + } + } + } while (!line.isNull()); + + qDebug() << "RetrieveYoutubeUrl::streamPageLoaded: best_resolution:" << best_resolution; + + // Try to find a URL with the user's preferred quality + qDebug() << "RetrieveYoutubeUrl::streamPageLoaded: preferred_quality:" << preferred_quality; + + int selected_quality = 0; + int q = preferred_quality; + + if (q == WEBM_1080p || q == MP4_1080p) { + if (url_map.contains(1080)) { + selected_quality = 1080; + } else q = MP4_720p; + } + + if (q == WEBM_720p || q == MP4_720p) { + if (url_map.contains(720)) { + selected_quality = 720; + } else q = WEBM_480p; + } + + if (q == WEBM_480p || q == FLV_480p) { + if (url_map.contains(480)) { + selected_quality = 480; + } else q = MP4_360p; + } + + if (q == WEBM_360p || q == FLV_360p || q == MP4_360p) { + if (url_map.contains(360)) { + selected_quality = 360; + } else q = FLV_240p; + } + + if (q == FLV_240p) { + if (url_map.contains(240)) { + selected_quality = 240; + } + } + + qDebug() << "RetrieveYoutubeUrl::streamPageLoaded: selected_quality:" << selected_quality; + + if (selected_quality == 0) selected_quality = best_resolution; + + if (url_map.contains(selected_quality)) { + QString p_url = url_map.value(selected_quality); + qDebug() << "RetrieveYoutubeUrl::streamPageLoaded: p_url:" << p_url; + emit gotPreferredUrl(p_url, 0); + latest_preferred_url = p_url; + } else { + emit gotEmptyList(); + } +} +#endif + void RetrieveYoutubeUrl::finish(const UrlMap & url_map) { qDebug() << "RetrieveYoutubeUrl::finish"; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/smtube-15.9.0/src/retrieveyoutubeurl.h new/smtube-15.11.0/src/retrieveyoutubeurl.h --- old/smtube-15.9.0/src/retrieveyoutubeurl.h 2015-07-13 00:09:53.000000000 +0200 +++ new/smtube-15.11.0/src/retrieveyoutubeurl.h 2015-11-17 03:21:38.000000000 +0100 @@ -31,6 +31,11 @@ #define YT_GET_VIDEOINFO #define YT_DASH_SUPPORT +#define YT_LIVE_STREAM + +#ifdef YT_GET_VIDEOINFO +#define YT_DISCARD_HTTPS +#endif typedef QMap<int,QString> UrlMap; @@ -103,6 +108,9 @@ #ifdef YT_USE_SIG void playerPageLoaded(QByteArray page); #endif +#ifdef YT_LIVE_STREAM + void streamPageLoaded(QByteArray page); +#endif void processVideoPage(); @@ -114,6 +122,9 @@ #ifdef YT_USE_SIG void fetchPlayerPage(const QString & player_name); #endif +#ifdef YT_LIVE_STREAM + void fetchStreamPage(const QString & url); +#endif QString getVideoID(QString video_url); UrlMap extractURLs(QString fmtArray, bool allow_https, bool use_player); @@ -142,6 +153,10 @@ QString html5_player; #endif +#ifdef YT_LIVE_STREAM + LoadPage * dl_stream_page; +#endif + QString video_page; QString url_title; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/smtube-15.9.0/src/sig.cpp new/smtube-15.11.0/src/sig.cpp --- old/smtube-15.9.0/src/sig.cpp 2015-06-25 23:36:25.000000000 +0200 +++ new/smtube-15.11.0/src/sig.cpp 2015-11-10 23:19:41.000000000 +0100 @@ -59,7 +59,8 @@ QString sig_code; if (!sig_name.isEmpty()) { - int pos = text.indexOf("function " + sig_name); + //int pos = text.indexOf("function " + sig_name); + int pos = text.indexOf("var " + sig_name + "=function"); if (pos > -1) { int endpos = text.indexOf("}", pos); #ifdef ULTRAVERBOSE @@ -67,6 +68,7 @@ #endif if (endpos > -1) { sig_code = text.mid(pos, (endpos-pos)+1); + sig_code.replace("var " + sig_name + "=function", "function " + sig_name); } } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/smtube-15.9.0/src/smtube.pro new/smtube-15.11.0/src/smtube.pro --- old/smtube-15.9.0/src/smtube.pro 2015-09-24 23:38:16.000000000 +0200 +++ new/smtube-15.11.0/src/smtube.pro 2015-11-17 03:25:59.000000000 +0100 @@ -115,4 +115,5 @@ translations/smtube_uk.ts \ translations/smtube_sq.ts \ translations/smtube_tr.ts \ - translations/smtube_hu.ts + translations/smtube_hu.ts \ + translations/smtube_he_IL.ts diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/smtube-15.9.0/src/smtube.rc new/smtube-15.11.0/src/smtube.rc --- old/smtube-15.9.0/src/smtube.rc 2015-09-27 23:24:38.000000000 +0200 +++ new/smtube-15.11.0/src/smtube.rc 2015-11-18 23:47:42.000000000 +0100 @@ -1,7 +1,7 @@ #include <winver.h> -#define SMTUBE_FILEVERSION 15,9,0,0 -#define SMTUBE_PRODVERSION "15.9.0.0\0" +#define SMTUBE_FILEVERSION 15,11,0,0 +#define SMTUBE_PRODVERSION "15.11.0.0\0" VS_VERSION_INFO VERSIONINFO FILEVERSION SMTUBE_FILEVERSION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/smtube-15.9.0/src/supportedurls.cpp new/smtube-15.11.0/src/supportedurls.cpp --- old/smtube-15.9.0/src/supportedurls.cpp 2015-06-12 03:42:44.000000000 +0200 +++ new/smtube-15.11.0/src/supportedurls.cpp 2015-11-04 23:53:15.000000000 +0100 @@ -40,4 +40,5 @@ list << QRegExp("^(https?\\:\\/\\/)?(www\\.)?dailymotion\\.com\\/video\\/.+$"); list << QRegExp("^(https?\\:\\/\\/)?(www\\.)?vimeo\\.com\\/(channels\\/staffpicks\\/)?\\d+$"); + list << QRegExp("^(https?\\:\\/\\/).*m3u8$"); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/smtube-15.9.0/src/translations/smtube_de.ts new/smtube-15.11.0/src/translations/smtube_de.ts --- old/smtube-15.9.0/src/translations/smtube_de.ts 2015-08-03 00:10:35.000000000 +0200 +++ new/smtube-15.11.0/src/translations/smtube_de.ts 2015-11-04 23:54:06.000000000 +0100 @@ -4,7 +4,7 @@ <message> <location filename="../about.ui" line="14"/> <source>About...</source> - <translation>Über…</translation> + <translation>Über …</translation> </message> <message> <location filename="../about.ui" line="33"/> @@ -368,12 +368,12 @@ <message> <location filename="../mywebview.cpp" line="48"/> <source>Save link...</source> - <translation>Link speichern...</translation> + <translation>Verweis speichern …</translation> </message> <message> <location filename="../mywebview.cpp" line="50"/> <source>Open link in this window</source> - <translation>Link in diesem Fenster öffnen</translation> + <translation>Verweis in diesem Fenster öffnen</translation> </message> <message> <location filename="../mywebview.cpp" line="51"/> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/smtube-15.9.0/src/translations/smtube_he_IL.ts new/smtube-15.11.0/src/translations/smtube_he_IL.ts --- old/smtube-15.9.0/src/translations/smtube_he_IL.ts 1970-01-01 01:00:00.000000000 +0100 +++ new/smtube-15.11.0/src/translations/smtube_he_IL.ts 2015-11-17 03:25:59.000000000 +0100 @@ -0,0 +1,460 @@ +<?xml version="1.0" ?><!DOCTYPE TS><TS language="he" version="2.0"> +<context> + <name>About</name> + <message> + <location filename="../about.ui" line="14"/> + <source>About...</source> + <translation>אודות...</translation> + </message> + <message> + <location filename="../about.ui" line="33"/> + <source>&Info</source> + <translation>&מידע</translation> + </message> + <message> + <location filename="../about.ui" line="89"/> + <source>&Translators</source> + <translation>&מתרגמים</translation> + </message> + <message> + <location filename="../about.ui" line="145"/> + <source>&License</source> + <translation>&רשיון</translation> + </message> + <message> + <location filename="../about.cpp" line="33"/> + <source>YouTube%1 Browser for SMPlayer</source> + <translation>מעלעל YouTube%1 עבור SMPlayer</translation> + </message> + <message> + <location filename="../about.cpp" line="36"/> + <source>Version: %1</source> + <translation>גרסא: %1</translation> + </message> + <message> + <location filename="../about.cpp" line="38"/> + <source>Portable Edition</source> + <translation>מהדורה ניידת</translation> + </message> + <message> + <location filename="../about.cpp" line="41"/> + <source>Compiled with Qt %1 (using %2)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../about.cpp" line="43"/> + <source>Visit our website for updates:</source> + <translation>בקרו את האתר רשת שלנו לצורך עדכונים:</translation> + </message> + <message> + <location filename="../about.cpp" line="86"/> + <source>Many people contributed with translations.</source> + <translation>אנשים רבים תרמו בעזרת תרגומים.</translation> + </message> + <message> + <location filename="../about.cpp" line="87"/> + <source>You can also help to translate SMTube into your own language.</source> + <translation>גם אצם יכולים לתרגם את SMTube לשפה שלכם.</translation> + </message> + <message> + <location filename="../about.cpp" line="88"/> + <source>Visit %1 and join a translation team.</source> + <translation>בקרו באתר %1 והצטרפו לקבוצת תרגום.</translation> + </message> + <message> + <location filename="../about.cpp" line="90"/> + <source>Click here to know the translators from the transifex teams</source> + <translation>לחצו כאן כדי להכיר את המתרגמים מתוך קבוצות transifex</translation> + </message> + <message> + <location filename="../about.cpp" line="116"/> + <source><b>%1</b> (%2)</source> + <translation type="unfinished"/> + </message> +</context> +<context> + <name>BrowserWindow</name> + <message> + <location filename="../browserwindow.cpp" line="116"/> + <source>Home</source> + <translation>בית</translation> + </message> + <message> + <location filename="../browserwindow.cpp" line="119"/> + <source>Navigation</source> + <translation>ניווט</translation> + </message> + <message> + <location filename="../browserwindow.cpp" line="127"/> + <source>&Quit</source> + <translation>י&ציאה</translation> + </message> + <message> + <location filename="../browserwindow.cpp" line="130"/> + <source>&Navigation</source> + <translation>&ניווט</translation> + </message> + <message> + <location filename="../browserwindow.cpp" line="139"/> + <source>&View</source> + <translation>&תצוגה</translation> + </message> + <message> + <location filename="../browserwindow.cpp" line="140"/> + <source>Toolbar</source> + <translation>סרגל כלים</translation> + </message> + <message> + <location filename="../browserwindow.cpp" line="144"/> + <source>Statusbar</source> + <translation>שורת מצב</translation> + </message> + <message> + <location filename="../browserwindow.cpp" line="148"/> + <source>&Settings</source> + <translation>&הגדרות</translation> + </message> + <message> + <location filename="../browserwindow.cpp" line="156"/> + <source>&Help</source> + <translation>&עזרה</translation> + </message> + <message> + <location filename="../browserwindow.cpp" line="159"/> + <source>&Update the YouTube code</source> + <translation>&עדכן קוד YouTube</translation> + </message> + <message> + <location filename="../browserwindow.cpp" line="164"/> + <source>About this &release</source> + <translation>אודות &שחרור זה</translation> + </message> + <message> + <location filename="../browserwindow.cpp" line="168"/> + <source>&About SMTube</source> + <translation>&אודות SMTube</translation> + </message> + <message> + <location filename="../browserwindow.cpp" line="418"/> + <source>Connection failed</source> + <translation>חיבור נכשל</translation> + </message> + <message> + <location filename="../browserwindow.cpp" line="419"/> + <source>The video you requested needs to open a HTTPS connection.</source> + <translation>הוידאו אשר ביקשת צריך לפתוח חיבור HTTPS.</translation> + </message> + <message> + <location filename="../browserwindow.cpp" line="420"/> + <source>Unfortunately the OpenSSL component, required for it, is not available in your system.</source> + <translation>למרבה הצער, מרכיב OpenSSL, דרוש לזאת, אינו זמין בתוך המערכת שלך.</translation> + </message> + <message> + <location filename="../browserwindow.cpp" line="425"/> + <source>No video found</source> + <translation>לא נמצא וידאו</translation> + </message> + <message> + <location filename="../browserwindow.cpp" line="426"/> + <source>It wasn't possible to find the URL for this video.</source> + <translation>לא התאפשרה מציאת URL לוידאו זה.</translation> + </message> + <message> + <location filename="../browserwindow.cpp" line="436"/> + <location filename="../browserwindow.cpp" line="444"/> + <source>Problems with YouTube</source> + <translation>בעיות עם YouTube</translation> + </message> + <message> + <location filename="../browserwindow.cpp" line="437"/> + <location filename="../browserwindow.cpp" line="445"/> + <source>Unfortunately due to changes in YouTube, the video '%1' can't be played.</source> + <translation>למרבה הצער, בשל שינויים בתוך YouTube, הוידאו '%1' לא ניתן לניגון.</translation> + </message> + <message> + <location filename="../browserwindow.cpp" line="438"/> + <source>Do you want to update the YouTube code? This may fix the problem.</source> + <translation>האם ברצונך לעדכן קוד YouTube? זה עשוי לתקן את הבעיה.</translation> + </message> + <message> + <location filename="../browserwindow.cpp" line="446"/> + <source>Maybe updating this application could fix the problem.</source> + <translation>אולי עדכון יישום זה יכול לתקן את הבעיה.</translation> + </message> + <message> + <location filename="../browserwindow.cpp" line="464"/> + <source>About this release</source> + <translation>אודות שחרור זה</translation> + </message> + <message> + <location filename="../browserwindow.cpp" line="465"/> + <source>Due to changes in YouTube, the old SMTube doesn't work anymore.</source> + <translation>בשל שינויים בתוך YouTube, SMTube לא עובד עוד.</translation> + </message> + <message> + <location filename="../browserwindow.cpp" line="466"/> + <source>This is a new version of SMTube, written from scratch.</source> + <translation>זוהי גרסא חדשה של SMTube, נכתבה מהבסיס.</translation> + </message> + <message> + <location filename="../browserwindow.cpp" line="467"/> + <source>Some functionality is not available yet.</source> + <translation>תפקודיות מסוימת אינה זמינה עדיין.</translation> + </message> + <message> + <location filename="../browserwindow.cpp" line="469"/> + <source>Important:</source> + <translation>חשוב:</translation> + </message> + <message> + <location filename="../browserwindow.cpp" line="470"/> + <source>If the VEVO videos fail to play, please use the option %1 in the Help menu.</source> + <translation>אם סרטוני VEVO נכשליים להתנגן, אנא השתמש באפשרות %1 בתוך התפריט עזרה.</translation> + </message> + <message> + <location filename="../browserwindow.cpp" line="471"/> + <source>Update the YouTube code</source> + <translation>עדכן קוד YouTube</translation> + </message> + <message> + <location filename="../browserwindow.cpp" line="239"/> + <source>Loading... %1%</source> + <translation>כעת טוען... %1%</translation> + </message> +</context> +<context> + <name>CodeDownloader</name> + <message> + <location filename="../codedownloader.cpp" line="37"/> + <source>Downloading...</source> + <translation>כעת מוריד...</translation> + </message> + <message> + <location filename="../codedownloader.cpp" line="58"/> + <source>Connecting to %1</source> + <translation>כעת מתחבר אל %1</translation> + </message> + <message> + <location filename="../codedownloader.cpp" line="126"/> + <source>The Youtube code has been updated successfully.</source> + <translation>קוד Youtube התעדכן בהצלחה.</translation> + </message> + <message> + <location filename="../codedownloader.cpp" line="127"/> + <source>Installed version: %1</source> + <translation>גרסא מותקנת: %1</translation> + </message> + <message> + <location filename="../codedownloader.cpp" line="128"/> + <source>Success</source> + <translation>הצלחה</translation> + </message> + <message> + <location filename="../codedownloader.cpp" line="133"/> + <location filename="../codedownloader.cpp" line="138"/> + <source>Error</source> + <translation>שגיאה</translation> + </message> + <message> + <location filename="../codedownloader.cpp" line="133"/> + <source>An error happened writing %1</source> + <translation>התרחשה שגיאה בכתיבת %1</translation> + </message> + <message> + <location filename="../codedownloader.cpp" line="138"/> + <source>An error happened while downloading the file:<br>%1</source> + <translation>התרחשה שגיאה במהלך הורדת הקובץ:<br>%1</translation> + </message> +</context> +<context> + <name>ConfigDialog</name> + <message> + <location filename="../configdialog.ui" line="14"/> + <source>Settings</source> + <translation>הגדרות</translation> + </message> + <message> + <location filename="../configdialog.ui" line="24"/> + <source>&General</source> + <translation>&כללי</translation> + </message> + <message> + <location filename="../configdialog.ui" line="113"/> + <source>Add</source> + <translation>הוסף</translation> + </message> + <message> + <location filename="../configdialog.ui" line="78"/> + <source>Up</source> + <translation>מעלה</translation> + </message> + <message> + <location filename="../configdialog.ui" line="30"/> + <source>Playback</source> + <translation>ניגון</translation> + </message> + <message> + <location filename="../configdialog.ui" line="36"/> + <source>Preferred &quality:</source> + <translation>איכות &מועדפת:</translation> + </message> + <message> + <location filename="../configdialog.ui" line="65"/> + <source>Players</source> + <translation>נגנים</translation> + </message> + <message> + <location filename="../configdialog.ui" line="124"/> + <source>Delete</source> + <translation>מחק</translation> + </message> + <message> + <location filename="../configdialog.ui" line="148"/> + <source>Edit</source> + <translation>ערוך</translation> + </message> + <message> + <location filename="../configdialog.ui" line="161"/> + <source>A&dd predefined players</source> + <translation>הוס&ף נגנים מוגדרים מראש</translation> + </message> + <message> + <location filename="../configdialog.ui" line="89"/> + <source>Down</source> + <translation>מטה</translation> + </message> +</context> +<context> + <name>FileChooser</name> + <message> + <location filename="../filechooser.cpp" line="56"/> + <source>Click to select a file or folder</source> + <translation>לחץ כדי לבחור קובץ או תיקייה</translation> + </message> +</context> +<context> + <name>MyWebView</name> + <message> + <location filename="../mywebview.cpp" line="36"/> + <source>Open link in a web browser</source> + <translation>פתח קישור בתוך דפדפן רשת</translation> + </message> + <message> + <location filename="../mywebview.cpp" line="52"/> + <source>Open link in new window</source> + <translation>פתח קישור בתוך חלון חדש</translation> + </message> + <message> + <location filename="../mywebview.cpp" line="75"/> + <source>Open audio with</source> + <translation>פתח אודיו בעזרת</translation> + </message> + <message> + <location filename="../mywebview.cpp" line="91"/> + <location filename="../mywebview.cpp" line="116"/> + <source>Open with %1</source> + <translation>פתח בעזרת %1</translation> + </message> + <message> + <location filename="../mywebview.cpp" line="123"/> + <source>Open audio with %1</source> + <translation>פתח אודיו בעזרת %1</translation> + </message> + <message> + <location filename="../mywebview.cpp" line="49"/> + <source>Copy link to clipboard</source> + <translation>העתק קישור ללוח גזירה</translation> + </message> + <message> + <location filename="../mywebview.cpp" line="48"/> + <source>Save link...</source> + <translation>שמור קישור...</translation> + </message> + <message> + <location filename="../mywebview.cpp" line="50"/> + <source>Open link in this window</source> + <translation>פתח קישור בתוך חלון זה</translation> + </message> + <message> + <location filename="../mywebview.cpp" line="51"/> + <source>Copy text to clipboard</source> + <translation>העתק טקסט ללוח גזירה</translation> + </message> +</context> +<context> + <name>PlayerDialog</name> + <message> + <location filename="../playerdialog.ui" line="14"/> + <source>Edit Player</source> + <translation>ערוך נגן</translation> + </message> + <message> + <location filename="../playerdialog.ui" line="22"/> + <source>&Name:</source> + <translation>&שם:</translation> + </message> + <message> + <location filename="../playerdialog.ui" line="39"/> + <source>&Executable:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../playerdialog.ui" line="56"/> + <source>&Parameters:</source> + <translation>&פרמטרים:</translation> + </message> + <message> + <location filename="../playerdialog.ui" line="71"/> + <source>This player supports &video sites</source> + <translation>נגן זה &תומך אתרי וידאו</translation> + </message> + <message> + <location filename="../playerdialog.ui" line="80"/> + <source>Preferred &quality:</source> + <translation>איכות &מועדפת:</translation> + </message> + <message> + <location filename="../playerdialog.ui" line="110"/> + <source>Add to &menu:</source> + <translation>הוסף ל&תפריט:</translation> + </message> + <message> + <location filename="../playerdialog.cpp" line="28"/> + <source>None</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../playerdialog.cpp" line="29"/> + <source>Video</source> + <translation>וידאו</translation> + </message> + <message> + <location filename="../playerdialog.cpp" line="30"/> + <source>Audio</source> + <translation>אודיו</translation> + </message> + <message> + <location filename="../playerdialog.cpp" line="31"/> + <source>Video and audio</source> + <translation>וידאו וגם אודיו</translation> + </message> + <message> + <location filename="../playerdialog.cpp" line="33"/> + <source>Default</source> + <translation>שגרתי</translation> + </message> +</context> +<context> + <name>QObject</name> + <message> + <location filename="../players.cpp" line="101"/> + <source>Video sites</source> + <translation>אתרי וידאו</translation> + </message> + <message> + <location filename="../players.cpp" line="101"/> + <source>Normal streams</source> + <translation>זרמים רגילים</translation> + </message> +</context> +</TS> \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/smtube-15.9.0/src/version.cpp new/smtube-15.11.0/src/version.cpp --- old/smtube-15.9.0/src/version.cpp 2015-09-27 23:24:38.000000000 +0200 +++ new/smtube-15.11.0/src/version.cpp 2015-11-18 23:47:42.000000000 +0100 @@ -20,7 +20,7 @@ #define USE_SVN_VERSIONS 0 -#define VERSION "15.9.0" +#define VERSION "15.11.0" #if USE_SVN_VERSIONS #include "svn_revision.h"
