diff -Nru clipgrab-3.7.1~trusty1/ClipGrab.plist clipgrab-3.7.2~trusty1/ClipGrab.plist
--- clipgrab-3.7.1~trusty1/ClipGrab.plist 2018-10-03 06:13:44.000000000 +0000
+++ clipgrab-3.7.2~trusty1/ClipGrab.plist 2018-11-16 22:22:10.000000000 +0000
@@ -17,6 +17,6 @@
NSHighResolutionCapable
True
CFBundleVersion
- 3.7.1
+ 3.7.2
diff -Nru clipgrab-3.7.1~trusty1/clipgrab.pro clipgrab-3.7.2~trusty1/clipgrab.pro
--- clipgrab-3.7.1~trusty1/clipgrab.pro 2018-10-03 06:13:44.000000000 +0000
+++ clipgrab-3.7.2~trusty1/clipgrab.pro 2018-11-16 22:22:10.000000000 +0000
@@ -94,5 +94,5 @@
OBJECTIVE_SOURCES += savedialog_mac.mm
LIBS += -framework AppKit -framework Foundation
}
-VERSION = 3.7.1
+VERSION = 3.7.2
DEFINES += CLIPGRAB_VERSION=$$VERSION
diff -Nru clipgrab-3.7.1~trusty1/debian/changelog clipgrab-3.7.2~trusty1/debian/changelog
--- clipgrab-3.7.1~trusty1/debian/changelog 2018-11-04 08:50:35.000000000 +0000
+++ clipgrab-3.7.2~trusty1/debian/changelog 2018-11-17 18:46:42.000000000 +0000
@@ -1,3 +1,9 @@
+clipgrab (3.7.2~trusty1) trusty; urgency=low
+
+ * New Upstream Version
+
+ -- Anton Asche Sat, 17 Nov 2018 18:41:52 +0100
+
clipgrab (3.7.1~trusty1) trusty; urgency=low
* New Upstream Version
diff -Nru clipgrab-3.7.1~trusty1/debian/copyright clipgrab-3.7.2~trusty1/debian/copyright
--- clipgrab-3.7.1~trusty1/debian/copyright 2018-11-04 08:49:55.000000000 +0000
+++ clipgrab-3.7.2~trusty1/debian/copyright 2018-11-17 18:46:20.000000000 +0000
@@ -1,6 +1,6 @@
This package was debianized by:
- Anton Asche on Sun, 04 Nov 2018 09:42:06 +0100
+ Anton Asche on Sat, 17 Nov 2018 18:41:52 +0100
It was downloaded from:
diff -Nru clipgrab-3.7.1~trusty1/mainwindow.cpp clipgrab-3.7.2~trusty1/mainwindow.cpp
--- clipgrab-3.7.1~trusty1/mainwindow.cpp 2018-10-03 06:13:44.000000000 +0000
+++ clipgrab-3.7.2~trusty1/mainwindow.cpp 2018-11-16 22:22:10.000000000 +0000
@@ -280,7 +280,7 @@
if (cg->settings.value("saveLastPath", true) == true)
{
QString targetDir = target;
- targetDir.remove(targetDir.split("/", QString::SkipEmptyParts).last()).replace(QRegExp("/+"), "/");
+ targetDir.remove(targetDir.split("/", QString::SkipEmptyParts).last()).replace(QRegExp("/+$"), "/");
ui.settingsSavedPath->setText(targetDir);
}
currentVideo->setTargetPath(target);
diff -Nru clipgrab-3.7.1~trusty1/README clipgrab-3.7.2~trusty1/README
--- clipgrab-3.7.1~trusty1/README 2018-10-03 06:13:44.000000000 +0000
+++ clipgrab-3.7.2~trusty1/README 2018-11-16 22:22:10.000000000 +0000
@@ -1,10 +1,21 @@
-Compiling ClipGrab is really easy.
+#Compiling ClipGrab
-You will only need the Qt4 developer libraries in order to compile the program.
-In addition, ffmpeg (no developer libs necessary) needs to be installed.
+Pre-compiled packages for ClipGrab are available on https://clipgrab.org
+But compiling ClipGrab is really easy!
+
+##Prerequisites
+
+You need to install the Qt4 developer libraries in order to compile the program.
+On Ubuntu and Debian-based system, you can install the necessary libraries like this:
+sudo apt install libqt4-dev libqt4-bin libqtwebkit-dev
+
+Other Linux distributions might have slightly different package names. Packages for Windows and macOS can be downloaded here: https://download.qt.io/archive/qt/4.8/4.8.7/
+
+In addition, ffmpeg (no developer libs necessary) needs to be installed.
-To compile ClipGrab, simply execute
+##Compiling
+To compile ClipGrab, simply execute the following command:
qmake clipgrab.pro && make
-This will create an executable "clipgrab" that you can start via ./clipgrab.
\ No newline at end of file
+This will create an executable "clipgrab" that you can start via ./clipgrab.
diff -Nru clipgrab-3.7.1~trusty1/video.cpp clipgrab-3.7.2~trusty1/video.cpp
--- clipgrab-3.7.1~trusty1/video.cpp 2018-10-03 06:13:44.000000000 +0000
+++ clipgrab-3.7.2~trusty1/video.cpp 2018-11-16 22:22:10.000000000 +0000
@@ -334,7 +334,7 @@
if (title.size() > 0)
{
QStringList charsToBeRemoved;
- charsToBeRemoved << "\\" << "/" << ":" << "*" << "?" << "<" << ">" << "|" << "'" << "\"" << """;
+ charsToBeRemoved << "\\" << "/" << ":" << "*" << "?" << "<" << ">" << "|" << "'" << "\"" << """ << "~" << "^";
title = title.simplified();
if (title[0] == QChar('.'))
diff -Nru clipgrab-3.7.1~trusty1/video_dailymotion.cpp clipgrab-3.7.2~trusty1/video_dailymotion.cpp
--- clipgrab-3.7.1~trusty1/video_dailymotion.cpp 2018-10-03 06:13:44.000000000 +0000
+++ clipgrab-3.7.2~trusty1/video_dailymotion.cpp 2018-11-16 22:22:10.000000000 +0000
@@ -44,7 +44,7 @@
{
_originalUrl = url;
- for (uint i = 0; i < this->_urlRegExp.length(); i++)
+ for (int i = 0; i < this->_urlRegExp.length(); i++)
{
if (this->_urlRegExp.at(i).indexIn((url)) == -1)
{
diff -Nru clipgrab-3.7.1~trusty1/video_youtube.cpp clipgrab-3.7.2~trusty1/video_youtube.cpp
--- clipgrab-3.7.1~trusty1/video_youtube.cpp 2018-10-03 06:13:44.000000000 +0000
+++ clipgrab-3.7.2~trusty1/video_youtube.cpp 2018-11-16 22:22:10.000000000 +0000
@@ -98,10 +98,10 @@
QString video_youtube::getUrlFromFmtLink(QString link)
{
- QRegExp urlExpression;
- urlExpression = QRegExp("(http[s]?[^,]+)");
+ QRegExp clen0 = QRegExp("clen=0");
+ QRegExp urlExpression = QRegExp("(http[s]?[^,]+)");
- if (urlExpression.indexIn(link) > -1)
+ if (clen0.indexIn(link) == -1 && urlExpression.indexIn(link) > -1)
{
QString url = QUrl::fromEncoded(QUrl::fromEncoded(urlExpression.cap(1).toAscii()).toString().toAscii()).toString();
@@ -537,7 +537,6 @@
}
//Extract links
- bool videoIsFmt = true, audioIsFmt = true;
QString videoLink = getFmtLink(qualityLinks, q.video);
QString audioLink = !q.audio.isEmpty() ? getFmtLink(qualityLinks, q.audio) : "";
QStringList videoLinkSegments, audioLinkSegments;
@@ -555,6 +554,13 @@
}
}
+ if (!videoLink.isEmpty()) {
+ videoLink = getUrlFromFmtLink(videoLink);
+ }
+ if (!audioLink.isEmpty()) {
+ audioLink = getUrlFromFmtLink(audioLink);
+ }
+
//Try MPEG-Dash if Fmt link wasn’t found
if (videoLink.isEmpty() || (!q.audio.isEmpty() && audioLink.isEmpty()))
{
@@ -571,14 +577,12 @@
videoLink = dashQualityLinks.at(j).at(0);
videoLinkSegments = QStringList(dashQualityLinks.at(j));
videoLinkSegments.removeFirst();
- videoIsFmt = false;
}
else if (audioLink.isEmpty() && itagExpression.cap(1) == q.audio)
{
audioLink = dashQualityLinks.at(j).at(0);
audioLinkSegments = QStringList(dashQualityLinks.at(j));
audioLinkSegments.removeFirst();
- audioIsFmt = false;
}
}
@@ -595,7 +599,6 @@
audioLink = dashQualityLinks.at(j).at(0);
audioLinkSegments = QStringList(dashQualityLinks.at(j));
audioLinkSegments.removeFirst();
- audioIsFmt = false;
}
}
@@ -624,23 +627,19 @@
}
}
- if (videoIsFmt)
- {
- newQuality.videoUrl = getUrlFromFmtLink(videoLink);
- }
- else
+ newQuality.videoUrl = videoLink;
+ if (!videoLinkSegments.isEmpty())
{
- newQuality.videoUrl = videoLink;
newQuality.videoSegments = videoLinkSegments;
}
- if (!audioLink.isEmpty() && audioIsFmt)
+ if (!audioLink.isEmpty())
{
- newQuality.audioUrl = getUrlFromFmtLink(audioLink);
- }
- else if (!audioLink.isEmpty()) {
newQuality.audioUrl = audioLink;
- newQuality.audioSegments = audioLinkSegments;
+ if (!audioLinkSegments.isEmpty())
+ {
+ newQuality.audioSegments = audioLinkSegments;
+ }
}