Fix typos and spelling
This commit is contained in:
parent
f81ecffda6
commit
d199a2be0d
|
@ -19,7 +19,7 @@ TagLib is a library for reading and editing the meta-data of several popular aud
|
||||||
by Strawberry to identify audio files. It is important that it is kept up-to-date for Strawberry to function
|
by Strawberry to identify audio files. It is important that it is kept up-to-date for Strawberry to function
|
||||||
correctly.
|
correctly.
|
||||||
|
|
||||||
It is kept in 3rdparty because there currently is no offical release of TagLib with the features and bugfixes
|
It is kept in 3rdparty because there currently is no official release of TagLib with the features and bugfixes
|
||||||
that are in the official repository. And also because some distros use older, or unpatched versions.
|
that are in the official repository. And also because some distros use older, or unpatched versions.
|
||||||
|
|
||||||
There is a bug in the latest version (1.11.1) corrupting Ogg files,
|
There is a bug in the latest version (1.11.1) corrupting Ogg files,
|
||||||
|
@ -37,6 +37,6 @@ URL: https://github.com/taglib/taglib
|
||||||
utf8-cpp
|
utf8-cpp
|
||||||
--------
|
--------
|
||||||
|
|
||||||
This is 2 header files used by taglib, but kept in a seperate directory because it is maintained by others.
|
This is 2 header files used by taglib, but kept in a separate directory because it is maintained by others.
|
||||||
|
|
||||||
URL: http://utfcpp.sourceforge.net/
|
URL: http://utfcpp.sourceforge.net/
|
||||||
|
|
|
@ -69,7 +69,7 @@ public:
|
||||||
* if there is already a primary instance.
|
* if there is already a primary instance.
|
||||||
* @arg {Mode} mode - Whether for the SingleApplication block to be applied
|
* @arg {Mode} mode - Whether for the SingleApplication block to be applied
|
||||||
* User wide or System wide.
|
* User wide or System wide.
|
||||||
* @arg {int} timeout - Timeout to wait in miliseconds.
|
* @arg {int} timeout - Timeout to wait in milliseconds.
|
||||||
* @note argc and argv may be changed as Qt removes arguments that it
|
* @note argc and argv may be changed as Qt removes arguments that it
|
||||||
* recognizes
|
* recognizes
|
||||||
* @note Mode::SecondaryNotification only works if set on both the primary
|
* @note Mode::SecondaryNotification only works if set on both the primary
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
class SingleCoreApplicationPrivate;
|
class SingleCoreApplicationPrivate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief The SingleCoreApplication class handles multipe instances of the same
|
* @brief The SingleCoreApplication class handles multiple instances of the same
|
||||||
* Application
|
* Application
|
||||||
* @see QCoreApplication
|
* @see QCoreApplication
|
||||||
*/
|
*/
|
||||||
|
@ -69,7 +69,7 @@ public:
|
||||||
* if there is already a primary instance.
|
* if there is already a primary instance.
|
||||||
* @arg {Mode} mode - Whether for the SingleCoreApplication block to be applied
|
* @arg {Mode} mode - Whether for the SingleCoreApplication block to be applied
|
||||||
* User wide or System wide.
|
* User wide or System wide.
|
||||||
* @arg {int} timeout - Timeout to wait in miliseconds.
|
* @arg {int} timeout - Timeout to wait in milliseconds.
|
||||||
* @note argc and argv may be changed as Qt removes arguments that it
|
* @note argc and argv may be changed as Qt removes arguments that it
|
||||||
* recognizes
|
* recognizes
|
||||||
* @note Mode::SecondaryNotification only works if set on both the primary
|
* @note Mode::SecondaryNotification only works if set on both the primary
|
||||||
|
|
|
@ -43,7 +43,7 @@ namespace TagLib {
|
||||||
* chunk as well as properties from the file.
|
* chunk as well as properties from the file.
|
||||||
* Description of the DSDIFF format is available
|
* Description of the DSDIFF format is available
|
||||||
* at http://dsd-guide.com/sites/default/files/white-papers/DSDIFF_1.5_Spec.pdf
|
* at http://dsd-guide.com/sites/default/files/white-papers/DSDIFF_1.5_Spec.pdf
|
||||||
* DSDIFF standard does not explictly specify the ID3V2 chunk
|
* DSDIFF standard does not explicitly specify the ID3V2 chunk
|
||||||
* It can be found at the root level, but also sometimes inside the PROP chunk
|
* It can be found at the root level, but also sometimes inside the PROP chunk
|
||||||
* In addition, title and artist info are stored as part of the standard
|
* In addition, title and artist info are stored as part of the standard
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -56,7 +56,7 @@ namespace TagLib {
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
/*!
|
/*!
|
||||||
* Contructs an DSF file from \a file. If \a readProperties is true the
|
* Constructs an DSF file from \a file. If \a readProperties is true the
|
||||||
* file's audio properties will also be read using \a propertiesStyle. If
|
* file's audio properties will also be read using \a propertiesStyle. If
|
||||||
* false, \a propertiesStyle is ignored.
|
* false, \a propertiesStyle is ignored.
|
||||||
*/
|
*/
|
||||||
|
@ -64,7 +64,7 @@ namespace TagLib {
|
||||||
Properties::ReadStyle propertiesStyle = Properties::Average);
|
Properties::ReadStyle propertiesStyle = Properties::Average);
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* Contructs an DSF file from \a file. If \a readProperties is true the
|
* Constructs an DSF file from \a file. If \a readProperties is true the
|
||||||
* file's audio properties will also be read using \a propertiesStyle. If
|
* file's audio properties will also be read using \a propertiesStyle. If
|
||||||
* false, \a propertiesStyle is ignored.
|
* false, \a propertiesStyle is ignored.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -277,7 +277,7 @@ void IT::File::read(bool)
|
||||||
// in the instrument/sample names and more characters
|
// in the instrument/sample names and more characters
|
||||||
// afterwards. The spec does not mention such a case.
|
// afterwards. The spec does not mention such a case.
|
||||||
// Currently I just discard anything after a nil, but
|
// Currently I just discard anything after a nil, but
|
||||||
// e.g. VLC seems to interprete a nil as a space. I
|
// e.g. VLC seems to interpret a nil as a space. I
|
||||||
// don't know what is the proper behaviour.
|
// don't know what is the proper behaviour.
|
||||||
for(unsigned short i = 0; i < instrumentCount; ++ i) {
|
for(unsigned short i = 0; i < instrumentCount; ++ i) {
|
||||||
seek(192L + length + ((long)i << 2));
|
seek(192L + length + ((long)i << 2));
|
||||||
|
|
|
@ -55,7 +55,7 @@ public:
|
||||||
namespace {
|
namespace {
|
||||||
|
|
||||||
// These functions are needed to try to aim for backward compatibility with
|
// These functions are needed to try to aim for backward compatibility with
|
||||||
// an API that previously (unreasonably) required null bytes to be appeneded
|
// an API that previously (unreasonably) required null bytes to be appended
|
||||||
// at the end of identifiers explicitly by the API user.
|
// at the end of identifiers explicitly by the API user.
|
||||||
|
|
||||||
// BIC: remove these
|
// BIC: remove these
|
||||||
|
|
|
@ -277,7 +277,7 @@ PropertyMap TextIdentificationFrame::makeTIPLProperties() const
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if(!found){
|
if(!found){
|
||||||
// invalid involved role -> mark whole frame as unsupported in order to be consisten with writing
|
// invalid involved role -> mark whole frame as unsupported in order to be consistent with writing
|
||||||
map.clear();
|
map.clear();
|
||||||
map.unsupportedData().append(frameID());
|
map.unsupportedData().append(frameID());
|
||||||
return map;
|
return map;
|
||||||
|
|
|
@ -39,7 +39,7 @@ namespace TagLib {
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* This class implements ID3v2 extended headers. It attempts to follow,
|
* This class implements ID3v2 extended headers. It attempts to follow,
|
||||||
* both semantically and programatically, the structure specified in
|
* both semantically and programmatically, the structure specified in
|
||||||
* the ID3v2 standard. The API is based on the properties of ID3v2 extended
|
* the ID3v2 standard. The API is based on the properties of ID3v2 extended
|
||||||
* headers specified there. If any of the terms used in this documentation
|
* headers specified there. If any of the terms used in this documentation
|
||||||
* are unclear please check the specification in the linked section.
|
* are unclear please check the specification in the linked section.
|
||||||
|
|
|
@ -225,7 +225,7 @@ namespace TagLib {
|
||||||
* This is useful for reading strings sequentially.
|
* This is useful for reading strings sequentially.
|
||||||
*/
|
*/
|
||||||
String readStringField(const ByteVector &data, String::Type encoding,
|
String readStringField(const ByteVector &data, String::Type encoding,
|
||||||
int *positon = 0);
|
int *position = 0);
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* Checks a the list of string values to see if they can be used with the
|
* Checks a the list of string values to see if they can be used with the
|
||||||
|
@ -256,7 +256,7 @@ namespace TagLib {
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* Parses the contents of this frame as PropertyMap. If that fails, the returend
|
* Parses the contents of this frame as PropertyMap. If that fails, the returned
|
||||||
* PropertyMap will be empty, and its unsupportedData() will contain this frame's
|
* PropertyMap will be empty, and its unsupportedData() will contain this frame's
|
||||||
* ID.
|
* ID.
|
||||||
* BIC: Will be a virtual function in future releases.
|
* BIC: Will be a virtual function in future releases.
|
||||||
|
|
|
@ -311,7 +311,7 @@ namespace TagLib {
|
||||||
* - otherwise, the key "LYRICS:<description>" is used;
|
* - otherwise, the key "LYRICS:<description>" is used;
|
||||||
* - if the frame ID is "TIPL" (involved peoples list), and if all the
|
* - if the frame ID is "TIPL" (involved peoples list), and if all the
|
||||||
* roles defined in the frame are known in TextIdentificationFrame::involvedPeopleMap(),
|
* roles defined in the frame are known in TextIdentificationFrame::involvedPeopleMap(),
|
||||||
* then "<role>=<name>" will be contained in the returned obejct for each
|
* then "<role>=<name>" will be contained in the returned object for each
|
||||||
* - if the frame ID is "TMCL" (musician credit list), then
|
* - if the frame ID is "TMCL" (musician credit list), then
|
||||||
* "PERFORMER:<instrument>=<name>" will be contained in the returned
|
* "PERFORMER:<instrument>=<name>" will be contained in the returned
|
||||||
* PropertyMap for each defined musician
|
* PropertyMap for each defined musician
|
||||||
|
|
|
@ -157,7 +157,7 @@ namespace TagLib {
|
||||||
/*!
|
/*!
|
||||||
* A special value of containing the position of the packet to be
|
* A special value of containing the position of the packet to be
|
||||||
* interpreted by the codec. It is only supported here so that it may be
|
* interpreted by the codec. It is only supported here so that it may be
|
||||||
* coppied from one page to another.
|
* copied from one page to another.
|
||||||
*
|
*
|
||||||
* \see absoluteGranularPosition()
|
* \see absoluteGranularPosition()
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -264,7 +264,7 @@ void FileStream::insert(const ByteVector &data, unsigned long start, unsigned lo
|
||||||
// Now I'll explain the steps in this ugliness:
|
// Now I'll explain the steps in this ugliness:
|
||||||
|
|
||||||
// First, make sure that we're working with a buffer that is longer than
|
// First, make sure that we're working with a buffer that is longer than
|
||||||
// the *differnce* in the tag sizes. We want to avoid overwriting parts
|
// the *difference* in the tag sizes. We want to avoid overwriting parts
|
||||||
// that aren't yet in memory, so this is necessary.
|
// that aren't yet in memory, so this is necessary.
|
||||||
|
|
||||||
unsigned long bufferLength = bufferSize();
|
unsigned long bufferLength = bufferSize();
|
||||||
|
|
|
@ -592,7 +592,7 @@ void XM::File::read(bool)
|
||||||
sumSampleCount += sampleCount;
|
sumSampleCount += sampleCount;
|
||||||
// wouldn't know which header size to assume otherwise:
|
// wouldn't know which header size to assume otherwise:
|
||||||
READ_ASSERT(instrumentHeaderSize >= count + 4 && readU32L(sampleHeaderSize));
|
READ_ASSERT(instrumentHeaderSize >= count + 4 && readU32L(sampleHeaderSize));
|
||||||
// skip unhandeled header proportion:
|
// skip unhandled header proportion:
|
||||||
seek(instrumentHeaderSize - count - 4, Current);
|
seek(instrumentHeaderSize - count - 4, Current);
|
||||||
|
|
||||||
for(unsigned short j = 0; j < sampleCount; ++ j) {
|
for(unsigned short j = 0; j < sampleCount; ++ j) {
|
||||||
|
@ -620,7 +620,7 @@ void XM::File::read(bool)
|
||||||
|
|
||||||
unsigned int count = sample.read(*this, sampleHeaderSize);
|
unsigned int count = sample.read(*this, sampleHeaderSize);
|
||||||
READ_ASSERT(count == std::min(sampleHeaderSize, (unsigned long)sample.size()));
|
READ_ASSERT(count == std::min(sampleHeaderSize, (unsigned long)sample.size()));
|
||||||
// skip unhandeled header proportion:
|
// skip unhandled header proportion:
|
||||||
seek(sampleHeaderSize - count, Current);
|
seek(sampleHeaderSize - count, Current);
|
||||||
|
|
||||||
offset += sampleLength;
|
offset += sampleLength;
|
||||||
|
|
|
@ -30,7 +30,7 @@ Strawberry is a music player and music collection organizer. It is a fork of Cle
|
||||||
|
|
||||||
It has so far been tested to work on Linux, OpenBSD, macOS and Windows.
|
It has so far been tested to work on Linux, OpenBSD, macOS and Windows.
|
||||||
|
|
||||||
**We do not provide releases for macOS, only exprimental builds, they may have issues. There currently isn't any macOS developers actively working on this project.**
|
**We do not provide releases for macOS, only experimental builds, they may have issues. There currently isn't any macOS developers actively working on this project.**
|
||||||
|
|
||||||
### :heavy_exclamation_mark: Requirements
|
### :heavy_exclamation_mark: Requirements
|
||||||
|
|
||||||
|
|
|
@ -54,8 +54,7 @@ SET(FFTW3_POSSIBLE_LIBRARY_PATH
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
# the lib prefix is containe din filename onf W32, unfortuantely. JW
|
# The lib prefix is contained in filename of W32, unfortunately. In the "general" lib:
|
||||||
# teh "general" lib:
|
|
||||||
FIND_LIBRARY(FFTW3_FFTW_LIBRARY
|
FIND_LIBRARY(FFTW3_FFTW_LIBRARY
|
||||||
NAMES fftw3 libfftw libfftw3 libfftw3-3
|
NAMES fftw3 libfftw libfftw3 libfftw3-3
|
||||||
PATHS
|
PATHS
|
||||||
|
|
|
@ -11,12 +11,12 @@ do
|
||||||
|
|
||||||
id=`identify "$i"` || exit 1
|
id=`identify "$i"` || exit 1
|
||||||
if [ "$id" = "" ] ; then
|
if [ "$id" = "" ] ; then
|
||||||
echo "ERROR: Cannot dermine format and geometry for image: \"$i\"."
|
echo "ERROR: Cannot determine format and geometry for image: \"$i\"."
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
g=`echo $id | awk '{print $3}'` || exit 1
|
g=`echo $id | awk '{print $3}'` || exit 1
|
||||||
if [ "$g" = "" ] ; then
|
if [ "$g" = "" ] ; then
|
||||||
echo "ERROR: Cannot dermine geometry for image: \"$i\"."
|
echo "ERROR: Cannot determine geometry for image: \"$i\"."
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -24,12 +24,12 @@ do
|
||||||
# we need to get rid of the plus (+) and the x characters:
|
# we need to get rid of the plus (+) and the x characters:
|
||||||
w=`echo $g | sed 's/[^0-9]/ /g' | awk '{print $1}'` || exit 1
|
w=`echo $g | sed 's/[^0-9]/ /g' | awk '{print $1}'` || exit 1
|
||||||
if [ "$w" = "" ] ; then
|
if [ "$w" = "" ] ; then
|
||||||
echo "ERROR: Cannot dermine width for image: \"$x\"."
|
echo "ERROR: Cannot determine width for image: \"$x\"."
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
h=`echo $g | sed 's/[^0-9]/ /g' | awk '{print $2}'` || exit 1
|
h=`echo $g | sed 's/[^0-9]/ /g' | awk '{print $2}'` || exit 1
|
||||||
if [ "$h" = "" ] ; then
|
if [ "$h" = "" ] ; then
|
||||||
echo "ERROR: Cannot dermine height for image: \"$x\"."
|
echo "ERROR: Cannot determine height for image: \"$x\"."
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -66,12 +66,12 @@ do
|
||||||
|
|
||||||
id=`identify "$x"` || exit 1
|
id=`identify "$x"` || exit 1
|
||||||
if [ "$id" = "" ] ; then
|
if [ "$id" = "" ] ; then
|
||||||
echo "ERROR: Cannot dermine format and geometry for image: \"$x\"."
|
echo "ERROR: Cannot determine format and geometry for image: \"$x\"."
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
g=`echo $id | awk '{print $3}'` || exit 1
|
g=`echo $id | awk '{print $3}'` || exit 1
|
||||||
if [ "$g" = "" ] ; then
|
if [ "$g" = "" ] ; then
|
||||||
echo "ERROR: Cannot dermine geometry for image: \"$x\"."
|
echo "ERROR: Cannot determine geometry for image: \"$x\"."
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -79,12 +79,12 @@ do
|
||||||
# we need to get rid of the plus (+) and the x characters:
|
# we need to get rid of the plus (+) and the x characters:
|
||||||
w=`echo $g | sed 's/[^0-9]/ /g' | awk '{print $1}'` || exit 1
|
w=`echo $g | sed 's/[^0-9]/ /g' | awk '{print $1}'` || exit 1
|
||||||
if [ "$w" = "" ] ; then
|
if [ "$w" = "" ] ; then
|
||||||
echo "ERROR: Cannot dermine width for image: \"$x\"."
|
echo "ERROR: Cannot determine width for image: \"$x\"."
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
h=`echo $g | sed 's/[^0-9]/ /g' | awk '{print $2}'` || exit 1
|
h=`echo $g | sed 's/[^0-9]/ /g' | awk '{print $2}'` || exit 1
|
||||||
if [ "$h" = "" ] ; then
|
if [ "$h" = "" ] ; then
|
||||||
echo "ERROR: Cannot dermine height for image: \"$x\"."
|
echo "ERROR: Cannot determine height for image: \"$x\"."
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
|
@ -158,7 +158,7 @@ void AnalyzerContainer::ChangeAnalyzer(int id) {
|
||||||
QObject *instance = analyzer_types_[id]->newInstance(Q_ARG(QWidget*, this));
|
QObject *instance = analyzer_types_[id]->newInstance(Q_ARG(QWidget*, this));
|
||||||
|
|
||||||
if (!instance) {
|
if (!instance) {
|
||||||
qLog(Warning) << "Couldn't intialise a new" << analyzer_types_[id]->className();
|
qLog(Warning) << "Couldn't initialise a new" << analyzer_types_[id]->className();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -274,7 +274,7 @@ QColor ensureContrast(const QColor &bg, const QColor &fg, uint amount = 150) {
|
||||||
int dh = abs(bh - fh);
|
int dh = abs(bh - fh);
|
||||||
|
|
||||||
if (dh > 120) {
|
if (dh > 120) {
|
||||||
// a third of the colour wheel automatically guarentees contrast
|
// a third of the colour wheel automatically guarantees contrast
|
||||||
// but only if the values are high enough and saturations significant enough
|
// but only if the values are high enough and saturations significant enough
|
||||||
// to allow the colours to be visible and not be shades of grey or black
|
// to allow the colours to be visible and not be shades of grey or black
|
||||||
|
|
||||||
|
|
|
@ -167,8 +167,8 @@ bool CommandlineOptions::Parse() {
|
||||||
.arg(tr("Skip backwards in playlist"),
|
.arg(tr("Skip backwards in playlist"),
|
||||||
tr("Skip forwards in playlist"),
|
tr("Skip forwards in playlist"),
|
||||||
tr("Set the volume to <value> percent"),
|
tr("Set the volume to <value> percent"),
|
||||||
tr("Increase the volume by 4 precent"),
|
tr("Increase the volume by 4 percent"),
|
||||||
tr("Decrease the volume by 4 precent"),
|
tr("Decrease the volume by 4 percent"),
|
||||||
tr("Increase the volume by <value> percent"),
|
tr("Increase the volume by <value> percent"),
|
||||||
tr("Decrease the volume by <value> percent"))
|
tr("Decrease the volume by <value> percent"))
|
||||||
.arg(tr("Seek the currently playing track to an absolute position"),
|
.arg(tr("Seek the currently playing track to an absolute position"),
|
||||||
|
|
|
@ -741,7 +741,7 @@ MainWindow::MainWindow(Application *app, SystemTrayIcon *tray_icon, OSD *osd, co
|
||||||
|
|
||||||
// Load theme
|
// Load theme
|
||||||
// This is tricky: we need to save the default/system palette now,
|
// This is tricky: we need to save the default/system palette now,
|
||||||
// before loading user preferred theme (which will overide it), to be able to restore it later
|
// before loading user preferred theme (which will override it), to be able to restore it later
|
||||||
const_cast<QPalette&>(Appearance::kDefaultPalette) = QApplication::palette();
|
const_cast<QPalette&>(Appearance::kDefaultPalette) = QApplication::palette();
|
||||||
app_->appearance()->LoadUserTheme();
|
app_->appearance()->LoadUserTheme();
|
||||||
StyleSheetLoader *css_loader = new StyleSheetLoader(this);
|
StyleSheetLoader *css_loader = new StyleSheetLoader(this);
|
||||||
|
|
|
@ -46,7 +46,7 @@ class SystemTrayIcon : public QObject {
|
||||||
|
|
||||||
// Called by the OSD
|
// Called by the OSD
|
||||||
virtual void ShowPopup(const QString &summary, const QString &message, int timeout) {}
|
virtual void ShowPopup(const QString &summary, const QString &message, int timeout) {}
|
||||||
// If this get's invoked with image_path equal to nullptr, the tooltip should still be shown - just without the cover art.
|
// If this gets invoked with image_path equal to nullptr, the tooltip should still be shown - just without the cover art.
|
||||||
virtual void SetNowPlaying(const Song &song, const QUrl &cover_url) {}
|
virtual void SetNowPlaying(const Song &song, const QUrl &cover_url) {}
|
||||||
virtual void ClearNowPlaying() {}
|
virtual void ClearNowPlaying() {}
|
||||||
|
|
||||||
|
|
|
@ -63,7 +63,7 @@ AlbumCoverFetcherSearch::AlbumCoverFetcherSearch(
|
||||||
network_(network),
|
network_(network),
|
||||||
cancel_requested_(false) {
|
cancel_requested_(false) {
|
||||||
|
|
||||||
// We will terminate the search after kSearchTimeoutMs miliseconds if we are not able to find all of the results before that point in time
|
// We will terminate the search after kSearchTimeoutMs milliseconds if we are not able to find all of the results before that point in time
|
||||||
QTimer::singleShot(kSearchTimeoutMs, this, SLOT(TerminateSearch()));
|
QTimer::singleShot(kSearchTimeoutMs, this, SLOT(TerminateSearch()));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -678,7 +678,7 @@ QByteArray GstEngine::FixupUrl(const QUrl &url) {
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// Currently, Gstreamer can't handle input CD devices inside cdda URL.
|
// Currently, Gstreamer can't handle input CD devices inside cdda URL.
|
||||||
// So we handle them ourselve: we extract the track number and re-create an URL with only cdda:// + the track number (which can be handled by Gstreamer).
|
// So we handle them ourselves: we extract the track number and re-create an URL with only cdda:// + the track number (which can be handled by Gstreamer).
|
||||||
// We keep the device in mind, and we will set it later using SourceSetupCallback
|
// We keep the device in mind, and we will set it later using SourceSetupCallback
|
||||||
QStringList path = url.path().split('/');
|
QStringList path = url.path().split('/');
|
||||||
str = QString("cdda://%1").arg(path.takeLast());
|
str = QString("cdda://%1").arg(path.takeLast());
|
||||||
|
|
|
@ -888,7 +888,7 @@ void GstEnginePipeline::SourceSetupCallback(GstPlayBin *bin, GParamSpec *pspec,
|
||||||
}
|
}
|
||||||
|
|
||||||
if (g_object_class_find_property(G_OBJECT_GET_CLASS(element), "device") && !instance->source_device().isEmpty()) {
|
if (g_object_class_find_property(G_OBJECT_GET_CLASS(element), "device") && !instance->source_device().isEmpty()) {
|
||||||
// Gstreamer is not able to handle device in URL (refering to Gstreamer documentation, this might be added in the future).
|
// Gstreamer is not able to handle device in URL (referring to Gstreamer documentation, this might be added in the future).
|
||||||
// Despite that, for now we include device inside URL: we decompose it during Init and set device here, when this callback is called.
|
// Despite that, for now we include device inside URL: we decompose it during Init and set device here, when this callback is called.
|
||||||
g_object_set(element, "device", instance->source_device().toLocal8Bit().constData(), nullptr);
|
g_object_set(element, "device", instance->source_device().toLocal8Bit().constData(), nullptr);
|
||||||
}
|
}
|
||||||
|
|
|
@ -189,7 +189,6 @@ class MusicBrainzClient : public QObject {
|
||||||
ResultList results_;
|
ResultList results_;
|
||||||
};
|
};
|
||||||
|
|
||||||
QNetworkReply *CreateRequest(const QString &ressource, const ParamList ¶ms_provided);
|
|
||||||
QByteArray GetReplyData(QNetworkReply *reply, QString &error);
|
QByteArray GetReplyData(QNetworkReply *reply, QString &error);
|
||||||
static bool MediumHasDiscid(const QString& discid, QXmlStreamReader* reader);
|
static bool MediumHasDiscid(const QString& discid, QXmlStreamReader* reader);
|
||||||
static ResultList ParseMedium(QXmlStreamReader* reader);
|
static ResultList ParseMedium(QXmlStreamReader* reader);
|
||||||
|
|
|
@ -316,7 +316,7 @@ void OrganiseDialog::UpdatePreviews() {
|
||||||
|
|
||||||
const bool format_valid = !has_local_destination || format_.IsValid();
|
const bool format_valid = !has_local_destination || format_.IsValid();
|
||||||
|
|
||||||
// Are we gonna enable the ok button?
|
// Are we going to enable the ok button?
|
||||||
bool ok = format_valid && !songs_.isEmpty();
|
bool ok = format_valid && !songs_.isEmpty();
|
||||||
if (capacity != 0 && total_size_ > free) ok = false;
|
if (capacity != 0 && total_size_ > free) ok = false;
|
||||||
|
|
||||||
|
|
|
@ -385,7 +385,7 @@ void PlaylistManager::SetActiveToCurrent() {
|
||||||
|
|
||||||
// Check if we need to update the active playlist.
|
// Check if we need to update the active playlist.
|
||||||
// By calling SetActiveToCurrent, the playlist manager emits the signal "ActiveChanged".
|
// By calling SetActiveToCurrent, the playlist manager emits the signal "ActiveChanged".
|
||||||
// This signal causes the network remote module to send all playlists to the clients, even no change happend.
|
// This signal causes the network remote module to send all playlists to the clients, even if no change happen.
|
||||||
if (current_id() != active_id()) {
|
if (current_id() != active_id()) {
|
||||||
SetActivePlaylist(current_id());
|
SetActivePlaylist(current_id());
|
||||||
}
|
}
|
||||||
|
|
|
@ -658,7 +658,7 @@ void ScrobblingAPI20::ScrobbleRequestFinished(QNetworkReply *reply, QList<quint6
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!json_obj_artist.contains("#text") || !json_obj_album.contains("#text") || !json_obj_song.contains("#text")) {
|
if (!json_obj_artist.contains("#text") || !json_obj_album.contains("#text") || !json_obj_song.contains("#text")) {
|
||||||
// Just ignore this, as Last.fm seem to return 1 ignored scrobble for a blank song for each requst (no idea why).
|
// Just ignore this, as Last.fm seem to return 1 ignored scrobble for a blank song for each request (no idea why).
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -321,7 +321,7 @@ TEST_F(SingleSong, DeleteSongs) {
|
||||||
EXPECT_EQ("Title", songs_deleted[0].title());
|
EXPECT_EQ("Title", songs_deleted[0].title());
|
||||||
EXPECT_EQ(1, songs_deleted[0].id());
|
EXPECT_EQ(1, songs_deleted[0].id());
|
||||||
|
|
||||||
// Check we can't retreive that song any more
|
// Check we can't retrieve that song any more
|
||||||
Song song = backend_->GetSongById(1);
|
Song song = backend_->GetSongById(1);
|
||||||
EXPECT_FALSE(song.is_valid());
|
EXPECT_FALSE(song.is_valid());
|
||||||
EXPECT_EQ(-1, song.id());
|
EXPECT_EQ(-1, song.id());
|
||||||
|
|
Loading…
Reference in New Issue