-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Qt6 prepare #11863
Qt6 prepare #11863
Conversation
Sleef::sleef | ||
${sleefdft_path} | ||
) | ||
endif() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
whats the error like if neither sleef nor fftw is found?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Rubberband is linked one of it, which is the choice of the package provider. If the library is not found build will fail with a significant linker error.
I have no idea how to investigate which library is used to fail early.
We need to wait for the Rubberband CONFIG mode.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Couldn't we just detect if !fftw_FOUND && !Sleef_FOUND
and error out early then? Sorry for the dumb questions, I'm not familiar enough with cmake. I'm just trying to wrap my head around it.
int columnsSize = 0; | ||
for (int i = 0; i < columnsCount; ++i) { | ||
columnsSize += qstrlen(columns[i].name) + 1; | ||
columnsSize += static_cast<int>(qstrlen(columns[i].name)) + 1; | ||
} | ||
columnsStr.reserve(columnsSize); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would've preferred changing columnsSize
to std::size_t
/qsizetype
instead.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes that world be nice. However QT provides no common ground with qsizetype for QString.reserve(). So using int
is the compatible solution.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What do you mean, "no common ground"? QString.reserve()
takes a qsizetype
on Qt6...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't auto
use int
on Qt5 and size_t
on Qt6?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We need a cast anyway, because Qt6 uses std::ptrdifsize for reserve()
src/util/versionstore.cpp
Outdated
#include <FLAC/format.h> | ||
#include <chromaprint.h> | ||
#include <lame/lame.h> | ||
#include <portaudio.h> | ||
#include <rubberband/RubberBandStretcher.h> | ||
#include <shoutidjc/shout.h> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what happened to the #ifdef __BROADCAST__
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, lets keep the ball rolling
It turns out that this is required to build main with the new Qt6 vcpkg environment.
I like to merge this first to verify the Qt5 compatibility which I like to maintain during 2.5 beta to be able to compare certain behaviors.