Commit Graph

8044 Commits

Author SHA1 Message Date
Jim Broadus c974b8b6f2 build: Don't include src/config.h from ext
Include the global /include/clementine-config.h rather than src/config.h
from /ext.

Note that this does not fully remove the dependencies on src from ext.
2021-03-16 09:30:56 +00:00
Jim Broadus 08ded2384f build: Move main config from /src to /include
Move /src/config.h to /include/clementine-config.h. The new name
prevents conflict with 3rdparty/taglib/config.h. A stub src/config.h will
remain for a transition period.  This is a first step in eliminating the
dependency of /ext components on /src.
2021-03-16 09:30:56 +00:00
Clementine Buildbot 610d87fa33 Automatic merge of translations from Transifex 2021-03-16 02:52:27 +00:00
Clementine Buildbot 681e7bea5f Automatic merge of translations from Transifex 2021-03-15 02:51:40 +00:00
Jim Broadus 3bd15aea0d library: Add option to ignore files by extension
Add a new skip option in library settings that takes a comma separated
list of file extensions. Skip files with the specified extensions when
scanning the library.
2021-03-14 14:00:03 +00:00
Clementine Buildbot cef1d7e745 Automatic merge of translations from Transifex 2021-03-14 02:51:37 +00:00
Jim Broadus 10bf5dc171 internet/core: Remove unused ItemDoubleClicked
ItemDoubleClicked became noop in 70429217c.
Usage of PlayBehaviour_DoubleClickAction was removed in b08172138.
2021-03-13 18:27:10 +00:00
Jim Broadus dfb953a78f player: Emit request URL in SongChangeRequestProcessed
Use the request URL rather than the media URL when emitting the
SongChangeRequestProcessed signal. The request URL is the URL that the
PlaylistManager, which is the only consumer of this signal, knows about.
However, in the current cases, the url is only checked by the playlist
when the two URLs should be the same.
2021-03-12 15:20:42 +00:00
Jim Broadus bde6d9cc5b player: Add original request URL to playback request 2021-03-12 15:20:42 +00:00
Jim Broadus 2339404852 player: Send request when reporting playback status
Modify the signals emitted by the engine when a url is determined to be
valid or invalid to send the entire request. This will allow additional
metadata to be added to the request, providing a mechanism to better
identify the request source.
2021-03-12 15:20:42 +00:00
Fabio Bas 651eee13e2 lint 2021-03-12 15:20:16 +00:00
Fabio Bas f56244cd8e add wayland icon 2021-03-12 15:20:16 +00:00
Clementine Buildbot 6314c8cb2d Automatic merge of translations from Transifex 2021-03-12 02:52:30 +00:00
Clementine Buildbot 7bb0c59f25 Automatic merge of translations from Transifex 2021-03-09 02:49:48 +00:00
Jim Broadus 15474ada39 build: Don't reset cflags in moodbar cmake
Append CMAKE_CXX_FLAGS and CMAKE_C_FLAGS instead of setting. Setting the
variables causes breakage in cross-compiled systems where sysroots and
machine types are set.
2021-03-08 18:06:28 +00:00
Jim Broadus f92690c14d build: Pin mac qt version to 5
"qt" now refers to qt6.

Reference: https://formulae.brew.sh/formula/qt#default
2021-03-08 10:18:29 +00:00
Clementine Buildbot 3677f702ae Automatic merge of translations from Transifex 2021-03-04 02:47:06 +00:00
Clementine Buildbot 2d8a56b7c8 Automatic merge of translations from Transifex 2021-03-03 02:47:30 +00:00
Clementine Buildbot c7f5c0f401 Automatic merge of translations from Transifex 2021-03-02 02:38:18 +00:00
Clementine Buildbot 0c099ab6f6 Automatic merge of translations from Transifex 2021-03-01 02:48:09 +00:00
Clementine Buildbot 2b988ed7b4 Automatic merge of translations from Transifex 2021-02-28 02:46:39 +00:00
Jim Broadus 05f513ab6f skydrive: Add rescan option
Add menu option to drop all items from the database and rescan the cloud
drive.
2021-02-27 13:14:23 +00:00
Jim Broadus c87409c896 cloudfileservices: Refactor context menu code
Add PopulateContextMenu, called once to populate the menu items, and
UpdateContextMenu, called ever time a menu is shown, to allow
service-specific behavior.
2021-02-27 13:14:23 +00:00
Jim Broadus b57e66dd51 cloudfileservices: Common rescan confirmation dialog
Move Google Drive's rescan confirmation dialog to CloudFileService for
reuse.
2021-02-27 13:14:23 +00:00
Jim Broadus 5767317678 onedrive: Update to use graph api
The live API was deprecated in 2018. This change implements basic
onedrive access using the MS graph API.

The URL scheme was also changed from skydrive to onedrive. This is based
on the assumption that existing playlists won't have compatible item
ids.

Known issues:
- Directories with over 200 items will be truncated.
- No mechanism for discovering changes at runtime.
- No mechanism for removing deleted items or rescanning.

Reference: https://docs.microsoft.com/en-us/onedrive/developer/rest-api/concepts/migrating-from-live-sdk?view=odsp-graph-online
2021-02-26 11:18:49 +00:00
Jim Broadus 7b5d2fd79f onedrive: Fix authentication
Discontinue use of obsolete auth endpoints. Update the name of the
settings group as well since the existing skydrive settings are no
longer useful.

Reference: https://docs.microsoft.com/en-us/onedrive/developer/rest-api/concepts/migrating-from-live-sdk
2021-02-26 11:18:49 +00:00
Jim Broadus 565110e223 onedrive: Fix json response parsing
Discontinue use of incorrect and obsolete QJsonDocument::fromBinaryData
method. Utilize common InternetService::ParseJsonReply instead.
2021-02-26 11:18:49 +00:00
Jim Broadus e479206c45 tagreader: Follow redirects when downloading file
Set the QNetworkRequest::FollowRedirectsAttribute attribute to true.
This should be changed to use RedirectPolicyAttribute when all supported
platforms move to 5.9 or greater. Stretch is at 5.7.
2021-02-26 11:18:49 +00:00
Joe Robinson bce55d0efc Fix cover art query for Subsonic-based Funkwhale servers 2021-02-26 11:16:55 +00:00
Jim Broadus 4e8a12f373 errordialog: Don't clear messages on sponaneous events.
Don't clear the message dialog if a hide event is sent from the window
manager. These spontaneous events are sent when a window is minimized,
moved to a different screen, etc.
2021-02-23 21:41:50 +00:00
Jim Broadus b989a674a4 application: Add splash during initialization
Since initialization on first startup or during a database schema update
can take several seconds, show a splash screen. In the initial
implementation, this is just a small Clementine logo.

The benefit of instantiating the splash in the Application class rather
than in main is that it could eventually show status messages during
startup. However, this implementation does not use the
QSplashScreen::finish mechanism that would synchronize the hiding of the
splash screen with the showing of the main window.
2021-02-21 14:18:54 +00:00
Jim Broadus 59864bf1b6 application: Add a Starting() slot to Application
Add a slot that is invoked when the main application loop starts. This
can be used to perform setup tasks after the initialization has
occurred. Initial use is to hide a splash.
2021-02-21 14:18:54 +00:00
Jim Broadus b40d9ed44b oauth: Fix redirect
Query params were not added to redirect url prior to inclusion in oauth
request. This change fixes OneDrive authentication.

Regression introduced in 8b226c2171
2021-02-21 14:18:17 +00:00
Jim Broadus 1a3828e2c1 protobuf: Fix namespace conflict
Protobuf 3.15 adds a namespace alias for "pb" that conflicts with
Clementine's. Modify Clementine to use "cpb".

Patch provided by @ahesford

Reference: 5c028d6cf4/src/google/protobuf/port.h (L44)
2021-02-21 14:17:26 +00:00
Clementine Buildbot d93bd9ca2b Automatic merge of translations from Transifex 2021-02-19 02:41:26 +00:00
Jim Broadus d9a48b90b0 build: Make Mac build compatible with Mojave
Use XCode 10.3 to maintain Mojave compatibility.
2021-02-18 11:37:29 +00:00
Clementine Buildbot b69dd2d909 Automatic merge of translations from Transifex 2021-02-14 02:41:16 +00:00
Clementine Buildbot cde0343a68 Automatic merge of translations from Transifex 2021-02-13 02:39:31 +00:00
Clementine Buildbot f7ed4a3090 Automatic merge of translations from Transifex 2021-02-11 02:40:17 +00:00
Jim Broadus fffc50c79c build: Update deb compat level to 10
Level 9 is deprecated. 11 is the highest level supported by Stretch,
however use of that level is not recommended.

Reference: https://manpages.ubuntu.com/manpages/focal/man7/debhelper.7.html
2021-02-10 12:11:17 +00:00
Jim Broadus f7b6708e4f transcoder: Add options widget for voaacenc
Base GstAudioEncoder class properties are not included.
Reference: https://gstreamer.freedesktop.org/documentation/voaacenc/index.html
2021-02-07 15:05:11 +00:00
Jim Broadus 4994091f86 transcoder: Add options widget for fdkaacenc
As with the other cases, the base GstAudioEncoder class properties are
not included.
Reference: https://gstreamer.freedesktop.org/documentation/fdkaac/fdkaacenc.html
2021-02-07 15:05:11 +00:00
Jim Broadus e84f87f625 transcoder: Apply transcoder option fixes to settings page
Dynamically add tabs to the transcoder settings page. Use the same
mechanism that is used in the options dialog to select an options
page based on the best encoder element for a mime type.
2021-02-06 21:28:38 +00:00
Jim Broadus 79d81283a8 transcoder: Add an enum for known codecs
Add CodecType to enumerate codecs available for settings and a MimeType
to provide the mime string.
2021-02-06 21:28:38 +00:00
Jim Broadus 8f3772b593 transcoder: Move option error into its own widget
Create a TranscoderOptionsError class and ui that inherits from
TranscoderOptionsInterface. Use this to display options errors. Move
widget creation into a static method. These changes will allow use of
the same mechanism in the transcoder settings page.
2021-02-05 10:40:31 +00:00
Jim Broadus eb7a9bfa4c transcoder: Show options based on encode element
Instead of assuming a specific set of options based on a format,
determine which encoder element will actually be used in the pipeline.
2021-02-03 10:46:14 +00:00
Jim Broadus a98035d635 transcoder: Separate suitable element search from creation
Split best element type search from Transcoder::CreateElementForMimeType
into new FindBestElementForMimeType method. This will allow the setting
dialog to determine the encoder element type before the pipeline is
built.
2021-02-03 10:46:14 +00:00
Jim Broadus 57a6fe4f20 utilities: Add common method for bug report URL generation
Move code from PodcastParser::ParseItem for reuse.

Example:
Calling Utilities::MakeBugReportUrl("New bug") returns:
https://github.com/clementine-player/Clementine/issues/new?title=New%20bug
2021-02-03 00:32:00 +00:00
Jim Broadus 281da05325 transcoder: Provide user feedback in options error condition
Remove condition that allows no dialog to be displayed when user selects
options for transcoding. Display the dialog with an error message
instead. This also applies to the transcode options dialog in the
ripping and network remote settings.
2021-02-02 09:58:20 +00:00
Jim Broadus b735f5d1c3 transcoder: Change TranscoderOptionsDialog constructor
Take a reference to a TranscoderPreset object instead of the the type.
This will allow the dialog to provide better information and correct
options.
2021-02-02 09:58:20 +00:00