Commit Graph

5879 Commits

Author SHA1 Message Date
Clementine Buildbot da0447142b Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2019-07-09 00:25:09 +00:00
Clementine Buildbot a0e4785346 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2019-07-02 00:25:09 +00:00
Paul Bonnen b697e962b3 Make D-Bus 'desktop-entry' hint match system filename.
"Clementine" (as returned by QCoreApplication::applicationName())
does not match the system .desktop file name (but it may match user
.desktop files, as was the case for me); Clementine won't be picked up
as an application in KDE Plasma notification settings unless it case
matches.
2019-06-16 13:03:47 -04:00
Paul Bonnen 8483d24a04 Add `desktop-entry' hint to D-Bus notifications.
The notification system in KDE Plasma 5.16+ requires a 'desktop-entry'
hint in the D-Bus message to enable per-application notification
settings.
2019-06-16 12:37:53 -04:00
Jonas Kvinge 9e85eb2c0f
Fix gst_buffer_unref assertion in chromaprinter 2019-06-09 10:29:41 +01:00
Clementine Buildbot c1af92d24d Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2019-06-04 00:24:56 +00:00
Clementine Buildbot 4ed4eec817 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2019-05-21 00:25:05 +00:00
Clementine Buildbot ebdaaaf714 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2019-05-14 00:25:05 +00:00
Clementine Buildbot d3e79436af Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2019-05-07 00:25:10 +00:00
Clementine Buildbot 44ac3936ea Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2019-04-30 00:25:05 +00:00
Clementine Buildbot 013ee87177 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2019-04-27 16:41:30 +00:00
Jonas Kvinge 8094957e09 Fix gst_buffer_unref assertion in chromaprinter 2019-04-26 20:40:42 +02:00
Clementine Buildbot d079f00cfe Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2019-04-23 00:25:03 +00:00
Antonio Russo 40326bb94b setFirstSectionMovable() in playlistview.cpp
Qt 5.11 added a function allowing the first column in a list to be set
to be movable.  Contingent on its availability, make the first column
of the playlist viewer draggable.
2019-04-22 17:31:16 -04:00
Antonio Russo 783dada13e Revert "Blacklist all NVidia drivers"
In 2011, there was a bug that caused NVIDIA drivers to hang
Clementine on shutdown. In 2012, only some drivers had the
fix for this issue. Now, in 2019, we do not need to work
around this bug. By reverting commit

c2723008a2

we work around known bad drivers, but do not penalize all
NVIDIA users for this ancient bug.
2019-04-21 09:11:33 -04:00
Clementine Buildbot b11316ff03 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2019-04-16 00:25:05 +00:00
Clementine Buildbot 7c5a050ab8 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2019-04-13 18:32:41 +00:00
John Maguire 40400e850d
Merge pull request #6323 from jbroadus/async-load-errors
Add error handling path for async song loading.
2019-04-13 19:30:24 +01:00
Clementine Buildbot 4630032565 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2019-04-12 10:12:55 +00:00
Jim Broadus babff78025 Add error handling path for async song loading.
Async song loading can fail without user feedback. This change adds return codes
to these async load functions. It will now produce an error dialog in simple
scenarios (test case is user selecting a file that is not readable). Other cases,
such as directories and playlists, aren't yet covered.
2019-04-10 11:49:09 -07:00
John Maguire 17d95b7833
Merge pull request #6286 from smithjd15/apeFiles
More bits for APE files (Finish APE file support)
2019-04-10 11:13:51 +01:00
John Maguire e3609b27cd
Merge pull request #6296 from ShFil119/impr/simplify
Simplify some statements
2019-04-10 11:12:09 +01:00
John Maguire 878b366bfb
Merge pull request #6324 from jbroadus/set-min-fade-time
Set non-zero minimum for fade times.
2019-04-10 11:10:47 +01:00
Clementine Buildbot 641ab64ccc Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2019-04-09 00:25:03 +00:00
Jim Broadus cc295a4c4c Set non-zero minimum for fade times.
QTimeLine duration must be greater than 0. If set to 0, a default of 1000ms will
be used. To avoid this, enforce a minimum of 1ms for pause and cross fade values
if those fades are enabled.
2019-04-07 21:31:30 -07:00
James D. Smith bd89a1d2de Fixes for APE filetype. 2019-04-01 22:56:50 -06:00
Clementine Buildbot f6ba37dbc5 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2019-04-02 00:25:06 +00:00
John Maguire d8e0e7e67e
Merge pull request #6314 from jbroadus/fix-gobject-leak
Fix several gstreamer object leaks.
2019-03-26 09:51:06 +00:00
Jim Broadus 5c2ceb3490 Fix several gstreamer object leaks.
There are a number of cases where gst_pipeline_get_bus,
gst_element_get_static_pad, and g_object_get are called without releasing
references. In addition to memory usage, some of these elements hold file
descriptors. In normal operation, two file descriptors are leaked for each
played track. The default fd ulimit for many linux distros is 1024. This
is likely the cause of the crash reported in issue 6309.

This change fixes the obvious and consistent leaks, but it's probably not a
complete solution. There are many error and corner conditions that need to be
examined.
2019-03-25 23:22:09 -07:00
Clementine Buildbot 485f187e64 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2019-03-26 00:25:04 +00:00
Jim Broadus ca8db288d5 Free decoder bin if error occurs during setup.
In the case that an error occurs in ReplaceDecodeBin before the bin is added to
the pipeline, unreference the object to allow cleanup. This change also separates
CreateDecodeBinFromUrl from ReplaceDecodeBin, following the pattern of
CreateDecodeBinFromString.
2019-03-23 22:33:17 -07:00
Jim Broadus 102c529f80 Fix potential use of streamer element after deletion.
If ReplaceDecodeBin fails from TransitionToNext, uridecodebin_ will not be
replaced with a new element. Since TransitionToNext does not check the return
value, it unknowingly deletes uridecodebin_.
2019-03-19 18:47:19 -07:00
Clementine Buildbot 50e1158106 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2019-03-19 00:24:57 +00:00
Jim Broadus 55edcf5321 Fix MoodbarPipeline crash on gstreamer error.
As reported in issue 6302, playing a stream that causes gstreamer to error at
start can cause a crash. The problem occurs when the MoodbarPipeline receives a
pad-added signal after it has handled an error callback. In the error callback,
the builder_ is freed. In the pad-added handler (NewPadCallback), this object
is accessed.

This change adds a running_ flag that is set when the pipeline is started and
cleared on an error, end of stream, or object destruction. We check this flag at
the beginning of NewPadCallback. For sanity sake, we also check the builder_
pointer before dereferencing. Note that checking the state of the pipeline
wasn't an option since the pipeline is in the process of changing states during
the pad-added callback and gst_element_get_state wants to block during a state
change.

This solution is not complete as there are still some syncronization issues.
With this specific situation, the error and new pad callbacks appear to always
occur on the same thread, but that's probably not true for all error conditions.
The object is also destroyed by a different thread, so it may be possible that a
callback can occur at the wrong time during or after the deletion of the object.

See https://github.com/clementine-player/Clementine/issues/6302
2019-03-17 22:26:01 -07:00
Clementine Buildbot bcc8c6258b Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2019-03-12 00:25:03 +00:00
Clementine Buildbot f41b7bd893 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2019-03-05 00:25:19 +00:00
John Maguire efdd65b8f9
Merge pull request #6299 from jbroadus/fix-threading-issues
Fix threading issues
2019-03-03 16:22:39 +00:00
Clementine Buildbot abab640797 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2019-02-26 00:25:07 +00:00
Jim Broadus d041da18cc Handle case where a lister adds a device before loaded from database.
There is a small chance that a device lister is able to discover and add a
previously known device before it is added by the database loader thread.
In this case, copy the data that is user-settable to the existing DeviceInfo
object and destroy the object created from the database query.

This adds and utilizes a new FindEquivalentDevice method that compares the
device unique IDs. This could probably be made more robust as the unique
IDs for some listers may change. However, this is a problem with the database
storage implementation in general.
2019-02-24 00:05:18 -08:00
Jim Broadus a62062127e Fix thread-safety issues when initially loading devices from the database.
When DeviceManager initializes, it creates a thread to load device information
from the database. Part of this process includes use of QPixMap for icons which
produced a warning message:

22:32:53.763 WARN  unknown                          QPixmap: It is not safe to use pixmaps outside the GUI thread

In addition, the device is added to the view using beginInsertRows and
endInsertRows. This could contend with a device added by a lister signaling
PhysicalDeviceAdded.

To solve these problems, this change moves the icon loading and insertion to the
main thread. LoadAllDevices reads the data from the database and creates the
DeviceInfo object, then sends a signal to the main thread. In the signal
handler, the icon is loaded and the device is added to the master list and view.
2019-02-24 00:03:45 -08:00
Filip Gawin be827f4f7f Simplify some statements 2019-02-22 18:49:48 +01:00
Jim Broadus 248f1d8596 Prevent UI hang during device scan. (#6291)
When unmounting a device, the ConnectedDevice object is destroyed. The
FileSystemDevice destructor waits on its worker thread. If a scan is in
progress, this will block until completion.

There is an existing Stop method in the LibraryWatcher class that is intended to
stop long running operations. To fix, or at least significantly shorten this
hang, we'll call this before waiting for the thread to exit. Also add a
stop_requested check in the cover art scan.

In addition, add a call to Stop in the Library destructor, which has a similar
usage.
2019-02-20 19:03:44 +11:00
Clementine Buildbot 925773f15c Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2019-02-19 00:25:11 +00:00
smithjd15 8dd5750efa Improved support for APEv2 tags. (#6280) 2019-02-14 17:37:44 +11:00
Clementine Buildbot 703d592df6 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2019-02-12 00:25:10 +00:00
Clementine Buildbot 10d8732457 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2019-02-05 00:25:10 +00:00
Clementine Buildbot 9282c2c059 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2019-01-29 00:25:00 +00:00
Jonas Kvinge c277cc5f6c Merge remote-tracking branch 'upstream/master' into qt5-update 2019-01-27 19:44:28 +01:00
Jonas Kvinge 3256e81414 Update about 2019-01-27 14:55:50 +00:00
Jonas Kvinge d8788d6a0d Update qt5 branch 2019-01-27 01:00:36 +01:00
Clementine Buildbot df38e78b28 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2019-01-22 00:24:48 +00:00
Jonas Kvinge 0e52bd9d63 Remove amazon cover provider (#6265) 2019-01-21 22:04:50 +00:00
Jonas Kvinge 7f9cff03b1 Change default group by in library to album artist (#6264) 2019-01-21 21:39:39 +00:00
Jonas Kvinge ed3d462674 Fix memory leak and use ItemToIndex / IndexToItem (#6262) 2019-01-21 21:38:46 +00:00
Jonas Kvinge 7e25a7c7e4 Convert devices manager(model) to QAbstractItemModel (#6260) 2019-01-21 09:06:48 +00:00
Jonas Kvinge d772c8078d Fix formatting 2019-01-18 01:49:17 +01:00
Jonas Kvinge 89f40ee88f Use QUrlQuery 2019-01-18 01:47:26 +01:00
Jonas Kvinge 1d17bee44a Merge with master and fix conflicts 2019-01-18 01:38:12 +01:00
Jim Broadus 6c159481ed Handle MTP connection failures more gracefully. (#6256)
Currently, the failure to connect to an MTP device results in the UI displaying
an open device that appears empty. This change introduces a method
ConnectedDevice::ConnectAsync() that is expected to handle any connecting tasks
that could block asynchronously. Upon completion, this emits a ConnectFinished
signal that indicates success or failure. The row in the UI is only updated
after the successful response is received. Upon failure, DeviceManager will
clean up and the row in UI is left in the pre-connect state.

Currently, only the MtpDevice utilizes this mechanism. All other devices use a
default implementation that immediately reports success.
2019-01-15 21:10:05 +00:00
Jonas Kvinge 8d78dae9b6 Quit thread before deleting the loader (#6254) 2019-01-15 17:57:00 +00:00
Jonas Kvinge 681f986f0f Fix global shortcuts using GSD D-Bus backend (#6251) 2019-01-09 04:11:28 +00:00
Jim Broadus 74fa386c90 Try to obtain USB bus and device number from device name if unavailable in URI. (#6243)
In 1.37.2, gvfs switched to URIs that remain consistent across USB device
re-enumerations. This removed the usb bus and device numbers from the URI. In
the case that these values aren't found in the URI, try to parse Unix device
name property and pass results as query params on the URL. Pay attention to
these params in MtpConnection.

See gvfs commits 3a7bb06b and efc76d0c for reference.
2019-01-02 15:06:22 +00:00
Andreas Sturmlechner 4ff370ce1e Fix build without Qt5DBus (#6187)
* Qt5::Test is not required in the global QT_LIBRARIES definition

* Qt5::DBus had already been optional, drop bogus pkgconfig search

This partially reverts commit 4321ecf7d2.

* Find X11 only once, in root CMakeLists.txt

Since we have HAVE_X11, use HAVE_X11 in cmake.
2019-01-02 15:03:24 +00:00
Jonas Kvinge 09538d84f2 Fix Qt 5 build (#6246) 2019-01-02 15:02:34 +00:00
Clementine Buildbot 544a1d1eff Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2019-01-01 00:25:03 +00:00
Clementine Buildbot 3c8a558e7e Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2018-12-11 00:25:06 +00:00
John Maguire 453270c8b5 Fixes for compiling against qt5 on mac 2018-12-05 18:16:34 +01:00
Clementine Buildbot d853f3bfa5 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2018-12-04 00:24:56 +00:00
Jonas Kvinge 1f87535c2f Replace sha2 with QCryptographicHash (#6230) 2018-12-03 00:45:20 +00:00
Jim Broadus 95187ed0a1 Fix encoding of GError messages when logging. (#6228)
GError messages contain non-ascii characters. This normally just produces some garbage when we use the default QString contructor that assumes ASCII for logging. However, when a message includes the right double quote, UTF-8 sequence 0xE2 0x80 0x9D, the final byte is OSC. VT100 expects a command sequence to follow and stops echoing output until it sees ST or BEL character, which may never come. Thus, the console output is halted.

This change uses QString::fromLocal8Bit instead of depending on the default constructor. About half of the sites in the codebase had already been converted.

One side effect is that log messages are quoted. There are additional options to control this, but those were only introduced in Qt 5.4.
2018-12-02 09:51:19 +00:00
Jonas Kvinge 16bdd39c03 Merge remote-tracking branch 'upstream/master' into qt5-update 2018-11-29 23:21:54 +01:00
Jonas Kvinge 2d1f6cd239 Replace Q_OS_MACOS with Q_OS_MAC (#6223) 2018-11-29 22:11:55 +00:00
Jonas Kvinge d260c8b6d8 Fix saving playlist columns (#6222) 2018-11-29 21:33:52 +00:00
Jonas Kvinge 9f946a2898 Improvements to makefiles and make components optional (#6221) 2018-11-29 21:32:12 +00:00
Mattias Andersson 587e72b8c3 Fix library search queries on fts columns (#6219)
This fixes a regression introduced in 8818ba340a.
2018-11-29 14:36:01 +00:00
Jonas Kvinge 289ea31f8c Fix saving geometry and fancytab settings (#6217) 2018-11-28 20:08:23 +00:00
Jim Broadus 122d28eab9 Fix device loader error messages. (#6215)
GPodLoader and MtpLoader Error signals were connected to Error signals in their repective device classes, but the actual signal definition in ConnectedDevice was removed in a refactor several years ago. This change adds LoaderError slots to these device classes and reports the error in the manner of the refactored code.
2018-11-28 10:23:31 +00:00
Clementine Buildbot c6cb7333a6 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2018-11-27 00:24:54 +00:00
Alex Kong 0b54e1ff0b Updated accessibility check logic to fix Mojave crash 2018-11-24 18:36:34 +00:00
Jonas Kvinge 647279a000 Move spotifyimages out of spotify support 2018-11-21 10:31:17 +00:00
Jonas Kvinge 1d5783b846 Fix formatting 2018-11-21 10:31:17 +00:00
Jonas Kvinge 8c198a99a5 Qt 5 fixes 2018-11-21 10:31:17 +00:00
Clementine Buildbot 3bc6f70590 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2018-11-20 00:25:07 +00:00
Jim Broadus 5a1a5a9d95 Display podcast episode information. (#6203)
* Display podcast episode information.
Add an EpisodeInfoWidget with title, author, duration, date, and description fields. Include this in the PodcastInfoDialog. If exactly one episode is selected, then show both the podcast and episode widgets and display the episode's URL. Otherwise, hide the episode widget and follow the existing behavior. Note that the desription field for the EpisodeInfoWidget uses the QLabel and does not currently download embedded images.
Add an always_show_hours option to the PrettyTime methods to include hours in formatting even if the field is zero. This is less ambiguious in some cases where duration is displayed.

* Apply patch from automated formatter test.
2018-11-17 13:29:16 +00:00
Jim Broadus d8bab5a49f Fix memory leak in PodcastInfoWidget. (#6202) 2018-11-13 08:09:15 +00:00
Clementine Buildbot a97401cac4 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2018-11-13 00:25:13 +00:00
Jonas Kvinge d4fab4a2ea Merge remote-tracking branch 'upstream/master' into qt5-update 2018-11-11 22:46:07 +01:00
Jim Broadus 2e4814eb36 Create a PodcastInfoDialog that utilizes the existing PodcastInfoWidget. Add a Podcast Information menu item that is enabled when exactly one podcast is represented by the highlighted items. (#6190) 2018-11-11 20:53:06 +00:00
Jonas Kvinge 0104763009 Fix missing signal (#6195)
* Fix missing signal

* Fix formatting
2018-11-11 16:48:09 +00:00
Jonas Kvinge 80c7235085 Fix no music image (#6194) 2018-11-11 16:17:19 +00:00
Jonas Kvinge 9709ce0896 Fix crash in analyzer (#6193) 2018-11-11 16:15:30 +00:00
Jonas Kvinge 24c428dbae Add missing Player::Stop() (#6192) 2018-11-11 16:14:59 +00:00
Clementine Buildbot 4217e130cd Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2018-11-06 00:24:53 +00:00
Clementine Buildbot 6ba002e4a1 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2018-10-30 00:25:11 +00:00
Clementine Buildbot fbfd35272d Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2018-10-23 00:24:59 +00:00
eclipseo 623a536812 Use qt5 version of system-wide libraries (#6181) 2018-10-22 16:44:59 +01:00
Victor Parmar f4d84bc05a Split last.fm scrobbling and play count calculation, closes #5771 (#6179)
Also add a configurable option to increment the play count if song has played for a shorter duration.
2018-10-20 12:57:49 +01:00
Clementine Buildbot 9eb92ee2b5 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2018-10-16 00:24:51 +00:00
Amish Naidu 107e945872 Convert uses of QtAlgorithms to std:: algorithms 2018-10-09 19:17:54 +01:00
Clementine Buildbot 1504d8be1c Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2018-10-09 00:24:39 +00:00
Amish Naidu 34e007f2b8 Port 'Allow ignoring prefixes when sorting playlist' to master (#6166)
* Allow ignoring prefixes when sorting playlist

This introduces new configuration options which allow you to ignore
prefixes while sorting the playlist on album, artist and titles.
Prefixes are configurable, default are "a" and "the".

* Change QStringLiteral to QString for compatbility with Qt 4.8
2018-10-08 16:24:36 +01:00
Amish Naidu fb00835468 Allow ignoring prefixes when sorting playlist
This introduces new configuration options which allow you to ignore
prefixes while sorting the playlist on album, artist and titles.
Prefixes are configurable, default are "a" and "the".
2018-10-05 10:56:49 +01:00
Clementine Buildbot bea1816a15 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2018-10-02 00:24:38 +00:00
Jonas Kvinge 159d3c6ba6 Merge remote-tracking branch 'upstream/master' into qt5-update 2018-10-01 22:54:05 +02:00
John Maguire 5511583966 Remove SoundCloud support
Closes #5766, closes #5538, closes #6114, closes #5914
2018-10-01 17:46:24 +01:00
Jonas Kvinge 25ef0ff211 Only use system tray if it's available on the system (#6154) 2018-10-01 01:40:31 -07:00
Jonas Kvinge 6432a9c399 Make systray settings available only if there is a systray on the system (#6153) 2018-10-01 01:39:37 -07:00
Jonas Kvinge c29c2e95cc Fixed merge conflicts 2018-09-30 15:11:06 +02:00
John Maguire 97eadbd441 Add error handling for FTS3 tokenizer 2018-09-29 23:30:37 +01:00
John Maguire 5e8dcd668c Merge branch 'fix-sqlite' of https://github.com/Fat-Zer/Clementine into fix-sqlite 2018-09-29 23:07:30 +01:00
Clementine Buildbot 5e0caa512a Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2018-09-25 00:24:43 +00:00
Clementine Buildbot d97c19dac8 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2018-09-18 00:24:37 +00:00
Clementine Buildbot a73d67aae4 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2018-09-17 14:33:04 +00:00
Clementine Buildbot 31a9b452fb Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2018-09-17 14:03:05 +00:00
Ilgiz Mustafin a65dabcf0a Date columns for use in library search queries. (#6135)
* Mention numeric columns in tooltip

* Add date filters in search queries

* Show filter usage in tooltip

* Fix code formatting
2018-09-08 13:18:44 -07:00
Ilgiz Mustafin 68d473cfb1 Add filetype filter in search queries 2018-09-05 01:44:40 -07:00
Ilgiz Mustafin 8818ba340a More columns for use in library search queries
Support more columns for the COLUMN:VALUE syntax
in the library search query
2018-09-05 01:44:40 -07:00
Eoin O'Neill 8902776b32 SPC playback fix to prevent end-of-track signal hang.
This fixes an issue with SPC playback where tracks would not properly register End-of-track
notifications when a new track begins.
2018-09-03 01:17:51 -07:00
Alexander Kernozhitsky a71694f61b Emitting CanPlay and CanPause on change
See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=898998 for more
information.
2018-08-24 05:59:33 -07:00
Kerem Seyhan 4ac2dedefa Added mouse forward and back button actions. 2018-08-14 17:09:55 +01:00
David Guillen Fandos 4a1236f8da Reduce some CPU load by disabling/fixing some UI stuff
- Disabling playlist row glow by default
 - Track slider popup visible by default, add hide()
    to ensure not visible by default (no more repaints)
 - Set kTrackSliderUpdateTimeMs to 500. IMO 40 is too low

This should partially fix issue #1079
2018-08-08 22:39:54 +01:00
Mark Furneaux 2b280de663 Attempt to fix track change hang
When switching between tracks with different sample rates, the probe queue blocks before the pipeline can emit EOS.
This prevents the track change from proceeding without manual intervention. This appears to be because the queue
element doesn't handle the rate change correctly (either due to buffer length, or cap negotiation).
The queue2 element however does handle this without blocking indefinitely.
2018-07-09 12:05:48 +01:00
Mattias Andersson e9a4db0192 Prevent closing of the RipCDDialog if the ripper is running
This prevents a segfault when a running dialog is closed and later reopened.
2018-07-07 10:23:49 +01:00
Mattias Andersson 10d4c502fd Set the parent to avoid a memory leak 2018-07-06 17:09:21 +01:00
Mattias Andersson 3e53e23bb8 Fix formatting 2018-07-06 17:09:21 +01:00
Mattias Andersson 2c084e45b6 Finnish immideately if there are no tracks to rip 2018-07-06 17:09:21 +01:00
Mattias Andersson 059b5ed04f Add Musicbrainz integration to the cd ripper 2018-07-06 17:09:21 +01:00
Mattias Andersson 84f1b7bae0 Load the audio cd in a separate thread 2018-07-06 17:09:21 +01:00
Mattias Andersson 4458d45200 Give the cd device some more time to spin up 2018-07-06 17:09:21 +01:00
Jonas Kvinge b897651cdb Device fixes for MacOs (#6098)
* Fix setting device for newer MacOs

* Fix setting device if there is an empty description
2018-07-06 10:04:40 +01:00
Jonas Kvinge a5e8eba91c Merge remote-tracking branch 'upstream/master' into qt5-update 2018-06-29 02:38:19 +02:00
Eoin O'Neill 4733185d08 Added basic VGM format playback and tag reading. (#6089)
Current VGM format implementation in GStreamer (gstgme) only supports Sega Geneses (Mega Drive) and Sega Master System emulation.
GStreamer also cannot handle the VGZ format (a shorthand for vgm.gz, a gzipped archive that contains a song) which means
that users will currently have to extract the contents of their VGZ files to individual vgm files.
2018-06-18 14:26:11 +01:00
vaterlangen fcf96cb6ff Queue size and duration is now displayed in queue manager && Album Cover Popup fixes (#6086) 2018-06-18 14:21:44 +01:00
Eoin O'Neill e2f63e3945 Implemented SPC playback functionality.
Would like to add more playback support for additional GME supported file types. GME is already supported by the GStreamer backend.
2018-06-16 10:06:37 +01:00
Jonas Kvinge a397871123 Fix loading output/device setting 2018-06-14 21:39:16 +01:00
Jonas Kvinge 5dbdcca54f Set empty string for sinks with default devices and auto sink 2018-06-14 21:39:16 +01:00
Clang Formatter 083129f41c Automatically formatted 2018-06-13 20:37:13 +00:00
vaterlangen 465fa2ce87 Clicking on songs in playlists via remote control now respecting behavioural settings from GUI (either direct changes it or enques it) 2018-06-13 22:03:23 +02:00
Jonas Kvinge f3aab34d3a Add ALSA Device Finder (#6079) 2018-06-13 09:56:42 +01:00
Jonas Kvinge da648fd08f Fix setting device on windows (#6081) 2018-06-12 09:27:10 +01:00
John Maguire 1b4955cc4a
Merge pull request #6076 from jonaski/taglib
Audio file detection by content supported by newer taglib
2018-06-10 00:04:07 +01:00
Jonas Kvinge 925e74f909 Fix crash when uridecodebin fails. (#6077)
Let's the user see the error message what failed instead of Clementine crashing.

Also don't do gst_object_unref unless bin is set.
This fixes GStreamer-CRITICAL gst_object_unref: assertion 'object != NULL' failed
2018-06-06 23:53:25 +01:00
Jonas Kvinge e0d2d9b424 Use taglib to check for valid audio file 2018-06-06 22:54:48 +02:00
ftiede c01b7bc430 Add option to verify subsonic server certificate. (#6060)
* Add option to verify subsonic server certificate.

Defaults to true, as it is safer to have a server certificate verified,
even more so, if the server is used over an insecure WAN link.
During subsonic configuration the checkbox can be deactivated, so that
no certificate verification will occur when talking to a subsonic
server, allowing for self-signed certificates.

With the proliferation of let's encrypt certificates there's probably
less need for this option but it has been requested and hard-coding
verify-off is IMHO bad security practice.
If a valid certificate has been installed, the configuration file can be
modified manually and after a restart Clementine will perform a proper
server certificate verification.

The patch might need some UI polishing and asks for string translations
but is operational so far.

* Satisfy CLang format checker.

* Use QSettings' default value support.

* Consistently use QSettings' default value method.
2018-05-23 14:23:53 +01:00
ftiede 4619a4c1ab Work around Qt's QUrl parser. (#6059)
Qt's QUrl parser does no longer accept pure numeric hostnames without
trying to make a dotted IPv4 address of them.
Thus current method of storing subsonic's numeric ids in the host part
of a QUrl ("subsonic://<id>") does no longer work.
Instead a query is constructed omitting the host-part entirely and using
"subsonic://?id=<id>" to store and retrieve subsonic titles.
2018-05-23 14:23:21 +01:00
Antonio Russo 783cdf938a Do not reset column_widths_ on model change (#6058)
`column_widths_` is managed elsewhere. Resetting it on model change
makes tab-switching slow, and---if a vertical scroll bar becomes visible
or hidden---can be triggered in unexpected situations, leading to
visible column information loss.

Signed-off-by: Antonio Russo <antonio.e.russo@gmail.com>
2018-05-23 12:53:12 +01:00
Antonio Russo 6a312e7459 Limit both QSettings reads and writes (#6057)
Any access, read or write, via QSettings requires locking
`Clementine.conf`. On some devices, this can be slow. Moreover, it also
increases power use and wear on devices such as SSDs.

To improve the situation, defer QSettings updates until program close
for window resize, current playlist tab, and playlist geometry, i.e.
`PlaylistView::SaveGeometry`.

Also, limit `PlaylistView::LoadGeometry` to once per program run.

Signed-off-by: Antonio Russo <antonio.e.russo@gmail.com>
2018-05-22 11:18:54 +01:00
Chocobozzz 16b4f9a991
Merge remote-tracking branch 'upstream/master' into qt5 2018-05-14 08:25:27 +02:00
Chocobozzz 5bd2c77c58 Fix compilation with GCC 8 (#6053) 2018-05-13 18:02:33 +01:00
Jonas Kvinge 37912a87b8 Fix WavPack playback (#6048) 2018-05-01 18:29:47 +01:00
Mark Furneaux d28a318437 Clang format 2018-04-14 16:57:06 -04:00
Mark Furneaux 2793cfa7fb Add to loaderinserter 2018-04-14 16:31:48 -04:00
Jonas Kvinge 804168edc7 Bring back album cover fetching from discogs. (#6028)
* Bring back cover fetching from discogs.
2018-03-19 14:18:56 +00:00
Mark Furneaux 3626d84964 Add play next from library 2018-03-18 22:44:00 -04:00
Mark Furneaux a789ce82ca Allow playing of tracks already in queue 2018-03-18 22:03:04 -04:00
Mark Furneaux 6e387c2578 Initial playlist implementation 2018-03-18 14:43:44 -04:00
Andreas Sturmlechner 55a39a9609 Fix build with Qt 5.11 (#6029) 2018-03-17 02:16:49 -04:00
Valeriy Malov 2d7894915d Accept closeEvent() for mainwindow when closing to tray
There's no difference between close() and hide() if WA_DeleteOnClose is not set, so if we're going to hide the window we might as well accept the event.
Ignoring the event may interrupt shutdowns since it signals that the application doesn't want to close the window, at least this happens on Plasma 5.11 when Clementine is not minimized to tray.
2018-03-13 15:04:12 -04:00
Jonas Kvinge e52c7f6475 Fix formatting 2018-03-12 07:55:59 -04:00
Jonas Kvinge d33ac6ef81 Fix background not loading. 2018-03-12 07:55:59 -04:00
Jonas Kvinge c393926be6 Fix background not loading. 2018-03-12 07:55:59 -04:00
Jonas Kvinge de23c3181f Fix resume playback on start not working. 2018-03-12 07:55:59 -04:00
Jonas Kvinge c3a7920cb4 Don't use empty URL's from LastFM. 2018-03-12 07:55:59 -04:00
Pulfer ddfa5e63f1 Fix channels loading for DI.fm services after API domain changes (#6023) 2018-03-10 18:35:09 +00:00
Jonas Kvinge 335bc89c97 Workaround for broken CD playback in Qt5 (#6021)
* Workaround for cdda URL in qUrl()

* Workaround for cdda URL in qUrl()

* Fix code formatting

* Fix code style
2018-03-09 23:09:55 +00:00
Jonas Kvinge c9d954f8a3 Fix bug in covermanager not saving album cover to DB. (#6011)
* Fix bug in covermanager not saving album cover to DB.
2018-03-04 14:13:34 +00:00
Jonas Kvinge 5966ff51cc Fix bug in fetching album covers from Amazon (#6007)
* Fix bug where the http request is not sending anything else than the signature.

* Fix bug in fetching album covers from Amazon
2018-02-28 22:34:19 +00:00
Antonio Russo 1732e56fe6 Hide TrackSliderPopup on appropriate leaveEvent
The previous fix introduces a regression on some platforms
which did not generate a leaveEvent with the TrackSliderPopup
was displayed. Logic is introduced to identify bonafide mouse
motion out of the TrackSliderSlider.
2018-02-24 23:42:29 +00:00
John Maguire 9929450cc2 Revert "Hide TrackSliderPopup on exit from popup"
This reverts commit f629d37315.
2018-02-24 22:35:40 +00:00
Antonio Russo f629d37315 Hide TrackSliderPopup on exit from popup
The previous behavior exited on leaving TrackSliderSlider,
which causes the popup to flicker, as it is shown and
hidden rapidly.
2018-02-24 17:16:51 +00:00
John Maguire 4273c03132 Merge branch 'master' into qt5 2018-02-19 16:46:42 +00:00
Andreas Sturmlechner d5e5f8246f Remove "-qt5" suffix from ApplicationName and OrganizationName
Renaming the application does not really make sense, but keeping it in
qLog info to identify it in debug output.
2018-02-19 16:22:04 +00:00
Chocobozzz a1a892b35e Fix "Invalid key" error in lastfm auth 2018-02-19 09:10:26 +00:00
kleinfreund 2555595ce0 Determine operator enum instead of comparing with magic numbers 2018-02-12 19:13:36 +00:00
kleinfreund 4ab6f359d5 Smart Playlists: Add empty/not empty operators 2018-02-12 17:59:43 +01:00
John Maguire eafc1713ab
Merge pull request #5960 from vikramambrose/feature-playlist-page-search-filter
Add search filter to playlist list page
2018-02-03 17:19:10 +00:00
Benjamin Sproule 595eec7878 Removed filter for audio/folder OneDrive items as OneDrive doesn't count many audio file types as audio (e.g. flac) (#5977) 2018-02-01 11:38:25 +00:00
Chocobozzz 70f68b1926
Merge remote-tracking branch 'upstream/master' into qt5 2018-02-01 09:50:42 +01:00
Chocobozzz 38c1f8777c Fix compilation with crypto++ >= 6.0.0 (#5974) 2018-02-01 08:07:51 +00:00
Vikram Ambrose 5e065609b6 Ensure song items are shown on Favorited signal
There was an issue where the song items were only being shown
from a fresh start up but not when the playlist was created. This fixes
that issue and refactors the AddPlaylist code
2018-01-14 11:24:45 +02:00
Vikram Ambrose fefea9de61 Disable drag of track items until this is properly implemented
Stop bad things from happening until proper DnD support of track
items has been implemented
2018-01-11 13:49:18 +02:00
Vikram Ambrose ae71d24f6e Ensure all nodes are shown when filter is cleared 2018-01-11 13:31:23 +02:00
Vikram Ambrose 3da938eac2 Add search filter to playlist list page
This allows power users who keep 100s of playlists to easily
find a playlist either by directory name, playlist name or by
searching for a song artist/title a playlist might contain
2018-01-11 13:11:13 +02:00
Vikram Ambrose 790fc2ff28 Replace Nokia based FancyTabWidget with standard QTabWidget (#5956)
* Replace Nokia sidebar widget with QTabWidget

The old sidebar widget was written by Nokia 10 years ago
and was a hand made hardcoded mess of widgets trying to
emulate a QTabWidget.

This commit completely replaces it with a widget of the
same name (FancyTabWidget) but is a much simpler subclass
of the standard QTabWidget allowing for a 50% code reduction.

There is still some manual draw code copied over to get the
exact same look of the previous widget but this is not strictly
necessary and can be later refactored with simpler drawControl
code based on styling preferences.

Benefits:
 - 50% code reduction
 - Easier to understand standard QTabWidget mechanics
 - Built-in support for re-arranging and closing tabs

* Save and restore sidebar tab order

Allow the user to rearrange the tab order by dragging
tabs to a new location. Tab order is saved on exit and restored
on start

* Fix some code formatting issues
2018-01-10 09:22:05 +00:00
vikramambrose 2e4a67b8da Add appearance option to hide playlist filter toolbar (#5942)
Gives the user the option of a cleaner looking interface if the
filter toolbar isn't used.
2018-01-03 15:24:56 +00:00
Stephen Dawkins d9b12a5599 Added additional check when enclosure type is missing (#5934) 2017-12-23 12:48:38 +00:00
Benoit Brummer 902c22ef1b fixed issue #5868: IPs were not recognized as private when Qt translates ipv4 to ipv6 (#5896) 2017-12-15 02:10:02 +00:00
Mattias Andersson b724291ef9 Ensure that the correct playlist is played (#5929)
When the playlist doubleclick behavior is set to add songs to the queue,
the playback of the queue also starts if no song is currently
playing. To play the queue from the current playlist, we must set the
active playlist to the current one before starting the playback.

Fixes #5714.
2017-12-14 21:48:03 +00:00
Mattias Andersson 650eb0534a Always include the hours in the the time string if the duration if (#5925)
longer than one day.
2017-12-13 18:37:34 +00:00
benpicco 27bef68cf6 Attempt to reload stream on "Server does not support seeking." error (#5923)
When the network connection changes while playing an HTTP stream, I always get the "Server does not support seeking." error from GStreamer.
It seems like GStreamer tries to seek on reconnect, which fails, an propagates the error to Clementine which in turn ceases playback with
the error message handed through from GStreamer, even though there is now a perfectly fine network connection again.

As a workaround, try to reload the stream when this error occurs.

fixes #5116
2017-12-11 00:13:30 +00:00
Clementine Buildbot 3134e09aec Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2017-12-04 10:00:52 +00:00
Clementine Buildbot 944e5fb326 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2017-11-27 10:00:50 +00:00
Victor Parmar eab875c46d Add support for deleting the currently playing track via the commandline (#5899) 2017-11-21 10:02:36 +00:00
Adrian Garcia 27fc915921 Add settings option to stop playback if song fails to play (#5905) 2017-11-21 10:00:36 +00:00
Clementine Buildbot 7b1b43ffed Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2017-11-20 10:00:46 +00:00
Clementine Buildbot 83e860eabd Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2017-11-13 10:00:44 +00:00
Clementine Buildbot ce22905a01 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2017-11-06 10:00:44 +00:00
Clementine Buildbot 9a5bcb7a35 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2017-10-30 10:00:43 +00:00
Clementine Buildbot 221f6d7261 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2017-10-23 10:01:01 +00:00
Clementine Buildbot f1b767faa4 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2017-10-19 23:05:16 +00:00
droserasprout 0a59257dc3 Prevent thumbnailing nocover icon for MPRIS (#5886) 2017-10-18 01:53:45 +01:00
droserasprout 08a80a5750 Fix oversized currenttrack icon in playlistview (#5885) 2017-10-18 00:32:25 +01:00
Adrian Garcia dfa7042ff3 Subsonic: download cover art (#5880) 2017-10-06 14:08:00 +01:00
adwait a7ec5662e1 Updated qt bug report page 2017-10-04 16:47:35 +01:00
Clementine Buildbot c024b1340d Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2017-10-02 10:00:46 +00:00
Clementine Buildbot b851741a0c Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2017-09-25 10:00:43 +00:00
Clementine Buildbot d2a69b2f91 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2017-09-18 10:00:45 +00:00
Clementine Buildbot 6faa749b1f Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2017-09-11 10:00:43 +00:00
Clementine Buildbot 06e8d1eb56 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2017-09-04 10:00:45 +00:00
Allan Nordhøy f511ee12e3 Spelling: "Wii Remote" → ←↑↓⊕⊖⌂ (#5844) 2017-08-29 14:01:48 +02:00
Allan Nordhøy b581f2454a Spelling: Hip Hop (#5843)
https://en.wikipedia.org/wiki/Hip_hop Though inconsistent, this never uses "HipHop". While that could be perceived as the name of the equalizer, "Hip Hop" is at least consistent with the other EQs.
2017-08-29 02:09:05 +02:00
Allan Nordhøy 36459d2e62 Spelling "%" → "percent" for consistency (#5842) 2017-08-29 02:08:52 +02:00
Allan Nordhøy 566708b778 ↑↓ for "Up" and "Down" (#5841) 2017-08-29 01:45:43 +02:00
Allan Nordhøy be79e8f92f Spelling: FLAC elsewhere (#5840) 2017-08-29 01:23:22 +02:00
Allan Nordhøy 38cc22ca85 Update song.cpp (#5839) 2017-08-29 01:23:05 +02:00
Allan Nordhøy b89ccb04f2 Spelling: D-Bus (#5838) 2017-08-28 23:37:47 +02:00
Allan Nordhøy 050813bf9c Spelling: D-Bus (#5837) 2017-08-28 23:37:25 +02:00
Allan Nordhøy c29886d8c9 Spelling: URL (#5836) 2017-08-28 23:03:49 +02:00
Allan Nordhøy 55ef908728 Spelling: Log in, Last.fm (#5835)
As per https://www.last.fm/
2017-08-28 23:03:22 +02:00
Clementine Buildbot f910b2ff09 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2017-08-28 10:00:45 +00:00
John Maguire a8cb9bbd2a Authenticate Last.fm with "oauth". 2017-08-24 19:32:14 +01:00
Clementine Buildbot a056a73165 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2017-08-21 10:00:52 +00:00
Krzysztof Sobiecki dad0c8f314 [win32] Fix build in src/ui/ (#5784)
It looks like there is a problem with build of src/ui/appearancesettingspage.cpp
It might fix it.
2017-08-16 15:09:55 +01:00
John Maguire 328e669e81 Fix mac build 2017-08-16 14:55:38 +01:00
Clementine Buildbot 86d7639a7f Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2017-08-14 10:00:44 +00:00
Jacob Henner 203ec76973 Add contextual searches to playlists, library and global search. (#5649)
* Closes #5567: Contextual album/artist search in library search, global search, and playlists.

* Change artist/album search to 'search for this' in globalsearch

* Change artist/album search to 'search for this' in library

* Applying patch from @Fat-Zer to allow search incl year

* Re-adding missing schema definition
2017-08-09 14:12:36 +01:00
John Maguire 4aee29982e Fix MPRIS track ids
Fixes #5795
2017-08-07 17:46:07 +01:00
John Maguire 04beaa96f9 Fix MPRIS2 playlist ids.
Fixes #5798
2017-08-07 16:57:03 +01:00
Clementine Buildbot 03ff002776 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2017-08-07 10:00:48 +00:00
Clementine Buildbot fcceab377c Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2017-07-31 10:00:48 +00:00
Thomas Nilefalk 63e90791a4 Make the initial SmartPlaylistQuerySearchPage vertically resizeable, somewhat (#5799)
The outmost QWidget had vsizetype="Fixed", changed that to "Preferred" made the
preview window take up a small amount of resize. This made it possible to resize
the window a little at least.
2017-07-25 14:35:06 +01:00
Clementine Buildbot 32f31d46ea Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2017-07-24 10:00:46 +00:00
David Roeca 49876536a5 Resolve #3693 (#5790)
* bring in playlist updates for potential fix

* define signal to handle organise playlist bugs

* work in progress

* fix wrong signal/slot

* next push forward on handling new song creation

* Reorganize signals/slots; still need to figure out why not all signals are being handled

* Get playlists to work when they're in memory

* more changes to playlist updates

* revert unnecessary changes and finalize fix
2017-07-22 18:57:33 +01:00
Clementine Buildbot 61d2aaa6bd Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2017-07-17 10:00:47 +00:00
Clementine Buildbot 8205e3d846 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2017-07-10 10:00:45 +00:00
Santiago Gil a781cc0be4 Add 'transient' hint to OSD_X11 (#5756) (#5779) 2017-07-06 18:39:07 +01:00
Clementine Buildbot f288dd2594 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2017-07-03 10:00:57 +00:00
Clementine Buildbot ec33b0e0e4 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2017-06-26 10:00:53 +00:00
Yan Pashkovsky 7bd0639455 fix up key in playlist (#5768) 2017-06-21 15:11:41 +01:00
Clementine Buildbot 3c0f005928 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2017-06-19 10:00:57 +00:00
Clementine Buildbot 63e97fe0ac Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2017-06-12 10:00:58 +00:00
Chocobozzz fc517ce7a5 Merge remote-tracking branch 'upstream/master' into qt5 2017-06-05 21:28:05 +02:00
Clementine Buildbot 6035ce023b Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2017-06-05 10:00:59 +00:00
Alex Bikadorov 8953227c65 New shortcut: remove current playing song from playlist (#5723) 2017-05-31 17:59:36 +01:00
Yan Pashkovsky 583eb25cfc Gtkicons (#5742)
* sys icons tick in settings

* system icons loading support

* system icons loading, style fixes
2017-05-30 21:25:24 +01:00
Grace Dolphy bdda50b28f Continuation of "Seek instead of navigation with arrow keys" #5550, now allows up arrow key. (#5721)
* Continuation of "Seek instead of navigation with arrow keys" #5550, now allows up arrow key to not restart the song over when the library is in focus. Works as usuhal when playlist is in focus (song gets started over).

* Update playlistview.cpp

Added in the part that is responsible for seeking properly.
2017-05-30 18:19:08 +01:00
Rix 8ff7d5750c SoundCloud service simple search limit is set. (#5738)
SoundCloud search limit it set to 100. Pagination may be added soon. (see SoundCloud HTTP api: https://developers.soundcloud.com/docs/api/guide#pagination)
2017-05-30 18:17:40 +01:00
Clementine Buildbot 322e49d20c Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2017-05-29 10:00:58 +00:00
Clementine Buildbot f8f6feff34 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2017-05-15 10:01:16 +00:00
Elias Lattash f854bc5deb Simpler iconloader::Load() logic (#5706)
This fixes a bug when clementine uses an icon from the system, even though it exists in it the *data* folder.

For example: the icons at the top of *playlistlistview.ui*, and at the top of *fileview.ui*
2017-05-08 12:07:59 +01:00
Clementine Buildbot 61e6fc7815 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2017-05-08 10:01:07 +00:00
Clementine Buildbot e8dbea8c93 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2017-05-01 10:00:55 +00:00
Clementine Buildbot c1e7887857 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2017-04-24 10:00:59 +00:00
Grace Dolphy 52f1982353 Delete Undo Fix Attempt - Should Solve Issue #5701 Using Clementine to delete a song from disk should not be added to the undo stack (#5702)
* Fix delete functionality. Skips to next song if deleted song is also currently playing.

* Added in a bool to determine if the song being deleted is meant to be deleted from the disk or just from the playlist. Took advantage of the unused variable located in removeRows to distinguish between the two options. No longer adds delete from disk to the undo stack, and deleting from the playlist goes to undo stack as it should.

* Added in a bool to determine if the song being deleted is meant to be deleted from the disk or just from the playlist. Took advantage of the unused variable located in removeRows to distinguish between the two options. No longer adds delete from disk to the undo stack, and deleting from the playlist goes to undo stack as it should.

* Update mainwindow.cpp

* Formatting Changes

* Update playlist.cpp

Simplified condition statement.

* Added in a missed boolean for RemoveSelected

* Update playlistview.cpp
2017-04-18 14:29:25 +01:00
Clementine Buildbot 5acbcbb2ec Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2017-04-17 10:01:00 +00:00
Clementine Buildbot edccd95916 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2017-04-10 10:00:55 +00:00
Clementine Buildbot 2c60481f74 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2017-04-03 10:00:57 +00:00
Grace Dolphy 9f00e021f6 This fixes "First track always the same in shuffle #793". Adding this call in the if statement allows a reshuffle to happen after the playlist ends so that when the playlist will restart, it will already have a new set location to go to. (#5689) 2017-03-31 11:49:41 +01:00
Mark Furneaux fba9e8dd69 Fix psychedelic mode on analysers (#5688)
* Fix psychedelic mode

* Remove unnecessary checks

When the code isn't broken, these are just a waste
2017-03-31 11:48:28 +01:00
Grace Dolphy 672d00be05 Fixes the issue "Seek instead of navigation with arrow keys #5550". Now allows the leaf to be closed by arrow left at any point of the leaf, not only the parent, and if the library is focused and arrow keys are pressed and there is nothing to open or close, the request is ignored (no seek) (#5684) 2017-03-30 18:02:49 +01:00
MelissaManley97 a5d12d0d10 Request to merge a fix for a crash during searching under Internet Tab (#5682)
* Changing ClearSearchResults order.

If search_ is null, there is no point in clearing it.

* Update to fix 12 (Crash when searching under Internet tab with Spotify)

* Formatting Fixes
2017-03-28 17:38:55 +01:00
Santiago Gil 0b34586e52 Fix some warnings shown on start-up (#5679)
* Fix 'RGB parameters out of range' with psychedelic colors

* Fix 'edit-find' icon name

* BlockAnalyzer::drawBackground(): do not attempt to paint on a null background

* Use qBound()
2017-03-27 12:57:24 +01:00
santigl 18d2e35bc6 Register QAbstractSocket::SocketState meta type 2017-03-27 12:56:39 +01:00
Clementine Buildbot 0f4db74e0c Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2017-03-27 10:00:55 +00:00
santigl e3ece3d4c4 SaveToTemporaryFile(): use QTemporaryFile directly 2017-03-21 10:50:12 +00:00
santigl 35e274c497 Refactor SongLoader::LoadRemotePlaylist() 2017-03-21 10:50:12 +00:00
santigl f44414db81 Add Utilities::SaveToTemporaryFile() 2017-03-21 10:50:12 +00:00
santigl f609bc793f Fix remote-playlist load 2017-03-21 10:50:12 +00:00
Clementine Buildbot 33aa38bbdd Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2017-03-20 10:00:53 +00:00
santigl a034c2d4d0 Remove non-allowed characters in playlist filename when saving. (Fixes #5460) 2017-03-16 15:18:02 +00:00
Alexander Golubev 77b6d72a3e core/database: configure fts3 tokenizer support
Original patch by Arfrever
This fixes https://github.com/clementine-player/Clementine/issues/5297
2017-03-16 14:54:55 +03:00
John Maguire f7eea6c505 static_cast<:: apparently confuses older GCC. 2017-03-14 17:34:42 +00:00
Jacob Henner 2d1b425493 Fixes #5660 - compile error 2017-03-14 17:28:06 +00:00
santigl 6c9bc43bbb Refactor analyzers for new FHT modifications. Use QVectors where possible. Make readability changes in the code. 2017-03-13 18:56:37 +00:00
santigl 6a19afde15 Refactor FHT class: use QVector and const values, remove unnecesary memory handling. 2017-03-13 18:56:37 +00:00
Clementine Buildbot b7fb649b8f Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2017-03-13 10:00:55 +00:00
Jan Paul Erkelens 0215707810 Uses effective fields for album hashing and comparison (#5653) 2017-03-08 12:22:50 +00:00
Santiago Gil 62bc647cbc Roll back to the cache naming conventions for covers (#5651) 2017-03-07 11:46:54 +00:00
santigl 99ad5dcd2d Refactor EffectiveAlbumArtistName() 2017-03-06 18:47:34 +00:00
santigl a8cbb3b18a Unlock DB mutexes implicitly using scopes. Add error handling for query. 2017-03-06 18:21:27 +00:00
santigl f5bd7ef5c0 ItemHasCover(): Replace pointer with reference 2017-03-06 18:21:27 +00:00
santigl 82f0d261fa Use the 'effective_album' title when searching for a track's cover 2017-03-06 18:21:27 +00:00
santigl e30e6da065 Add 'effective_album' property to Song 2017-03-06 18:21:27 +00:00
santigl 2c643513e2 Refactor icon handling. Make empty-cover filtering work again. 2017-03-06 18:21:27 +00:00
santigl deb7c33c64 Add support for 'album artist' field in the LibraryBackendInterface 2017-03-06 18:21:27 +00:00
santigl 58b7c62f25 Make Cover Manager aware of 'album artist' field 2017-03-06 18:21:27 +00:00
santigl 62cec8cf28 Prioritize album artist in cover search and manager 2017-03-06 18:21:27 +00:00
John Maguire 5d0cf343d5 Use new clementine images API. 2017-03-06 18:15:59 +00:00
Clementine Buildbot 3d80f7e1e2 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2017-03-06 10:00:57 +00:00
Domenico Iezzi 3b51f80fa3 Small improvements to Cover Manager (#5645)
* nocover icon was previously loaded and used with the default size
(24x24), causing the list item without a cover in the QListWidget to be
shorter in height with respect to the others. Now the icon is
initialized to 120x120, which is the default size of the list elements.
* Added some padding between "Fetch Missing Cover" and "Export
Covers" buttons.
2017-03-03 11:49:47 +00:00
Santiago Gil 30e3fdb9cc Fix overflow in MoodbarProxyStyle (fixes #5638) (#5643) 2017-03-02 13:10:21 +00:00
John Maguire 27bf50d702 Do not log sensitive data in OAuthenticator. 2017-02-27 12:41:34 +00:00
Clementine Buildbot 973f32c061 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2017-02-27 10:00:52 +00:00
Andreas Muttscheller 652f38ac84 Fix C:\data cache directory for portable builds
Lastfm needs a NetworkAccessManager which is created during the
initialization of lastfm in main.cpp, it also sets a cache directory.

For the portable version, GetConfigPath uses
QCoreApplication::applicationDirPath() to get the current directory of
Clementine. If no QApplication (or QtSingleApplication in Clementines
case) was instantiated, it returns /data on Linux or C:\data on Windows
for the cache config path.

This commit changes the order so lastfm will be initialized after
QtSingleApplication was created and the correct cache config path will be
returned.

Fixes #5354
2017-02-26 11:20:10 +01:00
John Maguire 1aed6193e7 Fix intergalactic FM URLs. 2017-02-21 14:24:50 +00:00
Clementine Buildbot 3dd4375c77 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2017-02-20 10:00:57 +00:00
Morris Hafner 8a6cc8b506 Add missing <functional> includes (#5630) 2017-02-13 16:46:46 +00:00
Clementine Buildbot 4325be6944 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2017-02-13 10:00:46 +00:00
Clementine Buildbot 9967bd4194 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2017-02-06 10:00:57 +00:00
Clementine Buildbot 6483510bca Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2017-01-30 10:00:44 +00:00
Clementine Buildbot df0e7ab203 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2017-01-23 10:00:46 +00:00
Florian Bigard 69b2a832db Merge branch 'master' into qt5 2017-01-18 15:57:07 +01:00
Ted Stein 69cddf70ef macOS: Clear stale native notifications on 10.9+. (#5601) 2017-01-18 13:51:00 +00:00
Clementine Buildbot b463e63dde Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2017-01-16 10:00:51 +00:00
Ilya Selyuminov 1a477201ed Use CaseInsensitive file type checking #5499 (#5592)
* Fix Seafile setting page loading

Check access_token instead of QSetting parameters to make
sure that we're logged in.

* Use CaseInsensitive file type checking  (#5499)

CloudFileService and TagReader classes use
QString::endWith() method for checking file type.
This method is CaseSensitive by default.
2017-01-12 15:58:44 +00:00
Clementine Buildbot 7ce7fe185e Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2017-01-12 13:22:21 +00:00
John Maguire becb0b3d7f Remove some stray vkontakte code 2017-01-11 18:51:12 +00:00
John Maguire c7b8aacad8 Remove support for VK
Fixes #5591
2017-01-11 18:08:43 +00:00
Pavel Vatagin b52c99755d Fix windows7thumbbar.cpp and osdpretty.cpp (#5588)
* fix problem with toWinHICON() in Qt5

* fix Windows (Qt5) build (conversion to HWND)
2017-01-09 20:11:27 +00:00
Marko Hauptvogel 57d00394ee Bugfix for resume playback on start
This fixes issue #5365.

Because of the asynchronous loading of playlists introduced by
09e83935, the resume playback on startup logic finds the active
playlist as empty, because it is not restored yet. By attaching
the playback resume to the RestoreFinish signal, the playback
will be triggered as soon as the playlist is restored. It may be
possible (but unlikely) that the playlist will already be restored
before we wait for the signal, and playback won't be resumed.

Signed-off-by: Marko Hauptvogel <marko.hauptvogel@googlemail.com>
2017-01-05 17:09:57 +00:00
Santiago Gil 00c96f7334 Consider depth levels in path sorting (#5445) (#5573) 2016-12-31 13:22:10 +00:00
Santiago Gil d3898d2f47 Add dialog to display streams' audio details (#5547)
* Add Stream Details window

* Fix capitalization in StreamDiscoverer::Discover()

* StreamDiscoverer::Discover(): get URL by const reference

* Refactor StreamDiscoverer::Discover

* Rename StreamDiscoverer callbacks

* StreamDiscoverer::OnDiscovered: fix nullptr comparison

* StreamDiscoverer: rename DiscoverFinished signal

* StreamDiscoverer::DataReady: receive const reference

* StreamDiscoverer: Remove unsigned types

* StreamDetailsDialog: rename Close slot

* StreamDetailsDialog: rename ui pointer to ui_

* MainWindow::ShowStreamDetails: receive a const reference

* StreamDetailsDialog: use unique_ptr, remove unsigned types
2016-12-21 16:57:04 +00:00
Mark Furneaux 589d641955 Fix playlist save on dialogs which do not enforce extensions (#5496)
like GTK+
2016-12-21 14:41:48 +00:00
Santiago Gil 1c0891202d Let the audio sink autonegotiate the bit depth. (Possible fix for #5533) (#5541) 2016-12-21 14:40:40 +00:00
John Maguire bd2de93e3c Add more override specifiers. 2016-12-20 14:16:42 +00:00
John Maguire df5c53af84 Add "override" to SpotifyService. 2016-12-20 13:02:06 +00:00
Chocobozzz 2ede85bdcd Merge branch 'master' into qt5 2016-12-18 17:04:08 +01:00
Bigard Florian 6901c9b1b6 Fix podcast episodes forgotten (#5560) 2016-12-18 15:48:08 +00:00
John Maguire da90d1ccf2 Fix cross compiling for mac 2016-12-15 18:45:51 +00:00
John Maguire 6f356592a5 Fixes for cross compiling for mac. 2016-12-15 11:36:05 +00:00
Chocobozzz 2096b1f268 Merge branch 'master' into qt5 2016-12-13 20:26:19 +01:00
Chocobozzz ded3126857 Add compatibility with chromaprint >= 1.4 2016-12-08 23:12:17 +01:00
John Maguire 5e7dd00024 Use a flickr group instead of a tag for kittens.
Fixes #5531
2016-11-14 12:55:24 +00:00
John Maguire d19ee71443 Try disabling SPMediaKeyTap on Sierra+.
Update issue #5497
2016-11-09 13:58:39 +00:00
John Maguire 420601f10a Add support for classicalradio.com 2016-11-07 18:22:06 +00:00
Nicolas Martinelli 650f06f7ad Fix Subsonic endpoint
According to the documentation, the endpoint is `getAlbumList`, not
`GetAlbumList`. This typo makes the complete feature not working at
all.

Source: http://www.subsonic.org/pages/api.jsp#getAlbumList
2016-10-20 22:08:26 +02:00
Clementine Buildbot 1a2f6e2fe8 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2016-10-13 15:18:59 +00:00
Chocobozzz 18a89f78a9 Merge remote-tracking branch 'upstream/master' into qt5 2016-10-07 14:30:09 +02:00
Clementine Buildbot ac90f0b091 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2016-09-26 10:00:52 +00:00
Clementine Buildbot 20ed72fe11 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2016-09-19 10:00:51 +00:00
Jan Suchomel 622a3e478a Add support for displaying lyrics from a Vorbis comment (#5495)
* Added support for displaying lyrics from Vorbis Comments.

* Fixed style issues
2016-09-18 13:23:39 +01:00
Andreas Muttscheller e5ab3e786f Network Remote: Check bytesAvailable >= 4 before reading length integer
This caused Clementine Remote to stop working on Android N. writeInt()
splits the 4 bytes across multiple tcp frames. Clementine would read
a wrong length and thus fail to read any protocol buffer data.
2016-09-12 12:07:28 +02:00
Clementine Buildbot 363e88a6c4 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2016-09-12 10:00:50 +00:00
Matt d96a04431a added popular libraryfiltergroup filter: Album artist/Album (#5476) 2016-09-06 07:28:55 -05:00
Santiago Gil 8da53abcfa Add option to show/hide sidebar (#5459) 2016-09-06 07:28:25 -05:00
John Maguire afb7e1db36 Add attribution to wikipedia artist biographies 2016-09-05 15:17:14 +01:00
Clementine Buildbot 8ad56819b2 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2016-09-05 10:00:52 +00:00
Clementine Buildbot d70778b99b Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2016-08-29 10:00:48 +00:00
Ilya Selyuminov d9b3a9302a Update playlist virtual order after sorting (#5436) (#5466) 2016-08-26 08:59:26 -05:00
Ilya Selyuminov 09b0fab87c Add new command line option for creating a new one playlist #5373 (#5468) 2016-08-26 08:59:11 -05:00
Mark Furneaux 0ce9e1696c Don't cache missing covers (#5471)
They might change later
2016-08-23 09:26:15 -05:00
Clementine Buildbot 700361a9b7 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2016-08-22 10:00:43 +00:00
Clementine Buildbot a99dc10cd6 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2016-08-08 10:00:44 +00:00
Clementine Buildbot 0b5fb0ccff Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2016-08-01 10:00:48 +00:00
ArnaudBienner af8ba8946e Merge pull request #5452 from santigl/path-sort-lowercase
Ignore case in path comparison (#5445)
2016-07-26 16:17:16 +02:00
Santiago Gil 3d399cec8c Restructure edittagdialog layout (corrects #5437) (#5450) 2016-07-25 11:45:57 +01:00
Clementine Buildbot b702edb3ab Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2016-07-25 10:00:57 +00:00
santigl 9ddd630b3b Ignore case in path comparison (#5445) 2016-07-24 16:15:59 -03:00
Clementine Buildbot 17beaa7a88 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2016-07-18 10:32:08 +00:00
Mattias Andersson 516391a599 Urlencode file names in smart playlists (#5441) 2016-07-13 17:56:01 +01:00