Compare commits

...

2415 Commits

Author SHA1 Message Date
Clementine Buildbot
69ba3e85f0 Automatic merge of translations from Transifex 2025-02-02 02:40:07 +00:00
Clementine Buildbot
a05464b421 Automatic merge of translations from Transifex 2025-01-21 02:38:49 +00:00
Clementine Buildbot
a843e1ebaf Automatic merge of translations from Transifex 2025-01-16 02:38:23 +00:00
Boyuan Yang
41e2a07b3e Fix build failure on 32-bit with taglib 2
This commit fixes: #7375.
2025-01-13 15:49:23 +00:00
Nicolas PARLANT
658f34ec40 Support both taglib-1 and taglib-2
Patch from #7314

Fixes #7313
Close #7314
2025-01-09 10:43:40 +00:00
Marius Lindvall
9549e2b79e Fix usage of deprecated TagLib functions 2025-01-09 10:43:40 +00:00
Alexey Sokolov
c3daf0a772 Apply clang-format patch manually, add comment
My local clang-format doesn't like this change, but I obey the CI
2025-01-08 00:53:34 +00:00
Alexey Sokolov
54ad1c8ebf Run clang-format 2025-01-08 00:53:34 +00:00
Alexey Sokolov
10feee4bac Read system projectm presets from subdirs
Fix #7151

Note that this requires C++17 patches from #7272 because I don't want to
bother backporting the fix to syntax available in C++11
2025-01-08 00:53:34 +00:00
Alexey Sokolov
fe3599cdd8 Bump cmake version requirement and simplify C++ standard flags
FindProtobuf.cmake's protobuf_generate() requires 3.13
2025-01-07 23:40:52 +00:00
Alexey Sokolov
e1d7f20116 Still use FindProtobuf.cmake if one installed by protobuf is not found
This is for older protobuf library
2025-01-07 23:40:52 +00:00
Alexey Sokolov
1a251ad727 Depend on protobuf using its cmake config
FindProtobuf provided by CMake forgets that it should depend on libabsl,
and link fails.

This change makes it to use files provided by Protobuf library, which
don't miss that important detail. That also required switch from
protobuf_generate_cpp() to protobuf_generate() because that's the
function which it has. FindProtobuf.cmake also provides
protobuf_generate() but only since CMake 3.13.

Fix #7272
2025-01-07 23:40:52 +00:00
TheGag96
d99e1c9ab3 Use C++17
Patch from #7272
2025-01-07 23:40:52 +00:00
Clementine Buildbot
4ab6f35ec0 Automatic merge of translations from Transifex 2024-12-23 02:42:57 +00:00
Clementine Buildbot
4ea9d473a6 Automatic merge of translations from Transifex 2024-12-02 02:51:06 +00:00
Clementine Buildbot
fa35e229fb Automatic merge of translations from Transifex 2024-11-27 03:10:38 +00:00
Clementine Buildbot
d41684b280 Automatic merge of translations from Transifex 2024-11-24 02:50:34 +00:00
Clementine Buildbot
39130c036b Automatic merge of translations from Transifex 2024-11-22 02:48:18 +00:00
Robert Scheck
ce9c26972d Remove unused build-time requirement to sha2-devel 2024-11-08 18:13:38 +00:00
Clementine Buildbot
6d2b35a5e5 Automatic merge of translations from Transifex 2024-11-06 02:39:49 +00:00
Clementine Buildbot
cecc1c1b57 Automatic merge of translations from Transifex 2024-10-25 02:44:00 +00:00
John Maguire
efe886e0ae Rolling releases 2024-10-14 23:25:01 +01:00
John Maguire
5c61371f8f Update pkgconfig name for FC cryptopp 2024-10-14 17:40:43 +01:00
John Maguire
7ab9afffd4 Add explicit cryptopp FC dependency 2024-10-14 17:40:43 +01:00
John Maguire
89ec83c3f1 Bump FC versions 2024-10-14 17:40:43 +01:00
John Maguire
552e19a9b9 Use action-gh-release 2024-10-14 15:56:35 +01:00
John Maguire
f636992801 Add build for Ubuntu Noble 2024-10-14 14:47:01 +01:00
John Maguire
53c015f712 Run tx push from Ubuntu Noble 2024-10-14 13:52:10 +01:00
John Maguire
c482d81ce3 Remove bionic build
Too painful to make this work with more recent github actions
2024-10-14 13:24:22 +01:00
John Maguire
fc48517d63 Bump runners to Ubuntu 24.04
Due to github actions requiring new node versions which require new glibc
2024-10-14 13:24:22 +01:00
John Maguire
0729998979 Bump artifact actions to v4 2024-10-14 13:24:22 +01:00
Clementine Buildbot
a809096a98 Automatic merge of translations from Transifex 2024-10-10 02:42:33 +00:00
Clementine Buildbot
bd22ace4ec Automatic merge of translations from Transifex 2024-09-15 02:44:16 +00:00
Clementine Buildbot
4597dc16b3 Automatic merge of translations from Transifex 2024-09-02 02:38:58 +00:00
Clementine Buildbot
49b5f1cb51 Automatic merge of translations from Transifex 2024-08-25 02:38:00 +00:00
Clementine Buildbot
154f09853e Automatic merge of translations from Transifex 2024-08-22 02:36:11 +00:00
Sergey Fedorov
43826d9277 CMakeLists: use --stdlib=libc++ on macOS only with clang 2024-07-22 11:42:43 +01:00
Clementine Buildbot
1506c27696 Automatic merge of translations from Transifex 2024-05-25 02:32:20 +00:00
Clementine Buildbot
d99cbb269b Automatic merge of translations from Transifex 2024-05-21 02:33:03 +00:00
Clementine Buildbot
3cca9bb98a Automatic merge of translations from Transifex 2024-05-20 02:34:10 +00:00
Clementine Buildbot
650bd81508 Automatic merge of translations from Transifex 2024-05-17 02:32:22 +00:00
Clementine Buildbot
7607ddcb96 Automatic merge of translations from Transifex 2024-05-12 02:33:06 +00:00
Clementine Buildbot
e249911937 Automatic merge of translations from Transifex 2024-05-05 02:32:03 +00:00
Clementine Buildbot
4ae57a4b5d Automatic merge of translations from Transifex 2024-05-03 02:32:14 +00:00
Clementine Buildbot
2f3464403b Automatic merge of translations from Transifex 2024-04-25 02:31:15 +00:00
Clementine Buildbot
f76dbffa6b Automatic merge of translations from Transifex 2024-03-24 02:30:19 +00:00
Clementine Buildbot
fbb266adc2 Automatic merge of translations from Transifex 2024-03-15 02:29:14 +00:00
Clementine Buildbot
9638ac70b3 Automatic merge of translations from Transifex 2024-03-13 02:29:55 +00:00
Clementine Buildbot
c93b4e1149 Automatic merge of translations from Transifex 2024-02-27 02:27:58 +00:00
Clementine Buildbot
d014a315c9 Automatic merge of translations from Transifex 2024-02-23 02:28:36 +00:00
Isaiah W
df4181940d oops (:
this is what I meant lol
2024-02-08 14:04:03 +00:00
Isaiah W
ebe3c45476 Fix Instructions™
uses all of your cores if you have more than 8, or doesn't try to use more than you have if you have less (:
2024-02-08 14:04:03 +00:00
Clementine Buildbot
634910238d Automatic merge of translations from Transifex 2024-01-03 02:31:14 +00:00
Clementine Buildbot
62ed69fa3d Automatic merge of translations from Transifex 2023-12-19 02:32:39 +00:00
Clementine Buildbot
dd0a94e8a6 Automatic merge of translations from Transifex 2023-12-09 02:30:35 +00:00
Clementine Buildbot
1566148c50 Automatic merge of translations from Transifex 2023-11-29 02:32:39 +00:00
Clementine Buildbot
98a520552b Automatic merge of translations from Transifex 2023-11-26 02:32:33 +00:00
Clementine Buildbot
5968648aa1 Automatic merge of translations from Transifex 2023-11-01 02:31:10 +00:00
Clementine Buildbot
f3ddd7eee4 Automatic merge of translations from Transifex 2023-10-22 02:30:09 +00:00
Clementine Buildbot
19b44fb831 Automatic merge of translations from Transifex 2023-10-16 02:30:12 +00:00
Robert-André Mauchin
994d16effa Fix missing QTSINGLECOREAPPLICATION_LIBRARIES
In f3837f95db61a8d79c40c8da8467c7e502fc2156, QTSINGLECOREAPPLICATION_LIBRARIES was mistakenly removed, which prevents building with USE_SYSTEM_QTSINGLEAPPLICATION enabled.
2023-10-15 13:40:14 +01:00
xoza
4768cb9efb Skip subsonic multi-genre tags 2023-10-12 12:27:43 +01:00
Clementine Buildbot
7b678f26e0 Automatic merge of translations from Transifex 2023-10-02 02:29:29 +00:00
Marcus Müller
3f572a4139 RPM & CI: Build rpm packages against native qtsingleapplication
Signed-off-by: Marcus Müller <marcus_clementine@baseband.digital>
2023-09-20 17:52:55 +01:00
Marcus Müller
f3837f95db CMake: Re-enable usability of system QtSingleApplication
This seem to have gone broken over time.
As far as I can tell, upstream QtSingleApplication works fine!

Signed-off-by: Marcus Müller <marcus_clementine@baseband.digital>
2023-09-20 17:52:55 +01:00
Marcus Müller
6820a0a58d 3rdparty: remove unused libmygpo-qt
The -qt5 library is still there, and seems to be used.

Signed-off-by: Marcus Müller <marcus_clementine@baseband.digital>
2023-09-17 16:41:15 +01:00
Marcus Müller
cfcddf7c0f src: remove unused variable
Signed-off-by: Marcus Müller <marcus_clementine@baseband.digital>
2023-09-17 12:43:13 +01:00
Marcus Müller
98e24f626b library: use boolean, not bitwise, operator on bools
Signed-off-by: Marcus Müller <marcus_clementine@baseband.digital>
2023-09-17 12:43:13 +01:00
Marcus Müller
8e47ab59e5 internet services: consistently use 'override'
Signed-off-by: Marcus Müller <marcus_clementine@baseband.digital>
2023-09-17 12:43:13 +01:00
Marcus Müller
63208b4e1f core/organisefmt: use same visibility for fwd decl as in def
Signed-off-by: Marcus Müller <marcus_clementine@baseband.digital>
2023-09-17 12:43:13 +01:00
Marcus Müller
20773dee29 CMake: Check for minimum version before setting the project name
Signed-off-by: Marcus Müller <marcus_clementine@baseband.digital>
2023-09-17 12:43:13 +01:00
John Maguire
c2a5b9b07e Remove Kinetic build 2023-09-14 14:51:42 +01:00
Quentin Snow
de7455eebd Adjusted MainWindow::TrackSkipped to only count song skips if listened to for 5 seconds. 2023-09-13 11:53:37 +01:00
Marcus Müller
2a14ec9d4d Lyrics Providers: Remove unreachable ones
This was determined programmatically by means of trying to do a simple
HTTP request to / of any of the URLs given:

```python
from lxml import etree
from urllib import parse
import requests
doc = etree.parse("ultimate_providers.xml")
root = doc.getroot()
for provider in root:
    parsed_url = parse.urlparse(provider.get("url"))
    url = f"{parsed_url.scheme}://{parsed_url.netloc}/"
    try:
        requests.head(url, timeout=5)
    except Exception as e:
        print(parsed_url.netloc)
```

Note that these were also removed from songinfoview as present, and from
outgoingdatacreator. The two lists there were found to be inconsistent,
but this isn't subject of this PR.

Signed-off-by: Marcus Müller <marcus_clementine@baseband.digital>
2023-09-12 13:33:01 +01:00
Clementine Buildbot
86e81cea05 Automatic merge of translations from Transifex 2023-08-26 02:27:18 +00:00
Clementine Buildbot
10570316dd Automatic merge of translations from Transifex 2023-07-22 02:34:48 +00:00
Clementine Buildbot
ad8fd81ba9 Automatic merge of translations from Transifex 2023-07-18 02:50:36 +00:00
Clementine Buildbot
6ff5768634 Automatic merge of translations from Transifex 2023-07-15 02:51:38 +00:00
Clementine Buildbot
08bfb88912 Automatic merge of translations from Transifex 2023-07-14 02:50:44 +00:00
Clementine Buildbot
d3108b32e8 Automatic merge of translations from Transifex 2023-07-13 02:50:56 +00:00
Clementine Buildbot
0701bef103 Automatic merge of translations from Transifex 2023-07-12 02:49:20 +00:00
Clementine Buildbot
bf4ac0cb46 Automatic merge of translations from Transifex 2023-07-11 02:44:50 +00:00
John Maguire
baf05335f9 Only push translations from master 2023-07-11 01:22:17 +01:00
John Maguire
d21e9697d0 Disable mac builds temporarily 2023-07-10 23:42:29 +01:00
John Maguire
ab057f8275 Migrate tx pull to new CLI 2023-07-10 20:52:39 +01:00
John Maguire
58325e45a7 Migrate tx push to new CLI 2023-07-10 20:52:29 +01:00
John Maguire
1d0cbc0ebb Remove support for Debian Stretch 2023-07-10 19:25:22 +01:00
Clementine Buildbot
c83a0ac25f Automatic merge of translations from Transifex 2023-07-10 17:53:14 +00:00
John Maguire
351a5e2547 Build for Fedora 38 2023-04-07 11:59:53 +01:00
John Maguire
8773e8fe0a Bump runner for translations 2023-04-07 11:59:45 +01:00
Clementine Buildbot
3471134d52 Automatic merge of translations from Transifex 2023-02-10 03:06:03 +00:00
Clementine Buildbot
26192c3469 Automatic merge of translations from Transifex 2023-02-04 02:38:09 +00:00
Clementine Buildbot
982d8fbb63 Automatic merge of translations from Transifex 2023-01-16 02:39:34 +00:00
Clementine Buildbot
20cf7f793b Automatic merge of translations from Transifex 2023-01-15 02:39:29 +00:00
Clementine Buildbot
ccf4f75c3d Automatic merge of translations from Transifex 2022-12-31 02:36:31 +00:00
Alexey Sokolov
65319d4952 Fix build: add zlib to deps where it's used
Ref https://bugs.gentoo.org/887105
2022-12-25 20:55:23 +00:00
John Maguire
9ef681b0e9 Build for Fedora 37 2022-12-09 18:32:11 +00:00
Clementine Buildbot
dfeb1182f9 Automatic merge of translations from Transifex 2022-11-23 02:52:42 +00:00
Clementine Buildbot
384a8850d9 Automatic merge of translations from Transifex 2022-11-20 03:03:02 +00:00
adem
0fab612784 Replace play and pause with the single play/pause action in desktop file 2022-10-27 14:34:46 +01:00
Clementine Buildbot
336770bb95 Automatic merge of translations from Transifex 2022-10-27 03:08:37 +00:00
Andrei Stepanov
101f450aaa Update Russian translation in desktop file 2022-10-26 10:58:39 +01:00
Clementine Buildbot
6a440fe397 Automatic merge of translations from Transifex 2022-10-21 03:07:56 +00:00
John Maguire
3a506e0917 Add builder for Ubuntu 22.10 2022-10-20 21:56:08 +01:00
Clementine Buildbot
c716ddb722 Automatic merge of translations from Transifex 2022-10-12 03:21:27 +00:00
Clementine Buildbot
519b33ed81 Automatic merge of translations from Transifex 2022-10-08 03:06:42 +00:00
Clementine Buildbot
f2011e7e26 Automatic merge of translations from Transifex 2022-09-30 03:31:30 +00:00
Clementine Buildbot
42853b7b52 Automatic merge of translations from Transifex 2022-09-29 03:23:15 +00:00
Clementine Buildbot
1c69e343b9 Automatic merge of translations from Transifex 2022-09-26 03:25:40 +00:00
Clementine Buildbot
770080b80b Automatic merge of translations from Transifex 2022-09-24 03:24:44 +00:00
Clementine Buildbot
3e9e251e90 Automatic merge of translations from Transifex 2022-09-23 03:23:03 +00:00
Jason Freidman
72c2336d94 Fix ClassicalRadio.com and ROCKRADIO.com #5616
These two audio addict feeds do support premium -- Perhaps they didn't previously. This changes fixes the playlist not loading for me on a local build.

This was changed in https://github.com/clementine-player/Clementine/issues/4582
2022-09-22 12:45:13 +01:00
Clementine Buildbot
495803ab99 Automatic merge of translations from Transifex 2022-09-20 03:21:35 +00:00
Clementine Buildbot
7da98fbbcc Automatic merge of translations from Transifex 2022-09-13 03:23:41 +00:00
Clementine Buildbot
2055fd51fa Automatic merge of translations from Transifex 2022-09-12 03:25:17 +00:00
Clementine Buildbot
39124eda38 Automatic merge of translations from Transifex 2022-09-10 03:20:31 +00:00
Clementine Buildbot
b567760ae1 Automatic merge of translations from Transifex 2022-09-08 03:21:44 +00:00
Clementine Buildbot
2d3a604b85 Automatic merge of translations from Transifex 2022-09-07 03:23:14 +00:00
Clementine Buildbot
ce4a22bd5f Automatic merge of translations from Transifex 2022-09-06 03:23:45 +00:00
John Maguire
e6a7539480 Fix translations pull workflow 2022-09-05 19:37:47 +01:00
John Maguire
a551c40c4e Remove Spotify playback support
libspotify is dead
2022-09-01 22:55:44 +01:00
John Maguire
99029ed643 Bump github actions runner 2022-09-01 20:49:32 +01:00
John Maguire
cf8047b4ce Fix translations push job 2022-09-01 19:55:53 +01:00
Andrew Reading
f59c9f4b2b Rewrite the Block Analyzer to improve performance.
The block analyzer was doing lots of repeated, out-of-order blits to the
widget's canvas. To improve performance and reduce CPU usage, this has
been rewritten to generate the canvas contents using only a single buffer.
Cache thrashing has been greatly reduced by writing to memory only
sequentially and in one single write pass. Further, the raw format is
now guaranteed to be in a format efficient for Qt.

The results are visually identical to what they were previously, but
result in a CPU usage reduction between 2 and 6 percent depending on refresh
rate and Psychadelic Mode value. In particular, there used to be a ~3 percent
overhead for Psychadelic Mode, and this has been eliminated.

The specific details of the block analyzer and explanations for how it works
(and used to work) have been documented via fairly extensive comments
in blockanalyzer.cpp.
2022-09-01 19:36:03 +01:00
John Maguire
71eac9bb3b Remove support for FC34 2022-09-01 19:35:27 +01:00
John Maguire
3fd467591a Force GIT_REV in Fedora RPM builds 2022-09-01 19:00:51 +01:00
John Maguire
a0ae9210dd Try using %{version} for RPM builds 2022-09-01 19:00:51 +01:00
John Maguire
c1fa38120d Add git hackery for all builds 2022-09-01 19:00:51 +01:00
John Maguire
13352c5802 Git hackery to make git describe work 2022-09-01 19:00:51 +01:00
John Maguire
5e5b888d41 Make non-zero from git describe fatal 2022-09-01 19:00:51 +01:00
John Maguire
662ac60eb1 Add debug messages for git rev versioning 2022-09-01 19:00:51 +01:00
John Maguire
9be5b9805d Fix typo 2022-09-01 19:00:51 +01:00
John Maguire
9de903d42d Remove useless config 2022-09-01 19:00:51 +01:00
John Maguire
454678256e Try dh_installgsettings 2022-09-01 19:00:51 +01:00
John Maguire
d3c847b38c Build for Ubuntu 22.04 Jammy Jellyfish
Deprecate support for Ubuntu 21.04 Hirsute Hippo
2022-09-01 19:00:51 +01:00
John Maguire
398893117e Remove obsolete Ubuntu builds 2022-09-01 19:00:51 +01:00
Lorenz Bausch
bbda59a5f3 Build RPMs for Fedora 36 2022-05-18 14:23:11 +01:00
John Maguire
bebd0b5d3c Remove mms plugin from mac build
Removed from upstream gstreamer
2022-05-18 14:21:58 +01:00
Clementine Buildbot
250024e117 Automatic merge of translations from Transifex 2022-04-11 02:56:58 +00:00
Clementine Buildbot
9168299c0f Automatic merge of translations from Transifex 2022-04-10 02:49:22 +00:00
Clementine Buildbot
24d4b6e7f2 Automatic merge of translations from Transifex 2022-04-09 02:44:35 +00:00
Clementine Buildbot
644405ec7a Automatic merge of translations from Transifex 2022-04-06 02:49:01 +00:00
Clementine Buildbot
2fb964fc29 Automatic merge of translations from Transifex 2022-04-05 02:47:59 +00:00
Clementine Buildbot
cf31624836 Automatic merge of translations from Transifex 2022-03-30 03:10:46 +00:00
Clementine Buildbot
d05616e37c Automatic merge of translations from Transifex 2022-03-29 02:51:19 +00:00
Clementine Buildbot
0b5faa7550 Automatic merge of translations from Transifex 2022-03-28 02:51:09 +00:00
Clementine Buildbot
c0b42ace6d Automatic merge of translations from Transifex 2022-03-27 02:40:50 +00:00
Clementine Buildbot
810f0b0acb Automatic merge of translations from Transifex 2022-03-26 02:41:48 +00:00
Clementine Buildbot
c2b8a35642 Automatic merge of translations from Transifex 2022-03-25 02:40:45 +00:00
Clementine Buildbot
2b340da79f Automatic merge of translations from Transifex 2022-03-24 02:44:40 +00:00
Clementine Buildbot
6698723991 Automatic merge of translations from Transifex 2022-03-23 02:48:42 +00:00
Clementine Buildbot
7175ee4d37 Automatic merge of translations from Transifex 2022-03-17 02:38:47 +00:00
Clementine Buildbot
20c6ae6c14 Automatic merge of translations from Transifex 2022-03-12 02:48:05 +00:00
Clementine Buildbot
59d1c94b90 Automatic merge of translations from Transifex 2022-03-09 02:54:15 +00:00
Clementine Buildbot
9d143334e2 Automatic merge of translations from Transifex 2022-03-04 02:57:35 +00:00
Clementine Buildbot
4797edbc8a Automatic merge of translations from Transifex 2022-03-03 02:56:13 +00:00
Clementine Buildbot
01f72b575d Automatic merge of translations from Transifex 2022-03-02 02:52:49 +00:00
Clementine Buildbot
dcbb3f8a58 Automatic merge of translations from Transifex 2022-03-01 02:58:38 +00:00
Clementine Buildbot
3acf26015b Automatic merge of translations from Transifex 2022-02-21 02:43:40 +00:00
Clementine Buildbot
333203c972 Automatic merge of translations from Transifex 2022-02-18 02:48:18 +00:00
Clementine Buildbot
63b806dbb7 Automatic merge of translations from Transifex 2022-02-16 02:47:09 +00:00
Clementine Buildbot
a8d529ca14 Automatic merge of translations from Transifex 2022-02-11 02:46:32 +00:00
Clementine Buildbot
111379dfd0 Automatic merge of translations from Transifex 2022-02-08 02:47:41 +00:00
Clementine Buildbot
4821bd50c2 Automatic merge of translations from Transifex 2022-02-06 02:50:42 +00:00
Clementine Buildbot
c3a0bd69fd Automatic merge of translations from Transifex 2022-02-05 02:31:12 +00:00
Clementine Buildbot
5487d0632c Automatic merge of translations from Transifex 2022-02-04 02:32:02 +00:00
Clementine Buildbot
98b68afc28 Automatic merge of translations from Transifex 2022-02-01 02:47:06 +00:00
Clementine Buildbot
15b819fea3 Automatic merge of translations from Transifex 2022-01-30 02:45:07 +00:00
Clementine Buildbot
e2f6ec8e12 Automatic merge of translations from Transifex 2022-01-27 02:45:40 +00:00
Clementine Buildbot
efa0530ed9 Automatic merge of translations from Transifex 2022-01-26 02:49:13 +00:00
Lukas Prediger
a504c1d391 RipCDDialog: References to pointers in function args. 2022-01-26 01:09:50 +00:00
Lukas Prediger
794c1b8c92 Ripper: Ensuring that GetProgress does never divide by zero
Also removed superfluous null check in RipCDDialog
2022-01-26 01:09:50 +00:00
Lukas Prediger
f35e1b543d Regular progress bar updates for CD ripping.
Previously the progress bar of the CD ripping dialog would only update
after a track completed, now it gets updated continuously during the
ripping process.
2022-01-26 01:09:50 +00:00
Clementine Buildbot
497552aab2 Automatic merge of translations from Transifex 2022-01-23 02:44:36 +00:00
Clementine Buildbot
9487f67f64 Automatic merge of translations from Transifex 2022-01-22 02:46:46 +00:00
Clementine Buildbot
19a86ba2e4 Automatic merge of translations from Transifex 2022-01-21 02:46:43 +00:00
Lukas Prediger
1aaf74788c Added option to remove/replace originals in transcoder dialog (fixed).
This is a squashed and fixed version of previous commits
6b6547095ac60b6e4c9113fffdfa9b5e945bb9b0
dd1393ea3ab5ae58aff8f8cc444aee3c8e4830fb
2022-01-20 11:43:07 +00:00
Clementine Buildbot
7ce9928779 Automatic merge of translations from Transifex 2022-01-19 02:45:01 +00:00
Clementine Buildbot
af890f0736 Automatic merge of translations from Transifex 2022-01-18 02:52:40 +00:00
John Maguire
09ccf93b98 Remove builds for unsupported FC33 2022-01-17 12:01:15 +00:00
Clementine Buildbot
f237795850 Automatic merge of translations from Transifex 2022-01-17 02:54:02 +00:00
Lukasz Kryger
d79f837ddb Update wiki link in the "compiling" section 2022-01-13 23:20:53 +00:00
John Maguire
e69ceb25df Revert "Added option to remove/replace originals in transcoder dialog."
This reverts commit 6b6547095ac60b6e4c9113fffdfa9b5e945bb9b0.
2022-01-13 22:16:39 +00:00
John Maguire
ab37de5e8f Revert "Transcodedialog: moving things into more specific scope"
This reverts commit dd1393ea3ab5ae58aff8f8cc444aee3c8e4830fb.
2022-01-13 22:16:39 +00:00
Lukas Prediger
dd1393ea3a Transcodedialog: moving things into more specific scope 2022-01-13 20:38:19 +00:00
Lukas Prediger
6b6547095a Added option to remove/replace originals in transcoder dialog. 2022-01-13 20:38:19 +00:00
Clementine Buildbot
24a766d0e5 Automatic merge of translations from Transifex 2022-01-11 02:53:36 +00:00
Lukas Prediger
cefe81d0c1 Removing Ripper dependence on cdio
and therefore no longer exposing cdio through CddaDevice
2022-01-10 16:39:58 +00:00
Lukas Prediger
0895297297 CD ripping now transcodes directly from disc. 2022-01-10 16:39:58 +00:00
Lukas Prediger
3a40be6706 Transcoder now deletes created files on error 2022-01-10 16:39:58 +00:00
Lukas Prediger
bb618efc5d Transcoder now accepts URLs for sources. 2022-01-10 16:39:58 +00:00
Clementine Buildbot
245f64a882 Automatic merge of translations from Transifex 2022-01-08 02:54:48 +00:00
Clementine Buildbot
0be314337d Automatic merge of translations from Transifex 2022-01-06 02:55:06 +00:00
Clementine Buildbot
63eb7aa743 Automatic merge of translations from Transifex 2021-12-30 02:50:28 +00:00
Clementine Buildbot
9dd008da2c Automatic merge of translations from Transifex 2021-12-27 02:51:25 +00:00
Clementine Buildbot
b1e750c52c Automatic merge of translations from Transifex 2021-12-13 02:49:24 +00:00
Clementine Buildbot
41539d0c02 Automatic merge of translations from Transifex 2021-12-10 02:48:17 +00:00
Clementine Buildbot
44dbc95554 Automatic merge of translations from Transifex 2021-12-09 02:49:21 +00:00
Clementine Buildbot
1d8139e462 Automatic merge of translations from Transifex 2021-12-08 02:49:59 +00:00
Clementine Buildbot
2d0518a5a8 Automatic merge of translations from Transifex 2021-12-07 02:51:20 +00:00
Clementine Buildbot
d5986a4820 Automatic merge of translations from Transifex 2021-11-29 02:48:28 +00:00
John Maguire
590ab22f8d Remove unsupported Ubuntu groovy builds 2021-11-18 12:36:13 +00:00
Clementine Buildbot
b747423b5a Automatic merge of translations from Transifex 2021-11-13 02:46:17 +00:00
Clementine Buildbot
15e45c9ec6 Automatic merge of translations from Transifex 2021-11-11 02:46:39 +00:00
John Maguire
d033b38c4b Revert "Fix: GstEnginePipeline BusCallback erroneously returned false."
This reverts commit 7b8b477d075bb429e0c6ba94644b1b028b9fcbc7.
2021-11-05 16:54:05 +00:00
Clementine Buildbot
2469763b9b Automatic merge of translations from Transifex 2021-11-03 02:45:57 +00:00
John Maguire
e7b1c06341 Build for Fedora Core 35 2021-11-02 15:51:02 +00:00
Clementine Buildbot
a25887be5c Automatic merge of translations from Transifex 2021-11-02 02:47:55 +00:00
John Maguire
568ff1f9da Build for Ubuntu Impish 21.10 2021-10-31 13:04:06 +00:00
Clementine Buildbot
174fc515ee Automatic merge of translations from Transifex 2021-10-31 02:47:03 +00:00
Lukas Prediger
7b8b477d07 Fix: GstEnginePipeline BusCallback erroneously returned false. 2021-10-30 13:46:10 +01:00
Clementine Buildbot
b9dbcb78db Automatic merge of translations from Transifex 2021-10-30 02:45:50 +00:00
Clementine Buildbot
c29b1e10d2 Automatic merge of translations from Transifex 2021-10-29 02:45:29 +00:00
Clementine Buildbot
f8c167c9c6 Automatic merge of translations from Transifex 2021-10-28 02:46:25 +00:00
Clementine Buildbot
e5023535d2 Automatic merge of translations from Transifex 2021-10-26 02:44:59 +00:00
Alfred
1b3b621957 add tooltips to IconOnly tabs 2021-10-25 16:21:14 +02:00
Clementine Buildbot
2dc8df7e23 Automatic merge of translations from Transifex 2021-10-23 02:47:38 +00:00
Clementine Buildbot
4eebf5747d Automatic merge of translations from Transifex 2021-10-20 02:46:38 +00:00
Clementine Buildbot
c24927a03b Automatic merge of translations from Transifex 2021-10-19 02:47:25 +00:00
Clementine Buildbot
424dbd44e8 Automatic merge of translations from Transifex 2021-10-18 02:47:57 +00:00
Clementine Buildbot
68bc9d9ebb Automatic merge of translations from Transifex 2021-10-17 02:45:03 +00:00
Clementine Buildbot
294620fe66 Automatic merge of translations from Transifex 2021-10-15 02:45:17 +00:00
Clementine Buildbot
21f038c156 Automatic merge of translations from Transifex 2021-10-14 02:45:24 +00:00
Lukas Prediger
5705d4fd85 Fix: Detaching bus callback in ~GstEnginePipeline 2021-10-09 12:07:56 +01:00
Clementine Buildbot
86b958015b Automatic merge of translations from Transifex 2021-10-09 02:44:42 +00:00
Clementine Buildbot
f8f849e49c Automatic merge of translations from Transifex 2021-10-06 02:44:29 +00:00
Clementine Buildbot
69fd49b977 Automatic merge of translations from Transifex 2021-09-29 02:42:17 +00:00
Clementine Buildbot
62922147e6 Automatic merge of translations from Transifex 2021-09-28 02:44:15 +00:00
Clementine Buildbot
2e133f7ce4 Automatic merge of translations from Transifex 2021-09-27 02:44:15 +00:00
Clementine Buildbot
0820035b84 Automatic merge of translations from Transifex 2021-09-25 02:45:40 +00:00
Clementine Buildbot
679a0ee544 Automatic merge of translations from Transifex 2021-09-24 02:44:30 +00:00
Clementine Buildbot
8715815452 Automatic merge of translations from Transifex 2021-09-23 02:45:20 +00:00
Clementine Buildbot
b762aeb1ba Automatic merge of translations from Transifex 2021-09-22 02:45:17 +00:00
Lukas Prediger
fd585e8aa4 RipCDDialog: no longer forces Cdda* to emit signals
- CddaDevice: Removed LoadSongs() method (then renamed ForceLoadSongs to LoadSongs)
- CddaDevice: added songs() method to get currently song list
- CddaSongLoader: cached_tracks is now thread-safe
2021-09-21 10:53:43 +01:00
Lukas Prediger
2936578fa4 CddaDevice: Preventing double read on disc change. 2021-09-21 10:53:43 +01:00
Lukas Prediger
62b5a0e77b CddaDevice now does not re-read song list if disc is not changed 2021-09-21 10:53:43 +01:00
Lukas Prediger
50404a967b RipCDDialog now only depends on CddaDevice, no longer on CddaSongLoader 2021-09-21 10:53:43 +01:00
Lukas Prediger
6b03b8f5d1 CddaSongLoader now emits a Finished signal if no further updates will follow for the same disc read. 2021-09-21 10:53:43 +01:00
Lukas Prediger
90ec6f6a24 CddaSongLoader now reads CD-Text for metadata
currently this gets overwritten by musicbrainz response almost immediately, though
2021-09-21 10:53:43 +01:00
Clementine Buildbot
b020171da7 Automatic merge of translations from Transifex 2021-09-21 02:44:04 +00:00
Clementine Buildbot
c969bf9783 Automatic merge of translations from Transifex 2021-09-20 02:44:43 +00:00
Jim Broadus
082f941bb9 build: Fix translations
transifex-client indirectly requires Unidecode>=0.04.16. As of version
1.3.2, Unidecode no longer supports Python 2. Its setup shebang points
to /usr/bin/python, which it assumes is python3. To correct the issue,
install pip3 instead of pip, avoiding the installation of Python 2.
2021-09-19 15:28:40 +01:00
Tom Kranz
cd72cf3390 Use XSPF image elements as manually set artwork 2021-09-18 23:52:37 +01:00
Jim Broadus
ba29b0e3ba build: Add Debian Bullseye.
Reference: https://www.debian.org/releases/bullseye/
2021-09-12 00:31:48 +01:00
Daniel Perelman
ab6a480131 Apply reformatting from lint. 2021-09-07 18:04:38 +01:00
Daniel Perelman
f548884f57 Correct time computation for seekbar tooltip. 2021-09-07 18:04:38 +01:00
Clementine Buildbot
1535e78aa0 Automatic merge of translations from Transifex 2021-09-06 02:44:55 +00:00
Clementine Buildbot
2cca75d930 Automatic merge of translations from Transifex 2021-09-05 02:43:23 +00:00
Lukas Prediger
e556a59aea RipCDDialog: Changing metadata edits now updates filename preview 2021-09-04 15:24:44 +01:00
Lukas Prediger
e187a68e9f MusicBrainzClient fix: Don't try to read reply on connection timeout
that previously resulted in an IO error
2021-09-04 15:24:44 +01:00
Clementine Buildbot
c58335c6c9 Automatic merge of translations from Transifex 2021-09-04 02:44:48 +00:00
Clementine Buildbot
769d8bbe6d Automatic merge of translations from Transifex 2021-09-03 02:43:09 +00:00
Clementine Buildbot
3b7d5880f9 Automatic merge of translations from Transifex 2021-09-02 02:42:38 +00:00
Clementine Buildbot
7eb62b6266 Automatic merge of translations from Transifex 2021-09-01 02:44:42 +00:00
Ismael Luceno
628ff65828 logging: Add proper backtrace support detection
The Q_OS_UNIX macro is inappropriate because many UNIX-like platforms may
lack backtrace support in the libc. E.g.: Darwin / Mac OS X, Musl libc,
OpenBSD, OpenIndiana.
2021-08-31 11:15:55 +01:00
Lukas Prediger
c8c110efaf Fix: RipCDDialog now correctly loads and stores chosen transcoder preset 2021-08-31 10:19:32 +01:00
Lukas Prediger
a72e252ec6 RipCDDialog: Added file name preview 2021-08-31 10:19:32 +01:00
Lukas Prediger
b0704331d7 Integrate file name format options into RipCDDialog
for consistency with OrganiseDialog and reducing code duplication
2021-08-31 10:19:32 +01:00
Lukas Prediger
5c8ca3754f Added overwrite_existing argument to Transcoder::AddJob 2021-08-31 10:19:32 +01:00
Lukas Prediger
83d961f808 Transcoder: create output paths if they do not already exist 2021-08-31 10:19:32 +01:00
Lukas Prediger
a6fef97cac Separating out filename formatting options into separate widget.
First step towards unifying filename formatting over different dialogs.
2021-08-31 10:19:32 +01:00
Clementine Buildbot
922afe506f Automatic merge of translations from Transifex 2021-08-27 02:44:07 +00:00
Ismael Luceno
8682d4de48 Fix sentinels in variadic function calls
Replace sentinel NULL with nullptr, guaranteed to be correctly expanded.

NULL may be defined as plain 0 in C++; which may lead to undefined upper
bits passed in variadic function arguments, causing crashes.

See: https://ewontfix.com/11/
2021-08-23 21:33:46 +01:00
Clementine Buildbot
03e13c69e7 Automatic merge of translations from Transifex 2021-08-17 02:42:46 +00:00
Clementine Buildbot
327d5fdac3 Automatic merge of translations from Transifex 2021-08-13 02:42:58 +00:00
Clementine Buildbot
b55e54388f Automatic merge of translations from Transifex 2021-08-11 02:43:14 +00:00
Clementine Buildbot
cddc08e148 Automatic merge of translations from Transifex 2021-08-09 02:42:51 +00:00
Clementine Buildbot
bf424ce986 Automatic merge of translations from Transifex 2021-08-01 02:46:18 +00:00
Clementine Buildbot
e2d6759d55 Automatic merge of translations from Transifex 2021-07-27 02:45:37 +00:00
Jim Broadus
102317e5c8 internet/podcasts: Fix crash when updating podcasts.
When a podcast is updated and the number of visible items is set in the
podcast settings, child items that disappear from the view, and are
deleted, are still referenced by the database id map.

Move the removal code from SubscriptionRemoved to a common method and
use that for this case.
2021-07-26 12:36:24 +01:00
Clementine Buildbot
ac3a0d33f7 Automatic merge of translations from Transifex 2021-07-26 02:45:57 +00:00
Robin Lee
224c475b50 Rename multiple files to match the application ID
The desktop entry file, appdata file and installed icons are renamed to
match the application ID for the benefit of Flatpak packaging.
2021-07-20 11:21:05 +01:00
Clementine Buildbot
dbe15e5e9f Automatic merge of translations from Transifex 2021-07-20 02:45:18 +00:00
Clementine Buildbot
c0c9037677 Automatic merge of translations from Transifex 2021-07-19 02:44:08 +00:00
kentsangkm
6982b47819 Search song from Spotify via web api 2021-07-18 10:45:10 +01:00
Clementine Buildbot
98dd3e48a6 Automatic merge of translations from Transifex 2021-07-17 02:45:02 +00:00
Clementine Buildbot
1e39ce29a4 Automatic merge of translations from Transifex 2021-07-15 02:43:57 +00:00
Jonas Kvinge
daa2f25e3c Replace Q_ENUMS with Q_ENUM
Q_ENUMS is obsolete. See: https://doc.qt.io/qt-5/qobject-obsolete.html
The replacement is Q_ENUM which was introduced in Qt 5.5, and Clementine
requires Qt 5.6.
2021-07-14 10:19:28 +01:00
Jonas Kvinge
f379ad84d4 Fix use of emit
Adds missing emits.

QTreeView::collapse and QTreeView::expand are slots, not signals. So
remove emit.
2021-07-14 10:18:47 +01:00
Jonas Kvinge
1d1d3b157f Add *.kdev4 to .gitignore 2021-07-14 10:18:25 +01:00
Jonas Kvinge
320a1b81c9 Fix incorrect use of QFutureWatcher
To avoid a race condition, it is important to call setFuture() after doing the connections.

See: https://doc.qt.io/qt-6/qfuturewatcher.html
2021-07-14 10:18:15 +01:00
Jonas Kvinge
0c1b6a2a44 Fix setting task blocking library scans
TaskManager::SetTaskBlocksLibraryScans() takes the ID of the task.
2021-07-14 10:18:01 +01:00
Jonas Kvinge
598e660aeb Unref bus in SongLoader::LoadRemote()
See: https://developer.gnome.org/gstreamer/stable/GstPipeline.html#gst-pipeline-get-bus
2021-07-14 10:17:50 +01:00
Jonas Kvinge
4d34748401 Fix memory leak in global search context menu 2021-07-14 10:17:35 +01:00
Clementine Buildbot
b3b769f0e7 Automatic merge of translations from Transifex 2021-07-14 02:43:05 +00:00
Clementine Buildbot
2902a8786e Automatic merge of translations from Transifex 2021-07-12 02:43:07 +00:00
Clementine Buildbot
4acfdae740 Automatic merge of translations from Transifex 2021-07-09 02:43:48 +00:00
kentsangkm
6b2918ee92 Generate compile_commands.json 2021-07-08 21:33:19 +01:00
Jim Broadus
a5e84bbe98 internet: Add common InternetService::ConfigRequired() method.
This will allow some common handling of unconfigured services.
2021-07-07 10:47:01 +01:00
Clementine Buildbot
7cb5f5c804 Automatic merge of translations from Transifex 2021-07-06 02:43:44 +00:00
Clementine Buildbot
db8de64abb Automatic merge of translations from Transifex 2021-07-03 02:40:42 +00:00
Jim Broadus
a5fd484a61 internet: Consolidate ShowConfig methods.
InternetService::ShowConfig() and ShowSettingsPage() were used to show
the settings page for a service.
2021-07-02 11:54:21 +01:00
Adolfo Jayme Barrientos
25b537cf26 De-duplicate my translator credit 2021-07-02 10:29:17 +01:00
Clementine Buildbot
8c660e278c Automatic merge of translations from Transifex 2021-07-01 02:44:35 +00:00
John Maguire
67aa154182 Explicitly tap liblastfm homebrew dependency 2021-06-30 22:30:38 +01:00
kentsangkm
f35a640ce3 clang-format 2021-06-30 22:05:18 +01:00
kentsangkm
cbe384d142 Add override 2021-06-30 22:05:18 +01:00
Clementine Buildbot
4a83f8c817 Automatic merge of translations from Transifex 2021-06-30 02:47:46 +00:00
Clementine Buildbot
67a947f116 Automatic merge of translations from Transifex 2021-06-29 02:46:23 +00:00
Clementine Buildbot
1db1e3231f Automatic merge of translations from Transifex 2021-06-28 02:47:35 +00:00
Jim Broadus
f9854e564d transcoder: Add options avenc_aac element.
Initially adding encoder and bitrate settings, but the gstreamer
element exposes a lot of ffmpeg options that can be added as needed.

Reference: https://gstreamer.freedesktop.org/documentation/libav/avenc_aac.html
2021-06-27 15:56:50 +01:00
Clementine Buildbot
5ab81fd8bc Automatic merge of translations from Transifex 2021-06-25 02:47:39 +00:00
Clementine Buildbot
62cb889a3f Automatic merge of translations from Transifex 2021-06-24 02:42:11 +00:00
Clementine Buildbot
e46503d0c3 Automatic merge of translations from Transifex 2021-06-23 02:46:40 +00:00
Clementine Buildbot
54be35f528 Automatic merge of translations from Transifex 2021-06-22 02:51:35 +00:00
Jim Broadus
6240fd3d0a player: Fix crash on UrlHandler error.
In a case where a playlist is composed entirely of unresolvable
internet service URLs and the playlist is set to repeat, playing an
item will result in an infinite (until crash) recursive condition.
HandleLoadResult is called with a NoMoreTracks result. It then calls
NextItem, which calls PlayAt for the next item, which, again, calls
HandleLoadResult.

This can be reproduced by logging into a subsonic server, adding items
to an empty playlist, then signing out.

To solve this, separate the error condition from the NoMoreTracks
result. Handle URL resolution errors the same way that media playback
errors are handled, where an error count is incremented and the player
stops if a limit is reached. The common code also notifies the playlist
of the error and provides user feedback by graying out the item.
2021-06-21 12:52:25 +01:00
Lukas Prediger
57b5911f13 Fixes from code review for PR #7037 2021-06-21 12:51:44 +01:00
Lukas Prediger
6fa9cbcc65 Removing watch_for_disc_changes in CddaDevice constructor 2021-06-21 12:51:44 +01:00
Lukas Prediger
83b6bf28f3 No exceptions for error handling! ConnectedDevice::Init now returns bool, indicating success or failure.
As decreed by @hatstand.
2021-06-21 12:51:44 +01:00
Lukas Prediger
a4ad507704 Removed some unused includes. 2021-06-21 12:51:44 +01:00
Lukas Prediger
d2240ec0ae Device change watchdog timer no longer freezes main thread while CddaSongLoader is active. 2021-06-21 12:51:44 +01:00
Lukas Prediger
2dd566653f Dealing with cdio_open failures in CddaDevice constructor 2021-06-21 12:51:44 +01:00
Lukas Prediger
e35e4195c2 Not using std::make_unique 2021-06-21 12:51:44 +01:00
Lukas Prediger
6ea20336c2 CddaSongLoader: Only run one song loading thread at once.
- CddaSongLoader destructor waits for thread to end.
- Added flag to interrupt LoadSongsFromCdda
- Only start song loading if not already running
- Removed (now obsolete) mutex
2021-06-21 12:51:44 +01:00
Lukas Prediger
ae9824e26a RipCDDialog no longer needs to LoadSongs on show. 2021-06-21 12:51:44 +01:00
Lukas Prediger
63953e1045 RipCDDialog now allows selecting the CD drive 2021-06-21 12:51:44 +01:00
Lukas Prediger
b68734c761 Fix: Missing include guard for cddadevice in mainwindow.cpp 2021-06-21 12:51:44 +01:00
Lukas Prediger
95799a911d Removing ConnectedDevice::Refresh altogether 2021-06-21 12:51:44 +01:00
Lukas Prediger
639b918557 Removing CddaDevice::Refresh 2021-06-21 12:51:44 +01:00
Lukas Prediger
3c06b92b24 Ripper now works with a cdio instance passed into constructor
which comes from a CddaDevice corresponding to the device
2021-06-21 12:51:44 +01:00
Lukas Prediger
ae3037984c RipCDDialog now uses CddaSongLoader from passed in CddaDevice 2021-06-21 12:51:44 +01:00
Lukas Prediger
14d5c25d37 Integrated cddevice back into cddadevice 2021-06-21 12:51:44 +01:00
Lukas Prediger
9ca75ae357 RipCDDialog now relies on CddaDevice to be notified about disc changes 2021-06-21 12:51:44 +01:00
Lukas Prediger
d2c636ab46 Introducing CdDevice, simple wrapper for cdio that watches disc changes.
CddaDevice now relies on this to update song list. CddaDevice::Refresh is now a no-op.
2021-06-21 12:51:44 +01:00
Clementine Buildbot
11bd0db03b Automatic merge of translations from Transifex 2021-06-21 02:54:22 +00:00
Clementine Buildbot
c3c77aef19 Automatic merge of translations from Transifex 2021-06-16 02:55:57 +00:00
Jim Broadus
ffdaeba09f cueparser: Be more lenient when parsing indexes.
Most specs have mm:ss:ff as the index time format, but cue files have
been found with single digit minutes. e.g. 0:00:00 instead of 00:00:00

Reference: https://www.gnu.org/software/ccd2cue/manual/html_node/CUE-sheet-format.html
2021-06-15 14:14:00 +01:00
Clementine Buildbot
2bf8f1388b Automatic merge of translations from Transifex 2021-06-15 02:57:02 +00:00
Clementine Buildbot
418a366931 Automatic merge of translations from Transifex 2021-06-14 02:55:24 +00:00
Clementine Buildbot
4aa4f4fce3 Automatic merge of translations from Transifex 2021-06-13 02:54:58 +00:00
Jim Broadus
3a00403ad0 build: Add patch for libgpod mac build.
Store patch file in repository rather than relying on strawberry's file
server.

Reference: 27955cc441
2021-06-12 15:14:44 +01:00
Clementine Buildbot
7fb387b967 Automatic merge of translations from Transifex 2021-06-12 02:54:18 +00:00
Jim Broadus
4e4fccc07a playlistparser: Add error mechanism for parsers.
Add a new Error signal to parser implementations. Display an error when
user tries to use the unimplemented CueParser::Save.
2021-06-11 10:17:20 +01:00
Jim Broadus
f4108b5a0c playlistparser: Display errors on failures.
Add an Error signal to PlayListParser and connect that to the
PlayListManager::Error signal. This is eventually connected to the
Application::AddError. Add error messages in some cases where
PlayListParser can fail silently.
2021-06-11 10:17:20 +01:00
Clementine Buildbot
612767c878 Automatic merge of translations from Transifex 2021-06-09 03:12:09 +00:00
Clementine Buildbot
b09ab3ff37 Automatic merge of translations from Transifex 2021-06-04 04:25:11 +00:00
Robin Ekman
0dbefa3064 Add a shortcut to go to next album 2021-06-03 17:06:48 +01:00
Fabio Bas
058fe6f4be fall back to url if url_resolved is empty 2021-06-02 22:40:13 +01:00
Fabio Bas
38ac0d3ccb Radiobrowser.info: use the url_resolved field for radio stations 2021-06-02 22:40:13 +01:00
John Maguire
72cfdf25a9 Remove FC32 build 2021-06-02 11:23:40 +01:00
Clementine Buildbot
f674753758 Automatic merge of translations from Transifex 2021-05-31 05:04:40 +00:00
Clementine Buildbot
f7369d2c42 Automatic merge of translations from Transifex 2021-05-28 04:26:27 +00:00
Clementine Buildbot
2132e99fbe Automatic merge of translations from Transifex 2021-05-27 03:59:34 +00:00
Clementine Buildbot
684c9d232f Automatic merge of translations from Transifex 2021-05-26 03:51:04 +00:00
Clementine Buildbot
d71eba97fb Automatic merge of translations from Transifex 2021-05-25 03:20:50 +00:00
Jim Broadus
f071075e8c build: Add Ubuntu Hirsute to workflows.
Reference: https://wiki.ubuntu.com/Releases
2021-05-24 23:05:56 +01:00
Jim Broadus
776bd3b022 settings: Add option to guess song metadata
Add "Try to guess missing metadata" option to the Song Metadata page
that controls the setting in SongPathParser.
2021-05-24 15:23:05 +01:00
Jim Broadus
cf88e47206 settings: Create a new Song Metadata settings page
Move tagreader process settings to the new page.
2021-05-24 15:23:05 +01:00
Jim Broadus
01be9f196a settings: Organize page enums by category. 2021-05-24 15:23:05 +01:00
Lukas Prediger
89831f8dca MusicBrainzClient: Log message for malformed XML in reply 2021-05-18 12:13:10 +01:00
Lukas Prediger
e756f2d686 CddaSongLoader: explicitly reading discid as UTF8 2021-05-18 12:12:01 +01:00
Lukas Prediger
8d69da28f3 Fixing freeing of memory in cddasongloader 2021-05-18 12:12:01 +01:00
Lukas Prediger
8668699977 CddaSongLoader: handle potential multiple tag messages correctly 2021-05-18 12:12:01 +01:00
Lukas Prediger
e9945bcbc6 do NOT free toc entries in CddaSongLoader (reverting previous change) 2021-05-18 12:12:01 +01:00
Lukas Prediger
86bbd2ace6 Formatting/linting fixes. 2021-05-18 12:12:01 +01:00
Lukas Prediger
81c0661e8c MusicBrainzClient stop result parsing after reading first medium with correct discid.
Tentative fix for #7020.
2021-05-18 12:12:01 +01:00
Lukas Prediger
54a497b302 RipCDDialog rejects metadata lists if number of tracks does not match disc.
First step for addressing #7020.
2021-05-18 12:12:01 +01:00
Lukas Prediger
436c53870a Correctly freeing memory in CddaSongLoader::LoadSongsFromCdda 2021-05-18 12:12:01 +01:00
Lukas Prediger
97800e613a Fix for #7019: CddaSongLoader obtaining metadata on first try. 2021-05-18 12:12:01 +01:00
Jim Broadus
1309c76bec tagreader: Relocate artist/album/title guessing code
Move the code that attempts to fill missing song metadata out of the
tagreader worker. In the main process, it will be controllable using
settings and calling context.

The methods were moved into a new SongPathParser class that checks new
settings to determine if action should be taken.
2021-05-17 13:20:34 +01:00
Lukas Prediger
75de59703c Fix: Transcoding for CD rips not starting.
due to making Transcoder::Start a non-slot in 8d11e9ff
2021-05-15 10:14:18 +01:00
Clementine Buildbot
89155ace70 Automatic merge of translations from Transifex 2021-05-14 03:06:05 +00:00
Clementine Buildbot
a7468dcd41 Automatic merge of translations from Transifex 2021-05-13 03:03:53 +00:00
Clementine Buildbot
3f614464ee Automatic merge of translations from Transifex 2021-05-12 03:01:45 +00:00
Jim Broadus
9bfd458b15 playlistparsers: Handle m3u UTF-16 playlists.
Rather than assume UTF-8, use QTextStream to read data. This checks the
byte order mark of the file to determine encoding.

As an optimization, since the playlist already needs to be searched for \r
characters, just create a string list and work from that.
2021-05-11 10:22:18 +01:00
Clementine Buildbot
d16d9ba282 Automatic merge of translations from Transifex 2021-05-11 02:59:45 +00:00
Clementine Buildbot
83157100c4 Automatic merge of translations from Transifex 2021-05-09 02:56:37 +00:00
Jim Broadus
590bcf1c7c build: Add libgpod for mac
This change was taken from Strawberry. When and if a homebrew libgpod
package becomes available, this change can be replaced.

Reference: f2c7df3a3b
2021-05-08 15:53:20 +01:00
Jim Broadus
33aa8c8579 build: Add libgpod link directory. 2021-05-08 15:53:20 +01:00
Clementine Buildbot
f5d3079db8 Automatic merge of translations from Transifex 2021-05-08 02:56:24 +00:00
Clementine Buildbot
783213f9c1 Automatic merge of translations from Transifex 2021-05-07 02:58:09 +00:00
Jim Broadus
d798c76e06 devices: Remove obsolete DeviceKit.
DeviceKit-disks, renamed udisks, was superseded by udisks2 in 2012.
2021-05-06 20:52:33 +01:00
Jim Broadus
579d869042 build: Add libmtp to BrewFile. 2021-05-03 23:27:28 +01:00
Jim Broadus
079384c154 build: Add libmtp link directory.
If MTP is enabled, add library directory. This will allow it to be found
in brew installations.
2021-05-03 23:27:28 +01:00
Jim Broadus
f48888a430 networkremote: Fix some log noise.
In avahi, don't log empty errors.
2021-05-03 14:45:00 +01:00
Jim Broadus
9a337a9efc logging: Fix {anonymous} class name.
If the __PRETTY_FUNCTION__ macro yields {anonymous} as the class name,
use the method name as the tag.
2021-05-03 14:44:19 +01:00
Jim Broadus
708385c71f devices: Fix guessed icons in DeviceIcons
In the initial implementation, DeviceLister::DeviceIcons returned a
string list and some listers would concatenate other lists to form that
list. When DeviceIcons was changed to return a variant list, that
logic wasn't changed in many places, so instead of appending, string
list variants are being added icon list.
2021-05-01 20:37:01 +01:00
Clementine Buildbot
20647e8a98 Automatic merge of translations from Transifex 2021-04-29 02:54:42 +00:00
diracsbracket
8c1bdc1a45 Changed to const reference 2021-04-28 21:51:12 +01:00
diracsbracket
1646ab2221 Corrected comments + Added reference to Song& + use non-default
constructor for QFileInfo.

Forgot to apply clang-format so applied 2nd commit and squashed
both
2021-04-28 21:51:12 +01:00
diracsbracket
66a34a906a Removed unneeded empty arguments already provided by defaults 2021-04-28 21:51:12 +01:00
diracsbracket
444f1e2e69 clang-format correction 2021-04-28 21:51:12 +01:00
diracsbracket
b7a995d223 Re-added log message for URL and mime-type. 2021-04-28 21:51:12 +01:00
diracsbracket
fb391a7fbe Optimization to avoid save+delete of remote playlists to temporary file 2021-04-28 21:51:12 +01:00
John Maguire
8fddc816a0 Remove unsupported FC31 build 2021-04-27 18:08:18 +01:00
John Maguire
d59ed1e704 Add Fedora Core 34 workflow 2021-04-27 17:23:18 +01:00
Clementine Buildbot
fc83e41279 Automatic merge of translations from Transifex 2021-04-27 02:57:12 +00:00
Clementine Buildbot
7e48b78c15 Automatic merge of translations from Transifex 2021-04-26 03:01:00 +00:00
Clementine Buildbot
94f4f65a60 Automatic merge of translations from Transifex 2021-04-25 03:01:19 +00:00
Clementine Buildbot
b2ed9499f6 Automatic merge of translations from Transifex 2021-04-24 02:56:55 +00:00
Jim Broadus
8258c78c0b dbus: Fix signal arg annotations
An earlier change attempted to fix qdbusxml2cpp parsing errors by adding
directions to arguments. However, signal arguments are always out and it
was the annotations that were incorrect.

Fixes: f17b79a10 (dbus: Fix qdbusxml2cpp unknown type warnings., 2021-04-19)
Reference: https://dbus.freedesktop.org/doc/dbus-specification.html
2021-04-22 11:24:12 +01:00
Jim Broadus
59f6d95b80 clementine-tagreader: Fix addDefaultCaCertificates deprecation
QSslSocket::addDefaultCaCertificates is deprecated in 5.15. Use
QSslConfiguration default configuration instead.
2021-04-22 11:23:50 +01:00
Jim Broadus
5f75bde396 libclementine-common: Use positive numbers for worker ids.
QRandomGenerator::generate() returns an unbounded int32, while the legacy
qrand method always returned a positive number. When generating a tag
reader ID with QRandomGenerator, cast the random value to an unsigned so
that it is formatted as a positive number in the name.

Note that most usages of QRandomGenrator in the codebase use bounded()
instead of generate(), and should work as expected.
2021-04-22 11:21:08 +01:00
Jim Broadus
73c0af1977 Remove expired Equifax CA root
The Equifax certificate expired in 2018, so any certificate that was
signed by that CA should also be expired.
2021-04-21 10:24:53 +01:00
Jim Broadus
f17b79a105 dbus: Fix qdbusxml2cpp unknown type warnings.
Add direction attributes to args where qdbusxml2cpp was looking for the
incorrect annotation.
2021-04-21 10:24:09 +01:00
Clementine Buildbot
c51d2f954e Automatic merge of translations from Transifex 2021-04-21 02:57:30 +00:00
Jim Broadus
280a514ebc dbus: Fix annotation deprecation warnings
The com.trolltech was renamed to org.qtproject. The code generation tool
still handles the old name, but prints a deprecation error.

Reference: https://bugreports.qt.io/browse/QTBUG-23274
2021-04-20 22:49:21 +01:00
Jim Broadus
f04657e7e7 Replace qrand usage with QRandomGenerator
QRandomGenerator was introduced in 5.10 and qrand has since been
deprecated. QRandomGenerator::global() returns a global instance that
has been securely seeded. QRandomGenerator provides methods that
generate values within ranges, so taking a modulus of the result isn't
necessary.
2021-04-20 10:31:07 +01:00
Jim Broadus
6b21079fd4 dbus: Fix xml format errors. 2021-04-20 10:30:06 +01:00
Jim Broadus
429d8ee0f9 core/logging: Fix QString::split deprecation
QString::SplitBehavior is deprecated in 5.14. Use Qt::SplitBehavior
after this version.
2021-04-19 10:25:31 +01:00
Jim Broadus
163ebe71d8 libclementine-tagreader: Discontinue use of deprecated taglib methods.
Direct use of MP4::itemListMap() was deprecated in favor of using item() and
setItem(). XiphComment::removeField was replaced by removeFields.
2021-04-18 13:48:13 +01:00
Jim Broadus
99ee1394a5 build: Remove CMP0012 NEW policy
This policy is already enabled by default. This may have originally
been a typo since it was added in the same commit where CMP0011 was set
to OLD in the top-level cmake file (b63d1cf9f1).
2021-04-18 13:47:10 +01:00
Jim Broadus
3690c41cb0 build: Remove CMP0011 OLD policy
This policy allowed included files and modules to affect policy in the
parent scope. Besides the top level, 3rdparty/libprojectm is the only
place where old policy is set.

Reference: https://cmake.org/cmake/help/latest/policy/CMP0011.html
2021-04-18 13:47:10 +01:00
Clementine Buildbot
7303f72ee8 Automatic merge of translations from Transifex 2021-04-18 02:57:04 +00:00
Jim Broadus
e7364263b2 build: Move minimum cmake version to 3.0.0
Compatibility with versions prior to 2.8.12 is being deprecated,
resulting in build warning messages. The minimum for the official
supported distros is 3.7.2 (Stretch), so the version could be moved
forward when newer features are required.

Reference: https://cmake.org/cmake/help/v3.19/release/3.19.html#deprecated-and-removed-features
2021-04-17 16:24:46 +01:00
Clementine Buildbot
47f7b307f0 Automatic merge of translations from Transifex 2021-04-15 02:55:43 +00:00
Clementine Buildbot
009642d125 Automatic merge of translations from Transifex 2021-04-13 02:59:37 +00:00
Jim Broadus
3440f90a6b playbacksettings: Don't try to load empty icons
When populating output options, don't attempt to load an icon if that
field is empty. This cuts some log noise.
2021-04-12 10:58:46 +01:00
Clementine Buildbot
32944a15de Automatic merge of translations from Transifex 2021-04-12 02:58:52 +00:00
Clementine Buildbot
2d34588b84 Automatic merge of translations from Transifex 2021-04-11 02:57:39 +00:00
Jim Broadus
a86558f9a6 playlist: Fix queued item painting
QueuedItemDelegate::DrawBox leaves the painter in a state that can cause
artifacts. Specifically, there are cases where the item text is not
visible. To fix this, push the painter state before making changes and
pop it after drawing.
2021-04-10 14:58:36 +01:00
Jim Broadus
db55c541b2 Revert "↑↓ for "Up" and "Down" (#5841)"
This reverts commit 566708b778ee0bd3a99df525251a819cd2ef382c.

Escape sequences are not legal key sequences.

Reference: https://doc.qt.io/qt-5/qkeysequence.html#details
2021-04-10 14:57:55 +01:00
Clementine Buildbot
144bdc2495 Automatic merge of translations from Transifex 2021-04-09 02:55:40 +00:00
Clementine Buildbot
72c1f91c00 Automatic merge of translations from Transifex 2021-04-08 03:00:17 +00:00
Jim Broadus
e8875faf83 visualisations: Properly scale projectM view
In version 5.6, Qt introduced an automatic scaling feature for high DPI
displays. Since projectM is not part of the Qt framework, it's necessary
to convert coordinates when specifying view size.

Reference: https://doc.qt.io/qt-5/highdpi.html
2021-04-07 21:49:18 +01:00
Fabio Bas
354f6a23e0 snake_case for variable names; reworked url resolution signals 2021-04-07 14:22:15 +01:00
Fabio Bas
91e1e5880d Fix compilation on older Qt, use Player::SongChangeRequestProcessed() signal to handle station play count 2021-04-07 14:22:15 +01:00
Fabio Bas
cd561af516 radiobrowser url handler: emit metadata for radio stations 2021-04-07 14:22:15 +01:00
Clementine Buildbot
2d6bb4abd6 Automatic merge of translations from Transifex 2021-04-07 03:00:29 +00:00
Jim Broadus
3b8519fda3 internet: Move page creation to internet category class
This consolidates most of the knowledge of internet settings pages in
the internet subdirectory. The exception is the master page enumeration
in the settings dialog.
2021-04-06 14:05:00 +01:00
Jim Broadus
1de6a46e86 internet: Add InternetSettingsCategory class 2021-04-06 14:05:00 +01:00
Clementine Buildbot
8a7120e1e8 Automatic merge of translations from Transifex 2021-04-06 02:58:50 +00:00
Clementine Buildbot
e077df22d3 Automatic merge of translations from Transifex 2021-04-05 02:58:16 +00:00
Clementine Buildbot
4f86e0b2b4 Automatic merge of translations from Transifex 2021-04-04 02:58:52 +00:00
Jim Broadus
2804a4d89f gstengine: Make output format configurable
Add an output format option in playback settings. The options are
Detect, S16LE, and F32LE. Selecting Detect will use the existing
behavior and detect the native format when the pipeline starts. The
other options will set the format when the pipeline is built.
2021-04-03 13:56:22 +01:00
Clementine Buildbot
15fdad3d51 Automatic merge of translations from Transifex 2021-04-03 02:57:07 +00:00
Jim Broadus
ada6752eae gstengine: Don't modify caps when pipeline is running
When the decoder bin's src pad is added, only set caps to use the native
bit depth if the the pipeline is not already running.
2021-04-02 16:42:44 +01:00
Jim Broadus
4edf77082d settings: Remove unused page enum value
Remove unused Page_SoundCloud from SettingsDialog::Page.
2021-04-02 16:41:30 +01:00
Jim Broadus
ae8a420690 settings: Move AddPage to SettingsCategory
This will allow future subclasses of SettingsCategory to populate their
own pages.
2021-04-02 16:41:30 +01:00
Clementine Buildbot
d13410c91d Automatic merge of translations from Transifex 2021-04-02 03:02:29 +00:00
Jim Broadus
f4e70face1 library: Fix rescan in case where library directory was recreated
If a root library directory is deleted and recreated, it is not
detected since inotify would need to watch the parent directory. On
rescan, if the subdirectory list for a directory is empty, re-add the
library's root directory.

This is an edge case on Linux systems. The issue may not exist on other
operating systems.
2021-04-01 14:53:49 +01:00
Jim Broadus
fd3a2a2f12 library: Add accessors to directory structures
Add const accessors to the Directory and Subdirectory structures.
2021-04-01 14:53:49 +01:00
Jim Broadus
6412790723 smartplaylists: Escape pattern characters in search term
When using the LIKE function, use \ as an escape character and prepend
that to occurrences of the pattern characters _ and % in the search
term.
2021-04-01 14:52:48 +01:00
Jim Broadus
b2e3f8ea6e smartplaylists: Cast filename to TEXT in queries
In some versions/builds of sqlite, the LIKE function won't match
blobs.

Reference: https://www.sqlite.org/compile.html#like_doesnt_match_blobs
2021-04-01 14:52:48 +01:00
Jim Broadus
eb1b84b281 ratingwidget: Properly bind the ratings values
RatingPainter::RatingForPos should return a value in 0-1. But if the
passed position was outside of the widget's draw rectangle, a value
outside of that range could be returned.
2021-04-01 14:32:18 +01:00
Clementine Buildbot
86d782cb6a Automatic merge of translations from Transifex 2021-04-01 03:04:42 +00:00
Adolfo Jayme Barrientos
438e8ca61b Fix a typo in a translatable string 2021-03-31 18:10:50 +01:00
Clementine Buildbot
881898f845 Automatic merge of translations from Transifex 2021-03-31 02:57:36 +00:00
Jim Broadus
c12294c5ec settings: Make the internet header selectable
Make the "Internet services" tab the internet providers category header instead of a tab under "User Interface".
2021-03-30 11:51:26 +01:00
Jim Broadus
e77595fba6 widgets: Add option to draw selected GroupedIconView header 2021-03-30 11:51:26 +01:00
Jim Broadus
6b34d0435f settings: Add SettingsCategory class
Add a new category class for settings. This will eventually allow
category classes to maintain their own lists of subpages.
2021-03-30 11:51:26 +01:00
Clementine Buildbot
fdb3f7ac37 Automatic merge of translations from Transifex 2021-03-26 04:03:26 +00:00
Clementine Buildbot
b68b12010d Automatic merge of translations from Transifex 2021-03-25 02:47:45 +00:00
Jim Broadus
c394d7d2dd settings: Don't connect service-specific signals to every page
Wii and notifications signals are currently connected for every settings
page. Move the signals from the base SettingsPage class into the derived
classes and connect the signals for only those objects.
2021-03-24 10:31:52 +00:00
Clementine Buildbot
d1e9ee9f95 Automatic merge of translations from Transifex 2021-03-24 02:59:29 +00:00
Jim Broadus
3244cf0837 settings: Recategorize background stream settings
Move the background streams settings page to the general category.
2021-03-23 10:36:39 +00:00
Clementine Buildbot
e4f7468786 Automatic merge of translations from Transifex 2021-03-23 03:00:31 +00:00
Clementine Buildbot
8b566b2a7b Automatic merge of translations from Transifex 2021-03-22 02:58:33 +00:00
Clementine Buildbot
1154c0f54c Automatic merge of translations from Transifex 2021-03-19 02:53:35 +00:00
Jim Broadus
05e450c3c3 internet/core: Move core ShowContextMenu to base class
Move CloudFileService::ShowContextMenu to the base class so that all
services can utilize the pattern established in CloudFileService.
ShowContextMenu creates the menu if it doesn't exist then calls an
overridable method to populate the content. It then calls an update
method before showing the menu.
2021-03-18 11:16:14 +00:00
Jim Broadus
5ebd6d1e6b internet/core: Move context_menu_ to base class
Every internet service class has a context_menu_ member. Moving this to
the base class will allow the consolidation of common menu functionality.
2021-03-18 11:16:14 +00:00
Jim Broadus
8b2f7f08ae ext: Remove depencency on src
Remove /src from all include paths in /ext.
2021-03-17 18:26:51 +00:00
Jim Broadus
cd41f706af libclementine-common: Move timeconstants.h to common location
This header is used by code in /ext, so move it out of /src. This is the
last /ext dependency on /src.
2021-03-17 18:26:51 +00:00
Clementine Buildbot
3f34b332cf Automatic merge of translations from Transifex 2021-03-17 02:57:26 +00:00
Fabio Bas
89e9b20df1 Use smart pointers for menus; move static vars and most private methods to an anonymous namespace 2021-03-16 11:03:00 +00:00
Fabio Bas
3ba2c811f4 Different context menu for service and stations; "add to your radio streams" action for stations; reworked server error handling 2021-03-16 11:03:00 +00:00
Fabio Bas
6a45edaa34 Removed dirty hack in InternetModel; added "radiobrowser:" url handler; rework station play callback 2021-03-16 11:03:00 +00:00
Fabio Bas
cd062f1d8b Added settings page 2021-03-16 11:03:00 +00:00
Fabio Bas
cc0cedc5bd added station art 2021-03-16 11:03:00 +00:00
Fabio Bas
3e31094227 Initial RadioBrowser support: implemented search, groups by category, top 100 2021-03-16 11:03:00 +00:00
Fabio Bas
e7768948e0 Initial radio-browser.info support 2021-03-16 11:03:00 +00:00
Jim Broadus
af75ebbd6f libclementine-common: Mac: Fix exec search path
workerpool.h utilizes the MAC-specific USE_BUNDLE option, but the file
didn't directly include the config header file. Cleanup change 341dc73
reordered some headers, so it was no longer included as a side-effect
either.
2021-03-16 09:30:56 +00:00
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
Jim Broadus
66ea25bca9 build: Add Ubuntu 20.10 build
https://wiki.ubuntu.com/GroovyGorilla
2021-02-02 09:56:13 +00:00
Clementine Buildbot
2725ef99d5 Automatic merge of translations from Transifex 2021-02-02 02:56:25 +00:00
Clementine Buildbot
50ee786135 Automatic merge of translations from Transifex 2021-02-01 02:55:24 +00:00
Clementine Buildbot
816fd88d48 Automatic merge of translations from Transifex 2021-01-31 02:55:13 +00:00
Clementine Buildbot
8db8b1e788 Automatic merge of translations from Transifex 2021-01-30 02:55:19 +00:00
Jim Broadus
18eef830a5 transcoder: Add ability to dump pipeline graphs
Add a "Dump Graph" menu option to the pipeline view if CLEMENTINE_DEBUG
is enabled.
2021-01-29 22:30:03 +00:00
Jim Broadus
7d061afdc3 gstengine: Add PipelineView class
Add ListView derivative class for displaying GstPipelineModel data. A
GetSelectedIds method provides the list of selected pipelie IDs.
2021-01-29 22:30:03 +00:00
Jim Broadus
8d11e9ffab transcoder: Remove unused slots
Transcoder::Start() and Transcoder::Cancel() were defined as slots but
never used as such.
2021-01-29 13:12:26 +00:00
Jim Broadus
d4c9628222 transcoder: Don't show progress when nothing is selected
Previously, pressing the "Start transcoding" button with zero files selected
would show the progress group with the progress bar in the busy state.
2021-01-29 13:12:26 +00:00
Clementine Buildbot
78d4c4f3f7 Automatic merge of translations from Transifex 2021-01-29 02:56:20 +00:00
Clementine Buildbot
b9a8442632 Automatic merge of translations from Transifex 2021-01-28 02:54:59 +00:00
Jim Broadus
7ba322b10b debug: Generalize debug feature check
Move the debug console variable check to a static method in the
Application class and use environment variable CLEMENTINE_DEBUG instead
of CLEMENTINE_DEBUG_CONSOLE. This will allow debug features to be
enabled elsewhere in the code.

Example:
CLEMENTINE_DEBUG=1 clementine
2021-01-27 15:14:40 +00:00
Clementine Buildbot
79ca9147e9 Automatic merge of translations from Transifex 2021-01-27 02:54:57 +00:00
Maarten Jacobs
cb88954a3b Changed usage of boolean to enumeration
Changed the NextInternal() and NextItem() methods to use a enumerated value to track whether "next track" or "next album" is desired
2021-01-26 23:35:10 +00:00
Maarten Jacobs
8fcdbd5114 Adding a "play next album" function, in addition to "play next
track".

Changed shortcut key for Next Album from "space" to F9

Fixed indentation in player.cpp

Fixed spacing in player.cpp.

Updated player.cpp to ensure while loop takes into consideration the last
song on the playlist.

Fixed lint formatting error in player.cpp

Additional changes to player.cpp to make sure next album search reacts properly to the given repeat mode.

Updated player.cpp to address cpplint issues.

Fixing formatting issues.

Fixing formatting errors.

Finished formatting updates.

Final formatting...

Final formatting

Really final formatting...

Addressed issues from code review.

Added functionality to disable Next Album option when repeat mode is "repeat track".

Added commentary to recent changes.

Disable Next Album action also when Repeat Mode is Repeat_Album

In addition to disabling this action for the Next_Track repeat mode, the same applies to the Next_Album repeat mode.
2021-01-26 23:35:10 +00:00
Jim Broadus
8c2ab8fa05 transcoder: Add pipeline list to details dialog
List current running transcode pipelines when the details dialog is displayed.
This will be allow the addition of cancel and debug options.
2021-01-26 10:31:25 +00:00
Jim Broadus
befaacebf9 gstengine: Add a model for pipelines
Provide GstPipelineModel for displaying lists of GstPipelineBase instances.
2021-01-26 10:31:25 +00:00
Clementine Buildbot
a7a32b08b6 Automatic merge of translations from Transifex 2021-01-22 03:38:11 +00:00
Clementine Buildbot
76c87146dd Automatic merge of translations from Transifex 2021-01-21 03:38:44 +00:00
Clementine Buildbot
447e91a68e Automatic merge of translations from Transifex 2021-01-20 03:37:48 +00:00
Clementine Buildbot
a9e193234e Automatic merge of translations from Transifex 2021-01-19 03:35:37 +00:00
Clementine Buildbot
7854aefdd6 Automatic merge of translations from Transifex 2021-01-18 03:34:38 +00:00
Clementine Buildbot
f1678fd33c Automatic merge of translations from Transifex 2021-01-17 03:35:38 +00:00
Clementine Buildbot
81a3c0f83c Automatic merge of translations from Transifex 2021-01-15 03:33:21 +00:00
Jim Broadus
cf842a8c5a gstengine: Use existing stream id to track background streams
New ids were being created for background stream mapping, but streams already
have unique IDs that can be used for this.
2021-01-14 11:29:43 +00:00
Clementine Buildbot
72e2e62eb1 Automatic merge of translations from Transifex 2021-01-14 03:36:26 +00:00
Jim Broadus
4f5bf1cc6f gstengine: Give pipelines unique names
Currently, most pipelines are named "pipeline". Use a type string in combination
with the stream id to give each pipeline a unique name.
2021-01-13 22:59:49 +00:00
Jim Broadus
5ffdb7d98c gstengine: Move pipeline id handling to base class
Move the id and the global counter from GstEnginePipeline to GstPipelineBase.
Make counter atomic.
2021-01-13 22:59:49 +00:00
Clementine Buildbot
2dd424a195 Automatic merge of translations from Transifex 2021-01-13 03:27:02 +00:00
Jim Broadus
ace5234e62 transcoder: Fix flacenc "insane" level encoding
The gstreamer flacenc element defines a set of quality levels that is different
from the standard flac library. Its highest level, labeled "insane", uses
settings that are outside of the streamable subset. Set the streamable-subset
property to false for this level.

Reference: https://xiph.org/flac/format.html#subset
2021-01-12 11:47:12 +00:00
Clementine Buildbot
e1e559732b Automatic merge of translations from Transifex 2021-01-12 03:20:36 +00:00
Stephen
596cd9b0ab install dependencies after checkout 2021-01-11 10:27:12 +00:00
Stephen G
ea4772ba2a use Brewfile 2021-01-11 10:27:12 +00:00
Clementine Buildbot
b3aed042eb Automatic merge of translations from Transifex 2021-01-11 03:16:59 +00:00
Jim Broadus
f779652aa2 Localize song count in playlist
Use %Lx to localize number formatting.

Reference: https://doc.qt.io/qt-5/qtquick-internationalization.html#5-use-lx-so-numbers-are-localized
2021-01-10 21:58:54 +00:00
Jim Broadus
7b94309827 transcoder: Use GstPipelineBase class for pipeline
This allows the use of the DumpGraph method in transcoding pipelines. The call
can be added to Transcoder::StartJob for debugging. In the future, a trigger
may be added to the debug console ui.
2021-01-10 18:14:57 +00:00
Jim Broadus
f9e9dae73d gstengine: Add a base class for pipelines
This allows debug functionality to be shared.
2021-01-10 18:14:57 +00:00
Clementine Buildbot
8c774e3880 Automatic merge of translations from Transifex 2021-01-10 03:17:22 +00:00
Jim Broadus
25d3fca079 gstengine: Fix output audio depth
When the decoder bin's src pad becomes available, check its caps
for a format. If the format is not S16LE, then apply F32LE caps
before the tee. This prevents the pipeline from negotiating
S16LE when the decoder produces other formats.
2021-01-06 20:39:33 +00:00
Jim Broadus
06066dfba4 gstengine: Add a caps filter in pipeline before tee 2021-01-06 20:39:33 +00:00
Jim Broadus
2b17170bf8 gstengine: Move the probe capsfilter to the correct side of the converter
The pipeline currently constructs a caps filter between the tee and the
probe audio converter. This requires that S16LE data is fed to the tee.
2021-01-06 20:39:33 +00:00
Clementine Buildbot
479f1d4de9 Automatic merge of translations from Transifex 2021-01-04 03:05:13 +00:00
Clementine Buildbot
8201c10355 Automatic merge of translations from Transifex 2021-01-03 03:03:01 +00:00
Clementine Buildbot
8f863bc969 Automatic merge of translations from Transifex 2021-01-02 02:58:52 +00:00
Benjamin Valentin
3efa68f07d internet/soma.fm: use high quality AAC stream
Prefer the high quality 130 kbit/s AAC stream over the 'fast' 128 kbit/s
mp3 stream.
2021-01-01 18:00:59 +00:00
Jim Broadus
409c6b89d1 gstengine: Add a gstreamer debug console page
New page initially provides a button that triggers a dump of a graph of the main
pipeline.
2021-01-01 16:26:29 +00:00
Jim Broadus
c353deba0c gstengine: Add a DumpGraph method to GstEnginePipeline
This will write a .dot graph and can be integrated with the debug console.
2021-01-01 16:26:29 +00:00
Jim Broadus
0ee64a32f6 console: Add a mechanism to allow components to add pages
Add a MainWindow signal that is emitted when a debug console is created. Relay
that signal to the Application. Add an AddPage method to the Console class that
allows components to populate pages when they receive the signal.
2021-01-01 16:26:29 +00:00
Clementine Buildbot
2b99d32bee Automatic merge of translations from Transifex 2021-01-01 03:01:46 +00:00
Jim Broadus
63a73a4a55 Fix debug console instance leak
Each time the debug console is launched, a new instance is created, but never
deleted. To fix, create one instance, if the option is enabled, and show that
one each time the menu option is selected.
2020-12-31 21:07:58 +00:00
Clementine Buildbot
dc2c1e1117 Automatic merge of translations from Transifex 2020-12-29 02:57:55 +00:00
Clementine Buildbot
87cd3d2aba Automatic merge of translations from Transifex 2020-12-28 02:56:46 +00:00
Jim Broadus
a012e7e273 gstengine: Fix InitFromString return value
GstEnginePipeline::InitFromString was attempting to link the decoder and audio
bins twice and returning the result of the failed second attempt as it's own
status. The return value was also being ignored by the caller.
2020-12-27 21:50:06 +00:00
Clementine Buildbot
0393d865ca Automatic merge of translations from Transifex 2020-12-27 02:55:57 +00:00
Jim Broadus
616ccc6fde gstengine: Remove extra unref on element creation failure
GstEngine::CreateElement unrefs the supplied bin if an error
occurs. In all current cases, that bin is referenced by a
pipeline.
2020-12-26 22:14:23 +00:00
Clementine Buildbot
5495445175 Automatic merge of translations from Transifex 2020-12-26 02:55:52 +00:00
Clementine Buildbot
faab7fa6c5 Automatic merge of translations from Transifex 2020-12-25 02:56:29 +00:00
Clementine Buildbot
870969ef42 Automatic merge of translations from Transifex 2020-12-23 02:57:28 +00:00
Jim Broadus
c999fc70e2 Fix hang during internet model reset
An old hack was notifying MergedProxyModel users that max int rows had been
removed when a submodel was reset. This caused the code that invalidates
selected items to spin for a very long time. A modelAboutToBeReset signal,
introduced in Qt 4.6, allows notification before the submodel information is
lost.

Note: there is one other case, in RemoveSubModel, where this hack is used.
This is only called when a device is removed and doesn't trigger this
condition, but it should probably be addressed in the future.
2020-12-22 20:40:05 +00:00
Clementine Buildbot
9f8093a22b Automatic merge of translations from Transifex 2020-12-22 02:56:44 +00:00
Clementine Buildbot
863a668240 Automatic merge of translations from Transifex 2020-12-21 02:54:48 +00:00
Clementine Buildbot
af4810a581 Automatic merge of translations from Transifex 2020-12-20 02:51:13 +00:00
Clementine Buildbot
51c600a537 Automatic merge of translations from Transifex 2020-12-19 02:51:12 +00:00
Clementine Buildbot
6a6ef729ef Automatic merge of translations from Transifex 2020-12-18 02:52:23 +00:00
Jim Broadus
627ddc398c build: Add Fedora 33
(cherry picked from commit e302811fae12e6bf8eb63039d3ea01b8b248604c)
2020-12-17 23:59:11 +00:00
Jim Broadus
bbb6a773fb build: Use cmake build and install macros in rpm spec
Starting with fedora 33, the cmake macro macro uses the cmake -B flag for
out-of-source builds. Additional cmake_build and cmake_install macros
were created and backported to support this migration.

https://fedoraproject.org/wiki/Changes/CMake_to_do_out-of-source_builds
2020-12-17 23:04:58 +00:00
Jim Broadus
c9557237cf build: RPM spec file updates
Remove BuildRoot:, Group:, and %clean in accordance with the Fedora packaging
guidelines.

Reference: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_tags_and_sections
2020-12-17 23:04:58 +00:00
Matthieu Bruel
41513527cd hatstand code review update 1 2020-12-17 12:23:30 +00:00
Matthieu Bruel
114802a0ca Adding links to new remote in network remote settings 2020-12-17 12:23:30 +00:00
Matthieu Bruel
7d038c7354 Missing filechooserwidget files... 2020-12-17 12:23:30 +00:00
Matthieu Bruel
9714b0632d All changes for ClemRemote v1.0 (in one go) 2020-12-17 12:23:30 +00:00
Jim Broadus
d7966c8285 Fix rpmbuild error in librojectm
When using rpmbuild on Fedora 33, the build fails with:
error: ‘__builtin_strncpy’ specified bound depends on the length of the source argument [-Werror=stringop-overflow=]

This was fixed as part of projectm change d4d74f6d. This change takes the
relevant parts of that commit.

Note that the projectm commit contains several other warning fixes that might
affect Clementine builds in the future.
2020-12-17 11:29:49 +00:00
Robert-André Mauchin
cfcd0a956e Drop -std=c++0x and -U__STRICT_ANSI__
This was causing compilation failures, static assertion failed, with GCC 11.

Fix #6865

Signed-off-by: Robert-André Mauchin <zebob.m@gmail.com>
2020-12-17 11:28:09 +00:00
Jim Broadus
a3a51ae11c build: Remove dependency on obsolete gstreamer1-plugins-ugly
In fedora 31, the gstreamer1-plugins-ugly package was removed. A
gstreamer1-plugins-ugly-free package was added in fedora 27 and
gstreamer1-plugins-ugly had depended on that before removal.

Note that there is still a gstreamer1-plugins-ugly package available
in rpmfusion.
2020-12-16 11:13:25 +00:00
Jim Broadus
ccba649f62 Clear cached indexes in InternetModel when rows are removed
When opening a context menu on an internet item, the selected items are stored
in the InternetModel instance. In cases when the items are removed, certain menu
options can cause a crash. A specific case is downloading a podcast when the
user has chosen to limit the number of visible episodes. The subtree for the
podcast is rebuilt after the download completes, so if a context menu was opened
during the download time, selecting the append to playlist option will attempt
to operate on bad indexes.

This fix uses the rowsAboutToBeRemoved signal to remove these stored indexes.

There are likely another rare cases where the indexes can become invalid. For
example, sibling items within a subtree may be removed, causing the stored
indexes to become incorrect or out of range.
2020-12-15 22:36:30 +00:00
Jim Broadus
fe88d8f8b0 build: Remove eoan usage
Ubuntu Eoan (19.10) is EOL and the repositories are no longer accessible. Bump
the image used for the source tarball build to LTS ubuntu:focal.
2020-12-15 19:24:59 +00:00
Clementine Buildbot
c1c43e9a67 Automatic merge of translations from Transifex 2020-12-13 02:43:47 +00:00
Clementine Buildbot
91bad31f68 Automatic merge of translations from Transifex 2020-12-09 02:41:23 +00:00
Clementine Buildbot
ba8fc09a65 Automatic merge of translations from Transifex 2020-12-07 02:38:38 +00:00
Jim Broadus
01f0727649 giolister: Don't include invalid mountpoint url
If the gvfs mountpoint property for a volume is empty, we add an empty URL to
the devices URL list. This causes errors in duplicate entry detection.
2020-12-06 12:59:50 +00:00
Clementine Buildbot
df262c5c7e Automatic merge of translations from Transifex 2020-12-06 02:37:13 +00:00
Jim Broadus
cca48b1ebf giolister: Ignore mountpoints
Read the G_FILE_ATTRIBUTE_UNIX_IS_MOUNTPOINT attribute (unix::is-mountpoint) to
determine if a volume is a mount that udisks2 has detected. Ignoring these
prevents network mounts from showing up as devices.
2020-12-05 13:24:54 +00:00
Clementine Buildbot
f5c904b267 Automatic merge of translations from Transifex 2020-12-05 02:35:11 +00:00
Jim Broadus
1a0b288a8f giolister: Remove extra g_object_unref
GioLister::UnmountDevice calls g_object_unref on the GVolume object held by a
DeviceInfo. This appears to be left over from a time before DeviceInfo held
onto the volume.
2020-12-04 22:07:01 +00:00
Jim Broadus
abc70554f3 giolister: Append _ to some DeviceInfo class members
Rename drive, mount, and volume to drive_, mount_, and volume_ to
avoid confusion with method arguments.
2020-12-04 22:07:01 +00:00
Clementine Buildbot
20f49c4454 Automatic merge of translations from Transifex 2020-12-03 02:34:21 +00:00
Clementine Buildbot
41b1ba8ffc Automatic merge of translations from Transifex 2020-12-02 02:33:31 +00:00
Clementine Buildbot
c4d22d4414 Automatic merge of translations from Transifex 2020-12-01 02:33:42 +00:00
Clementine Buildbot
f60c422242 Automatic merge of translations from Transifex 2020-11-30 02:33:52 +00:00
NicolasToussaint
7b3e2dfd8c PlayPlaylist: set current and not active playlist to selection 2020-11-30 01:50:58 +00:00
Clementine Buildbot
f17e29f41d Automatic merge of translations from Transifex 2020-11-29 02:32:32 +00:00
NicolasToussaint
b2044a5be5 apply PR recomendations 2020-11-28 20:24:56 +00:00
NicolasToussaint
ee72b974bf add CLI play-playlist option, to play given playlist name. 2020-11-28 20:24:56 +00:00
Clementine Buildbot
c536dc88e9 Automatic merge of translations from Transifex 2020-11-28 02:31:39 +00:00
Clementine Buildbot
eec7641ef7 Automatic merge of translations from Transifex 2020-11-27 02:31:50 +00:00
Clementine Buildbot
d417aed29f Automatic merge of translations from Transifex 2020-11-26 02:31:54 +00:00
Clementine Buildbot
c856a66176 Automatic merge of translations from Transifex 2020-11-25 02:31:22 +00:00
Clementine Buildbot
d970b74003 Automatic merge of translations from Transifex 2020-11-24 02:31:19 +00:00
Clementine Buildbot
ae4948ce32 Automatic merge of translations from Transifex 2020-11-23 02:30:52 +00:00
John Maguire
aaee0b7018 Fix translations github action 2020-11-22 18:25:47 +00:00
Clementine Buildbot
1daf43f914 Automatic merge of translations from Transifex 2020-11-07 02:29:09 +00:00
Clementine Buildbot
eefb96bdce Automatic merge of translations from Transifex 2020-11-03 02:27:29 +00:00
zan
16d09ace07 Fix visibility incongruences 2020-11-02 11:07:42 +00:00
Clementine Buildbot
cac606186a Automatic merge of translations from Transifex 2020-10-31 02:27:33 +00:00
Jim Broadus
fc4cb6fc7a Fix opml import crash
The opml parsing code handles cases where there are extra levels in the xml file
by copying the child to the main container. This corrupts the source instance
during the copy, which leads to corruption in the destination, and ultimately a
crash when it is later used.

To fix, do the copy in two steps, copying the child container to a temporary
location before copying to the destination.
2020-10-17 09:12:22 +01:00
Clementine Buildbot
4e3e9c8d14 Automatic merge of translations from Transifex 2020-10-12 02:34:09 +00:00
Clementine Buildbot
9e8d4434a0 Automatic merge of translations from Transifex 2020-10-04 02:31:34 +00:00
John Maguire
ad354276b0 Remove build for EoL Ubuntu Eoan 2020-09-30 17:06:51 +01:00
Clementine Buildbot
b49afcc5b7 Automatic merge of translations from Transifex 2020-09-24 02:30:41 +00:00
Zanny
2bac3626c5
Fix logout cancelling (#6796) 2020-09-23 10:39:59 +01:00
Clementine Buildbot
54f7637ad2 Automatic merge of translations from Transifex 2020-09-23 02:29:48 +00:00
John Maguire
2172732b1e Include windows.h first as it's special 2020-09-22 14:56:06 +01:00
John Maguire
341dc7326f Reformat all C++ 2020-09-22 14:56:06 +01:00
John Maguire
18d4057ab7 Add clang-format config 2020-09-22 14:56:06 +01:00
John Maguire
09ee66d771 Remove double quoting 2020-09-22 14:56:06 +01:00
John Maguire
6e63fb2cdc Use forked lint action 2020-09-22 14:56:06 +01:00
John Maguire
08e09280a9 Checkout before lint 2020-09-22 14:56:06 +01:00
John Maguire
0e131315c7 Double quote style 2020-09-22 14:56:06 +01:00
John Maguire
7e1379ec5d Add linter job 2020-09-22 14:56:06 +01:00
John Maguire
62d2f0de9b Apparently gstreamer plugins use .dylib now 2020-09-22 13:57:06 +01:00
John Maguire
1d82930088 Fix mac liblastfm install from homebrew tap 2020-09-22 13:57:06 +01:00
Clementine Buildbot
8ae194c4a7 Automatic merge of translations from Transifex 2020-09-20 02:29:18 +00:00
Clementine Buildbot
f7bece3b83 Automatic merge of translations from Transifex 2020-09-13 02:28:52 +00:00
Clementine Buildbot
e9b62fa343 Automatic merge of translations from Transifex 2020-09-11 02:28:40 +00:00
Clementine Buildbot
7b3a0f397b Automatic merge of translations from Transifex 2020-09-09 02:29:06 +00:00
Clementine Buildbot
d0bf92f064 Automatic merge of translations from Transifex 2020-09-06 02:28:36 +00:00
Clementine Buildbot
598f840078 Automatic merge of translations from Transifex 2020-09-03 02:28:37 +00:00
Clementine Buildbot
06855ea6c8 Automatic merge of translations from Transifex 2020-09-02 02:28:14 +00:00
Clementine Buildbot
29aad2ae3d Automatic merge of translations from Transifex 2020-08-29 02:27:36 +00:00
Gerion Entrup
6821f6d7bd udisks2lister: enable ipod recognition
The extends two functions:
- Recognize iPods as iPods, check for them in MakeDeviceUrls
- Give them a nice Icon in DeviceIcons (code taken from devicekitlister)
2020-08-28 16:48:13 +01:00
Clementine Buildbot
2d280734aa Automatic merge of translations from Transifex 2020-08-27 02:27:20 +00:00
dmdmdm
3a4d7f3a3d
Only enable main window rate button when LastFM is disabled (#6778) 2020-08-26 16:06:13 +01:00
Clementine Buildbot
d3e3270227 Automatic merge of translations from Transifex 2020-08-26 02:27:24 +00:00
dmdmdm
44af6f9d5d Replaced the heart icon with a star for local files 2020-08-25 21:51:03 +01:00
dmdmdm
183a3f9c72 Replaced the heart icon with a star for local files 2020-08-25 21:51:03 +01:00
dmdmdm
c60c523185 Replaced the heart icon with a star for local files 2020-08-25 21:51:03 +01:00
John Maguire
16843da416 Use absolute path for @loader_path libs 2020-08-25 19:07:37 +01:00
John Maguire
c1b15beb5e cryptopp is no longer available in homebrew 2020-08-25 19:07:37 +01:00
John Maguire
367cecf299 Revert "Disable mac build"
This reverts commit d131c66f028b6326ab195afc4bb16bc71e7c3b24.
2020-08-25 19:07:37 +01:00
John Maguire
aea90eb6bb Munge mac libraries with @loader_path 2020-08-25 19:07:37 +01:00
John Maguire
1c0c3fc2d2 Port macdeploy to python 3 2020-08-25 19:07:37 +01:00
John Maguire
d131c66f02 Disable mac build 2020-08-25 17:13:02 +01:00
Clementine Buildbot
6a078f93a3 Automatic merge of translations from Transifex 2020-08-21 02:27:21 +00:00
Clementine Buildbot
fe33912886 Automatic merge of translations from Transifex 2020-08-19 02:27:16 +00:00
Clementine Buildbot
2a85d2c600 Automatic merge of translations from Transifex 2020-08-18 02:27:43 +00:00
Clementine Buildbot
70c79bd462 Automatic merge of translations from Transifex 2020-08-15 02:27:47 +00:00
Clementine Buildbot
8aa49902bd Automatic merge of translations from Transifex 2020-08-10 02:27:42 +00:00
Clementine Buildbot
e932d421f7 Automatic merge of translations from Transifex 2020-08-04 02:27:34 +00:00
Clementine Buildbot
0e7cb988a7 Automatic merge of translations from Transifex 2020-08-03 02:27:25 +00:00
Clementine Buildbot
b10222145e Automatic merge of translations from Transifex 2020-08-02 02:28:29 +00:00
Clementine Buildbot
222e142ad7 Automatic merge of translations from Transifex 2020-08-01 02:29:33 +00:00
Clementine Buildbot
2d3e2254f8 Automatic merge of translations from Transifex 2020-07-31 02:28:34 +00:00
dmdmdm
d9fa56c179 Share the love: Minor corrections 2020-07-30 18:24:58 +01:00
dmdmdm
acb75a5099 Share the love 2020-07-30 18:24:58 +01:00
dmdmdm
75264f314d Share the love 2020-07-30 18:24:58 +01:00
Keshav Kini
68d375c43c Use effective album artist for Repeat Album logic
When there is album artist information available for a track, the user would
probably expect that "Repeat Album" should cycle through all songs with the same
album artist and album title, not only all songs with the same artist and album
title.
2020-07-20 10:45:49 +01:00
Clementine Buildbot
ee72793b5f Automatic merge of translations from Transifex 2020-07-17 02:29:12 +00:00
Jim Broadus
987fe047c6 Fix access past end of vector in getPsychedelicColor 2020-07-13 15:07:02 +01:00
Jim Broadus
1f7607b1db Get backend from application in PlaylistContainer::SetApplication
The manager's library backend may not be set when this is called.
2020-07-12 09:44:47 +01:00
Clementine Buildbot
dd9ed23345 Automatic merge of translations from Transifex 2020-07-11 02:27:49 +00:00
Jim Broadus
c75fa0077e Fix playlist memory leak
When the current playlist is changed, PlaylistContainer::SetViewModel is called
to set the new list. This calls PlaylistView::SetItemDelegates, which allocates
several objects that are never freed. Instead, move the call to SetItemDelegates
to PlaylistContainer::SetApplication, which is only called once.
2020-07-10 10:28:19 +01:00
Clementine Buildbot
3bfaf3ff38 Automatic merge of translations from Transifex 2020-07-09 02:28:42 +00:00
dmdmdm
834b1d4514 Changed local variable names to be like_this 2020-07-08 18:01:59 +01:00
dmdmdm
0ff11ee2e0 Autoformated code 2020-07-08 18:01:59 +01:00
dmdmdm
d3a28a40ed Shortened a line 2020-07-08 18:01:59 +01:00
dmdmdm
2c5c30de15 Guess album name from folder name 2020-07-08 18:01:59 +01:00
Mattias Andersson
ebf9ebf080 Show only a basic tooltip in the system tray
For environments that implements the D-Bus
http://www.freedesktop.org/wiki/Specifications/StatusNotifierItem/StatusNotifierItem
specification HTML is not supported in the tool tip title. (It is
supported in the tool tip subtitle but this field is not set by
QSystemTrayIcon.)

See the discussion in #6733 for more info.
2020-07-08 17:24:42 +01:00
Jim Broadus
7d28e8700b Call SettingsPage::showEvent from child class implementations 2020-07-07 10:35:02 +01:00
Clementine Buildbot
0fcb1df200 Automatic merge of translations from Transifex 2020-06-28 02:29:27 +00:00
Jim Broadus
ad882cc999 Add static IsTypeSupported methods to playlist item classes 2020-06-23 11:06:06 +01:00
Jim Broadus
9455a3ef79 Use IsLocalLibraryItem instead of comparing type string 2020-06-23 11:06:06 +01:00
Clementine Buildbot
cf279e6f48 Automatic merge of translations from Transifex 2020-06-21 02:27:27 +00:00
Jim Broadus
76a24a0a28 Use DbPlaylistItem base class for Jamendo and Magnatune
Moving these from LibraryPlaylistItem removes local file specific
implementations of IsLocalLibraryItem and Reload. Returning true for
IsLocalLibraryItem caused ratings to be set on unrelated library songs.
2020-06-19 11:18:32 +01:00
Jim Broadus
f563b7da40 Add DbPlaylistItem base class to LibraryPlaylistItem
This will be used to move items from non-library databases away from the
LibraryPlaylistItem class.
2020-06-19 11:18:32 +01:00
Jim Broadus
247cc8f715 Add missing playlistitem.h to CMakeLists.txt 2020-06-19 11:18:32 +01:00
Clementine Buildbot
8c25c443cd Automatic merge of translations from Transifex 2020-06-19 02:28:31 +00:00
Jim Broadus
0d25a1b39c Properly delete ignored DeviceInfo object
Since the SimpleTreeItem constructor variant used from LoadAllDevices adds the
object to the parent's children list, use the parent's Delete method to destroy
it.
2020-06-19 00:10:54 +01:00
Clementine Buildbot
1ef5ec2590 Automatic merge of translations from Transifex 2020-06-18 02:27:25 +00:00
Clementine Buildbot
06544054a6 Automatic merge of translations from Transifex 2020-06-15 02:27:43 +00:00
John Maguire
edb8c3b4ed
Update link to latest builds 2020-06-13 19:49:36 +01:00
Clementine Buildbot
56ed6d4f7e Automatic merge of translations from Transifex 2020-06-12 02:27:47 +00:00
Clementine Buildbot
6900197a8c Automatic merge of translations from Transifex 2020-06-10 02:28:25 +00:00
Jim Broadus
cf8d2004bd Use deleteLater to destroy device backends 2020-06-07 14:46:13 +01:00
Jim Broadus
c299c198de organise: Update the song preview when the selected destination's data changes
This will cause the file exensions to change when transcode options are changed.
2020-06-07 14:45:50 +01:00
Jim Broadus
4dd3233976 organise: Set extension override in OrganiseDialog
If the destination device has a transcode option set, then compute filenames
with updated extensions. This does not cover the case where Organise needs to
transcode due to format support.
2020-06-07 14:45:50 +01:00
Jim Broadus
2e921c6584 organise: Add a tag override mechanism to OrganiseFormat
Add a method to set override tag values when formatting a song name.
The use case for this is transcoding where the extension will change.
2020-06-07 14:45:50 +01:00
Jim Broadus
22cfade4a4 organise: Refresh filename after transcode 2020-06-07 05:34:08 +01:00
Clementine Buildbot
22537a4501 Automatic merge of translations from Transifex 2020-06-07 02:28:28 +00:00
Clementine Buildbot
4c9241db1a Automatic merge of translations from Transifex 2020-06-06 02:27:32 +00:00
Jim Broadus
536f345268 database: Add ftsyear to jamendo.songs_fts
A previous change added ftsyear to all songs_fts tables, but the base jamendo
schema, which is used when recreating the database, was not updated. This
resulted in thousands of sql errors when reloading the catalog.
2020-06-05 10:26:26 +01:00
Jonas Kvinge
48ae27b4ad Update .github/workflows/all.yml 2020-06-05 00:11:57 +01:00
Jonas Kvinge
d374e50fed Add Qt5Svg.dll and qsvg.dll 2020-06-05 00:11:57 +01:00
Jonas Kvinge
789dcfa0eb Update windows nsi 2020-06-05 00:11:57 +01:00
Jonas Kvinge
84fc00d553 Use builtin taglib on Windows and set -DTAGLIB_STATIC 2020-06-04 22:00:52 +01:00
Jim Broadus
236cfa7adf Don't include cdda code if HAVE_AUDIOCD isn't defined 2020-06-01 22:09:46 +01:00
Jim Broadus
3616a50d83 Don't modify the original request URLs when doing cdda fixup
The current URL is compared againt the unmodified next in some cases.
2020-06-01 22:09:46 +01:00
Jim Broadus
7e3cd84b5d Fix cdda playback
QUrl interprets a single number as an ip address, so the track URL cdda://1
would become cdda://0.0.0.1. A previous fix addresses this issue by adding an
extra character "a" to the affected URLs then removing the last instance of the
character upon usage. However, this didn't apply when a path was present
(cdda:///dev/sr0/1), but would still attempt to reverse the change later
(cdd:///dev/sr0/1).

This change applies the fix-up to all cdda urls and moves the conversion
utilities to a single location.

See: 335bc89c9 ("Workaround for broken CD playback in Qt5 (#6021)")
2020-06-01 22:09:46 +01:00
Clementine Buildbot
bf3d3db234 Automatic merge of translations from Transifex 2020-06-01 02:27:31 +00:00
Clementine Buildbot
00f9597d37 Automatic merge of translations from Transifex 2020-05-31 02:27:35 +00:00
Clementine Buildbot
c8d56776a8 Automatic merge of translations from Transifex 2020-05-30 02:28:35 +00:00
Clementine Buildbot
6f5fe724bb Automatic merge of translations from Transifex 2020-05-29 02:27:41 +00:00
dmdmdm
a63a37a7ab Changed to translator comment 2020-05-28 19:40:57 +01:00
dmdmdm
32cb04f26b Change text for Original Year 2020-05-28 19:40:57 +01:00
SDNick484
ed0078b8d4 Adds missing QPainterPath include 2020-05-28 10:24:47 +01:00
Clementine Buildbot
1a73918f90 Automatic merge of translations from Transifex 2020-05-28 02:27:37 +00:00
dmdmdm
f90babefa8 Minor smart playlist UI improvements 2020-05-27 21:02:24 +01:00
dmdmdm
0555cf5a35 Changed rgb() to rgba()
Avoids message:   
QCssParser::parseColorValue: Specified color without alpha value but alpha given: 'rgb 200, 200, 200, 75%'
2020-05-27 17:07:42 +01:00
Jim Broadus
84099f2491 Name all threads created by Application
In Application::MoveToNewThread, name the new thread after the object being
moved. Give those objects names as well.

The thread names display in gdb with "info threads".
2020-05-27 10:22:00 +01:00
Clementine Buildbot
5612c9cb5d Automatic merge of translations from Transifex 2020-05-27 02:28:50 +00:00
John Maguire
cf1067e740 Add explicit SHA to release 2020-05-26 21:57:09 +01:00
John Maguire
e7c5c76ea5 Pull translations nightly 2020-05-26 21:12:34 +01:00
John Maguire
215a4747ff Add translation puller 2020-05-26 21:12:34 +01:00
dmdmdm
fa067bf5ce Smart playlist dialog fits in smaller screen 2020-05-26 21:11:57 +01:00
dmdmdm
5899f68e2f Smart playworks fit on smaller screens 2020-05-26 21:11:57 +01:00
Clementine Buildbot
54f200d9b9 Automatic merge of translations from Transifex 2020-05-26 19:48:40 +00:00
John Maguire
13ee11f810
Add github actions badge 2020-05-26 19:26:17 +01:00
John Maguire
92b160d2a8 Push translation sources to transifex 2020-05-26 19:21:56 +01:00
Jim Broadus
0271f43cc9 console: Add a Qt debug tab
Add a tab for Qt debug features. Initially provides access to dumpObjectTree() on
Application and MainWindow objects. This dumps the object's child objects to the
log.
2020-05-26 16:57:59 +01:00
Jim Broadus
32367d2d45 Add a name to the application class for debug purposes 2020-05-26 16:57:59 +01:00
Jim Broadus
e3fa03e101 console: Refactor console dialog to use tabs 2020-05-26 16:57:59 +01:00
Jim Broadus
a4e8d57de0 console: re-enable debug console option
Keep console option hidden by default, but add using CLEMENTINE_DEBUG_CONSOLE
env variable:
CLEMENTINE_DEBUG_CONSOLE=1 clementine
2020-05-26 16:57:59 +01:00
John Maguire
c934fef637 Only create release on master branch 2020-05-24 16:46:01 +01:00
John Maguire
0433f04c9c Create non-draft releases 2020-05-24 16:46:01 +01:00
John Maguire
d89ee1fae2 Remove CircleCI config 2020-05-24 16:46:01 +01:00
John Maguire
9fdb83c828 Checkout & get all artifact files 2020-05-24 16:46:01 +01:00
John Maguire
6e95b65691 Build source tar 2020-05-24 16:46:01 +01:00
John Maguire
d015305561 Add release action 2020-05-24 16:46:01 +01:00
Jim Broadus
0fc0dcdb79 lyrics: Add 30s timeout for lyrics provider requests 2020-05-24 15:54:49 +01:00
Jim Broadus
6675b1b63e lyrics: Add debug info for lyric server replies 2020-05-24 15:54:49 +01:00
Jim Broadus
02a1fc9a07 lyrics: Use lambda for UltimateLyricsProvider requests
Remove map of requests to ids and pass info directly to reply handler.
2020-05-24 15:54:49 +01:00
dmdmdm
40575e854e Fixed one indent 2020-05-24 15:54:08 +01:00
dmdmdm
0f2e8946d6 Made parameter const 2020-05-24 15:54:08 +01:00
dmdmdm
86b48c22ae Minor fixes 2020-05-24 15:54:08 +01:00
dmdmdm
c8eaafb0a8 Switch from std::string to QString 2020-05-24 15:54:08 +01:00
dmdmdm
fb262022f4 Switch from std::string to QString 2020-05-24 15:54:08 +01:00
dmdmdm
be60c12438 Guess artist and title (fourth attempt) 2020-05-24 15:54:08 +01:00
dmdmdm
9b580e4a5c Guess artist and title from filename (third attempt) 2020-05-24 15:54:08 +01:00
dmdmdm
ddbde91889 Guess artist and title from filename (second attempt) 2020-05-24 15:54:08 +01:00
Jim Broadus
7378e5b141 gstengine: Clean up buffer references in error cases 2020-05-23 11:07:34 +01:00
Jim Broadus
407a99b2fa gstengine: Use proper free function for gstreamer object
Use g_free instead of free for gstreamer allocated string. Ultimately g_free
calls free, but it also adds some glib debug instrumentation.
2020-05-23 11:07:34 +01:00
dmdmdm
949c20abdf Compress PNGs (second attempt) 2020-05-21 21:45:04 +01:00
dmdmdm
7caf200efa Added CBC Podcasts 2020-05-21 02:04:08 +01:00
John Maguire
157a9d1d1f Only run once for PRs 2020-05-21 02:03:34 +01:00
John Maguire
a17f968b46 Trigger workflow for PRs 2020-05-21 02:03:34 +01:00
Jim Broadus
879dfa3d79 icecast: free backend on exit
Use a shared pointer since the model and search provider both hold pointers to
the backend object. Also removed unused accessor method.
2020-05-20 21:33:47 +01:00
Jim Broadus
8f56fbb83b Fix timer errors on exit
The NetworkRemote is moved to a new thread after creation. On that thread, its
child classes create timers. When the network remote class is deleted on the
main thread, we see "Timers cannot be stopped from another thread".

To avoid this error, use deleteLater to delete NetworkRemote and its composition
classes on its own thread.
2020-05-19 10:39:06 +01:00
Jim Broadus
5b918a70aa Add an optional delete function for Lazy pointers.
This allows a delete function to be provided with the prototype: void d(T*)
This function is passed to the unique_ptr constructor to be used when the object
is released. The default function simply deletes the object, where the default
behavior for unique_ptr would have a specialization for arrays. If Lazy is ever
used with arrays, a delete function should be provided.
2020-05-19 10:39:06 +01:00
John Maguire
912589439e Add bionic builder 2020-05-16 18:51:00 +01:00
John Maguire
bc16747009 Add buster builder 2020-05-16 18:34:14 +01:00
John Maguire
833f8256c8 Add debian stretch github job 2020-05-16 18:18:55 +01:00
John Maguire
f46241e75a Add eoan github job 2020-05-16 18:00:12 +01:00
John Maguire
18497dcb66 Add Fedora 32 build 2020-05-16 17:38:19 +01:00
John Maguire
d7c1431193 Add Fedora 31 job 2020-05-16 14:26:17 +01:00
Jim Broadus
6a5cb0712d gstengine: Fix gtreamer request pad leak
According to the gst_element_request_pad documentation, request pads must be
released after usage. They aren't automatically released and dereferenced when
the element is destroyed.
2020-05-15 11:12:34 +01:00
John Maguire
2b91bbe978 Add mingw job 2020-05-14 15:21:09 +01:00
John Maguire
e1f82b24a1 Add focal build 2020-05-14 15:21:09 +01:00
John Maguire
4da609d459 Add mac workflow 2020-05-14 15:21:09 +01:00
Michael Kuc
baea2d488f Revert "Revert "Updated GLEW headers.""
This reverts commit ce4ce6ce36925f154f3ad84983327d76d6e690c1.
2020-05-14 15:10:35 +01:00
Michael Kuc
ade1e7f30b Revert "Revert "Use newer compiler than C++98.""
This reverts commit dcf078acca77c353ad38c2ce021ea51d9e174e26.
2020-05-14 15:10:35 +01:00
Michael Kuc
43a171512b Revert "Revert "Fix deprecated comparison.""
This reverts commit 0782489febc74838ef9118791e95e026ec97ed58.
2020-05-14 15:10:35 +01:00
Michael Kuc
38207e4ea7 Replace deprecated std::auto_ptr with new std::unique_ptr. 2020-05-14 15:10:35 +01:00
Michael Kuc
823aed98a1 Fix narrowing issues preventing MacOS build. 2020-05-14 15:10:35 +01:00
Jim Broadus
58569d9d0d Remove fetcher list from OutgoingDataCreator class. 2020-05-14 11:01:49 +01:00
Jim Broadus
83fc376b08 subsonic: Consolidate read song code 2020-05-14 11:01:22 +01:00
Jim Broadus
ddba21a46f subsonic: Move ReadSong method to SubsonicService. 2020-05-14 11:01:22 +01:00
Jim Broadus
5efcae398e subsonic: Use correct URL query params to fetch cover 2020-05-13 22:23:40 +01:00
John Maguire
ce4ce6ce36 Revert "Updated GLEW headers."
This reverts commit 3ca4973ea7062a3afa9ce90804ccb5206fce52ce.
2020-05-13 12:43:08 +01:00
John Maguire
dcf078acca Revert "Use newer compiler than C++98."
This reverts commit a07a0de2310960c4d2e13cfa84551d0125958dab.
2020-05-13 12:43:08 +01:00
John Maguire
0782489feb Revert "Fix deprecated comparison."
This reverts commit be144d46113f2c4f3318b410efd2abf7f5260ab1.
2020-05-13 12:43:08 +01:00
Jim Broadus
96a17c9f40 settings: Only save settings for visited pages
Set a flag when a page is shown. On apply or accept, only save if that flag is
set.
2020-05-12 10:21:44 +01:00
Jim Broadus
77badd37ff settings: Add dialog methods to settings pages
Add Accept, Apply, Reject methods to settings pages to mirror dialog. This will
allow settings pages to handle these events at a more granular level and will
allow common behavor in the base class.
2020-05-12 10:21:44 +01:00
Michael Kuc
be144d4611 Fix deprecated comparison.
Using references no longer requires null checking.
2020-05-09 21:38:50 +01:00
Michael Kuc
a07a0de231 Use newer compiler than C++98.
Required for standard library headers.
2020-05-09 21:38:50 +01:00
Michael Kuc
3ca4973ea7 Updated GLEW headers.
An attempt to fix headers so outdated they no longer compiled.
2020-05-09 21:38:50 +01:00
Jim Broadus
096203ac88 visualisations: Fix close action
Pressing the close button on the window sends a close event, where other methods
of exiting visualization just hide the window. If shown again after close, the
window will be empty. To fix this, handle and reject the close event. Call hide
instead.
2020-05-09 13:28:29 +01:00
Jim Broadus
7e7d271b30 Properly handle removal of top level items in StandardItemIconLoader
The rowsAboutToBeRemoved signal from the model provides a parent index, but with
QStandardItemModel, top level items are added to an invisible root item that
doesn't have a valid index. This causes the range check to miss top level items
due to a perceived parent mismatch. When the load completes, it attempts to
access an object that has been deleted.
2020-05-04 10:09:51 +01:00
Jim Broadus
dc4270076d Change StandardItemIconLoader to require a QStandardItemModel
This should be a safe assumption since the loader operates on QStandardItem
objects.
2020-05-04 10:09:51 +01:00
John Maguire
cb64d97050 Don't bother with i386 for focal 2020-04-23 22:02:21 +01:00
John Maguire
42b2cd6945 Add focal builds 2020-04-23 22:02:21 +01:00
John Maguire
b007e54b3d Add liblastfm for windows 2020-04-23 01:18:32 +01:00
Jim Broadus
0ecb773355 Handle lyrics tag for mp4
Translation table in mp4tag.cpp for reference.
2020-04-19 14:01:25 +01:00
Jim Broadus
509c65ced7 tagreader: Add debug handler for taglib
Pass taglib debug messages through qLog instead of printing directly to stderr.
2020-04-19 14:00:35 +01:00
John Maguire
934fd336da Install liblastfm for mac 2020-04-17 13:02:26 +01:00
Pierre Langlois
6285c11bc3 Fix tranlations test.
"Library" is translated to "Fonoteca" since
1504d8be1c4906ac4767da6a20a0c32754b3a0fe so we can adapt the test.
2020-04-17 11:42:03 +01:00
John Maguire
b0c92ae784 Install windows style plugin
Fixes #6523
2020-04-12 22:00:45 +01:00
John Maguire
ae1a99d90c Copy windows styles plugin 2020-04-12 22:00:45 +01:00
John Maguire
539e7d7e22
Update README.md 2020-04-12 21:07:29 +01:00
John Maguire
c82ff30b43
Update README.md 2020-04-12 21:06:57 +01:00
Sophie Tauchert
ef3021dff2 Add tasks back in using ScopedTask 2020-04-12 21:03:18 +01:00
Sophie Tauchert
38a5d183c2 Cache SubsonicService in SubsonicDynamicPlaylist 2020-04-12 21:03:18 +01:00
Sophie Tauchert
69801a9e2a Print error on default dynamic playlist type 2020-04-12 21:03:18 +01:00
Sophie Tauchert
af28ad31f1 Remove boost references 2020-04-12 21:03:18 +01:00
Sophie Tauchert
665f7af929 Be more forgiving when fetching albums/songs 2020-04-12 21:03:18 +01:00
Sophie Tauchert
8964c8131f Add dynamic playlist for random songs 2020-04-12 21:03:18 +01:00
John Maguire
176b1d6c7f Only build release tags as releases 2020-04-11 20:16:41 +01:00
John Maguire
ca6f42fae1 Fix Fedora version for semver 2020-04-11 20:05:07 +01:00
John Maguire
83f38f8df4 Bump to RC2
This might fix Fedora builds
2020-04-11 18:30:40 +01:00
Sophie Tauchert
1d582ba158 Fix songs in dynamic subsonic playlist 2020-04-09 13:49:21 +01:00
John Maguire
06ba555492 Create github prereleases from master 2020-04-02 22:58:35 +01:00
John Maguire
d13e0b79d4 Try pushing master builds to github as drafts 2020-04-02 22:05:09 +01:00
Jim Broadus
72ac3cb88c OSDPretty: Check return of current_screen in showEvent 2020-03-30 10:55:54 +01:00
Jim Broadus
33ffb4973a OSDPretty: Fall back to primary screen
If current screen can't be find, use primary screen. This the
current behavior when used with older qt versions.
2020-03-30 10:55:54 +01:00
Jim Broadus
8706a39559 OSDPretty: Consolidate current_screen code in OSDPretty 2020-03-30 10:55:54 +01:00
Jim Broadus
a22af31e6e Add a common LibraryBackend::Init method.
Most users of LibraryBackend pass empty strings for directory and subdirectory
tables, so add a second Init method that omits those.
2020-03-24 14:10:43 +00:00
Jim Broadus
52337bf7a4 Use legacy RedirectPolicyAttribute instead of FollowRedirectsAttribute.
RedirectPolicyAttribute was introduced in Qt 5.9, but Debian Stretch is at 5.7.
This change can be reverted when the base support version moves to 5.9.
2020-03-23 18:45:25 +00:00
Jim Broadus
a85b3531c3 Handle redirects when downloading Spotify blob.
Use the NoLessSafeRedirectPolicy policy which will redirect as long as it isn't
from https to http.
2020-03-23 09:58:15 +00:00
Jim Broadus
94eb2dcfc1 Preserve auth headers when redirecting.
When redirecting, copy the original request, which may include extra headers.
2020-03-13 10:38:47 +00:00
Jim Broadus
8e6d09d445 Handle google drive token.
Use LoadResult auth header mechanism to pass auth token to pipeline as a header
instead of obsolete query string method.
2020-03-12 18:08:14 +00:00
Jim Broadus
e338939c8b Add optional auth info to LoadResult.
Add auth_header_ to LoadResult. If it exists, populate the MediaPlaybackRequests
headers with an Authorization header with that value.
2020-03-12 18:08:14 +00:00
Jim Broadus
3c7b509d59 Add headers to MediaPlaybackRequest.
Add a name/value map for headers to MediaPlaybackRequest. When adding a new
gst source that accepts extra-headers (souphttpsrc), add these headers.
2020-03-12 18:08:14 +00:00
Jim Broadus
9ed5503ee3 Add MediaPlaybackRequest class.
Add a class to wrap the URL in the playback engines. In the future, this will
contain authentication information for the specified URL. It can also include
the start and end time as well as other data that is currently specified along
with the URL.
2020-03-11 10:57:21 +00:00
Jim Broadus
2c1ae986c5 Create a GstEngine::IsCurrentPipeline helper function for callbacks. 2020-03-09 10:21:07 +00:00
Jim Broadus
902522f4d3 Fix Qt generated log messages.
To avoid infinite recursion, Qt prevents a log generated from an installed
message handler from being handled by that same handler. So when a Qt message
is handled, the logging magic (__logging_message__) that is added by
CreateLogger, and is expected to be detected and stripped by the handler, is
instead dumped to the log.

Instead of sending the Qt messages back through the logging system, use a new
BufferedDebug to build the log message in a buffer, then immeiately print the
buffer to stderr.
2020-03-07 02:41:56 +00:00
Jim Broadus
09723d516c Use a template for CreateLogger to allow different QDebug derivatives. 2020-03-07 02:41:56 +00:00
Power Snail
4fe845c2c5 Use reference on a const loop var to avoid copy
Clang 10 warns that ``s`` might be copied. Use a reference to avoid copying
2020-03-07 02:39:13 +00:00
Jonas Kvinge
b762987cd6 Add missing mapToSource() in MainWindow::PlaylistRightClick 2020-03-06 11:10:02 +00:00
Jim Broadus
79ac16afeb Move unneeded declarations and macros from logging header.
Some functions and macros aren't used outside of logging.cpp and don't need be
declared in header. Functions can be static.
2020-03-06 11:09:20 +00:00
Jim Broadus
90cf4988ea Fix crash when searching playlist.
While iterating over expandList in refreshExpanded, calls to setExpanded cause
the list to be appended. Since QList uses an array implementation that must
reallocate when reserved space is exhausted, iterators are unsafe for this case.
Use indexes, which are O(1) in QLists, instead of iterators.
2020-02-24 13:45:42 +00:00
PowerSnail
531cd052ca use QT's High DPI attribute 2020-02-24 13:44:09 +00:00
Jim Broadus
a8f656a933 Shortcut settings page cleanup.
- Group list and settings so they can be enabled/disabled together.
- Make default selection shortcut list. Previous behavior set options
  for the first item, but didn't highlight selection.
- Rename ItemClicked to CurrentItemChanged to reflect correct signal.
2020-02-23 16:08:05 +00:00
Jim Broadus
2179027a6d Prevent global shortcut crash on wayland.
The 3rd party qxt library assumes X11 on linux systems. Don't register
QxtGlobalShortcutBackend when using Wayland.
2020-02-23 16:05:57 +00:00
MorbidMind
60d3435324 Remove obsolete workarounds
Nvidia force close from 2011. Last driver version affected was 304.37, 304.83 is the last in the series and is from 2013.
macOS Soundcloud certificate - CA exists in the system bundle.
macOS font issue from 2013
Gnome volume control with Glib older than 2.36 - Debian Jessie, oldoldstable repo has 2.42
2020-02-23 16:05:26 +00:00
Jim Broadus
bb736d1156 Prevent accidental usage of /usr/bin/data
Clementine detects a data directory in the same directory as the executable to
determine portable configuration. But there are some packages that create
/usr/bin/data, causing Clementine to run in portable mode.

Use a more unique data directory name, clementine-data, as the portable data
directory. For backwards compatibility, use the legacy data directory if the
already exists there.
2020-02-23 16:04:42 +00:00
Clementine Buildbot
e1c8726661 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2020-02-21 10:11:26 +00:00
Jim Broadus
85651dd37f Fix assertion when deleting multiple queued items from playlist.
Removal of items from a playlist is done with a single transaction. When
Queue::SourceLayoutChanged is called after this, the items in the queue are
checked one at a time. When an item is removed, it triggers dataChanged signal
from the model, connected to the SourceDataChanged slot. There, ItemCountChanged
is emitted which calls UpdateTotalLength. This method will assert when it finds
an item that is in the queue, but not in the playlist.

To solve this, disconnect the ItemCountChanged signal at the beginning of
SourceLayoutChanged and re-enable it after cleaning the queue. The method emits
the signal before returning.
2020-02-21 10:09:12 +00:00
Jim Broadus
2f36b34c33 Remove some user info from logs. 2020-02-18 09:03:08 +00:00
Jim Broadus
4f9b81459a Remove leading / from google file id.
The Google Drive Client::GetFile currently fails due to an extra / in the
request. Use QString::remove to strip all "/" characters from the id.

Note: While this fixes the ability to get the media URL, a change to the
Google Drive API breaks the playback. This will be addressed in a future
commit.
2020-02-18 09:03:08 +00:00
Jim Broadus
f81533bb58 Handle Google Drive get file errors.
When a call to translate a file ID to a URL fails, tell the user and
don't try to load the file.
2020-02-18 09:03:08 +00:00
Clementine Buildbot
06ed4a8232 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2020-02-17 20:33:23 +00:00
Jim Broadus
9116dfde7d Remove query string that may include auth info. 2020-02-17 20:31:06 +00:00
Jim Broadus
5983ecfac0 Scrub gstreamer error strings for url query strings.
Media URLs may include tokens or other auth info.
2020-02-17 20:31:06 +00:00
Jim Broadus
5dd6d6725a Add a function that scrubs URL queries from strings.
In some cases, URL queries contain auth information. For cases where error
strings are passed from other libraries, such as from gstreamer, add a utility
function, ScrubUrlQueries, to strip queries from URLs in strings.
2020-02-17 20:31:06 +00:00
Jim Broadus
a0bb8ab3a1 Replace closures with new Qt functor variant of connect. 2020-02-15 15:00:49 +00:00
Jim Broadus
58e59adcfc Pass correct type to FetchContentUrlFinished. 2020-02-15 15:00:49 +00:00
Jim Broadus
b86b8a45cc Fix dropbox json parsing.
Incorrect QJsonDocument::fromBinaryData was used several places in
DropboxService. Add a single ParseJsonReply method to the base class that
properly checks and parses network replies and reports errors.
2020-02-15 15:00:49 +00:00
Jim Broadus
941e139a18 Replace closures with connect variant.
Qt5 introduced new connect variants that allow calling a functor. A lambda can
replace the user of the Closure class in this case.
2020-02-13 19:20:01 +00:00
Jim Broadus
b3ec030ae4 Fix songkicks queries.
- When parsing a response, use fromJson instead of fromBinaryData.
  fromBinaryData expects a serialized binary format.
- Calling toString on a non-string JSON value will return an empty
  string. Call toVariant().toString() to do the conversion.
- Add checks for network reply errors.
2020-02-13 19:20:01 +00:00
Jim Broadus
61de3c6e93 Convert remaining QJsonValue::isUndefined usage.
Noted previously, using the [] operator on a non-const QJsonObject causes the
creation of the key and does not work for checking existence. Convert the
remaining isUndefined call sites to use QJsonObect::contains.
2020-02-13 11:12:52 +00:00
Jim Broadus
52fd6ffadc Add a logging category to log all network requests.
New logging class NetworkRequests disabled by default, but can be enabled with
the command line option.
2020-02-13 11:09:51 +00:00
Jim Broadus
a5db937d23 Fix itunes search.
Using the [] operator on a non-const QJsonObject inserts an item. The test
for an error message was always positive. Use the contains method instead.
2020-02-12 09:53:45 +00:00
Jim Broadus
415e4aa2ec Don't attempt to resolve URL if not relative. 2020-02-12 09:53:12 +00:00
Jim Broadus
e7b0667196 Fix loading songs on portable setup.
QUrl considers a URL relative if it does not include a scheme and QUrl::resolve
will fail if passed a non-relative url. Strip the scheme for the portable cases.

https://doc.qt.io/qt-5/qurl.html#relative-urls-vs-relative-paths
2020-02-12 09:53:12 +00:00
Jim Broadus
b9f57c574f Add QString version of GetRelativePathToClementineBin.
Avoid converting paths to and from URLs when calling this function.
2020-02-12 09:53:12 +00:00
Jim Broadus
ba4320859d Change LibraryDirectoryModel to take shared backend pointer.
This is mainly for parity amongst the library model classes.
2020-02-11 08:09:22 +00:00
Jim Broadus
bc99ff80a9 Move LibraryDirectoryModel out of LibraryModel.
There are several instances of the LibraryModel class used in the system. Each
of these creates a LibraryDirectoryModel instance, but only the instance held
by the main library is every used. Move this out of the LibraryModel class and
into the Library class.
2020-02-11 08:09:22 +00:00
Jim Broadus
18a08e87c2 Add a directory_model accessor to Application class. 2020-02-11 08:09:22 +00:00
Clementine Buildbot
057343f4a3 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2020-02-07 10:08:21 +00:00
Jim Broadus
efb4f8a15a Handle errors from icecast directory requests.
When a request fails, show an error dialog and don't attempt to parse results.
2020-02-07 10:06:14 +00:00
Jim Broadus
2132310873 Display message to user when IntergalacticFM channel list fails.
At the time of this commit, the channel list from intergalactic.fm is
unavailable. To the user, this is failing silently. Add an error message for
this failure. If this issue persists, then the service should be removed or a
hardcoded station list should be used.
2020-02-07 10:05:39 +00:00
Clementine Buildbot
7e915648eb Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2020-02-04 00:25:34 +00:00
Jim Broadus
d45a9f5c53 Enable debug logging for GstEnginePipeline by default.
Use qLogCat to put verbose GStreamer callback messages into a new
GstEnginePipelineCallbacks category. Filter that category instead of
the entire class by default.
2020-01-31 10:24:53 +00:00
Jim Broadus
66f354f815 Remove executable flags from source files. 2020-01-31 10:24:29 +00:00
John Maguire
237a2fe8e5
Merge pull request #6557 from clementine-player/remove-unsupported-ubuntus
Remove unsupported distros
2020-01-30 20:31:43 +00:00
John Maguire
c34f9339ae
Merge pull request #6556 from jbroadus/category-for-glog-messages
Category for glog messages
2020-01-30 20:10:36 +00:00
John Maguire
011b36b64b Remove unsupported distros 2020-01-30 19:33:55 +00:00
Jim Broadus
4b37e0c577 Use qLogCat for GLog handler.
Provide the domain string from the GLog callback as the category.
2020-01-30 11:20:03 -08:00
Jim Broadus
a2d2850884 Add a new qLogCat macro to specify category.
In some cases, such as message handling callback functions, the line and function
macros don't provide a lot of useful information. In other cases, we may want more
granularity of control withing a class. For these cases, add a qLogCat that takes
a category string. Print this string in the message and use it as the filter
category.
2020-01-30 11:19:58 -08:00
John Maguire
aae7b01ea6
Merge pull request #6555 from jbroadus/logging-cleanup-1
Fix nomenclature in logging functions.
2020-01-30 17:29:22 +00:00
Jim Broadus
203d6425fd Fix nomenclature in logging functions.
The qLog macro passes the result of the __PRETTY_FUNCTION__ macro to the
CreateLogger* functions, but these all take an argument called class_name.
2020-01-30 08:50:06 -08:00
John Maguire
0598b81c42
Merge pull request #6554 from jbroadus/fix-unc-paths
Fix UNC paths.
2020-01-29 11:20:01 +00:00
Jim Broadus
d3d6c1ff3c Fix UNC paths.
The fix-up for URLs for files that that begin with // no longer works since the
QUrl class determines that these modifications are invalid, resulting in an
empty string when converted. Instead of attempting to modify the QUrl, add a
utility function that makes the correction on the encoded byte array at time of
usage.
2020-01-29 00:38:43 -08:00
John Maguire
e575a1da9f
Merge pull request #6552 from jonaski/https
Use HTTPS
2020-01-27 22:58:28 +00:00
Jonas Kvinge
f674847431 Use HTTPS 2020-01-27 22:46:38 +01:00
John Maguire
a207501e35
Merge pull request #6550 from jbroadus/remove-dir-by-id
Remove directory by id.
2020-01-27 09:29:33 +00:00
Jim Broadus
feaca363a7 Remove directory by id.
Eliminate need to create temporary Directory object when removing a directory.
2020-01-25 18:22:16 -08:00
John Maguire
03f2395739
Merge pull request #6546 from jbroadus/cancel-scan-on-remove
Cancel scan when directory is removed.
2020-01-25 15:35:24 +00:00
Jim Broadus
1c6e43509c Cancel scan when directory is removed.
When a directory is removed from the library during a scan, the scan continues
until complete. This change cancels the scan immediately, unblocking the watcher
thread, then signals the watcher to remove the directory.

A second issue occurs when a previously scanned device is removed during a
scan. All remaining files will be marked as deleted. This change mitigates
this issue, but a timing hole still remains here.
2020-01-24 10:28:51 -08:00
Clementine Buildbot
fcd147b574 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2020-01-24 10:41:42 +00:00
John Maguire
865c4b4358
Merge pull request #6543 from jbroadus/cancel-transaction
Add ability to cancel scan per directory.
2020-01-24 10:39:30 +00:00
Jim Broadus
c40a1f7738 Pass album_art map to ImageForSong as pointer instead of reference.
Requested as part of PR 6543.
2020-01-23 09:15:39 -08:00
Jim Broadus
4ebd3c8c0a Add ability to cancel scan per directory.
Store a boolean along with watched directories to indicate active. Use this flag
to provide a mechanism to halt scans on a per-directory basis.
2020-01-23 09:15:36 -08:00
John Maguire
97ffae2e70
Merge pull request #6541 from jbroadus/cleanup-lister-thread
Delete DeviceLister worker thread.
2020-01-22 11:05:51 +00:00
John Maguire
960c61ef14
Merge pull request #6540 from jbroadus/scan-transaction-takes-directory
Pass a Directory reference to ScanTransaction instead of a directory id.
2020-01-22 11:05:20 +00:00
Jim Broadus
83d756356c Delete DeviceLister worker thread.
This isn't a serious leak since the lister is only destroyed when Clementine
exits.
2020-01-21 21:26:59 -08:00
Jim Broadus
52c3ce70ea Pass a Directory reference to ScanTransaction instead of a directory id.
This is can be done without protecting the directory reference since the method
that removes directories from the watch list is only called on the same thread
as the scan, and never during the life of the ScanTransaction object.
2020-01-21 17:27:01 -08:00
John Maguire
d15777ea15
Merge pull request #6537 from jbroadus/scan-sanity-check
Prevent runaway cover art searches.
2020-01-19 17:12:13 +00:00
John Maguire
1723fba173
Merge pull request #6536 from jbroadus/fix-canceled-scan
Fix hung progress indicator on device disconnect.
2020-01-19 17:10:07 +00:00
Jim Broadus
1484afb038 Prevent runaway cover art searches.
When scanning a device such as a mobile phone, it's likely that a directory
containing both image and audio files will be found. Besides the appearance of a
hung scan, it's unlikely that a relevant image will be found.

In the case where filters for relevant filenames don't yield results, set a
sanity limit on the number of images. If the list size is beyond than that
threshold, return an empty path.
2020-01-18 22:46:24 -08:00
Jim Broadus
9e40c5e1a9 Fix hung progress indicator on device disconnect.
When a device is removed during a scan, the scan is cancelled, but the task is
not set to finished.
2020-01-18 20:32:41 -08:00
John Maguire
969c158cee
Merge pull request #6533 from jbroadus/inotify-errors
Inotify errors
2020-01-18 13:04:55 +00:00
Jim Broadus
34a2e86b4b Handle FileSystemWatcherInterface::AddPath errors.
On Linux systems, failure to watch a path may be caused by the limit set in
/proc/sys/fs/inotify/max_user_watches. This can be demonstrated by creating
a directory with a large number of empty subdirectories and adding that test
directory as a library.

Check that a file is readable before adding a watch. If adding the watch fails,
report the error to the user only once. Only add the path to subdir_mapping_
if watch succeeds.
2020-01-17 16:26:09 -08:00
Jim Broadus
26e12f5006 Support newlines in error dialog.
Translate "\n" to "<br>" in error dialog HTML.
2020-01-16 21:06:11 -08:00
Jim Broadus
fe84ad4e66 Return boolean from FileSystemWatcherInterface::AddPath to indicate success.
QFileSystemWatcher::addPath returns a boolean to indicate success. Modify
QtFSListener::AddPath to reflect that. For now, the MacFSListener version will
always return true.
2020-01-16 21:06:11 -08:00
John Maguire
0d1a976b62
Merge pull request #6532 from jbroadus/broken-mtp
Broken mtp
2020-01-16 23:06:38 +00:00
Jim Broadus
4bb7d41ec9 Fix mtp and gphoto2 device mounts from gvfs.
Using libmtp or libgphoto2 to access a device that gvfs has mounted causes the
connection to fail. libmtp is calling libusb_claim_interface which, according to
libusb documentation, will return LIBUSB_ERROR_BUSY if claimed by a different
program. For mtp and gphoto2 devices discovered by the GioLister, use the file
scheme and access the device through the gvfs mount.
2020-01-16 13:11:49 -08:00
Jim Broadus
5efba58f02 Decode gvfs uris.
The uri returned from g_file_get_uri is percent encoded. This causes the regex
in GioLister::MakeDeviceUrls to fail and causes the URL to be invalid. In this
case, it falls back to the file scheme. Newer versions of gvfs obtain the serial
id from udev instead of using the bus and device IDs.

Note that this bug covers a different issue where mtp is failing to connect. The
result is actually desired behavior. The follow-up change will address this.
2020-01-16 13:11:44 -08:00
John Maguire
9bf90bf95a
Merge pull request #6530 from jbroadus/fix-query-crash
Fix LibraryModel async query crash.
2020-01-15 09:48:45 +00:00
Jim Broadus
6a9276ec0a Fix LibraryModel async query crash.
A LibraryBackend may be deleted while an associated LibraryModel object is using
it. An example is an async query running while a connected device is removed.
To prevent this, use a share pointer for the LibraryBackend.

This fixes one case where LibraryBackend is used after deletion. However, the
raw pointer is still passed around in several other places. These should be
evaluated on a case-by-case basis to insure that circular depencencies aren't
introduced.
2020-01-14 21:47:31 -08:00
John Maguire
4563149482
Merge pull request #6528 from clementine-player/mac-style
Add mac style plugin
2020-01-13 17:54:29 +00:00
John Maguire
acda1bc1db
Add mac style plugin 2020-01-13 17:02:13 +00:00
John Maguire
fd64a5a807
Merge pull request #6527 from jbroadus/wait-for-query-thread
Prevent deletion of LibraryModel object while async query is running.
2020-01-13 10:00:55 +00:00
Jim Broadus
f817e0de48 Prevent deletion of LibraryModel object while async query is running.
Create a thread pool for each LibraryModel object and block destruction until
all threads that are operating on this object are complete.

Note that this is not a complete solution. The async query also uses the library
backend which may still be deleted before the thread exits. This will be
addressed in a future change.
2020-01-12 12:24:21 -08:00
John Maguire
9a9cf08a63
Merge pull request #6525 from jbroadus/reenable-lastfm-bionic
Use qt5 version of liblastfm dev package for Debian and Ubuntu builds.
2020-01-12 13:58:27 +00:00
John Maguire
56a043a9ec
Merge pull request #6524 from jbroadus/closure-timing-hole
Fix closure timing hole.
2020-01-12 13:58:04 +00:00
Jim Broadus
2f41a969c2 Use qt5 version of liblastfm dev package for Debian and Ubuntu builds. 2020-01-11 13:18:50 -08:00
Jim Broadus
dbe67bf32b Fix closure timing hole.
When a closure involves an ObjectHelper, a connection is made from the
receiver's destroyed signal and the helper object's deleteLater slot. Since
the signal between the sender and the helper object isn't disconnected until
either object is actually destroyed, this leaves a hole where the helper
holds a pointer to an invalid receiver object, but is still able to receive
the signal connected to its Invoke slot.

Instead of connecting the destroyed signal to deleteLater, connect it to a new
TearDown slot that immediately disconnects the signal then calls deleteLater.
2020-01-11 00:53:35 -08:00
Clementine Buildbot
a97080a809 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2020-01-08 10:45:49 +00:00
John Maguire
8cfbc5bad7
Merge pull request #6521 from jbroadus/handle-connect-error-from-dialog
Properly handle connect errors when initiated from properties dialog.
2020-01-08 10:42:55 +00:00
Jim Broadus
8a88a0a57e Properly handle connect errors when initiated from properties dialog.
If connection fails when initiated from the device properties dialog, the
connected page is shown after the update formats worker thread completes.
2020-01-07 23:20:04 -08:00
Jim Broadus
79b7e3fe13 Fix abort from Mtp loader thread.
A commit in qt 5.7 changes a qWarning to a qFatal if a QThread is still running
when it's deleted. When we get the LoadFinished signal in MtpDevice, stop
the loader thread's event loop to avoid this situation.

See qtbase commit c8277b6e532
2020-01-07 22:29:59 +00:00
Pavel Liavonau
3f4c788339 Fixed lastfm workflow with "now playing" and scrobbling feature
(Maybe Issue #2672)
2020-01-07 22:29:23 +00:00
Jim Broadus
39e75071bf Remove unhelpful debug message.
Message contains no context and appears to be a remnant of a debug session.
2020-01-05 16:51:11 -08:00
John Maguire
008c90ff29
Merge pull request #6516 from jonaski/sizeinbytes
Use QImage::sizeInBytes() with Qt 5.10 and above
2020-01-06 00:12:02 +00:00
John Maguire
57841cf947
Merge pull request #6515 from jonaski/child
Replace QModelIndex::child() with QAbstractItemModel::index()
2020-01-06 00:11:22 +00:00
John Maguire
b45b6bace0
Merge pull request #6514 from jonaski/elapsedtimer
Replace QTime with QElapsedTimer
2020-01-05 18:40:36 +00:00
Jonas Kvinge
e98c11fe64 Use QImage::sizeInBytes() with Qt 5.10 and above 2020-01-05 19:31:40 +01:00
Jonas Kvinge
6b50d5140d Fix formatting 2020-01-05 19:09:03 +01:00
Jonas Kvinge
e63c1edbbf Fix formatting 2020-01-05 19:08:03 +01:00
Jonas Kvinge
341a4d1423 Replace QTime with QElapsedTimer 2020-01-05 19:01:54 +01:00
Jonas Kvinge
959a957a56 Replace QModelIndex::child() with QAbstractItemModel::index() 2020-01-05 18:37:27 +01:00
John Maguire
1bf40fee15
Merge pull request #6513 from clementine-player/revert-6497-gpodder-server
Revert "Add an option to specify a gpodder server."
2020-01-05 17:10:32 +00:00
John Maguire
0991209087
Revert "Add an option to specify a gpodder server." 2020-01-05 17:10:00 +00:00
John Maguire
41c103413c
Merge pull request #6497 from jbroadus/gpodder-server
Add an option to specify a gpodder server.
2020-01-05 15:27:08 +00:00
John Maguire
19389cace7
Merge pull request #6511 from jonaski/screen
Use QWidget::screen() to fix compile with Qt 5.14
2020-01-05 15:22:38 +00:00
John Maguire
400203cfa2
Merge pull request #6510 from jonaski/searchtermwidget
Fix layouts with duplicate name in SmartPlaylistSearchTermWidget
2020-01-05 15:22:15 +00:00
Clementine Buildbot
257e1be43d Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2020-01-05 15:16:39 +00:00
John Maguire
10e807dd7d
Merge pull request #6509 from jonaski/tolist
Replace QSet::toList() with QSet::values()
2020-01-05 15:13:33 +00:00
Jonas Kvinge
1b23417a93 Use QWidget::screen() to fix compile with Qt 5.14 2020-01-05 02:51:08 +01:00
John Maguire
63cd5d4918
Merge pull request #6508 from jonaski/qocoa
Replace use of QtMac::toCGImageRef with QImage::toCGImage
2020-01-05 01:14:57 +00:00
John Maguire
7d2c622d0f
Merge pull request #6507 from jonaski/sprintf
Replace use of QString::sprintf with QString::asprintf
2020-01-05 00:40:43 +00:00
John Maguire
2c960f12f7
Merge pull request #6504 from jonaski/seafile
Initialize QObject in constructor and add explicit
2020-01-05 00:39:28 +00:00
John Maguire
a875c3b91f
Merge pull request #6506 from jonaski/styleoptionframe
Replace use of QStyleOptionFrameV3
2020-01-05 00:30:40 +00:00
John Maguire
5123d1dd37
Merge pull request #6505 from jonaski/fallthrough
Add fallthrough comment where fallthrough is intended
2020-01-05 00:30:24 +00:00
John Maguire
cfa3ea0dca
Merge pull request #6503 from jonaski/darker
Replace use of QColor::dark and QPalette::background
2020-01-05 00:30:04 +00:00
John Maguire
94630bd58b
Merge pull request #6502 from jonaski/desktopwidget
Replace all uses of QDesktopWidget with QScreen
2020-01-05 00:29:33 +00:00
John Maguire
a240818b6c
Merge pull request #6501 from jonaski/compilations
Fix songs stuck in various artists
2020-01-05 00:28:15 +00:00
John Maguire
b10cc71c76
Merge pull request #6500 from jonaski/pixmapcache
Remove pixmap cache and pending art when removing parent nodes instead
2020-01-05 00:27:36 +00:00
John Maguire
98473157d9
Merge pull request #6499 from jonaski/macos-librarywatcher
Fix macOS filesystem listener (library watcher)
2020-01-05 00:26:57 +00:00
John Maguire
b7dc883a13
Merge pull request #6498 from jonaski/cmake
Add project to CMakeLists
2020-01-05 00:26:09 +00:00
Jonas Kvinge
52180a7484 Fix layouts with duplicate name in SmartPlaylistSearchTermWidget 2020-01-05 01:15:58 +01:00
Jonas Kvinge
5eb32b33c1 Replace QSet::toList() with QSet::values() 2020-01-05 00:58:33 +01:00
Jonas Kvinge
b4fc6d96bf Fix formatting 2020-01-05 00:48:51 +01:00
Jonas Kvinge
35a0beb8a8 Replace use of QtMac::toCGImageRef with QImage::toCGImage 2020-01-05 00:46:54 +01:00
Jonas Kvinge
ddc8a5f010 Initialize QObject in constructor and add explicit 2020-01-05 00:21:04 +01:00
Jonas Kvinge
7f6e7f8b30 Fix formatting 2020-01-05 00:17:18 +01:00
Jonas Kvinge
f81a3aa8d8 Replace use of QString::sprintf with QString::asprintf 2020-01-05 00:12:32 +01:00
Jonas Kvinge
a70537b83f Replace use of QStyleOptionFrameV3 2020-01-04 23:40:12 +01:00
Jonas Kvinge
39cdb7fc3f Add fallthrough comment where fallthrough is intended 2020-01-04 23:29:19 +01:00
Jonas Kvinge
4c157a95dd Replace use of QPalette::background with QPalette::window 2020-01-04 23:01:02 +01:00
Jonas Kvinge
28bbb74c26 Replace use of QColor::dark with QColor::darker 2020-01-04 23:00:40 +01:00
Jonas Kvinge
9e3461f818 Fix formatting 2020-01-04 21:24:31 +01:00
Jonas Kvinge
6a8f70285f Replace all uses of QDesktopWidget with QScreen 2020-01-04 21:18:12 +01:00
Jonas Kvinge
39934dc302 Fix songs stuck in various artists 2020-01-04 18:27:42 +01:00
Jonas Kvinge
651965b905 Fix formatting 2020-01-04 18:12:44 +01:00
Jonas Kvinge
250b5ca0a6 Remove pixmap cache and pending art when removing parent nodes instead 2020-01-04 18:07:34 +01:00
Jonas Kvinge
a4a8726ddf Fix formatting 2020-01-04 17:44:07 +01:00
Jonas Kvinge
30413767cb Fix macOS filesystem listener (library watcher) 2020-01-04 17:38:55 +01:00
Jonas Kvinge
af62df4db8 Add project to CMakeLists 2020-01-04 17:15:58 +01:00
Jim Broadus
590d7f3823 Add an option to specify a gpodder server.
Add an "Advanced Settings" option to the gpodder sign in. If selected, a fully
qualified URL must be specified as the gpodder base. Upon successful login, the
URL is saved along with username and password. If advanced settings are not
selected, an empty URL is stored and the default will be used.
2020-01-03 22:46:15 -08:00
John Maguire
0308a3f9a5
Merge pull request #6495 from jbroadus/update-libmygpo-qt
Update to libmygpo-qt 1.1.0.
2020-01-04 00:42:57 +00:00
Jim Broadus
c246142951 Update to libmygpo-qt 1.1.0.
The updates include:
- The ability to specify a custom gpodder service.
- Use https instead of http for gpodder.net.
- A fix that prevents encoded URLs from being re-encoded.
2020-01-02 20:17:55 -08:00
John Maguire
2aa81af6ca 1.4 rc1 2020-01-02 20:59:23 +00:00
John Maguire
ba6879e908 Copy all release artifacts to one dir for ghr 2020-01-02 20:04:25 +00:00
John Maguire
702d69ee06 Upload all artifacts on release 2020-01-02 17:14:21 +00:00
Clementine Buildbot
eec38a64d1 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2020-01-02 17:06:49 +00:00
John Maguire
e6e8090371
Merge pull request #6492 from jbroadus/fix-smartplaylist-crash
Fix smartplaylist crash
2020-01-02 17:04:11 +00:00
John Maguire
4ec427c097
Merge pull request #6490 from jbroadus/gpodder-login-cleanup
Gpodder login cleanup.
2020-01-02 17:03:28 +00:00
Jim Broadus
a164a5dffa Fix smart playlist crash.
When QProxyStyle is given a base style, it take ownership of that object.
PlaylistView creates a proxy style based on its own style, but that is a shared
resource. When the PlayListView is destroyed, this object is destroyed.

Instead of passing style() to QStyle, pass nullptr. This will use the native
style.
2020-01-01 22:30:59 -08:00
Jim Broadus
963b272c4b Don't crash if smartplaylist wizard plugin is not found. 2020-01-01 22:30:56 -08:00
Jim Broadus
e32ba7eac5 Gpodder login cleanup.
It's not necessary for the PodcastSettingsPage class to have knowledge of
GPodderSync's login implementation. Handling the network reply in a single
location sightly simplifies the code. It also makes the handling order
more deterministic.
2019-12-30 20:58:30 -08:00
John Maguire
9f99cab314
Merge pull request #6489 from jbroadus/fix-gpodder-logout
Reset gpodder session cookies on logout.
2019-12-30 23:45:12 +00:00
Jim Broadus
a1da067002 Reset gpodder session cookies on logout.
A sessionid cookie is stored when logging in to gpodder. After logging out, a
subsequent login with the same user name but incorrect password will succeed,
ignoring the authorization header. The incorrect password will be stored for
future use.

To fix this, reset the cookie jar for GPodderSync's network access manager at
logout.
2019-12-30 14:19:08 -08:00
John Maguire
eeb9f7e303 Use a newer version of go for ghr 2019-12-30 20:30:22 +00:00
John Maguire
98e6061a3b
Merge pull request #6488 from clementine-player/release-on-tag
Use proper git/ssh versions
2019-12-30 18:18:09 +00:00
John Maguire
7d44268c0d Use proper git/ssh versions 2019-12-30 17:48:33 +00:00
John Maguire
240ba7b487
Merge pull request #6487 from clementine-player/release-on-tag
Create github release on tag
2019-12-30 00:55:21 +00:00
John Maguire
3a3113b784 Create github release on tag 2019-12-30 00:53:00 +00:00
John Maguire
d0ea1033a1
Build source tarball (#6486) 2019-12-29 23:50:53 +00:00
John Maguire
51c5939ba6 Set version 2019-12-29 21:16:57 +00:00
John Maguire
f9d4cd9f0d
Merge pull request #6485 from jbroadus/fix-gpodder-error-leak
Fix gpodder sync memory leaks in success cases.
2019-12-29 21:01:20 +00:00
John Maguire
5ee0a63a4f Try unlinking python2 first 2019-12-29 20:35:20 +00:00
Jim Broadus
36179a7197 Fix gpodder sync memory leaks in success cases.
A closure created by NewClosure that handles Qt signals is destroyed if the
signal object is destroyed, the slot object is destroyed, or the signal is
invoked. In the case where the sender is passed as a shared pointer, the
reference prevents the sender from being destroyed before the closure.

So for closures built to handle responses returned from ApiRequest in
GPodderSync, the closure object and the response object will only be destroyed
after the signal is invoked. In some cases, separate closures are built for
error signals as well. For these, only one closure will be destroyed. The other
closures and the response object will be leaked.

A simple fix for the success cases is to remove the unnecessary error case
closures and directly connect the signals to slots. This is low hanging fruit
and still leaves leaks in the error cases. Those cases will require a more
complete solution to properly manage the life cycle of the response object.
2019-12-29 10:11:29 -08:00
John Maguire
8f0f24f393 gettext & sqlite seem to already be installed 2019-12-29 17:10:51 +00:00
Clementine Buildbot
9e73aae821 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2019-12-29 16:40:32 +00:00
John Maguire
0d6279c983 Try running builds for tags 2019-12-29 16:37:23 +00:00
John Maguire
922e10bc48
Merge pull request #6480 from jbroadus/gpodder-timeout
Add timeouts for gpodder requests.
2019-12-26 21:42:23 +00:00
Jim Broadus
5e7e57df73 Set a 30 second timeout for gpodder requests. 2019-12-25 23:53:47 -08:00
Jim Broadus
77d5d8bdea Add a timeout option to NetworkAccessManager.
In most cases, timeouts can be applied to a reply after a request has been made.
But some APIs, such as libmygpo-qt, don't always provide access to the reply or
provide abort methods. For these cases, add an optional timeout to
NetworkAccessManager. If set, create a NetworkTimeouts instance in createRequest
and add the reply. Use the reply as the parent so that it is destroyed when the
reply is destroyed.
2019-12-25 23:53:45 -08:00
Clementine Buildbot
82b185c087 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2019-12-24 00:25:44 +00:00
John Maguire
fb51e7733c
Remove reference to buildbot 2019-12-16 13:55:11 +00:00
Clementine Buildbot
90a237716a Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2019-12-15 11:23:45 +00:00
John Maguire
9eeb6d3758
Merge pull request #6475 from rohtie/bugfix-position-not-resumed
Fix resuming playback position on startup
2019-12-15 11:21:00 +00:00
Thor Merlin Lervik
715da8909f Fix resuming playback position on startup 2019-12-14 17:22:16 +01:00
John Maguire
672b90659b
Merge pull request #6472 from cquike/xdg
Support  for XDG_CONFIG_HOME and XDG_CACHE_HOME
2019-12-10 18:56:41 +00:00
Cesar Enrique Garcia Dabo
a7ad66d028 Fix issues reported by clang-format 2019-12-10 18:45:06 +01:00
Cesar Enrique Garcia Dabo
397145d21f Remove obsolete forced setting of XDG_CONFIG_HOME.
Apparently this was introduced in 2011 as a workaround to solve a problem in
libimobiledevice. However already in 2013 the problem was solved
in libimobiledevice:
b811fbb05b
2019-12-10 18:05:55 +01:00
John Maguire
998f12699b
Merge pull request #6470 from lacc97/kglobalaccel
Add KGlobalAccel global shortcuts backend
2019-12-10 10:14:32 +00:00
Clementine Buildbot
ca2c6771fd Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2019-12-10 00:25:31 +00:00
Luis Caceres
7ef917008a Fix formatting again 2019-12-09 17:02:42 +00:00
Luis Caceres
344989785b Fix multiple triggers of shortcut actions
Also properly connect/disconnect from DBus signal upons register/unregister.
2019-12-09 16:58:32 +00:00
Luis Caceres
2307c15227 Fix style 2019-12-09 16:25:29 +00:00
Cesar Enrique Garcia Dabo
f5ec88b529 Add support in GetConfigPath() for /pixmapcache directory 2019-12-07 23:30:14 +01:00
Cesar Enrique Garcia Dabo
ab2f7c03ea Use QStandardPaths to define Path_Root and Path_CacheRoot.
These two directories use QStandardPaths::ConfigLocation and
QStandardPaths::GenericCacheLocation respectively, with the
application name (Clementine) appended. The QStandardPaths class from QT
honors the XDG standards:

https://specifications.freedesktop.org/basedir-spec/basedir-spec-0.6.html
https://doc.qt.io/qt-5/qstandardpaths.html#writableLocation
2019-12-07 23:22:13 +01:00
Luis Caceres
a3531d749a Actually fix formatting 2019-12-07 19:30:10 +00:00
Luis Caceres
0b6519bad4 Fix build with DBus disabled 2019-12-06 23:56:15 +00:00
Luis Caceres
8cab8fe180 Fix formatting 2019-12-06 23:53:40 +00:00
Luis Caceres
24a571769a Initial KGlobalAccel support 2019-12-06 22:34:13 +00:00
Clementine Buildbot
440ac6dda2 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2019-12-03 00:25:13 +00:00
Clementine Buildbot
1e28f4e7dd Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2019-11-26 00:25:05 +00:00
Clementine Buildbot
23d0f3514d Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2019-11-18 16:20:16 +00:00
John Maguire
00f3ae9e1b
Merge pull request #6462 from jonaski/snapcraft
Fix and update snap
2019-11-18 16:18:00 +00:00
Jonas Kvinge
7db052ca88 Fix and update snap 2019-11-16 22:50:56 +01:00
Clementine Buildbot
d8c020281e Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2019-11-15 17:28:36 +00:00
John Maguire
9bc73f21c1
Update README.md 2019-11-15 17:26:08 +00:00
Clementine Buildbot
f71e99360b Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2019-11-15 12:34:01 +00:00
John Maguire
62edd70188
Merge pull request #6459 from clementine-player/mingw
Build windows release
2019-11-15 12:31:55 +00:00
John Maguire
2090768058 Fix a few more gst plugins 2019-11-15 11:41:49 +00:00
John Maguire
019afdcc21 Add missing gstreamer plugin 2019-11-15 11:38:46 +00:00
John Maguire
0d6f01e7f4 Add missing gstreamer plugin 2019-11-15 11:00:42 +00:00
John Maguire
a359d0be05 Include Qt SVG dll 2019-11-15 10:14:35 +00:00
John Maguire
4ee4c192ec D'oh 2019-11-15 00:55:58 +00:00
John Maguire
dbd9a23e8e Update DLL list 2019-11-15 00:32:43 +00:00
John Maguire
ccf2fcec9b Don't use env as ~ isn't expanded 2019-11-14 23:32:03 +00:00
John Maguire
755895c462 Up parallelism of FC31 build 2019-11-14 22:57:29 +00:00
John Maguire
b571e6b654 Upload windows artifacts 2019-11-14 22:56:17 +00:00
John Maguire
add836a053 Add qt platform plugin 2019-11-14 22:52:20 +00:00
John Maguire
367b18223f Update bundled DLL list 2019-11-14 22:44:30 +00:00
John Maguire
27e7174e6f Copy winpthread dll 2019-11-14 22:40:02 +00:00
John Maguire
e395387baa Try building installer 2019-11-14 22:32:05 +00:00
John Maguire
3af1fe92aa Add KillProc nsis plugin 2019-11-14 22:30:10 +00:00
John Maguire
1890cd9a18 Add osversion nsis plugin 2019-11-14 22:15:25 +00:00
John Maguire
dad41fed3d Add nsisplugins directly 2019-11-14 21:57:28 +00:00
John Maguire
773179acb3 Include mingw in builds 2019-11-14 21:14:48 +00:00
John Maguire
c7470c20cb Revert "Disable other builders temporarily"
This reverts commit 58c863aa2d357c4bada7237c0dbe1dbe066cb359.
2019-11-14 21:14:28 +00:00
John Maguire
58c863aa2d Disable other builders temporarily 2019-11-14 20:59:39 +00:00
John Maguire
3a13615b79 Add circleci mingw builder 2019-11-14 20:58:55 +00:00
John Maguire
8b765a5257 Remove qtsparkle support 2019-11-14 20:53:46 +00:00
John Maguire
6377f297bb Now using mingw-w64 pthreads 2019-11-14 20:53:46 +00:00
John Maguire
e2ab832caf Only check for dbus on x11 2019-11-14 20:53:46 +00:00
John Maguire
708a989db7
Merge pull request #6457 from clementine-player/faster-ubuntu
Faster ubuntu CI
2019-11-14 10:03:27 +00:00
John Maguire
adad148121
Merge pull request #6456 from clementine-player/revert-6453-taglib
Revert "Update taglib"
2019-11-13 23:33:27 +00:00
John Maguire
fd36865006
Revert "Update taglib" 2019-11-13 23:33:13 +00:00
John Maguire
e0b04ec378
Merge pull request #6455 from jonaski/edittagdialog
Fix edit tag dialog
2019-11-13 23:24:19 +00:00
John Maguire
142f9f26c5
Merge pull request #6454 from jonaski/albumartist
Change remaining group by defaults to album artist
2019-11-13 23:11:16 +00:00
John Maguire
265dc1a40b Use AWS mirror for eoan & disco too 2019-11-13 21:43:57 +00:00
John Maguire
816c4ab7ff
Merge pull request #6453 from jonaski/taglib
Update taglib
2019-11-13 21:31:31 +00:00
John Maguire
34d46180c3
Merge pull request #6452 from jonaski/songcount
Fix updating song count
2019-11-13 20:55:07 +00:00
John Maguire
d3404a8dd0
Merge pull request #6451 from jonaski/tagreader
Fix setting mtime/btime in tagreader
2019-11-13 20:31:57 +00:00
Jonas Kvinge
e985bd780a Fix edit tag dialog 2019-11-13 20:47:14 +01:00
Jonas Kvinge
cdfc059cb1 Change remaining group by defaults to album artist 2019-11-13 20:20:44 +01:00
John Maguire
7285c5af7a Try using us-east Ubuntu mirror 2019-11-13 19:09:06 +00:00
Jonas Kvinge
ba9617449f Fix formatting 2019-11-13 19:53:42 +01:00
Jonas Kvinge
40be3331e0 Update taglib 2019-11-13 19:48:18 +01:00
Jonas Kvinge
44c111941c Fix updating song count 2019-11-13 19:20:17 +01:00
Jonas Kvinge
79e7c2a1fa Add check for valid birthTime() 2019-11-13 19:10:39 +01:00
John Maguire
21848d62d8
Merge pull request #6450 from jonaski/compilations
Fix updating compilations
2019-11-13 18:01:29 +00:00
Jonas Kvinge
c23a251ec3 Fix setting mtime/btime in tagreader 2019-11-13 18:47:27 +01:00
John Maguire
74d4f9e204
Merge pull request #6449 from paperbagcorner/removefile
Remove an unused file that had been left in the qt5 branch
2019-11-13 17:05:32 +00:00
Jonas Kvinge
6accd1e3db Fix formatting 2019-11-13 17:39:29 +01:00
Jonas Kvinge
8d75f321de Fix updating compilations 2019-11-13 17:25:54 +01:00
Mattias Andersson
cd3d481eda Remove an unused file that had been left in the qt5 branch 2019-11-13 09:48:34 +01:00
John Maguire
50663ddde0
Merge pull request #6448 from jonaski/librarywatcher
Remove watch for removed subdirectories
2019-11-12 19:57:16 +00:00
Clementine Buildbot
5898241190 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2019-11-12 19:25:52 +00:00
John Maguire
7110536741
Merge pull request #6447 from jonaski/pixmapcache
Remove album from pixmap cache when song is removed from library model
2019-11-12 19:23:41 +00:00
Jonas Kvinge
ca18a5584d Fix formatting 2019-11-12 20:05:53 +01:00
Jonas Kvinge
fd35f20d26 Remove watch for removed subdirectories 2019-11-12 19:55:48 +01:00
Jonas Kvinge
1b35d3f6a3 Dont clear pixmap cache on model reset 2019-11-12 19:26:52 +01:00
Jonas Kvinge
796fa285f5 Fix formatting 2019-11-12 19:16:22 +01:00
Jonas Kvinge
04baa9ec0f Remove album from pixmap cache when song is removed from library model 2019-11-12 19:08:42 +01:00
John Maguire
83c4c91a2e Make concurrency match CircleCI machine types 2019-11-12 02:29:22 +00:00
John Maguire
63ba95d2fd Remove travis integration 2019-11-12 02:20:40 +00:00
John Maguire
09135d317e
Merge pull request #6445 from clementine-player/fedora-31
Add Fedora 31 support
2019-11-12 02:00:48 +00:00
John Maguire
d9cb76b2f2
Merge pull request #6444 from clementine-player/eoan
Add build for Ubuntu Eoan
2019-11-12 01:39:16 +00:00
John Maguire
4d624e3a29 Add Fedora 31 support 2019-11-12 00:37:15 +00:00
John Maguire
c6f5ea19e4 Add build for Ubuntu Eoan 2019-11-12 00:35:33 +00:00
John Maguire
7b5e46ceef
Merge pull request #6443 from clementine-player/more-linux
Add back some more Linux builders
2019-11-11 23:24:00 +00:00
John Maguire
28f6bfd898
Merge pull request #6442 from jonaski/probequeue
Switch to queue2 for probe queue and set properties
2019-11-11 23:23:37 +00:00
John Maguire
e6dbb8a1c2 Xenial's qt5 is too old 2019-11-11 22:36:11 +00:00
John Maguire
ba9eded6fb Install tzdata non-interactively 2019-11-11 22:11:47 +00:00
John Maguire
da4478bf80 More Fedora dependencies 2019-11-11 21:40:17 +00:00
John Maguire
65f0d66038 Remove qt4 dependency 2019-11-11 21:33:02 +00:00
John Maguire
09a4372802 Add more Fedora dependencies 2019-11-11 21:29:24 +00:00
John Maguire
a58481cfd4 Add back more Linux builds 2019-11-11 21:24:37 +00:00
Jonas Kvinge
2a2a71281a Switch to queue2 for probe queue and set properties 2019-11-11 21:26:11 +01:00
John Maguire
3d340be986
Merge pull request #6441 from clementine-player/fix-mac-qt5
Use version agnostic paths for mac deps
2019-11-11 18:07:12 +00:00
John Maguire
e3c191b751 Version agnostic paths in macdeploy 2019-11-11 17:55:06 +00:00
John Maguire
37742e2bbd Only build mac on master due build time limits 2019-11-11 17:42:32 +00:00
John Maguire
8d9334999c Use version agnostic paths for mac deps 2019-11-11 17:40:37 +00:00
John Maguire
d50cd1b408
Merge pull request #6440 from JulianVolodia/master
CircleCI: build and deploy from master branch
2019-11-11 17:18:07 +00:00
John Maguire
b7c3173001
Merge pull request #6439 from jonaski/signalmapper
Replace all uses of QSignalMapper with C++11 lambda expressions
2019-11-10 19:13:31 +00:00
JulianVolodia
789b22b244 CircleCI: build and deploy from master branch 2019-11-10 19:11:00 +01:00
Jonas Kvinge
3f9b6b1192 Fix formatting 2019-11-10 15:21:08 +01:00
Jonas Kvinge
344023e6dd Fix formatting 2019-11-10 15:16:39 +01:00
Jonas Kvinge
ba31c755ef Replace all uses of QSignalMapper with C++11 lambda expressions 2019-11-10 15:07:12 +01:00
John Maguire
21da802630
Merge pull request #6438 from jonaski/remove-extra-semicolon
Remove extra ';'
2019-11-10 00:53:37 +00:00
John Maguire
ae60f8e573
Merge pull request #6437 from jonaski/qstring
Replace QString::null with QString()
2019-11-10 00:53:19 +00:00
Jonas Kvinge
2aa372c628 Fix formatting 2019-11-10 00:36:23 +01:00
Jonas Kvinge
9519829d1f Fix formatting 2019-11-10 00:31:37 +01:00
Jonas Kvinge
d09c27f719 Remove extra ';' 2019-11-10 00:30:18 +01:00
Jonas Kvinge
0da490a5e1 Replace QString::null with QString() 2019-11-09 23:45:28 +01:00
Clementine Buildbot
f9627c2084 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2019-11-07 12:29:45 +00:00
John Maguire
04c85c2bb7
Merge pull request #6433 from clementine-player/qt5
Qt5
2019-11-07 12:27:25 +00:00
Clementine Buildbot
e72bccbf0d Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2019-11-05 00:25:15 +00:00
John Maguire
668dd3a9d2
Merge pull request #6431 from dvalter/revert-6103-qt5
Attempt to fix track unpause hang (revert "Attempt to fix track change hang")
2019-11-02 10:16:32 +00:00
Dmitry Valter
18c2b41615 Revert "Attempt to fix track change hang"
Queue2 tends to hang up on pause, unable to start playing
again. Pipeline actually stays PLAYING with ASYNC state
change, so it becomes impossible to unpause the player
without stop or forward/backward seeks.

This reverts commit 2b280de663bc53b4f37dbb3f875cd630bad22c82.
2019-11-02 10:16:42 +03:00
Clementine Buildbot
b3e2b4731b Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2019-10-29 00:25:20 +00:00
John Maguire
68d4706765
Merge pull request #6424 from uqs/master
Fix Clementine on FreeBSD/NFS files, where birthtime is always -1
2019-10-28 10:03:49 +00:00
Ulrich Spörlein
6e2506e94a Fix Clementine on FreeBSD/NFS files, where birthtime is always -1
As of Qt 5.10 the badly named created() which would fall back to POSIX
ctime if birthtime wasn't supported (as was the case on basically every
Unix filesystem up to some decades ago) is deprecated and replaced by
the better named birthTime or metadataChangeTime (yay!).

As of some years now, created() returns birthtime under FreeBSD, but
either due to the protocol or lack of implementation, this returns -1
under FreeBSD mounting a ZFS pool from a FreeBSD server with NFSv3.

This would render Clementine completely useless. Local filesystems are
not affected though. The fix is to catch the -1 birthtime and use mtime
instead, which is a more meaningful value anyway.

This closes issue #6423.
2019-10-27 22:52:36 +01:00
John Maguire
6201247c07 Upload mac qt5 DMG 2019-10-16 22:45:10 +01:00
John Maguire
08e5d52a84 Actually build the right branch 2019-10-16 21:44:38 +01:00
John Maguire
b7f67ca710 Try building faster 2019-10-16 21:10:41 +01:00
John Maguire
c035e664b7 Store useful cmake debug artifacts 2019-10-16 21:07:00 +01:00
John Maguire
b7d7ac4623 Revert "Create dmg with genisoimage & libdmg-hfsplus"
This reverts commit 08e1db494d82a466f4c8959247157c220abd0ab0.
2019-10-16 19:43:07 +01:00
John Maguire
992311c185 Bunch of mac build fixes 2019-10-16 19:42:21 +01:00
John Maguire
4dfda20ec6 Merge remote-tracking branch 'origin/master' into qt5 2019-10-16 18:30:05 +01:00
John Maguire
664c5a31f9 Setup qt5 build with Bionic 2019-10-04 17:23:59 +01:00
John Maguire
e9a2161aa6
Merge pull request #6413 from clementine-player/circleci
Add Debian builders
2019-10-04 17:21:22 +01:00
John Maguire
cb6cd7c485 Merge remote-tracking branch 'origin/master' into qt5 2019-10-04 16:51:43 +01:00
John Maguire
540d1f4a0d Fix upload directories 2019-10-04 13:55:52 +01:00
John Maguire
d2ad9a5a0f Add stretch builder to workflow 2019-10-04 13:40:25 +01:00
John Maguire
94a5d17890 Add Debian Stretch builder 2019-10-04 13:39:00 +01:00
John Maguire
320bca2faf Add Buster builder to workflow 2019-10-04 13:18:45 +01:00
John Maguire
b572cb1656 Add Debian Buster builder 2019-10-04 12:30:07 +01:00
John Maguire
18f49833bf
Merge pull request #6412 from clementine-player/circleci
Add CircleCI config
2019-10-03 16:31:53 +01:00
John Maguire
c355b5ca22
Add Fedora 30 to workflow 2019-10-03 15:34:28 +01:00
John Maguire
43b4ee7960
Fix copy_rpm_artifacts params 2019-10-03 14:45:56 +01:00
John Maguire
4bd2e90355
Add Fedora 30 build 2019-10-03 11:45:39 +01:00
John Maguire
33980dac74
Only upload artifacts on master 2019-10-03 11:36:10 +01:00
John Maguire
5d599a89f0 Typo'd output directory 2019-10-03 03:30:11 +01:00
John Maguire
5a575e38d6 Add ALSA and DBus dependencies 2019-10-03 03:25:42 +01:00
John Maguire
73d6137cc0 Disable mac job for now 2019-10-03 03:00:03 +01:00
John Maguire
64189662b6 oops 2019-10-03 02:48:17 +01:00
John Maguire
374b62b9b9 Remove concurrency from rpmbuild 2019-10-03 02:45:30 +01:00
John Maguire
e79f578e1b Manually create rpmbuild directory 2019-10-03 02:21:27 +01:00
John Maguire
5b1cbcf3f3 Add make to fedora build 2019-10-03 02:12:38 +01:00
John Maguire
caee3b1a6f Actually checkout the code 2019-10-03 01:42:09 +01:00
John Maguire
3c92b908ee Fix workflow for Fedora 29 2019-10-03 01:26:58 +01:00
John Maguire
e4666e4266 Add Fedora 29 builder 2019-10-03 01:25:54 +01:00
John Maguire
bdd5180f04 Use gcp context 2019-10-03 00:58:40 +01:00
John Maguire
2875ef8224 Do not block upload on mac build 2019-10-03 00:52:22 +01:00
John Maguire
d28b226bfc Do not use environment for macos 2019-10-03 00:24:32 +01:00
John Maguire
adcc89c7cd Also make install for mac 2019-10-03 00:22:14 +01:00
John Maguire
55c0667ddc Add mac circleci config 2019-10-03 00:19:45 +01:00
John Maguire
09f680a254 Set service account name 2019-10-03 00:00:28 +01:00
John Maguire
9bf8e75a41
Fix creating output directory 2019-10-02 18:03:49 +01:00
John Maguire
0c5143a542
Persist artifacts in workspace for upload 2019-10-02 17:25:11 +01:00
John Maguire
ff20bceaa3
Fix path for disco artifacts 2019-10-02 17:17:44 +01:00
John Maguire
d50645ea23
Upload all artifacts at end 2019-10-02 17:17:06 +01:00
John Maguire
bf5e074ef5
Upload artifacts to GCP 2019-10-02 16:56:37 +01:00
John Maguire
43febfaf22
Fix dependency for disco 2019-10-02 16:29:44 +01:00
John Maguire
335c8a5a90
Update Bionic dependencies 2019-10-02 15:56:18 +01:00
John Maguire
fe84eebae4
Update disco dependencies 2019-10-02 15:54:52 +01:00
John Maguire
dc85614596
Add bionic & disco to workflow 2019-10-02 15:43:31 +01:00
John Maguire
321bceb4bf
Add bionic and disco builds 2019-10-02 15:42:20 +01:00
John Maguire
cab5ebc95e
Fix cmake_debian 2019-10-02 15:33:28 +01:00
John Maguire
cc80754f9a
Bump circleci version for commands 2019-10-02 15:27:54 +01:00
John Maguire
2cd6fcabd6
Build 32-bit & 64-bit xenial debs 2019-10-02 15:26:30 +01:00
John Maguire
49428d9a86
Store debian artifact 2019-10-02 15:05:24 +01:00
John Maguire
efce3603e8
Add git and ssh as dependencies 2019-10-02 15:05:12 +01:00
John Maguire
8581e22e2a
Non-interactive apt-get install 2019-10-02 14:52:00 +01:00
John Maguire
a0c3eb8234
Build from base ubuntu image 2019-10-02 14:50:33 +01:00
John Maguire
4df8c20981
Add CircleCI config 2019-10-02 14:33:40 +01:00
Clementine Buildbot
e2bc2eee90 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2019-09-24 00:24:59 +00:00
John Maguire
88131ec5f9
Merge pull request #6398 from aerusso/pulls/settings-autosave-timer
Periodically save settings
2019-09-19 10:20:05 +01:00
Clementine Buildbot
0c7b280b95 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2019-09-17 00:25:04 +00:00
Antonio Russo
c5c294ba14 fancytabwidget.cpp: reuse QSettings object
avoid excessive locking by reusing a common QSettings object in
loadSettings.
2019-09-10 18:41:18 -06:00
Antonio Russo
e2de5cd62e fancytabwidget.cpp: prefer QString to std::string
Consistently use QString, rather than creating a std::string and
immediately casting to std::string
2019-09-10 18:41:18 -06:00
Antonio Russo
ccaa59cc66 Periodically save current playlist tab
Building on the previous commit, we save the current playlist (tab)
periodically as well.

Signed-off-by: Antonio Russo <antonio.e.russo@gmail.com>
2019-09-10 18:41:18 -06:00
Antonio Russo
e66fdd86da Periodically save settings
Instead of immediately saving, which leads to poor performance,
and possible hardware damage (see #6057), limit saves to once
per second (similar to how KDE does it).  It also guarantees
that only one save is required per second, by sharing a QSettings
object, and establishes a signaling framework to put other
setting save events into (but only uses this for the two major
offenders: playlist tab switching and window resizing).

This is in contrast to 6a312e7, which simply deferred the save
until program exit, and caused problems for some people (see #6217
and #6209).

Signed-off-by: Antonio Russo <antonio.e.russo@gmail.com>
2019-09-10 18:41:18 -06:00
Clementine Buildbot
da6ff91241 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2019-09-10 00:25:00 +00:00
Clementine Buildbot
47f80d67c5 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2019-09-03 00:25:11 +00:00
Clementine Buildbot
b423808ddf Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2019-08-27 00:25:09 +00:00
Clementine Buildbot
3e7be7357e Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2019-08-22 11:13:28 +00:00
Clementine Buildbot
773f26a42d Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2019-08-22 10:30:35 +00:00
John Maguire
19f2712ce7
Merge pull request #6393 from luzpaz/misc-typos
Fix misc. source comment typos
2019-08-22 10:22:48 +01:00
luz.paz
fb93ae4b02 Fix misc. source comment typos
Typos found via `codespell`
2019-08-21 23:43:16 -04:00
John Maguire
e1affba4ba
Merge pull request #6386 from ronjouch/fix-rating-not-written-to-file
Fix ratings not saved to file tag (Fix #6385)
2019-08-09 10:26:33 +01:00
Ronan Jouchet
483be6ef7c Fix ratings not saved to file tag (Fix #6385)
Commit 96a7e18a8d2be8d9f3223a6a6c81fbaac1179869 by @smithjd15 from
2019-04-03 fixed a number of potential zero-value field values, but it
also flipped the early exit condition skipping saving a rating to file.

It seems out of place with the rest of the commit, so considering it a
mistake and reverting to the original condition.

Manually tested; works and saves again ratings to file.
2019-08-09 03:09:17 +02:00
Jonas Kvinge
546078c317 Fix memory leaks (#6376) 2019-08-02 16:24:26 +01:00
John Maguire
ec2e8be4d6
Merge pull request #6375 from jonaski/database
Fix memory leaks in database
2019-07-25 18:38:35 +01:00
Jonas Kvinge
8d921c15be Fix memory leaks in database 2019-07-25 19:02:43 +02:00
John Maguire
75f18dab23
Merge pull request #6374 from jonaski/qt5-update
Qt5 update
2019-07-24 11:51:48 +01:00
John Maguire
3694bcfc82
Merge pull request #6371 from areading/limit_tagclient_procs
Introduce limit for number of tag client processes.
2019-07-22 10:56:03 +01:00
Andrew Reading
c76697b42c Introduce limit for number of tag client processes.
Previously, the number of processes spawned was always
QThread::idealThreadCount() (returning the number of logical CPU
cores). On new systems with many cores, however, this can result
in 12, 16, 24, or ... processes being spawned, which is a bit
excessive.

This establishes a new config variable,
'max_numprocs_tagclients' within the Settings group, in order
to limit the maximum number of tag client processes that get
spawned. It also adds a means of setting this via the Behavior
page in Settings. It can be set to any integer in the interval
[1, QThread::idealThreadCount()]; it defaults to the maximal value
so as to emulate the old behavior.
2019-07-21 10:53:13 -07:00
Jonas Kvinge
66fdc935ac Fix formatting 2019-07-21 14:38:15 +02:00
Jonas Kvinge
1a2274bd2b Merge branch 'master' into qt5-update 2019-07-21 14:20:59 +02:00
John Maguire
b910cd402e
Merge pull request #6373 from jonaski/taglib
Add missing taglib configure checks
2019-07-21 08:55:23 +01:00
Jonas Kvinge
21762dd402 Add missing taglib configure checks 2019-07-20 21:40:14 +02:00
Clementine Buildbot
a2dcb33d84 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2019-07-20 17:55:03 +00:00
Jonas Kvinge
5bb35bf08a Fix crash in messagereply (#6372)
* Fix crash in messagereply

* Fix formatting
2019-07-20 18:52:37 +01:00
lordlethis
c9800a4dc9 Fix blank window when restoring from systray (#6351)
* Fix blank window when restoring from systray

This applies the fix qBittorrent used for this same issue:
https://github.com/qbittorrent/qBittorrent/issues/9240,
so credit goes to those guys

* Fix whitespace
2019-07-13 12:57:27 +01:00
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
John Maguire
9cdf0bb0f9
Merge pull request #6359 from hal7df/dbus-notification-fix
Support per-app notification settings in KDE Plasma 5.16
2019-06-17 10:14:08 +01: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
John Maguire
9af827b6ac
Merge pull request #6355 from Turpster/qt5
Fixed Complete Tags Automatically
2019-06-09 18:18:41 +01:00
Jonas Kvinge
9e85eb2c0f
Fix gst_buffer_unref assertion in chromaprinter 2019-06-09 10:29:41 +01:00
John Maguire
dd19df6ee4
Merge pull request #6354 from smithjd15/tagZeroValues
Fix a number of zero-value tag issues (New PR)
2019-06-05 10:16:10 +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
James D. Smith
32e867a84b clang-formatter changes. 2019-05-31 11:25:38 -06:00
James D. Smith
96a7e18a8d Fix a number of potential zero-value field values. 2019-05-31 11:25:38 -06: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
John Maguire
96c7374689
Merge pull request #6338 from jonaski/chromaprinter
Fix gst_buffer_unref assertion with chromaprinter
2019-04-27 17:39:21 +01: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
John Maguire
3b76fa6275
Merge pull request #6335 from aerusso/pulls/movable-section
setFirstSectionMovable() in playlistview.cpp
2019-04-23 00:46:19 +01: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
John Maguire
d52da64a73
Merge pull request #6334 from aerusso/pulls/revert-nvidia-blacklst
Revert "Blacklist all NVidia drivers"
2019-04-21 14:55:49 +01: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

c2723008a22c5a4c4e307ba9a278fd2162ef6bdb

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
James D. Smith
553c4013cf Merge remote-tracking branch 'upstream/master' 2019-04-15 18:07:05 -06: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
James D. Smith
2752d61d2a clang-formatter changes. 2019-04-01 22:23:04 -06:00
James D. Smith
2adf9d068d Improved support for APEv2 tags. 2019-04-01 22:22:03 -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
John Maguire
a7f3e1bb65
Merge pull request #6311 from jbroadus/fix-potential-memory-leak
Free decoder bin if error occurs during setup.
2019-03-24 13:45:26 +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
John Maguire
577248c24d
Assume Cocoa support 2019-03-21 11:09:13 +00:00
John Maguire
7885c61a39
Merge pull request #6310 from jbroadus/fix-unhandled-error-condition
Fix potential use of streamer element after deletion.
2019-03-20 10:10:48 +00: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
John Maguire
5171150e4f
Fix spotify blob detection on win32 2019-03-18 17:57:57 +00:00
John Maguire
106bb73aec
Merge pull request #6308 from jbroadus/issue-6302-gst-error-crash
Fix MoodbarPipeline crash on gstreamer error.
2019-03-18 14:19:49 +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
John Maguire
36cc5b82f4
Merge pull request #6283 from aliallaoui/qt5
Compile fix for qxt third party
2019-02-13 15:02:56 +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
Ali Allaoui
1176d9eb93 [qxt] No need to check qt versionat all, Qt 5.6 is required.
So just use QX11Info
2019-02-09 16:06:16 +01: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
John Maguire
610566d252
Merge pull request #6276 from jonaski/qt5-update
Update Qt 5 branch
2019-01-27 20:26:35 +00:00
Jonas Kvinge
c277cc5f6c Merge remote-tracking branch 'upstream/master' into qt5-update 2019-01-27 19:44:28 +01:00
Jonas Kvinge
956df42caa Add syntax to proto files 2019-01-27 14:56:07 +00:00
Jonas Kvinge
3256e81414 Update about 2019-01-27 14:55:50 +00:00
John Maguire
627a6fe486
Merge pull request #6271 from jonaski/qt5-update
Update Qt5 branch
2019-01-27 00:31:14 +00:00
Jonas Kvinge
d8788d6a0d Update qt5 branch 2019-01-27 01:00:36 +01:00
aqua36
c4d6424e96 ultimate_providers.xml: now handles colon correctly for genius.com (#6269) 2019-01-24 12:00:46 +00: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
eaac6672ab Update appdata (#6266) 2019-01-21 22:04:13 +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
d5eb07c6f0 Remove echonest (#6263) 2019-01-21 21:39:10 +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
Dmitriy Bogdanov
a82cc2f8a6 Update lyrics.com lyrics provider
* Fix "not found" detection.
* Also exclude footer.
2019-01-21 09:02:58 +00:00
Ali Allaoui
85558d242c [qxt] Compil fix for qt version > 5.6 2019-01-18 16:36:52 +01:00
John Maguire
f22e4acac6
Merge pull request #6257 from jonaski/qt5-update
Update Qt 5 branch
2019-01-18 03:25:13 +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
Martin Delille
6d50e0b041 Specify cpp11 compatibility Fix #6199 (#6237) 2019-01-15 17:54:08 +00:00
Jonas Kvinge
681f986f0f Fix global shortcuts using GSD D-Bus backend (#6251) 2019-01-09 04:11:28 +00:00
kz6fittycent
35386a1af8 PR for Clementine snap (#6018)
* Prepping for PR

* Security and interfaces

libssl1.0.0: 3611-1, 3628-1

desktop
desktop-legacy
wayland
2019-01-03 10:40:38 +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 4321ecf7d26c5eed577a97d230786bb9f56ea37f.

* 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
Rebecca Wallander
b789e4b4ee appdata.xml - Fix stray slash (#6232) 2018-12-06 19:47:28 +00:00
John Maguire
453270c8b5 Fixes for compiling against qt5 on mac 2018-12-05 18:16:34 +01:00
John Maguire
b57c5a77f7 Use c++0x instead of 11 for backwards compat 2018-12-05 14:02:01 +00: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
Rebecca Wallander
66b0912db7 Update appdata. (#6229) 2018-12-02 20:17:38 +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
John Maguire
d87307fbc7
Merge pull request #6224 from jonaski/qt5-update
Update Qt 5 branch
2018-12-01 13:05:24 +00:00
Jonas Kvinge
f579422643 Fix formatting 2018-11-30 20:43:21 +01:00
Mattias Andersson
6a37af7b42 Remove ultimate lyrics parser (#6225)
This tool was once used generate data/lyrics/ultimate_providers.xml from
the sites.js file. Judging by the file histories, recent changes has
been done directly in the xml file, bypassing this tool. Moreover,
sites.js has contained syntax errors for the past three years without
anyone noticing.

Furthermore, this tool is the only part of Clementine that uses
QtWebKit. Since support for this has been removed in both the master and
qt5 branch it won't build anyway.
2018-11-30 12:09:49 +00:00
Jonas Kvinge
1d954f2eb1 Fix USE_BUNDLE appearing twice 2018-11-29 23:31:38 +01: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
Jonas Kvinge
139bc1f5aa Convert NULL to nullptr (#6220) 2018-11-29 21:26:51 +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
John Maguire
3e48f7b152 Fix libsoup DLL name 2018-11-26 11:20:10 +00:00
John Maguire
e20f0d2554 Do not include echonest dll 2018-11-26 10:31:15 +00:00
John Maguire
b788f07c6d Include libsoup and libpsl DLLs 2018-11-25 22:11:21 +00:00
John Maguire
c583ddd9c8 Explicitly find dynamic version of glew 2018-11-25 22:11:06 +00:00
Alex Kong
0b54e1ff0b Updated accessibility check logic to fix Mojave crash 2018-11-24 18:36:34 +00:00
John Maguire
2d07ea716a Fix Fedora build 2018-11-22 21:11:37 +00:00
Jonas Kvinge
2affbafa9a Fix libspotify depend 2018-11-21 10:31:17 +00:00
Jonas Kvinge
647279a000 Move spotifyimages out of spotify support 2018-11-21 10:31:17 +00:00
Jonas Kvinge
4321ecf7d2 Make dbus optional to please CI 2018-11-21 10:31:17 +00:00
Jonas Kvinge
caedd6bcf4 Allow build without alsa on linux 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
Jonas Kvinge
e60a0d817e Set locale to make sure the date will be correct in the spec file (#6205) 2018-11-17 14:11:53 +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
John Maguire
b8eea8ccc1
Merge pull request #6198 from jonaski/qt5-update
Update Qt 5 branch
2018-11-12 17:53:12 +00:00
Jonas Kvinge
d4fab4a2ea Merge remote-tracking branch 'upstream/master' into qt5-update 2018-11-11 22:46:07 +01:00
Jonas Kvinge
f2f07d4c87 Update taglib comment i CMakeLists and add warning (#6197) 2018-11-11 20:53:48 +00:00
Jonas Kvinge
3cf7467bdf Bump taglib (#6196) 2018-11-11 20:53:28 +00: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
eclipseo
f7851b36ca Fix Appstream data installation target (#6180)
According to the Appstream specifications, Appdata files must now be installed
in /usr/share/metainfo. /usr/share/appdata is a legacy path.

See: https://www.freedesktop.org/software/appstream/docs/sect-Metadata-Application.html
and: https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html
2018-10-22 16:39:33 +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
Amish Naidu
58108dd0d0 Set OpenGL_GL_PREFERENCE to LEGACY to silence warnings on cmake 3.11+ 2018-10-04 23:47:31 +01:00
John Maguire
5156422a6b
Merge pull request #6157 from jonaski/qt5-update
Update Qt 5 Branch
2018-10-02 04:02:19 -07:00
Tanmay Gupta
7c1d0517d1 updated README (#6159) 2018-10-02 04:01:44 -07: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
c264725e78 Save tags for WavPack files (#6152) 2018-10-01 01:38:29 -07:00
Jonas Kvinge
758be9d6db Add missing ftsyear in device schema 2018-10-01 01:37:58 -07:00
John Maguire
8848d3c01a
Merge pull request #6149 from jonaski/qt5-update
Update QT 5 branch
2018-09-30 11:30:15 -07:00
Jonas Kvinge
c29c2e95cc Fixed merge conflicts 2018-09-30 15:11:06 +02:00
John Maguire
dbe8a877c4 Merge branch 'fix-sqlite' 2018-09-29 23:31:08 +01: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
John Maguire
1f5d6adf0c Cloud builder for transifex pull 2018-09-17 15:07:11 +01: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
John Maguire
792b320c0c Use seconds for timeout 2018-09-17 14:39:31 +01:00
John Maguire
7bc13781d2 Increase build timeout 2018-09-17 14:38:14 +01:00
John Maguire
90a0314a89 Add cloud builder for tx push 2018-09-17 14:36:12 +01: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
Mattias Andersson
c7f3ae93e0 Remove special copyright for fancytabwidget
Since revision 790fc2ff, the widget is no longer based on Nokia's version.
2018-07-22 21:21:09 +01:00
Mattias Andersson
765ee3461b Remove unused directory 3rdparty/fancytabwidget 2018-07-22 21:21:09 +01:00
raphj
292fd0b009 Use QString fromLatin1 instead of fromAscii
Methods QString::fromAscii and QString::toAscii have been deprecated in Qt 5 (https://doc.qt.io/qt-5/qstring-obsolete.html).
This commit replaces calls to QString::fromAscii by calls to QString::fromLatin1 and calls to QString::toAscii by calls to QString::toLatin1.
This allows successful build when merging branch master into branch qt5.
2018-07-11 13:40:01 +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
31002ca534 Resolve an ambiguous function call 2018-07-08 23:09:41 +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
John Maguire
d20c2244a8
Merge pull request #6092 from jonaski/qt5-update
Update Qt5 branch
2018-06-30 15:59:46 +01:00
Jonas Kvinge
0de964954d Replace toAscii/fromAscii with toLatin1/fromLatin1 2018-06-29 02:48:53 +02: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
41ed505277 Fix git revision string (#6083) 2018-06-13 09:38:56 +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
03261f5b8d Use bultin taglib as default
Only use systems taglib if it's newer than the current release because of audio file detection by content.
2018-06-06 22:59:21 +02:00
Jonas Kvinge
e0d2d9b424 Use taglib to check for valid audio file 2018-06-06 22:54:48 +02:00
Jonas Kvinge
ef5a23a3fe Bump taglib 2018-06-06 22:47:08 +02:00
aqua36
6f3032a1ec add genius.com as lyrics provider (#6073) 2018-06-04 09:55:09 +01: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
John Maguire
f00d9727c3
Merge pull request #6054 from Chocobozzz/qt5
Update Qt5 branch
2018-05-14 09:25:28 +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
John Maguire
bd096dcbc3
Merge pull request #6044 from a17r/qt-5.11
Fix cmake with Qt 5.11_beta3 (dropping qt5_use_modules)
2018-04-16 10:01:15 +01:00
Andreas Sturmlechner
a4e362b9f7
Fix cmake with Qt 5.11_beta3 (dropping qt5_use_modules)
One usage of the macro remains in the bundled libmygpo-qt5. This should
be updated once the pending upstream fix was merged. qtsingleapplication
is already fixed upstream.
2018-04-16 01:33:15 +02:00
John Maguire
776fb3830e
Merge pull request #6043 from TheUbuntuGuy/feature/mf.playnext
Add Play Next Option to Queue
2018-04-15 12:35:25 +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 f629d3731530bdfd512a53887abb48b9756087d2.
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
John Maguire
43e1b69229 Fix docker run command 2018-02-19 16:20:56 +00:00
John Maguire
c98a8cdae1 Experiment with building in docker on Travis. 2018-02-19 14:26:47 +00:00
Chocobozzz
a1a892b35e Fix "Invalid key" error in lastfm auth 2018-02-19 09:10:26 +00:00
John Maguire
33e1a9bc32
Update README.md 2018-02-14 23:30:47 +00:00
kleinfreund
2555595ce0 Determine operator enum instead of comparing with magic numbers 2018-02-12 19:13:36 +00:00
John Maguire
37262434b7
Merge pull request #5985 from kleinfreund/master
Smart Playlists: Add empty/not empty operators
2018-02-12 17:28:46 +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
John Maguire
ba777f6e03
Merge pull request #5906 from akinozgen/master
i've just translated readme for turkish users
2018-02-03 17:17:55 +00:00
John Maguire
b04367937a
Merge pull request #5976 from Chocobozzz/qt5
Upgrade Qt5 branch
2018-02-03 17:17:24 +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
Sveinn í Felli
efeafeea6c Update clementine.desktop (#5975)
Adding translation for Icelandic [is]
2018-02-01 08:16:33 +00: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
Andreas Sturmlechner
abf390729a Drop obsolete Qt5WebKit dep from CMakeLists.txt (#5954)
Fixes https://github.com/clementine-player/Clementine/issues/5945
2018-01-07 14:11:25 +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
John Maguire
d71651db7e Explicitly link libprojectm renderer to GLEW 2017-11-21 13:38:57 +01:00
John Maguire
7599b5771f Explicitly link qt to libclementine-common 2017-11-21 13:25:33 +01: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
Andreas Sturmlechner
b8381321c2 Properly find Qt5LinguistTools (#5913) 2017-11-21 09:59:48 +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
Akın Özgen
f150846b5a
recreate readme 2017-11-06 15:23:24 +03:00
Akın Özgen
3fde3d8514
translated to turkish 2017-11-06 15:22:24 +03: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
mananaBanana
62d1eb4457 Added Hindi translations for desktop file. Removed empty lines (#5876) 2017-10-04 17:00:05 +01:00
John Maguire
ba8a82bffa Merge branch 'mananaBanana-minorFixes' 2017-10-04 16:48:18 +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
John Maguire
913cc29186 Include xingmux plugin on mac.
Fixes #5231
2017-09-17 14:15:52 +01:00
Andrei Stepanov
4310b7ed01 Rename Mac OS X to macOS in README.md (#5861)
https://en.wikipedia.org/wiki/MacOS
2017-09-14 22:13:04 +01: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
d8135a96d0 Update letras lyrics site
Fixes #5802
2017-08-07 17:43:33 +01:00
John Maguire
95b59b8f63 Just cd for travis 2017-08-07 17:32:38 +01:00
John Maguire
186250cc77 Experiment with Travis CI 2017-08-07 17:28:48 +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
John Maguire
fbc2f78f88 Merge pull request #5751 from Chocobozzz/qt5
Update Qt5 branch
2017-07-07 21:20:27 +01: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
ZedPea
19b51111f8 Update lyrics.wikia parsing (#5773) 2017-06-27 16:00:54 +10: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
Jacob Henner
e7ec942256 Explicitly using python2 to prevent errors on py3-default systems 2017-03-13 18:58:15 +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
John Maguire
426118a4dc Revert "include opus support in windows build (#5648)"
This reverts commit 81c905bcf5f3a515fa29bb72f43b5b0c2d7fba59.

Breaks the windows build.
2017-03-06 18:23:17 +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
Nicolai J
81c905bcf5 include opus support in windows build (#5648) 2017-03-06 12:00:38 +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
Andreas
07f1ab6311 Change license for network remote protocol buffer meassages to Apache 2017-02-09 15:46:05 +01: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
John Maguire
987aa20b9d Merge pull request #5602 from Chocobozzz/qt5
update qt5 branch
2017-01-18 15:37:27 +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
Bigard Florian
3485bbe438 Workaround to spotify loading playlist issue (#5593) 2017-01-12 18:00:32 +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
09c4b05ec5 fix Windows build libmygpo-qt5 (#5581) 2017-01-09 23:25:13 +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
Pavel Vatagin
446b382c74 fix configure Windows build (Qt5) (#5586) 2017-01-09 14:19:54 +00:00
Pavel Vatagin
cb47beb4df fix Windows build qsqlite (#5583) 2017-01-09 14:19:18 +00:00
Pavel Vatagin
168ec9d7ab fix linking qsqlite (#5582) 2017-01-09 14:17:57 +00:00
Pavel Vatagin
f08cf3ed8e fix build (Qt5) qtwin (#5585) 2017-01-09 14:17:38 +00:00
John Maguire
87d12ffccf Use versioned FLAC DLL. 2017-01-06 15:57:37 +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
Golubev Alexander
789c4924f4 Fix a typo in a header guard (#5570) 2016-12-27 00:12:54 +00:00
John Maguire
265f27aff6 Fix libhogweed dll 2016-12-23 14:00:15 +00:00
John Maguire
43c2fad0e9 Excludes must go before directory in tar command.
Lovely that the behaviour changed in some random tar version between
Fedora 24 and Fedora 25...
2016-12-21 17:59:52 +00:00
John Maguire
230e8222f8 Bump DLL versions 2016-12-21 17:10:56 +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
f166780be5 Try building a more featureful dmg again 2016-12-20 17:34:28 +00:00
John Maguire
08e1db494d Create dmg with genisoimage & libdmg-hfsplus 2016-12-20 15:55:30 +00:00
John Maguire
809387c75a Revert "Add libdmg-hfsplus to 3rdparty"
This reverts commit 3662b5e4030c050e6f08b4897db8b63c137029f8.
Too much effort to build this for host vs. build system
2016-12-20 15:26:31 +00:00
John Maguire
ff8a970aac Revert "Add copyright for libdmg-hfsplus"
This reverts commit e91cc363dea0c96f728fa9dd6d3a87e0d7d6a353.
2016-12-20 15:26:14 +00:00
John Maguire
e91cc363de Add copyright for libdmg-hfsplus 2016-12-20 15:16:24 +00:00
John Maguire
3662b5e403 Add libdmg-hfsplus to 3rdparty 2016-12-20 15:16:00 +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
John Maguire
f829fd2d0d Use cross version of otool if available. 2016-12-19 12:54:23 +00:00
John Maguire
03428b53c2 Merge pull request #5561 from Chocobozzz/qt5
Update qt5 branch
2016-12-18 17:35:55 +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
ae4fac4b4f Use cross version of install_name_tool if available. 2016-12-15 11:43:47 +00:00
John Maguire
acc5e9f07c Use linux-compatible commands in mac script. 2016-12-15 11:37:01 +00:00
John Maguire
6f356592a5 Fixes for cross compiling for mac. 2016-12-15 11:36:05 +00:00
John Maguire
36d617a3a7 Merge pull request #5555 from Chocobozzz/qt5
[Qt5] Update from master
2016-12-13 19:42:47 +00:00
Chocobozzz
2096b1f268 Merge branch 'master' into qt5 2016-12-13 20:26:19 +01:00
John Maguire
d3ea0c8482 Merge pull request #5553 from Chocobozzz/master
Fix compilation with chromaprint >= 1.4
2016-12-13 18:11:44 +00: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
John Maguire
804d716e47 Merge pull request #5520 from nicolasmartinelli/master-endpoint
Fix Subsonic endpoint
2016-10-20 21:13:29 +01: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
Hugues Morisset
fa7bcff43d Fix undefined symbol error conversion from std::string to TagLib::String
Taglib version 1.9.1-2.4 on debian
2016-10-10 12:49:49 +01:00
John Maguire
9cf3024435 Merge pull request #5507 from Chocobozzz/qt5
Update qt5 branch
2016-10-07 14:49:05 +01: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
Arnaud Bienner
a4e2eabaa4 Bump 3rd party taglib to 1.11 2016-07-19 16:58:52 +02: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
Golubev Alexander
04f73d1253 Remove OnlyShowIn=Unity from clementine.desktop's action sections (#5444) 2016-07-18 10:45:03 +01:00
Mattias Andersson
516391a599 Urlencode file names in smart playlists (#5441) 2016-07-13 17:56:01 +01:00
Josef Vitu
32ed8ebba4 Back/Forward mouse buttons support (closes #4809) (#5440) 2016-07-12 21:47:42 +01:00
beedaddy
126ed1a551 Fix fetching cover art for taglib >= 1.11 (#5434) 2016-07-12 11:39:25 +01:00
John Maguire
8eae8d4538 Merge pull request #5435 from paperbagcorner/emptyimageresponse
Cope with empty spotify image responses
2016-07-12 11:00:49 +01:00
Clementine Buildbot
4b0b8576d9 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2016-07-11 10:00:48 +00:00
Mattias Andersson
deb1c638cc Cope with empty spotify image responses 2016-07-07 19:04:24 +02:00
John Maguire
1f95a23fd4 Remove non-static data member initializers 2016-07-06 14:26:45 +01:00
John Maguire
59415d5a5f Use old annotation names for backwards compatibility. 2016-07-06 12:03:39 +01:00
John Maguire
edece5c631 Fix git version naming 2016-07-06 11:54:33 +01:00
John Maguire
de046cdf40 Fetch whole wikipedia article (as extract).
Fixes #1112
2016-07-05 15:09:12 +01:00
Clementine Buildbot
f30db4b070 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2016-07-04 10:00:46 +00:00
John Maguire
eceb0ae8cf Merge pull request #5428 from paperbagcorner/focuslibrary
Switch to the library tab when using the 'Show in library' feature
2016-07-01 10:48:42 +01:00
Mattias Andersson
0b6d531bd3 Focus the library tab when using the 'Show in library' feature 2016-07-01 11:37:04 +02:00
John Maguire
678ea4c6d1 Fix fetching wikipedia images for unicode artists.
#5416
2016-06-29 14:58:03 +01:00
John Maguire
f0406ba86b Fix parsing of URLs from wikipedia.
#5416
2016-06-29 13:34:59 +01:00
John Maguire
13aa0adc84 Migrate to dropbox api v2 2016-06-29 12:16:08 +01:00
John Maguire
7750d5015e Cope with empty biography responses. 2016-06-28 18:22:15 +01:00
John Maguire
a9ba0f3bf2 Filter out bad wikipedia images better and support other locales better.
#5416
2016-06-28 16:28:20 +01:00
John Maguire
55af2b1d3b Add image fetching from wikipedia
#5416
2016-06-28 15:34:14 +01:00
John Maguire
7c0ef13bb7 Add artist biography from Google KG.
#5416
2016-06-28 14:16:23 +01:00
John Maguire
a8a0f2e4fd Remove echonest and update songkick concert fetcher.
#5416
2016-06-27 14:47:42 +01:00
Clementine Buildbot
f13288876f Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2016-06-27 10:00:53 +00:00
John Maguire
aeb493c016 Replace echonest artist images with spotify #5416 2016-06-22 14:54:57 +01:00
Clementine Buildbot
0a4eafafcd Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2016-06-20 10:00:41 +00:00
Clementine Buildbot
c96e33c6c7 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2016-06-13 10:00:47 +00:00
John Maguire
fde64e31b8 Remember filename & extension for saving playlists
Fixes #2951
2016-06-07 18:04:53 +01:00
John Maguire
ed26a7fb64 Merge pull request #5397 from TheUbuntuGuy/master
Fix pipeline with direct output to ALSA
2016-06-06 12:09:25 +01:00
Clementine Buildbot
b81e6e7596 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2016-06-06 10:00:52 +00:00
Mark Furneaux
41d323332a Fix pipeline wit direct output to ALSA
In the new version of gstreamer, alsasink supports floating samples, so it seems to be bypassing audioconvert.
Integer samples make downmixing work correctly.
2016-06-03 11:49:22 -04:00
John Maguire
3fc6208248 Merge pull request #5391 from Yanpas/tray_scrolling
Scrolling over tray icon support
2016-06-02 15:15:35 +01:00
Yan Pashkovsky
a879b8c7fd make format 2016-06-01 21:58:35 +03:00
John Maguire
6b90f69894 Fix typo 2016-06-01 11:46:52 +01:00
John Maguire
b90fb73480 Merge pull request #5394 from Chemrat/udisks2
Udisks2 support
2016-06-01 00:10:26 +01:00
Valeriy
ecaa9de788 fix variable names 2016-05-31 20:31:39 +03:00
Valeriy
1812f089b0 feed udisks2lister.* through format.py
add copyright headers
2016-05-31 18:31:00 +03:00
Valeriy
0172f7265b fix code style 2016-05-31 18:19:46 +03:00
Valeriy
cc6a99ef92 handle our unmount responses because those unmount jobs expire too fast
for jobs use dbus interface when possible
clean up the code a bit
2016-05-30 18:24:02 +03:00
Clementine Buildbot
aabce8c7ee Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2016-05-30 10:01:02 +00:00
Yan Pashkovsky
a9a616863d Scrolling over tray icon support 2016-05-30 02:12:03 +03:00
John Maguire
57d90abefb Merge pull request #5390 from FadeMind/qt5
QT5: Fix DESTINATION path for protocol files
2016-05-29 14:13:36 +01:00
Tomasz Przybył
84dcfeba05 clementine.spec.in: Fix path for protocol files 2016-05-29 15:04:25 +02:00
Tomasz Przybył
28274eacec kf5: Fix DESTINATION path for protocol files
protocol files are stored in `/usr/share/kservices5` PATH in Plasma 5
2016-05-29 14:56:18 +02:00
John Maguire
75f9439843 Merge pull request #5375 from Chemrat/master
disconnect GVolumeMonitor signals from GioLister before destroying it
2016-05-24 14:40:24 +01:00
Clementine Buildbot
1eb8e32ca4 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2016-05-23 10:05:26 +00:00
Valeriy
ed986d3863 UDisks2.Job interface support 2016-05-22 23:44:22 +03:00
Valeriy
68001ff7e8 udisks2: handle unmount jobs too, more verbose logging 2016-05-21 23:29:18 +03:00
Clementine Buildbot
4c3eb6135d Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2016-05-18 15:00:50 +00:00
Valeriy
d4e932db9a udisks2 support for devicemanager (refs #3264) 2016-05-17 22:56:16 +03:00
Valeriy
cbc7092ed9 fix code style 2016-05-17 14:47:02 +03:00
John Maguire
0beb6d3c59 Remove support for Amazon Cloud Drive. 2016-05-16 18:00:10 +01:00
John Maguire
641f343bf4 Merge pull request #5381 from TheUbuntuGuy/master
Fix caps on audio pipeline
2016-05-16 14:04:04 +02:00
Mark Furneaux
bcf29dc670 Fix caps on audio pipeline
Fixes #1747

The pipeline has the caps for the analyzer applied in the wrong place. This results in the audio output being limited to 16 bit regardless of the input file.
This change also cleans up the mono/sample rate caps as well.
2016-05-15 13:31:00 -04:00
Valeriy
806e689d1d replace foreach with range-based for 2016-05-11 19:00:30 +03:00
Valeriy
948140fab5 disconnect GVolumeMonitor signals from GioLister before destroying it
fixes #5369
2016-05-11 17:58:12 +03:00
John Maguire
afe34ee686 Merge pull request #5372 from Chocobozzz/qt5
[Qt5] Update from master
2016-05-09 12:10:34 +01:00
Chocobozzz
0aa3405274 Merge remote-tracking branch 'upstream/master' into qt5 2016-05-09 12:46:08 +02:00
Bigard Florian
e31278c056 Fix projectm compilation with GCC 6 (#5371) 2016-05-09 10:55:34 +01:00
Bigard Florian
f2fce34ad8 Fix spotify blob config path (#5370) 2016-05-09 10:55:16 +01:00
Clementine Buildbot
931b6aa2a8 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2016-04-25 10:00:43 +00:00
Vavooon
d019cb7f80 Initialize user_favorites_ and remove an excessive line
* Add Favorites support to SoundCloud

* Initialize variable and remove an excessive line
2016-04-21 21:03:58 +01:00
Vavooon
7ef095d0cb Add Favorites support to SoundCloud (#5345) 2016-04-20 13:03:48 +01:00
David G. F
f1825629db Qt5
* Fixing a couple of issues with subsonic in the qt5 port

* Forgot to add this fixes as well, otherwise won't play music!
2016-04-19 23:22:23 +01:00
David G. F
182e5c3034 Fixing a couple of issues with subsonic in the qt5 port (#5346) 2016-04-19 21:50:21 +01:00
John Maguire
1dfd71ea7f Merge branch 'release-1.3' 2016-04-19 18:00:00 +01:00
Marko Hauptvogel
2418b559a8 Fix rating preservation
This is a bugfix for commit bb5a952e to prevent deletion of database-only ratings.

(cherry picked from commit c0e08d42ed0b69f8ffb0809c2735f3ff7dfebce9)
2016-04-19 16:08:35 +01:00
John Maguire
44d6b930ac 1.3.1 2016-04-19 16:08:19 +01:00
John Maguire
363fde44dd Turn git revisions back on 2016-04-19 16:07:16 +01:00
John Maguire
22b7101023 Merge branch 'release-1.3' 2016-04-19 16:04:46 +01:00
Santiago Gil
0451240df8 Display a stream's URL if it lacks a title (#5333) 2016-04-18 15:20:07 +01:00
Clementine Buildbot
1ade25e9f3 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2016-04-18 10:00:58 +00:00
Arnaud Bienner
f2228de5c9 Add some tests for MergeUserSetData 2016-04-17 19:33:52 -07:00
Marko Hauptvogel
c0e08d42ed Fix rating preservation
This is a bugfix for commit bb5a952e to prevent deletion of database-only ratings.
2016-04-17 19:23:36 -07:00
John Maguire
97ee6d3202 1.3 release 2016-04-15 14:26:04 +01:00
Clementine Buildbot
205a77bfd3 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer)
(cherry picked from commit 003b258aabee3fd66cc4daa178a6cbb463d115c5)
2016-04-15 14:19:38 +01:00
Clementine Buildbot
72785a8f64 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer)
(cherry picked from commit 2e66eeb61f14595a357feeff20b774a70285ab2d)
2016-04-15 14:19:31 +01:00
Clementine Buildbot
4eaef4c004 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer)
(cherry picked from commit 23c0fe9f12147731fec3cb1a133045490c96659f)
2016-04-15 14:19:24 +01:00
Clementine Buildbot
d613258c98 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer)
(cherry picked from commit e2fbb8e966acaaad6c2517019a2a21ffe8a46e68)
2016-04-15 14:19:16 +01:00
Clementine Buildbot
4d48907fbb Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer)
(cherry picked from commit 357af2263b9efbbbfe3816b84c8a128f926e89ec)
2016-04-15 14:19:09 +01:00
Mildred Ki'Lya
3afa80bef0 Don't scan directories with .nomedia or .nomusic files (#5327) 2016-04-15 10:44:44 +01:00
Alex
11670e1760 Fix playlist behaviour (#5330)
* Do not restore playback state on application start if overwritten by command line options

This also fixes unwanted pausing if a new instance is started with commandline URL combined with playback restore.
Note that the actual buggy code (MainWindow::ResumePlayback()) is not fixed here.

* Fix for commandline URLs for new instances are always appended to playlist.
2016-04-12 15:53:43 +01:00
Clementine Buildbot
75d7179dd7 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2016-04-11 10:00:58 +00:00
Dmitriy Bogdanov
7e9f9802b0 Update AZLyrics parsing rule 2016-04-09 13:55:44 +01:00
John Maguire
ccfce616b8 Merge branch 'PanderMusubi-master' 2016-04-06 15:45:48 +01:00
John Maguire
6693a870ad Reformat intergalacticfm service 2016-04-06 15:45:25 +01:00
John Maguire
9291f09b1b Merge branch 'master' into PanderMusubi-master 2016-04-06 15:43:32 +01:00
John Maguire
b2c506656c Avoid redirects from IntergalacticFM 2016-04-06 15:42:25 +01:00
John Maguire
be958495fe Merge branch 'master' of https://github.com/PanderMusubi/Clementine into PanderMusubi-master 2016-04-06 15:30:28 +01:00
John Maguire
c224911e5b Merge pull request #5320 from Chocobozzz/qt5
[Qt5] Fix compilation error (wrong echonest include)
2016-04-06 15:29:49 +01:00
Clementine Buildbot
003b258aab Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2016-04-04 10:00:54 +00:00
John Maguire
9cb1ed5126 Require qt 4.8.1
This is the version present in Ubuntu Precise (LTS).
2016-03-31 15:06:59 +01:00
John Maguire
1489191794 Revert "Require Qt4.8.1 and CMake deprecate warnings ..."
This reverts commit e1124403fd7bf3d71e4fc0dcd87574e01c0f4846.

qdbusxml2cpp did not support new annotation names until 4.8.2
2016-03-31 15:06:14 +01:00
Chocobozzz
0605dd83a5 Fix compilation (wrong echonest include) 2016-03-30 19:29:30 +02:00
John Maguire
ed13d02231 Remove support for mpris1 2016-03-30 17:14:58 +01:00
John Maguire
807e4552e1 Merge pull request #5314 from ivan-leontiev/fix-globalsearch-sources
Move global search settings loading later in "MainWindow" initialisation
2016-03-30 16:44:34 +01:00
John Maguire
1d07be584e Fix annotations on mpris1 args. 2016-03-30 15:50:08 +01:00
John Maguire
9c33369fcc Merge pull request #5292 from printesoi/fix-mpris-signals
Fix mpris dbus notifications
2016-03-30 15:36:04 +01:00
Victor Dodon
3dd55e1c86 mpris2: fix format
Minor code refactoring:
- Use ternary operator in Mpri2::CanSeek
- Run make format
2016-03-29 21:29:47 -07:00
Ivan Leontiev
75d4731534 Move global search settings loading later in "MainWindow" initialisation
Fixes #5312.
2016-03-30 04:58:47 +03:00
David Sansome
2257dcd278 Merge pull request #5318 from goggle/master
Fixed compile error for the subsonic module.
2016-03-30 10:01:07 +11:00
John Maguire
d3285372e0 Merge pull request #5319 from clementine-player/revert-5270-master
Revert "Adding support for subsonic cover art download"
2016-03-29 21:13:02 +01:00
John Maguire
b20d0d87fd Revert "Adding support for subsonic cover art download" 2016-03-29 21:12:54 +01:00
Alex Seiler
6cc60d0cf8 Fixed compile error for the subsonic module. 2016-03-29 21:23:53 +02:00
John Maguire
ca487a5166 Merge pull request #5270 from davidgfnet/master
Adding support for subsonic cover art download
2016-03-29 16:44:21 +01:00
John Maguire
c22911815a Merge pull request #5285 from santigl/dummyBands
Add dummy bands to avoid #695
2016-03-29 15:35:43 +01:00
John Maguire
ecd7aa8fa8 Merge pull request #5316 from Chocobozzz/qt5
[Qt5] Update from master
2016-03-29 15:32:38 +01:00
Clementine Buildbot
2e66eeb61f Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2016-03-28 10:00:51 +00:00
Chocobozzz
cbd2a08432 Register metatype QAbstractSocket::SocketState 2016-03-28 11:50:52 +02:00
Chocobozzz
7c9d177755 Use Qt LTS 2016-03-28 11:40:37 +02:00
Chocobozzz
4898d20ce2 Merge remote-tracking branch 'upstream/master' into qt5 2016-03-28 11:38:22 +02:00
John Maguire
30c75f8032 Merge pull request #5313 from ivan-leontiev/fix-playlist-bs
Fix pressing "Backspace" key on a playlist results in appending "^H" character to the filter
2016-03-25 01:09:13 +00:00
Ivan Leontiev
9afd71c651 Fix pressing "Backspace" key on a playlist results in appending "^H" character to the filter 2016-03-25 03:45:33 +03:00
Clementine Buildbot
23c0fe9f12 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2016-03-23 16:52:38 +00:00
John Maguire
f482612127 Merge pull request #5306 from tronsgaard/master
"Stop after current" as command-line option
2016-03-18 19:40:45 +00:00
René Tronsgaard Rasmussen
129bf80830 Add option "Stop after this track" to the Unity launcher icon. 2016-03-18 20:22:13 +01:00
René Tronsgaard Rasmussen
8e70046e4b Add -q,--stop-after-current commandline flag 2016-03-18 20:21:34 +01:00
David Guillen Fandos
10bac1cd2d Fixing issues in the pull request. 2016-03-12 19:44:32 +00:00
John Maguire
25326b4f4a Merge pull request #5294 from pavelvat/fix_mxe_linking
Fix mxe linking
2016-03-12 15:42:18 +00:00
Pavel Vatagin
b2db55e772 fix "undefined reference to" for clementine when build in MXE 2016-03-12 18:14:40 +03:00
Pavel Vatagin
2792bce486 fixed "undefined reference to" for clementine-tagreader when build in MXE 2016-03-12 18:10:32 +03:00
Andreas
d7b2af3378 Add a template for issues 2016-03-11 15:49:26 +01:00
Victor Dodon
91c144478b mpris2: emit CanSeek notification in EngineStateChanged
When the engine status is Playing must emit the notification CanSeek
2016-03-10 21:29:09 +00:00
Victor Dodon
5b066991ab playlist: call InformOfCurrentSongChange only after updating the virtual index
Calling InformOfCurrentSongChange before updating the virtual index results in
sending the CanGoNext and CanGoPrevious notifications with the wrong values.
2016-03-10 21:20:53 +00:00
Victor Dodon
5f14e887a7 mpris2: more notifications in RepeatModeChanged
Emit CanGoNext, CanGoPrevious notifications in RepeatModeChanged
2016-03-10 21:20:17 +00:00
Victor Dodon
3cf6cdb925 mpris2: more notifications in CurrentSongChanged
Emit CanGoNext, CanGoPrevious, CanSeek notifications in CurrentSongChanged
2016-03-10 21:14:31 +00:00
Victor Dodon
c973c446e3 mpris2: add support for CanGoNext, CanGoPrevious, CanSeek 2016-03-10 21:11:05 +00:00
John Maguire
623293f4be Merge pull request #5265 from Ede123/playlist_icons
Make repeat/shuffle icons a bit darker
2016-03-10 12:04:24 +00:00
John Maguire
b33e2e9c3a Merge pull request #5287 from JulianVolodia/devel
Require Qt4.8.1 and CMake deprecate warnings ...
2016-03-09 17:54:37 +00:00
JulianVolodia
e1124403fd Require Qt4.8.1 and CMake deprecate warnings ...
... "com.trolltech.*" changed to "org.qtproject"
2016-03-09 18:26:43 +01:00
Santi
ed7375d7da Add dummy bands to equalizer (Fixes #695) 2016-03-08 15:26:45 -03:00
Clementine Buildbot
e2fbb8e966 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2016-03-07 10:00:42 +00:00
Chocobozzz
8cf6fc839c Use QWidget::grab instead of deprecated QPixmap::grabWidget 2016-02-29 18:16:09 +01:00
Chocobozzz
e6e189967d Merge remote-tracking branch 'upstream/master' into qt5 2016-02-29 18:03:02 +01:00
Clementine Buildbot
357af2263b Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2016-02-29 10:00:41 +00:00
David Guillen Fandos
e4efde900a Adding support for subsonic cover art download 2016-02-26 23:29:13 +00:00
Pander
1496d581cd Changed HTTPS to HTTP for Intergalactic FM 2016-02-25 17:37:45 +01:00
Clementine Buildbot
e7654d41a2 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer)
(cherry picked from commit 9252925a563b18b6e2158a7146feaa5963879543)
2016-02-22 18:36:54 +00:00
Clementine Buildbot
9252925a56 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2016-02-22 10:00:42 +00:00
Eduard Braun
3ce3dd884e Make repeat/shuffle icons a bit darker
With the previous icons there was almost no difference between enabled/disabled states in the UI
2016-02-21 03:27:17 +01:00
Simon Marchi
89e3d9851e moodbar: check QSlider max/min before using them in division
When switching playback from an item for which the moodbar is not
displayed (e.g. an internet stream), to an item for which it is
displayed (e.g. a local mp3 file), Clementine sometimes crashes.

This happens because the slider_opt->maximum and slider_opt->minimum
have the value 0 (their default value), and the difference is used as a
divisor.  This gives a division by 0, and a SIGFPE.

This problem has been fixed in commit af42cce.  However, when a9f9b0e
reverted 3f79fa5, a little to much was reverted and we lost what af42cce
did.  This patch re-introduces the fix.

Fixes #5261

moodbar: Add comment
(cherry picked from commit 725e1d8f0d91f4d9308473e65ef0a142efc47d4e)
2016-02-18 14:25:48 +00:00
John Maguire
51c1c36934 Merge pull request #5263 from simark/fix-moodbar-crash
moodbar: check QSlider max/min before using them in division
2016-02-18 14:17:58 +00:00
Simon Marchi
725e1d8f0d moodbar: check QSlider max/min before using them in division
When switching playback from an item for which the moodbar is not
displayed (e.g. an internet stream), to an item for which it is
displayed (e.g. a local mp3 file), Clementine sometimes crashes.

This happens because the slider_opt->maximum and slider_opt->minimum
have the value 0 (their default value), and the difference is used as a
divisor.  This gives a division by 0, and a SIGFPE.

This problem has been fixed in commit af42cce.  However, when a9f9b0e
reverted 3f79fa5, a little to much was reverted and we lost what af42cce
did.  This patch re-introduces the fix.

Fixes #5261

moodbar: Add comment
2016-02-18 09:15:44 -05:00
John Maguire
8d2911bc32 Cope with receiving no images from spotify
(cherry picked from commit 4cd20ffdaa7cd5aa5a780d3bdca682d453caf7f6)
2016-02-17 18:07:20 +00:00
John Maguire
4cd20ffdaa Cope with receiving no images from spotify 2016-02-17 18:06:30 +00:00
John Maguire
abc6370b00 Don't force native windows on OS X with qt5 2016-02-17 17:14:14 +00:00
John Maguire
2219f88484 Too clever for old GCC versions.
(cherry picked from commit 52c72f95ba9d8939d22db67d8e9f938f2e774bec)
2016-02-17 16:42:30 +00:00
John Maguire
52c72f95ba Too clever for old GCC versions. 2016-02-17 16:42:03 +00:00
John Maguire
d2e6282235 Clementine 1.3RC2 2016-02-17 16:38:19 +00:00
John Maguire
99b07fd707 Fetch artist images from spotify.
(cherry picked from commit 1304f8898eeedfaf434d81f1bf54105ce496d767)
2016-02-17 16:17:51 +00:00
John Maguire
4bba0fda09 Blacklist artist images from echonest using dead last.fm server.
(cherry picked from commit 5b4c0c920c98ab105146ed7b78218582c3624957)
2016-02-17 16:17:46 +00:00
John Maguire
42c21f0d03 Make image requests follow redirects
(cherry picked from commit a80e241bbe2d51e3e01641c53758a37d3909fa81)
2016-02-17 16:17:40 +00:00
John Maguire
1304f8898e Fetch artist images from spotify. 2016-02-17 15:55:37 +00:00
John Maguire
5b4c0c920c Blacklist artist images from echonest using dead last.fm server. 2016-02-17 15:55:37 +00:00
John Maguire
a80e241bbe Make image requests follow redirects 2016-02-17 15:55:32 +00:00
Clementine Buildbot
01a4387ac4 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer)
(cherry picked from commit b3d5cabdc142a894d635a57a321307b008ab2b69)
2016-02-17 13:32:05 +00:00
John Maguire
b0322e7e7d Cleanup ApplicationImpl 2016-02-15 17:41:39 +00:00
John Maguire
20bfade965 Hide Application classes behind pimpl.
This should also fix the build on windows where gcc gets confused as
libmygpo declares DELETE as part of an enum and mingw #defines DELETE in
winnt.h
2016-02-15 17:39:50 +00:00
Clementine Buildbot
b3d5cabdc1 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2016-02-15 10:00:41 +00:00
Santiago Gil
ad62c7476d Merge pull request #7 from clementine-player/master
Update
2016-02-14 02:01:41 -03:00
John Maguire
affb215a52 Move cover providers initialisation later in startup. 2016-02-12 16:25:01 +00:00
John Maguire
dcdd81d69f Moar Lazy migrations 2016-02-12 16:10:56 +00:00
John Maguire
b99b090adc Refactor simple dialogs to use Lazy 2016-02-12 16:01:35 +00:00
John Maguire
74e6a1744f Convert edit tag & settings dialog to Lazy. 2016-02-12 15:56:08 +00:00
John Maguire
589f2ff62e Lazy initialise organise dialog 2016-02-12 12:25:35 +00:00
John Maguire
0cf83b19ee Eagerly initialise TagReaderClient 2016-02-12 12:07:26 +00:00
John Maguire
86a6345995 Merge pull request #5251 from santigl/gainLabel
EqualizerSlider: move include from .h to .cpp
2016-02-11 18:03:18 +00:00
Santi
1fa4201926 EqualizerSlider move include from .h to .cpp 2016-02-11 14:59:39 -03:00
John Maguire
7d1abbda55 Don't connect action signals multiple times.
Fixes #5249
2016-02-11 17:07:00 +00:00
John Maguire
c7ca852433 Fix songkick concert fetching
(cherry picked from commit ce3ba02749632c08e0004b7de11970111d7ac501)
2016-02-11 17:00:21 +00:00
John Maguire
ce3ba02749 Fix songkick concert fetching 2016-02-11 16:59:40 +00:00
John Maguire
d06f337ade Remove special deletion of objects in threads.
Fixes #5250
2016-02-11 16:31:08 +00:00
John Maguire
729dc8e281 Merge pull request #5182 from abika/fix-fetch_edit_dialog
Fix bug in edit tag dialog when fetching (2)
2016-02-11 15:30:51 +00:00
John Maguire
f2daa772c1 Lazy initialise everything in Application. 2016-02-11 15:15:38 +00:00
Alexander Bikadorov
56e95839f0 Revert to iterator usage in edit tag dialog 2016-02-11 16:09:38 +01:00
John Maguire
6844dcc140 Remove unused variable 2016-02-11 14:19:01 +00:00
John Maguire
a7ca007e24 Tidy up lazy implementation. 2016-02-11 14:09:36 +00:00
John Maguire
4c8b1d8143 Add lazy initialisation helper. 2016-02-11 13:46:23 +00:00
John Maguire
ea12cfacac Merge pull request #5209 from narunlifescience/patch-1
move duplicated code to annonymous namespace static function
2016-02-11 11:58:06 +00:00
Arun Narayanankutty
b4fe7ac7e2 move duplicated code to annonymous namespace static function
update
2016-02-11 05:45:08 -06:00
John Maguire
0ea84e129e Merge pull request #5210 from narunlifescience/patch-2
Use icon loader for remaining icons
2016-02-11 11:24:09 +00:00
narunlifescience
b6bf54be6c remove magic numbers 2016-02-11 04:41:37 -06:00
John Maguire
100222477c Merge pull request #5218 from santigl/gainLabel
Add gain label to EqualizerSlider
2016-02-10 15:46:47 +00:00
Santi
ec89bd3ea2 Add gain label to equalizerSlider 2016-02-10 12:44:33 -03:00
Alexander Bikadorov
9d413ad01d Edit tag dialog: merged duplicate code 2016-02-09 21:56:22 +01:00
John Maguire
29668fcd6c Only set lastfm to https for liblastfm1
(cherry picked from commit 1cc889fbfc80ce6e3d2c4593f0efe9ef8f0a1b6c)
2016-02-09 15:17:55 +00:00
John Maguire
1cc889fbfc Only set lastfm to https for liblastfm1 2016-02-09 15:17:20 +00:00
John Maguire
be471e1792 Merge pull request #5181 from Korvox/master
OPML imports should prefer title to text attributes for podcast names
2016-02-09 14:05:10 +00:00
John Maguire
80bf644f8a Merge pull request #5214 from narunlifescience/patch-4
Remove unwanted lines from playlistcontainer
2016-02-09 13:59:15 +00:00
John Maguire
05c0d647f8 Merge pull request #5219 from narunlifescience/patch-5
use normal text color for volume
2016-02-09 13:56:15 +00:00
John Maguire
8dd933b265 Merge pull request #5233 from naokiiwakami/5151
Fix issue in checking existence of media files pointed by CUE files
2016-02-09 13:55:40 +00:00
John Maguire
be651acbca Merge branch 'master' of https://github.com/PanderMusubi/Clementine into PanderMusubi-master 2016-02-09 13:40:54 +00:00
John Maguire
3546bcf08d Don't leak AudioScrobbler.
(cherry picked from commit 20de7a1a811326aedf46648cd3382d383ad388cc)
2016-02-09 11:55:35 +00:00
John Maguire
270ff34d39 At least try to authenticate with last.fm over https
(cherry picked from commit ccedb0fdc6ca7fc2cf1a7d45a006635cd938b0f0)
2016-02-09 11:55:29 +00:00
John Maguire
3ef46f016f Revert "Don't use https since it's not supported on windows and ubuntu 12.04"
This reverts commit ab5e86fec9ec29b8fb4c114f74b3a4b9a95697d0.
2016-02-09 11:52:04 +00:00
Andreas
8b02ae592f Use desktopauth instead of mobileauth for last.fm
It now uses an oauth like authentication process so the user isn't required to enter the last.fm password in Clementine but rather authenticate through the last.fm website.

Updates #5028

(cherry picked from commit 6c726e3e382bdd28fd00a5e68725980ef0da91e1)
2016-02-09 11:50:39 +00:00
Clementine Buildbot
641b597447 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer)
(cherry picked from commit 9ba41411d3776da420b9c046c37b497fa7b8a677)
2016-02-09 11:48:57 +00:00
Clementine Buildbot
bfca46e224 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer)
(cherry picked from commit ac0aff5e813b264a2fe4a7d6c28ff142831fa58c)
2016-02-09 11:48:53 +00:00
Clementine Buildbot
9ba41411d3 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2016-02-08 10:00:52 +00:00
Pander
e361af3eed Support also highest quality playlist 2016-02-07 20:06:03 +01:00
Pander
646983d6a9 Added space in name 2016-02-07 18:47:04 +01:00
ArnaudBienner
50c1fcb112 Merge pull request #5213 from ivan-leontiev/fix-tree-view
Resolve some issues related to "AutoExpandingTreeView"
2016-02-07 00:32:24 +01:00
Pander
2d3af58873 Added header files for Intergalactic FM 2016-02-06 14:21:51 +01:00
Pander
dc534bbcef Added support for Intergalactic FM 2016-02-05 19:29:43 +01:00
John Maguire
20de7a1a81 Don't leak AudioScrobbler. 2016-02-04 17:13:42 +00:00
John Maguire
ccedb0fdc6 At least try to authenticate with last.fm over https 2016-02-04 17:12:42 +00:00
Andreas
ab5e86fec9 Don't use https since it's not supported on windows and ubuntu 12.04 2016-02-03 16:33:43 +01:00
Andreas
6c726e3e38 Use desktopauth instead of mobileauth for last.fm
It now uses an oauth like authentication process so the user isn't required to enter the last.fm password in Clementine but rather authenticate through the last.fm website.

Updates #5028
2016-02-03 15:33:46 +01:00
Clementine Buildbot
ac0aff5e81 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2016-02-01 10:00:50 +00:00
Naoki Iwakami
4cb57c0543 Fix issue in checking existence of media files pointed by CUE files 2016-01-30 16:31:10 -08:00
John Maguire
d92fe15123 Bump spotify lib & blob version.
(cherry picked from commit 8ef1d4cae2ddf8396f650046fa2d77d9041f8696)
2016-01-28 14:55:49 +00:00
John Maguire
8ef1d4cae2 Bump spotify lib & blob version. 2016-01-28 14:33:04 +00:00
Clementine Buildbot
5251801635 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer)
(cherry picked from commit e269cdc8ee103032b9178fd98ac55af4bd9f171c)
2016-01-27 15:30:34 +00:00
Clementine Buildbot
e269cdc8ee Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2016-01-25 10:00:52 +00:00
John Maguire
ffd09617ff Download spotify blob over ssl
(cherry picked from commit 9467babee478018eabfe480d0933dac79e9f9fb7)
2016-01-21 14:57:12 +00:00
John Maguire
9467babee4 Download spotify blob over ssl 2016-01-21 14:54:42 +00:00
Arun Narayanankutty
dd1dcb0b6b use normal text color for volume 2016-01-20 19:51:34 -06:00
Matt Scheirer
8193f6c2ec OPML imports should prefer title attributes to text attributes for podcast names 2016-01-20 18:05:22 -05:00
John Maguire
9056963225 Update copyright for arraysize 2016-01-19 16:07:21 +00:00
Clementine Buildbot
7add34a784 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer)
(cherry picked from commit 8eec78671ff3c72a4f27b033909c19a334ff147f)
2016-01-19 12:30:10 +00:00
Clementine Buildbot
8eec78671f Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2016-01-18 10:00:51 +00:00
Arun Narayanankutty
9a7732577d Remove unwanted lines from playlistcontainer 2016-01-16 07:06:27 -06:00
Ivan Leontiev
e5be225a39 Collapse current "AutoExpandingTreeView" branch if you press "Left" key under its root 2016-01-15 07:55:56 +03:00
Ivan Leontiev
780a34c0bc Make "AutoExpandingTreeView" animated by default
This adds dropdown animation to views which are derived
from "AutoExpandingTreeView" (internet, library, global search etc.)
2016-01-15 07:55:46 +03:00
Ivan Leontiev
b85d09cd9c Fix misbehavior when you double click after a single click on a tree item
This issue appeared as a side effect since the commit
bcaa9e4a37b732f91a36539e313937537be7aba2, which adds dropdown
animation to the library/internet view.

Reproduce:
Single/double click on a song item in library/internet view
then all double clicks on this item will be ignored, until you
single click on it once again.

The reason of this behavior in that the "setExpanded" method call from the
"ItemClicked" slot makes the invocation of the "mouseDoubleClickEvent"
method in the context where the view is in the "QAbstractTreeView::AnimatingState"
which makes impossible to emit "doubleClicked" signal, because it just
returns immediatelly (see http://code.qt.io/cgit/qt/qt.git/tree/src/gui/itemviews/qtreeview.cpp#n1849).

To get rid of this behavior we emit "doubleClicked" signal ourselves.
2016-01-15 07:55:19 +03:00
Ivan Leontiev
93aa5031c7 Fix autoscroll fail to follow the selection in "InternetView"
The cause of this issue was the missing call of the parent class
method in "InternetView::currentChanged".

Removed "InternetView::CurrentIndexChanged" signal along with
the "InternetView::currentChanged" method since it looks redundant,
the "InternetView::selectionModel" and its "currentChanged" signal
can be used instead, also it isn't used anywhere in the code.

Resolves: #4485
2016-01-15 07:51:15 +03:00
John Maguire
ac660dcf3d Use a simpler arraysize() implementation. 2016-01-14 16:14:13 +00:00
John Maguire
cdb89b7f60 Remove Amazon support from Changelog for now.
(cherry picked from commit f103bedf5b48104e97abc81f4454738a1cdfd191)
2016-01-14 15:28:45 +00:00
John Maguire
f103bedf5b Remove Amazon support from Changelog for now. 2016-01-14 15:28:28 +00:00
Arnaud Bienner
0972507ecc SoundCloud: add configure action to context menu
(cherry picked from commit 8579cce85cfe58df0d3c511287054efa021a3120)
2016-01-14 15:18:31 +00:00
Chocobozzz
bcd769c25a show settings dialog for difm when populate streams without a premium account
(cherry picked from commit ef58ce27e5dc4d1313153647a6d8a35f46d766db)
2016-01-14 15:18:03 +00:00
Arun Narayanankutty
29b8d308b3 Use icon loader for remaining icons 2016-01-14 06:10:54 -06:00
Arnaud Bienner
8579cce85c SoundCloud: add configure action to context menu 2016-01-14 00:04:36 +01:00
David Sansome
48ff15d29c Merge pull request #5200 from Chocobozzz/difm2
show settings dialog for difm when populate streams without a premium account
2016-01-14 07:10:13 +11:00
Chocobozzz
ef58ce27e5 show settings dialog for difm when populate streams without a premium account 2016-01-13 19:29:36 +01:00
Clementine Buildbot
08e6b9092a Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer)
(cherry picked from commit 3463b720c9b38d27212ba4c6fce3f9739d52e0fd)
2016-01-13 12:30:57 +00:00
Clementine Buildbot
6ef7bfb450 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer)
(cherry picked from commit 3271c06d107faecc106985b6c317195b6728ed7a)
2016-01-13 12:30:50 +00:00
Clementine Buildbot
3463b720c9 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2016-01-13 12:28:57 +00:00
Mattias Andersson
a6e3b2210e Use mp4mux instead of ffmux_mp4 when transcoding to aac
(cherry picked from commit d9c4e0844de12c973b9d9730c59bda91a55210b4)
2016-01-12 16:16:20 +00:00
John Maguire
ce77a0acb8 Merge pull request #5204 from paperbagcorner/mp4muxer
Use mp4mux instead of ffmux_mp4 when transcoding to aac
2016-01-12 16:15:31 +00:00
Mattias Andersson
d9c4e0844d Use mp4mux instead of ffmux_mp4 when transcoding to aac 2016-01-12 15:59:23 +01:00
John Maguire
c4c094aa71 Merge pull request #5193 from Chocobozzz/difm
Disable digitally imported for free user (premium account required)
2016-01-11 15:10:48 +00:00
Chocobozzz
3ab20defce Disable digitally imported for free user (premium account required) 2016-01-09 16:45:10 +01:00
Andreas
cced6cfc49 Execute global search always in main thread
Otherwise the timer doesn't work and the invoke of the closure fails (BlockingSearchProvider::SearchAsync).
This is because Q_ARG doesn't work well with templates and "QMetaMethod::invoke: Unable to handle unregistered datatype 'Arg'" is logged.
See closure.h "void Unpack(QList<QGenericArgument>* list, const Arg& arg)" and "Closure::Call".

This change was made because global search with the network remote didn't work anymore (network remote runs in a separete thread).

(cherry picked from commit bca26078505f8034af6da7ce73f54d0aed235f10)
2016-01-09 15:53:06 +01:00
Andreas
bca2607850 Execute global search always in main thread
Otherwise the timer doesn't work and the invoke of the closure fails (BlockingSearchProvider::SearchAsync).
This is because Q_ARG doesn't work well with templates and "QMetaMethod::invoke: Unable to handle unregistered datatype 'Arg'" is logged.
See closure.h "void Unpack(QList<QGenericArgument>* list, const Arg& arg)" and "Closure::Call".

This change was made because global search with the network remote didn't work anymore (network remote runs in a separete thread).
2016-01-09 15:45:11 +01:00
John Maguire
f6e7b02b7a Merge pull request #5190 from clementine-player/revert-5150-master
Revert "Add an option to inhibit suspend while playing"
2016-01-08 15:09:18 +00:00
John Maguire
c9b0bb2044 Revert "Add an option to inhibit suspend while playing" 2016-01-08 15:09:07 +00:00
John Maguire
dcadc98a5d Geolocate over ssl.
(cherry picked from commit 70070ee0bfa3075cc8454dd6681f213f7d5f71c7)
2016-01-08 12:14:15 +00:00
John Maguire
70070ee0bf Geolocate over ssl. 2016-01-08 12:09:13 +00:00
John Maguire
5d868573bc Merge pull request #5153 from nicklan/savedmanager
Add dialog for managing saved files
2016-01-08 11:56:01 +00:00
John Maguire
d7df6263cc Merge pull request #5171 from TheUbuntuGuy/master
Fix incorrect highlight colour in playlist when the window is inactive
2016-01-08 11:55:07 +00:00
John Maguire
2f7626e9d3 Merge pull request #5175 from ivan-leontiev/fix-vk-dupitems
Fix duplicate items under vk.com after login.
2016-01-08 11:54:38 +00:00
John Maguire
36c0e6645e Merge pull request #5180 from santigl/master
Enable Enter key shortcut in file view
2016-01-08 11:54:07 +00:00
John Maguire
a9b5947fb0 Merge pull request #5150 from narunlifescience/master
Add an option to inhibit suspend while playing
2016-01-07 18:32:29 +00:00
John Maguire
c1a6a771a8 Disable Amazon Cloud Drive for 1.3 release. 2016-01-06 18:25:33 +00:00
Andreas
1e9288e14d Fix transcoder settings not applied for network remote
The format was supplied, but the settings for the format was not applied when transcoding files for the network remote.

(cherry picked from commit ab000b1ba5492386c818a0e9d371481c8ed969b1)
2016-01-06 13:20:35 +01:00
Andreas
ab000b1ba5 Fix transcoder settings not applied for network remote
The format was supplied, but the settings for the format was not applied when transcoding files for the network remote.
2016-01-06 13:17:55 +01:00
Santiago Gil
3ed298a73d Enable Enter key shortcut in file view 2016-01-04 18:17:58 -03:00
Alexander Bikadorov
ff86ecddc5 Update modified fields boldness when fetching tags 2016-01-04 18:56:28 +01:00
Alexander Bikadorov
bad9e4af5e Fix for erasing old tag values when using tag fetcher, replacement for #51311 2016-01-04 17:13:37 +01:00
Clementine Buildbot
3271c06d10 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2016-01-04 10:00:40 +00:00
David Sansome
eabe451bd4 Use %{?dist} to get the rpm distro name, and remove the old Rpm.cmake
(cherry picked from commit 1f864f3522f9705c274014e2af98c2b25dd23e5a)
2015-12-31 16:03:04 +11:00
David Sansome
1f864f3522 Use %{?dist} to get the rpm distro name, and remove the old Rpm.cmake 2015-12-31 16:02:19 +11:00
David Sansome
6cec8e6e41 Build with -fPIC on fedora, as is now required (https://fedoraproject.org/wiki/Changes/Harden_All_Packages)
(cherry picked from commit e869086530572684000921f2abec6d96aaa7df1d)
2015-12-31 13:14:36 +11:00
David Sansome
e869086530 Build with -fPIC on fedora, as is now required (https://fedoraproject.org/wiki/Changes/Harden_All_Packages) 2015-12-31 13:07:08 +11:00
David Sansome
c54ab370ff Set the version to 1.3.0 RC1 2015-12-31 11:17:50 +11:00
David Sansome
3f8a6f9049 Update changelog for 1.3 2015-12-31 11:16:49 +11:00
David Sansome
a168b618d3 Rename "Import" to "Add directory" in the transcode dialog 2015-12-31 11:02:45 +11:00
Mark Furneaux
f90ca49340 Merge branch 'master' of https://github.com/clementine-player/Clementine 2015-12-29 12:00:30 -05:00
Clementine Buildbot
ef8787e461 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2015-12-28 10:00:38 +00:00
Ivan Leontiev
71247781eb Fix duplicate items under vk.com after login. 2015-12-26 01:06:17 +03:00
Mark Furneaux
041be5b4ce Fix incorrect highlight colour in playlist when the window is inactive 2015-12-24 13:42:47 -05:00
John Maguire
0a5334a52a Merge pull request #5170 from narunlifescience/patch-1
remove sites.js.diff (this patch is already applied to site.js)
2015-12-23 23:34:30 +00:00
Arun Narayanankutty
b15ebcd5d6 remove sites.js.diff (this patch is already applied) to site.js
Delete sites.js.diff
2015-12-23 13:56:51 -06:00
John Maguire
e15dec17a1 Merge pull request #5169 from santigl/master
Disable translation of shortcuts
2015-12-22 21:42:11 +00:00
Santi
98b042d29c Disable translation of shortcuts 2015-12-22 18:33:07 -03:00
Santiago
695dff867b Merge pull request #2 from clementine-player/master
Update from original
2015-12-22 17:54:46 -03:00
narunlifescience
16707f0934 move member variables only used by dbusidlehandler.cpp to anonymous namespace 2015-12-22 10:03:57 -06:00
John Maguire
0c97803f11 Merge pull request #5163 from Ede123/star_icon
Improve the star icon of `favoritewidget`
2015-12-22 14:28:23 +00:00
Eduard Braun
f68e4c8c87 Improve the star icon of favoritewidget
* Use the star icon in its native size (16 px × 16 px) instead of unnecessarily scaling it down by 1 px
* Center the star icon vertically
2015-12-21 22:25:32 +01:00
John Maguire
b3e2525170 Merge pull request #5160 from v-fox/moodbar-regression-fix
Avoiding usage of pixelMetric because it breaks on non-Oxygen styling
2015-12-21 18:59:41 +00:00
John Maguire
7555913b0c Merge pull request #5161 from Chocobozzz/master
Reload playcount from tagreader only if it is set
2015-12-21 18:48:32 +00:00
John Maguire
903a0ba8c3 Merge pull request #5162 from Ede123/start_icon
Synchronize width of start/pause icons on playlist tabs to prevent "jumping" content
2015-12-21 18:48:24 +00:00
John Maguire
c15a6c8ee9 Merge pull request #5166 from Chocobozzz/edit_tag_main_window
Add error message if editing tag from playlist fails
2015-12-21 18:47:57 +00:00
Clementine Buildbot
0f46967c00 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2015-12-21 10:00:48 +00:00
Chocobozzz
5675091816 Add error message if editing tag from playlist fails 2015-12-20 19:07:15 +01:00
Eduard Braun
1b4f2dacb6 Synchronize width of start/pause icons on playlist tabs to prevent "jumping" content 2015-12-19 19:44:22 +01:00
Chocobozzz
dfdb21cd61 Reload playcount from tagreader only if it is set 2015-12-19 19:42:52 +01:00
John Maguire
4db358aabb Merge pull request #5158 from Chocobozzz/master
Update Changelog
2015-12-15 11:58:11 +00:00
Chocobozzz
67a50436f4 Update Changelog 2015-12-14 19:20:46 +01:00
John Maguire
f770030b5e Merge pull request #5156 from Chocobozzz/qt5
[Qt5] Merge master into qt5
2015-12-14 12:55:39 +00:00
Clementine Buildbot
6205166823 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2015-12-14 10:00:40 +00:00
v-fox
a9f9b0ef72 Avoiding usage of pixelMetric because it breaks on non-Oxygen styling
Partial revertion for commit "3f79fa5c651f23e48faf1af6ca56dbff9e5660ab" because of
https://github.com/clementine-player/Clementine/issues/4770
2015-12-14 07:16:30 +05:00
Chocobozzz
ff7026c9fe Merge remote-tracking branch 'upstream/master' into qt5 2015-12-13 20:05:12 +01:00
David Sansome
170c64cd8b Link statically to libprotobuf from the spotifyblob 2015-12-14 00:02:07 +11:00
David Sansome
ea0480f32c Don't create Versions/4/4 symlinks 2015-12-13 17:55:48 +11:00
David Sansome
5a49fa4ad0 Fix an old bug in the dmg rule 2015-12-13 16:23:35 +11:00
David Sansome
978d849164 Create .xz instead of .gz for source releases 2015-12-13 15:52:30 +11:00
Nick Lanham
2ab1c2fe36 Add a Manager dialog for saved groupings
- Right now only allows removal
- Could also add support for adding/reordering, but it's not clear
  that's necessary
- Triggered from the Display options menu, could also be added to Tools
  toolbar menu
2015-12-11 19:49:51 -08:00
Nick Lanham
862b9a8635 Add saved grouping to the Group by menu 2015-12-11 15:58:06 -08:00
Nick Lanham
5c256f349a Add option to save current library grouping
- Adds saved groupings to the Group by menu
- Currently missing a way to manage saved groupings
- Saved groupings are in a new section of the config file as
   "GroupingName"->ByteArray serialization
2015-12-11 12:02:52 -08:00
narunlifescience
9f121f4a9d move dbus names to unique namespace -> dbusidlehandler.cc & other minor updates
fix InhibitwhilePlaying signals
2015-12-11 08:49:12 -06:00
David Sansome
d50cfd5293 Install frameworks into the app bundle properly so Mavericks considers them signed 2015-12-10 23:31:01 -06:00
narunlifescience
b13f0690c8 Add an option to inhibit suspend while playing
minor modifications
2015-12-10 03:20:29 -06:00
John Maguire
1f416ccee1 Merge pull request #5148 from nicklan/master
Add ampache=1 to getAlbum for playcounts
2015-12-09 10:38:21 +00:00
John Maguire
eb62a38425 Merge pull request #5149 from narunlifescience/master
restore resized star on/off png from #5089
2015-12-09 10:36:29 +00:00
narunlifescience
84a52893b4 restore resized star on/off png from #5089 2015-12-09 04:12:54 -06:00
Arnaud Bienner
64c184c2f5 Revert "use same colors for tiny-pause & tiny start icons as that of star icons"
This reverts commit aa813fa372ff1a4cd14a13c77c774e036668dad9.
2015-12-09 09:44:25 +01:00
Nick Lanham
ee7c9527a0 Add ampache=1 to getAlbum for playcounts
- Ampache recently added support for returning playcounts, if the client
  reports that it knows it's talking to an ampache server:
  1aaf01ae98

- This checks the type attribute on the ping request to see if
  Clementine is talking to an Ampache server, and if so, it adds
  ampache=1 to getAlbum requests, and uses the returned playcounts.
2015-12-08 14:15:56 -08:00
John Maguire
d47ee24962 Merge pull request #5138 from nicklan/master
Add "Smart Playlists" for subsonic
2015-12-08 12:26:18 +00:00
Nick Lanham
8dc6563718 Always pass size and count parameters, init to defaults 2015-12-07 11:00:03 -08:00
John Maguire
d256763dcb Update link to point to github
Fixes #5147
2015-12-07 14:37:44 +00:00
Nick Lanham
da537d9a4b use WaitForSignal 2015-12-03 17:25:00 -08:00
Nick Lanham
310cf001af Updates from hatstand's comments 2015-12-01 14:59:40 -08:00
John Maguire
dd469d4a35 Merge pull request #5137 from narunlifescience/master
use iconloader & cleanup previous remnants
2015-12-01 13:26:34 +00:00
narunlifescience
bc680f2755 compress svg icons 2015-12-01 00:51:31 -06:00
narunlifescience
aa813fa372 use same colors for tiny-pause & tiny start icons as that of star icons 2015-12-01 00:41:36 -06:00
narunlifescience
2603cf2088 use iconloader & cleanup previous remnants
update
2015-12-01 00:32:20 -06:00
Nick Lanham
d022f974a1 Add "Smart Playlists" for subsonic
Notes:
- These playlists allow access to the subsonic feature of pulling new, frequently played, and so on albums.
- See: http://www.subsonic.org/pages/api.jsp#getAlbumList for the subsonic description
- The subsonic api is inherently album oriented.  Therefore at the moment the "count" argument for GenerateMore is used as the number of albums to pull, which hopefully isn't a problem.
- Could be made more efficient by multi-threading the fetch of the songs for each album
2015-11-30 22:13:37 -08:00
John Maguire
f300946c81 Remove most usages of QFutureWatcher 2015-11-27 14:28:12 +00:00
John Maguire
2d61fe6c87 Changed my mind about automatically passing QFutures. 2015-11-27 12:04:14 +00:00
Arnaud Bienner
ec98a68c3d Update SLOT signatures.
There weren't update as part of commit 33494dcddcb64f9fccae215f1100cfa885c72039: this prevented the slider to be updated, among other things.
2015-11-27 11:44:59 +01:00
John Maguire
3cc9c1e446 Remove ModelFutureWatcher 2015-11-26 19:02:08 +00:00
John Maguire
33494dcddc Remove BoundFutureWatcher 2015-11-26 18:53:42 +00:00
John Maguire
689858026e Actually pass the finished QFuture back. 2015-11-26 18:42:12 +00:00
John Maguire
2cd15ff430 Add NewClosure overload for QFuture 2015-11-26 18:35:17 +00:00
John Maguire
bcaa9e4a37 Merge pull request #5130 from narunlifescience/master
add dropdown animation to library & internet tree view
2015-11-25 12:03:40 +00:00
narunlifescience
8020749375 add dropdown annimation to library & internet tree view 2015-11-24 19:35:07 -06:00
John Maguire
7aca13cece Merge pull request #5129 from Chocobozzz/taglib
Update taglib to 1.10.0
2015-11-24 18:44:49 +00:00
Chocobozzz
61fb0427c5 Update taglib to 1.10.0 2015-11-24 19:43:28 +01:00
John Maguire
398d619a15 Merge pull request #5128 from narunlifescience/master
Make a slight modification to library view line & preferences header line
2015-11-24 18:02:24 +00:00
John Maguire
bc05180c31 Merge pull request #5127 from paperbagcorner/network
Add missing calls to base class constructor
2015-11-24 17:57:05 +00:00
narunlifescience
f03d5356c3 Make a slight modification to library view line & preferences header line 2015-11-24 11:48:16 -06:00
Mattias Andersson
bbe7a48c27 Add missing calls to base class constructor. 2015-11-24 13:46:17 +01:00
John Maguire
e4966d1594 Merge pull request #5126 from narunlifescience/master
Fix boom analyzer, terbine & bar analyzer behaviour when paused
2015-11-24 11:30:36 +00:00
narunlifescience
e586829452 use emplace_back 2015-11-24 03:44:33 -06:00
narunlifescience
154da7b5c0 Fix boom analyzer, terbine & bar analyzer behaviour when paused
remove hidden file added
2015-11-23 12:54:08 -06:00
John Maguire
136c980b1a Merge pull request #5123 from narunlifescience/master
combine nyancatanalyzer & rainbowdashanalyzer(eliminate duplicated code)
2015-11-23 17:50:34 +00:00
narunlifescience
b77cb613e2 combine nyancatanalyzer & rainbowdashanalyzer(eliminate duplicated code)
update

minor modifications

format

add seperate classes for nyancat & dash

format

minor correction

restore previous name Nyanalyzer cat
2015-11-23 11:39:42 -06:00
John Maguire
fcd4f5095d Merge pull request #5125 from TheUbuntuGuy/fixnext
Set next track as current when removing tracks
2015-11-23 14:03:35 +00:00
Clementine Buildbot
0be554240f Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2015-11-23 10:00:34 +00:00
Mark Furneaux
9b42ee50ef Set next track as current when removing tracks
Fixes #5031
Attempt to set the song after the deleted tracks as the current so that they will play next rather than the beginning of the playlist.
2015-11-23 01:48:48 -05:00
John Maguire
4393f7e53f Merge pull request #5124 from TheUbuntuGuy/mmonfix
Respawn mainwindow on correct monitor
2015-11-22 11:42:00 +00:00
Mark Furneaux
fa0a9d315c Respawn mainwindow on correct monitor
PR #5081 created a regression where the mainwindow will always start on the primary monitor regardless of which one it was closed on when maximized. This restores previous functionality.
2015-11-22 00:35:27 -05:00
David Sansome
dd45181f4a Merge https://github.com/gpodder/libmygpo-qt/pull/9 2015-11-21 11:32:34 +11:00
David Sansome
50539ab46b Merge libmygpo-qt from HEAD (fd4e40a2a3c69d5b4ba94e483ddcbbf3541b5767) plus https://github.com/gpodder/libmygpo-qt/pull/8 to make it use HTTPS for API requests 2015-11-21 11:09:59 +11:00
John Maguire
1cf5e28030 Merge pull request #5120 from narunlifescience/master
Remove arrow indicators from mainwindow repeat & shuffle QToolButtons
2015-11-18 12:20:28 +01:00
narunlifescience
9314dcead8 Remove arrow indicators from mainwindow repeat & shuffle QToolButtons 2015-11-18 03:31:46 -06:00
Clementine Buildbot
3d035f3539 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2015-11-16 14:49:10 +00:00
John Maguire
125eb89b18 Merge pull request #5117 from narunlifescience/master
Add bollywoodlyrics.com & hindilyrics.net as lyrics providers for bollywood songs
2015-11-16 12:12:02 +01:00
narunlifescience
0ad40780ea Add bollywoodlyrics.com as lyrics provider for bollywood songs
Add hindilyrics.net
2015-11-15 20:30:57 -06:00
John Maguire
6de85589ba Merge pull request #5112 from narunlifescience/master
add volume icon label to background stream settings page
2015-11-12 13:45:11 +01:00
narunlifescience
5f580f1dd9 add volume icon label to background stream settings page 2015-11-12 03:16:00 -06:00
John Maguire
d55412d463 Merge pull request #5108 from narunlifescience/master
Forgot to edit seek time step label
2015-11-10 10:26:30 +00:00
narunlifescience
e2c4b1567c seek time step label
height
2015-11-09 19:51:58 -06:00
John Maguire
10014daaf2 Merge pull request #5107 from narunlifescience/master
Mouse wheel track slider Seeking
2015-11-09 14:20:18 +00:00
narunlifescience
e1657ab2e8 Mouse wheel track slider Seeking
event accept

make format
2015-11-09 08:14:38 -06:00
Arnaud Bienner
d9150ec165 Fix Clementine getting stuck when transitioning from a local track to a Spotify track with crossfade disabled.
Two problems here:
- the first was that "StartPlaybackLater" wasn't called from the thread which created SpotifyServer, so the timer never started.
- then the playback sometimes failed or started with an offset: just hack to ignore sourcedrained signal in this case.
2015-11-03 23:20:44 +01:00
John Maguire
a7ae275153 Merge pull request #5094 from terrorfisch/issue-3355
Fix 3355: Tag fetcher now ignores songs without any results
2015-11-02 13:02:46 +00:00
Clementine Buildbot
e0ce339383 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2015-11-02 10:00:35 +00:00
John Maguire
f92e88e321 Add support for inhibiting the screensaver on windows. 2015-10-30 16:45:51 +00:00
terrorfisch
f49ae2f792 Add new line at the end. 2015-10-30 15:17:23 +01:00
terrorfisch
a51baefde6 Resolve formatting issues. 2015-10-30 15:13:26 +01:00
terrorfisch
c75f046c10 FIX: Tag fetcher applies incorrect tags for songs without any results
Before this fix the fetched data of the first title was applied to all selected titles. If the other titles hat correctly fetched tags, this information was overridden by the correct data. So the error only occured in case of failure during fetching.
2015-10-30 12:44:12 +01:00
John Maguire
84cc26f8b3 Support trackNum elements in XSPF.
Fixes #5093
2015-10-28 16:17:52 +00:00
John Maguire
240605a011 Merge pull request #5089 from narunlifescience/master
fix rating half star issue
2015-10-26 13:06:31 +00:00
narunlifescience
2b5ad90ea8 fix rating half star issue 2015-10-26 06:21:04 -06:00
John Maguire
3da8701e63 Merge pull request #5087 from narunlifescience/master
Lock/Unlock Ratings edit status
2015-10-26 11:57:26 +00:00
Clementine Buildbot
6917c4f690 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2015-10-26 10:00:33 +00:00
narunlifescience
b9eca5e323 Lock/Unlock Ratings edit status 2015-10-24 23:05:23 -05:00
John Maguire
de85d4a989 Merge pull request #5081 from narunlifescience/master
remember normal window state when user closes clementine in maximized state
2015-10-21 15:12:50 +01:00
John Maguire
888134cc48 Merge pull request #5083 from clementine-player/revert-5077-master
Revert "Lock/Unlock Ratings edit status"
2015-10-20 18:39:47 +01:00
John Maguire
fad1767f6c Revert "Lock/Unlock Ratings edit status" 2015-10-20 18:39:42 +01:00
narunlifescience
6a11ac6162 remember normal window state when user closes clementine in maximized state 2015-10-20 04:44:42 -05:00
John Maguire
8208de9b53 Merge pull request #5077 from narunlifescience/master
Lock/Unlock Ratings edit status
2015-10-19 13:39:16 +01:00
Clementine Buildbot
8446c819cd Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2015-10-19 10:00:38 +00:00
narunlifescience
bcceae175d Lock/Unlock Ratings edit status
add comment

organize

unclutter

patch to work with other languages

Update playlistheader.cpp
2015-10-18 23:06:35 -05:00
John Maguire
b36b20f5f4 Merge pull request #5079 from zluca/master
Makes Clementine read "REM DISCNUMBER" from CUE.
2015-10-16 13:32:24 +01:00
zluca
78aea2c8f6 Makes Clementine read "REM DISCNUMBER" from CUE. 2015-10-16 15:17:18 +03:00
Arnaud Bienner
ab8c6dbb69 Use Cocoa actions for search field copy/cut/paste instead of trying to reimplement the same thing with some Qt.
So unlike previously, actions now also works as expected if some part of the text is selected, or if some text is already present (for paste action: doesn't replace previous text)
2015-10-15 19:46:01 +02:00
John Maguire
5984c881c6 C++11 initialization list doesn't compile on mac 2015-10-14 14:09:41 +01:00
John Maguire
3f9d7b0c43 pngcrush all pngs 2015-10-14 13:58:39 +01:00
John Maguire
5b64fedbb4 Merge pull request #5074 from narunlifescience/master
check custom icon location, then system theme & then fallback theme
2015-10-14 12:03:10 +01:00
narunlifescience
dd953fd86c check custom icon location, then system theme & then fallback theme
icons added & replaced
2015-10-13 22:35:49 -05:00
John Maguire
e0578a2622 Merge pull request #5062 from Chocobozzz/qt5
[Qt5] Fix the command line options when another instance is running
2015-10-12 15:32:57 +01:00
Chocobozzz
f5cd85c6de Fix the command line options when another instance is running 2015-10-12 14:07:10 +02:00
John Maguire
fd7843bdae Merge pull request #5073 from electric-indigo/revert-4984-master
Revert "Workaround for malfunctioning "Show in file browser" feature …
2015-10-12 12:34:45 +01:00
John Maguire
5e2a9983d3 Merge pull request #5070 from paperbagcorner/tracklengths
Show track durations in the CD ripper dialog.
2015-10-12 12:34:34 +01:00
Clementine Buildbot
5dea2a9148 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2015-10-12 10:00:30 +00:00
electric-indigo
2d2b037460 Revert "Workaround for malfunctioning "Show in file browser" feature in Linux" 2015-10-11 22:56:42 +02:00
Mattias Andersson
41d7d792ae Show track durations in the CD ripper dialog.
The duration in seconds is computed using integer division which should be close enough.
2015-10-11 12:18:15 +02:00
David Sansome
d51a1add86 Merge pull request #5069 from Ede123/master
Fixes for songinfo/lyrics
2015-10-11 13:46:46 +11:00
Eduard Braun
2e35e09c96 Songinfo/lyrics: Fix index error in "UltimateLyricsProvider::Extract"
(second argument to "QString,mid()" is number of characters, not end index)
2015-10-10 22:35:11 +02:00
Eduard Braun
b25101c1be Songinfo/lyrics: Improve generation of paragraphs
(generate new paragraph for two or more newlines, generate line break for single newlines)
2015-10-10 22:04:37 +02:00
John Maguire
3aac164f1e Reverse volume slider direction with horizontal scroll.
Fixes #5064
2015-10-08 13:31:29 +01:00
John Maguire
8f84a53273 Update soma.fm to use https 2015-10-06 17:44:54 +01:00
John Maguire
86ce06e779 Merge pull request #5060 from eduardosm/esm-branch1
Initialize blur_radius_ and opacity_level_ on PlaylistView constructor.
2015-10-05 18:31:48 +01:00
John Maguire
816ff54cb0 Merge pull request #5057 from Chocobozzz/master
Fix byte range requests with seafile (server >= 4.4.1)
2015-10-05 18:31:35 +01:00
Clementine Buildbot
d5d5267435 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2015-10-05 10:00:30 +00:00
Eduardo Sánchez Muñoz
95dad17f3e Initialize blur_radius_ and opacity_level_ on PlaylistView constructor. 2015-10-04 13:26:35 +02:00
Chocobozzz
847e3eefad Fix byte range requests with seafile (server >= 4.4.1) 2015-10-01 21:04:45 +02:00
Clementine Buildbot
daddbdea96 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2015-09-28 10:17:25 +00:00
John Maguire
589324e85c Merge pull request #5053 from redyoshi49q/double_click_playlist
consolidated the options for double clicking a playlist
2015-09-28 10:51:25 +01:00
Ethan Warth
262ea27ec0 consolidated the options for double clicking a playlist
see https://github.com/clementine-player/Clementine/pull/4991#issuecomment-140082879
2015-09-25 22:39:21 -05:00
John Maguire
6ba65276fd Nevermind, OneDrive does not support more than one redirect uri
Revert "Use new oauth endpoint"

This reverts commit a2bef07fd00616ea1abe7891afa057ba072a6937.
2015-09-25 17:09:43 +01:00
John Maguire
a2bef07fd0 Use new oauth endpoint 2015-09-25 17:06:35 +01:00
John Maguire
06e5b6750c Make Dropbox logout work. 2015-09-25 16:25:42 +01:00
John Maguire
415e6dc5e8 Port dropbox authentication to oauth2 2015-09-25 16:21:01 +01:00
John Maguire
a2f471d75d Remove task state from icecast service 2015-09-25 15:46:00 +01:00
ArnaudBienner
cc1b504bec Merge pull request #5050 from narunlifescience/master
make library view sort line themable
2015-09-22 10:19:57 +02:00
Arun Narayanankutty
ec60406f14 make library view sort line themable
set line color alpha to 100
2015-09-21 20:17:50 -05:00
John Maguire
cad2621434 Merge pull request #5048 from Ede123/master
Add Musixmatch as lyrics provider
2015-09-21 21:20:17 +01:00
Eduard Braun
12ac4ae063 Add Musixmatch as lyrics provider 2015-09-21 22:17:32 +02:00
John Maguire
c6e56813ef Merge pull request #5042 from narunlifescience/master
volume slider handle glow effect using system theme
2015-09-21 20:25:54 +01:00
narunlifescience
eaf79c3397 rename similar functions 2015-09-21 14:07:43 -05:00
narunlifescience
c2e11bed30 move functions to private section & rename a function 2015-09-21 13:25:31 -05:00
Clementine Buildbot
d7f10788c7 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2015-09-21 10:00:44 +00:00
Arnaud Bienner
399da3c7bc Convert cocoa key down/up pressed event to equivalent Qt events 2015-09-21 00:47:11 +02:00
Arnaud Bienner
774aeaaf11 Revert "clean up library view"
This reverts commit 97cbf556a0f5f372e508592fa45855a25ba026fd.
2015-09-21 00:23:30 +02:00
Arnaud Bienner
bfe5042132 Don't give focus to search box when setting the reseting the text to empty string on OS X, otherwise it will get focus when it doesn't need to 2015-09-21 00:21:39 +02:00
Arnaud Bienner
e83848edd1 Seems we don't need this anymore.
Not sure when it was needed at some point, but now pressing "Esc" correctly cleans the search field. And this code (which also cleans the search field) was triggered in other situation, when pressing Cmd+A for example.
2015-09-21 00:18:57 +02:00
narunlifescience
90c09d1d0a code optimized & added paintevent entry for theme change
Update sliderwidget.cpp
2015-09-19 00:28:59 -05:00
narunlifescience
85d4340bfe Merge remote-tracking branch 'upstream/master' 2015-09-18 14:57:32 -05:00
Arnaud Bienner
21ab4518d9 Change the way we give focus to the search bar on OS X. This prevents the text from being selected then accidentally erased by the user, when he starts typing with focus on the playlist view 2015-09-18 01:44:25 +02:00
narunlifescience
4d75fc086b volume slider handle glow effect using system theme
clean up
2015-09-17 16:19:57 -05:00
John Maguire
c5ff9edc40 Merge pull request #5040 from Chocobozzz/qt5
[Qt5] Merge master into qt5
2015-09-16 17:14:33 +01:00
Chocobozzz
631a6cdabd Merge branch 'master' into qt5 2015-09-16 17:40:54 +02:00
John Maguire
cdde9c99db Merge pull request #5038 from narunlifescience/master
change help_text QPalette to WindowText
2015-09-16 15:34:03 +01:00
David Sansome
651753867a Install libsqlite 2015-09-17 00:17:55 +10:00
Arun Narayanankutty
f1cae49ad9 change help_text QPalette to WindowText 2015-09-16 09:08:47 -05:00
David Sansome
1e7242afa5 Remove Radio GFM since it's no longer running 2015-09-16 22:37:01 +10:00
John Maguire
8757cb36c6 Merge pull request #5035 from narunlifescience/master
Volume pixmap render on the fly using system theme
2015-09-16 12:18:56 +01:00
narunlifescience
785a7ee717 changed variable name & comments added 2015-09-16 06:10:13 -05:00
narunlifescience
af8cccc1cd theme change check inside paint event 2015-09-15 16:43:52 -05:00
Arnaud Bienner
74781cb601 Add playlist actions to Spotify songs
Fixes #5000
2015-09-14 23:58:08 +02:00
narunlifescience
e269f7ae40 const & format 2015-09-14 07:38:07 -05:00
narunlifescience
aaec092454 Volume Pixmap render
volume pixmap
2015-09-14 06:50:46 -05:00
Clementine Buildbot
62851770a0 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2015-09-14 10:00:47 +00:00
John Maguire
f657f438ff Merge pull request #5030 from narunlifescience/master
volume text color palette
2015-09-10 18:22:43 +01:00
Arun Narayanankutty
9d3e3eb33a Update sliderwidget.cpp 2015-09-10 12:14:32 -05:00
Arun Narayanankutty
e2063fe78b volume text color palette
This modification makes the volume percentage text color match general text color.
2015-09-10 11:11:43 -05:00
John Maguire
ddade273d8 Merge pull request #5015 from narunlifescience/master
clean up library view
2015-09-10 11:13:55 +01:00
Arun Narayanankutty
97cbf556a0 clean up library view
library view sorts the library and display the contents in alphabetical order (bold letter/number followed by a line) . the line cannot be themed as it is hard-coded "QPen line_pen(opt.palette.color(QPalette::Dark))". Here i try to remove the line, align the letter to left and give the letter a highlight using QRect. this way it looks better and is completely themable ...
2015-09-10 03:52:35 -05:00
Clementine Buildbot
c11ffdb54c Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2015-09-07 10:00:45 +00:00
John Maguire
28e09c0ddd Merge pull request #5018 from redyoshi49q/double_click_playlist
Fixed default settings for double clicking a playlist
2015-09-02 11:33:57 +01:00
Ethan Warth
1df1260c6a fixing default settings for double clicking a playlist (oops) 2015-09-01 22:41:17 -05:00
John Maguire
d6aa395227 Merge pull request #5013 from obscenelysad/patch-1
Polish translations provider
2015-09-01 13:33:18 +01:00
Clementine Buildbot
5aa4a262a7 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2015-08-31 10:00:43 +00:00
obscenelysad
048ee427be Update ultimate_providers.xml
Tekstowo.pl offers lyric in original track language and polish translation. I just added polish translation as another provider based on tekstowo.pl
2015-08-30 04:33:20 +02:00
John Maguire
52579228ec Merge pull request #5007 from ivan-leontiev/fix-vk-autocaching
Fix inability to disable vk autocaching
2015-08-24 16:32:14 +01:00
Clementine Buildbot
d97e9aebb6 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2015-08-24 10:01:18 +02:00
Clementine Buildbot
2cfafbd160 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2015-08-21 15:02:00 +00:00
Ivan Leontiev
1ed85871e3 Fix inability to disable vk autocaching 2015-08-20 01:03:57 +00:00
John Maguire
509b4ccdba Merge pull request #5004 from ivan-leontiev/fix-nullptr-deref
Add condition against nullptr dereferencing to AnalyzerContainer::TogglePsychedelicColors()
2015-08-18 21:52:13 +01:00
Ivan Leontiev
651289ea26 Add condition against nullptr dereferencing to AnalyzerContainer::TogglePsychedelicColors() 2015-08-18 23:21:34 +00:00
John Maguire
15b33aff04 Merge pull request #4991 from redyoshi49q/double_click_playlist
Options for double clicking a song in the playlist
2015-08-17 12:59:53 +01:00
Clementine Buildbot
7dced352f2 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2015-08-17 10:01:14 +02:00
Ethan Warth
40d985c7f9 performed a make format 2015-08-14 15:48:01 -05:00
Ethan Warth
2356a9b591 Merge branch 'master' into double_click_playlist
this will allow the make format to happen without causing a merge conflict
2015-08-14 15:45:01 -05:00
John Maguire
fff58e772e Merge pull request #4992 from ivan-leontiev/fix-time-label-blinking
Fix time labels blinking when playing streams without known duration
2015-08-14 12:36:26 +01:00
John Maguire
e9b8dae2df Merge pull request #4986 from santigl/master
Save mood file as hidden on Windows
2015-08-11 19:27:32 +01:00
Santi
47d667934e Include windows.h 2015-08-11 15:15:26 -03:00
John Maguire
28b7459a82 Merge pull request #4984 from electric-indigo/master
Workaround for malfunctioning "Show in file browser" feature in Linux
2015-08-11 15:12:14 +01:00
Ivan Leontiev
e85424cdd7 Fix time labels blinking when playing streams without known duration 2015-08-10 12:01:42 +00:00
Clementine Buildbot
3b031d53ae Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2015-08-10 10:01:14 +02:00
Ethan Warth
a85f2e3076 fixed the miscellaneous bugs; time for a pull request! 2015-08-10 02:43:45 -05:00
Ethan Warth
a7a83b3953 double clicking playlist options should now be implmented
the code compiles; runtime testing will follow
2015-08-09 22:43:16 -05:00
Santi
5779385c8b Change warning message 2015-08-08 16:57:28 -03:00
Santi
3cd7641f2e Set mood file as hidden on Windows 2015-08-08 16:54:30 -03:00
Santiago
1ed5396e8e Merge pull request #1 from clementine-player/master
Sync with original repo
2015-08-08 16:42:17 -03:00
Tomasz Papież
d3387f8ef8 Workaround for malfunctioning "Show in file browser" feature in Linux
(issue #4877).
2015-08-08 01:18:41 +02:00
John Maguire
918ffd4d77 Merge pull request #4981 from ivan-leontiev/fix-handle-loadresult
Fixed checking of the original url in Player::HandleLoadResult()
2015-08-07 14:02:53 +01:00
Ivan Leontiev
eb8fad766f Removed default value for the parameter original_url in the UrlHandler::LoadResult() constructor and updated internet services according to this. 2015-08-05 19:45:56 +00:00
Ivan Leontiev
ae99716d9f Fixed check for the original url in the Player::HandleLoadResult() 2015-08-05 19:45:56 +00:00
John Maguire
f6af9748cc Fix mode on vk files 2015-08-04 17:16:10 +01:00
John Maguire
10860b70ae Merge pull request #4972 from santigl/master
Playlist sort by album considers disc and track numbers
2015-08-03 14:05:44 +01:00
John Maguire
5cc33e6caf Merge pull request #4973 from cako/master
Fixed #4091 - Reverted letras.mus.br to utf-8
2015-08-03 13:25:52 +01:00
John Maguire
66be5bf144 Merge pull request #4974 from TheUbuntuGuy/master
Bask in his glory on multiple monitors
2015-08-03 13:24:50 +01:00
Clementine Buildbot
72ef3f0ff5 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2015-08-03 10:01:16 +02:00
Mark Furneaux
3265abfdfc Bask in his glory on multiple monitors 2015-08-02 13:52:21 -04:00
Santi
5518dc8250 make format 2015-08-01 14:45:04 -03:00
cako
3b73103d2f Fixed #4091 - Reverted letras.mus.br to utf-8 2015-08-01 15:13:28 +01:00
David Sansome
6ffa9b2459 Install libgpod.dll on Windows 2015-08-01 19:32:14 +10:00
Clementine Buildbot
327da6e439 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2015-08-01 08:20:39 +00:00
Clementine Buildbot
e0dcab8056 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2015-08-01 08:09:53 +00:00
Santi
975b277bdb Sort by album considers discs and tracks 2015-07-31 21:38:06 -03:00
John Maguire
83e20a6ba2 Merge pull request #4970 from ivan-leontiev/fix-digitally-stuck
Fix Di.fm stations stuck when try them to play without internet.
2015-07-31 23:53:29 +01:00
Ivan Leontiev
6cf35d150e Fix Di.fm stations stuck when try them to play without internet. 2015-07-31 15:04:31 +00:00
John Maguire
edf67f5b10 Merge pull request #4967 from ivan-leontiev/fix-vk-search
Fix vk.com search
2015-07-30 14:24:09 +01:00
Ivan Leontiev
fe5db351e1 Fix UpdateMusic() call after adding/removing song 2015-07-30 15:33:10 +00:00
Ivan Leontiev
b97a0ef111 Fix vk duplication of search results. Added delay to vk search. 2015-07-30 15:33:10 +00:00
John Maguire
a43043e377 Merge pull request #4966 from ivan-leontiev/fix-slider-twitching
Fix track slider twitching
2015-07-30 12:39:52 +01:00
Ivan Leontiev
fe555c4892 Don't update track slider position when you hold it. 2015-07-30 14:22:40 +00:00
John Maguire
563104f016 Merge pull request #4959 from M-Bab/master
Cache and restore further mp3-file metadata-frames instead of cruel deletion
2015-07-28 11:04:45 +01:00
Martin Babutzka
bd3b953b08 Softened the metadata-editor behavior to not deliberately delete additional, valid frames which are stored in mp3-files.
Stashed commit of the following:

e54bcd2f058d186c2c919a84152ed5e8526047fc
Fixed bugs/comments from John Maguire

01c71c4c67be44dd6889498abc323a6d2d20dd99
Added description "Clementine editor" to new created lyrics frames.

70dfa0d1f177523ff897985ae022979cd052a6ed
Updated the SetTextFrame method as well:
Existing frames are cached and only the first frame (which is actually shown in the metadata editor) will be updated.
Prevents the cruel deletion of all other existing frames in a well defined mp3-file.

dfddf76eda417442c8c168eb8868038b0675cb10
Updated behavior of metadata-editor concerning lyrics (might follow for other id3v2-tag properties):
Existing further frames in the tags are not deleted but cached so only the true changes by the metadata-editor are applied on the edited frame.
Further frames in the metadata are preserved.
2015-07-27 22:52:29 +02:00
John Maguire
bb19361bd0 Merge pull request #4962 from Chocobozzz/qt5
Fix compilation with Qt5.5
2015-07-27 17:12:45 +01:00
Clementine Buildbot
e0c5f290fa Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2015-07-27 10:01:12 +02:00
Chocobozzz
7a866ac46b Fix compilation with Qt5.5 2015-07-26 09:54:19 +02:00
Ethan Warth
89e0e283a2 did more double click playlist work, prettified variable names 2015-07-22 02:10:04 -05:00
Arnaud Bienner
a56825048c Use lower case, like everywhere else on this page: this is more coherent, and also, we then have only one string to translate 2015-07-21 20:21:01 +02:00
Ethan Warth
20d25090fb work on adding UI options for double clicking songs in playlist 2015-07-21 02:41:49 -05:00
John Maguire
b2a532be62 Experiment with typesafe time units 2015-07-20 14:35:13 +01:00
John Maguire
1a968b3a64 Merge pull request #4957 from eduardosm/esm-branch1
mpris: Fix track not restarting when playing the first track on the…
2015-07-20 12:08:41 +01:00
Clementine Buildbot
5632ec2b6c Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2015-07-20 10:01:13 +02:00
Arnaud Bienner
59589494ae Fix a crash when changing 'group by' while album covers are still loading 2015-07-17 22:45:30 +02:00
Eduardo Sánchez Muñoz
f6fc7035ac mpris: Fix track not restarting when playing the first track on the playlist and menu_previousmode setting is PreviousBehaviour_Restart. 2015-07-17 20:01:02 +02:00
John Maguire
85858d7bbe Merge pull request #4955 from eduardosm/esm-branch1
Fix "menu_previousmode" setting not loading when opening the settings window
2015-07-15 17:58:45 +01:00
Eduardo Sánchez Muñoz
c051506fdd Fix "menu_previousmode" setting not loading when opening the settings window. 2015-07-15 18:46:18 +02:00
John Maguire
bce62a0558 Merge pull request #4938 from eduardosm/esm-branch1
Add option to change the time step when seeking using the keyboard.
2015-07-15 13:42:24 +01:00
John Maguire
d886609857 Merge pull request #4951 from Chocobozzz/master
Update changelog
2015-07-14 10:46:55 +01:00
Chocobozzz
cff2ffacb8 Update changelog 2015-07-14 11:41:14 +02:00
John Maguire
00f8e5b608 Merge pull request #4952 from Chocobozzz/qt5
Fix media global shortcuts which don't work
2015-07-14 10:36:39 +01:00
Chocobozzz
947f7a132e Fix media global shortcuts which don't work 2015-07-14 10:32:08 +02:00
John Maguire
6f5567a53d Merge pull request #4945 from TheUbuntuGuy/samplerate
Add sample rate selection
2015-07-13 13:43:52 +01:00
Clementine Buildbot
1d7d256c3c Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2015-07-13 10:01:10 +02:00
John Maguire
c2fd1e1a7b Merge pull request #4948 from TheUbuntuGuy/sonogram
Sonogram should stop scrolling when paused
2015-07-12 16:25:16 +01:00
Mark Furneaux
f68d983ddc Sonogram should stop scrolling when paused
Fixes #755
2015-07-11 23:12:44 -04:00
Mark Furneaux
e9494af3f7 Add sample rate selection
This change provides the ability to set a fixed pipeline sample rate as an alternate to automatically negotiating it.
This can be useful on systems with sound cards that work at a fixed rate, as well as it can triage issues (on Windows)
where changing tracks hangs due to a problem with gstreamer's caps negotiation.
2015-07-09 22:19:31 -04:00
John Maguire
66e50f654d Merge pull request #4943 from Chocobozzz/qt5
Fix echonest qt5 compilation issues with different GNU/Linux distributions
2015-07-09 12:43:23 +01:00
Chocobozzz
53af2bd75c Fix echonest qt5 compilation issues with different GNU/Linux distributions 2015-07-08 19:00:14 +02:00
John Maguire
e94ec8d119 Add Equifax root cert after Apple removed it.
Fixes #4942
2015-07-07 19:15:23 +01:00
John Maguire
fbe310b9b3 Merge pull request #4940 from TheUbuntuGuy/mono
Fix mono playback on certain configurations
2015-07-06 06:24:11 -04:00
John Maguire
bacbd544a4 Merge pull request #4939 from TheUbuntuGuy/osd
Fix Pretty OSD positioning on Windows
2015-07-06 06:23:42 -04:00
Clementine Buildbot
ef41ae3c8d Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2015-07-06 10:01:14 +02:00
Mark Furneaux
1eef335fb6 Fix mono playback on certain configurations
Gstreamer was failing to link the pipeline if 32bit could not be enabled.
We should just let gst autonegotiate the bit depth of the pipeline, which it does with mono disabled anyways.
2015-07-04 14:53:30 -04:00
Mark Furneaux
faa3b8b022 Fix Pretty OSD positioning on Windows
Fixes #1218
Windows uses the primary monitor as the origin for coordinates, so any monitor to the left or above the primary uses negative coordinates.
This would cause the OSD to always be displayed on the primary as the negative values would be set to 0.
2015-07-04 14:24:12 -04:00
Eduardo Sánchez Muñoz
75e94a64d1 Add option to change the time step when seeking using the keyboard. 2015-07-03 20:54:17 +02:00
John Maguire
159f1e4cf5 Merge pull request #4937 from diogocp/master
Send album artist to Last.fm
2015-07-03 10:35:39 -04:00
Diogo Pereira
68e7add076 Send album artist to Last.fm
Older versions of liblastfm do not support this, so it is only enabled
when compiling with liblastfm >= 1.0.0.
2015-07-03 15:17:12 +01:00
John Maguire
ebc5c143e3 Merge pull request #4936 from clementine-player/revert-4934-master
Revert "Send album artist to Last.fm"
2015-07-03 09:00:00 -04:00
John Maguire
745212d967 Revert "Send album artist to Last.fm" 2015-07-03 14:59:54 +01:00
John Maguire
d2124edc81 Merge pull request #4934 from diogocp/master
Send album artist to Last.fm
2015-07-03 06:39:26 -04:00
David Sansome
4091821378 Merge pull request #4935 from TheUbuntuGuy/mono
Add mono output support in the engine
2015-07-03 19:02:53 +10:00
Mark Furneaux
876cc0c4b6 Merge branch 'master' into mono
Conflicts:
	src/engines/gstenginepipeline.cpp
2015-07-02 20:33:13 -04:00
Mark Furneaux
eb537eb0a0 Add mono output support in the engine
Mono playback was removed from the pipeline in the transition to gst 1.0.
2015-07-02 20:25:14 -04:00
Diogo Pereira
d6ed1492b4 Send album artist to Last.fm 2015-07-02 18:04:10 +01:00
John Maguire
b349e798cd Merge pull request #4932 from eduardosm/esm-branch1
Make seeking with keys behaviour consistent.
2015-07-02 09:15:53 -04:00
Eduardo Sánchez Muñoz
999af101e6 Rename constant and put it inside an anonymous namespace. 2015-07-02 15:09:55 +02:00
John Maguire
fc2e2aa193 Merge pull request #4933 from Chocobozzz/qt5
[Qt5] Fix log messages (lines and classname)
2015-07-02 09:06:54 -04:00
Eduardo Sánchez Muñoz
11b61c2a67 Use Player::SeekForward() and Player::SeekBackward() to handle seeking with arrow keys. 2015-07-02 14:59:30 +02:00
John Maguire
c5caa27028 Merge pull request #4929 from TheUbuntuGuy/moodbaranalyzer
Add "Psychedelic Colour" mode to all analyzers
2015-07-02 08:44:10 -04:00
Mark Furneaux
8e2795c6a2 More readable toggle 2015-07-02 08:10:08 -04:00
Eduardo Sánchez Muñoz
758444de5f Make seeking with keys behaviour consistent. 2015-07-02 13:54:11 +02:00
John Maguire
625a995751 Merge pull request #4930 from eduardosm/esm-branch1
Fix song continuously rewinding when seeking using keyboard arrow keys.
2015-07-02 06:41:35 -04:00
Eduardo Sánchez Muñoz
5db60bf365 GstEnginePipeline: Rename last_known_position_ to last_known_position_ns_. 2015-07-02 12:34:24 +02:00
ArnaudBienner
ee5e0da600 Merge pull request #4931 from eduardosm/esm-branch2
Add missing set_originalyear() on Song::ToProtobuf().
2015-07-02 12:11:48 +02:00
Eduardo Sánchez Muñoz
622cf23798 Add missing set_originalyear() on Song::ToProtobuf(). 2015-07-02 00:53:31 +02:00
Eduardo Sánchez Muñoz
4af4e185da Fix song continuously rewinding when seeking using keyboard arrow keys. 2015-07-01 20:24:17 +02:00
Mark Furneaux
fa054eac22 Merge branch 'master' of https://github.com/clementine-player/Clementine into moodbaranalyzer
Conflicts:
	src/analyzers/boomanalyzer.cpp
	src/analyzers/turbine.cpp
2015-07-01 12:11:15 -04:00
Mark Furneaux
d684002795 Merge branch 'analyzerlove' into moodbaranalyzer
Conflicts:
	src/analyzers/boomanalyzer.cpp
	src/analyzers/boomanalyzer.h
	src/analyzers/turbine.cpp
2015-07-01 11:55:59 -04:00
Mark Furneaux
c102bf7fe6 Add "Psychedelic Colour" mode to all analyzers
(Well, except Nyanalyzer and Rainbow dash because they are already colourful enough.)

I have added functionality for any 2D analyzer to change any part of its colour palatte with the frequency content of the music, in the same way that Moodbars do.
I find this gives the analyzer a sort of "third dimention".
This is built into Analyzer::Base, so all analyzers can use it and override it as they please. I have thus added support for Block, Boom, Turbine, Sonogram, and Bar, however Boom and Block seem to look the best in my opinion.
This is of course all optional and is toggled by a checkbox in the context menu for the analyzer, disabled by default.
I have not been able to measure any increase in CPU activity with this enabled, even at 60fps.
2015-07-01 11:48:03 -04:00
John Maguire
7bac8cb451 Merge pull request #4924 from TheUbuntuGuy/analyzerlove
Update Boom and Turbine analyzers
2015-07-01 10:55:32 -04:00
Mark Furneaux
8c1af2dc0d Refactor variables and constants 2015-07-01 10:52:12 -04:00
John Maguire
42fd4d7875 Merge pull request #4928 from eduardosm/originalyear-tag
Add full rescan reason for original year tag support.
2015-07-01 09:38:11 -04:00
Eduardo Sánchez Muñoz
4722477b1e Add full rescan reason for original year tag support. 2015-07-01 15:33:25 +02:00
John Maguire
f126f5f2b0 Merge pull request #4925 from eduardosm/originalyear-tag
Add support for original year tags
2015-07-01 09:07:43 -04:00
Eduardo Sánchez Muñoz
ef1992570b Define some original year tag keys as constants and enclose some if bodies with {}. 2015-07-01 15:02:52 +02:00
Eduardo Sánchez Muñoz
8dd4506697 Add support for more original year tags. 2015-07-01 00:50:19 +02:00
Eduardo Sánchez Muñoz
c46fb5eec7 Code formatting fixes 2015-06-30 19:51:01 +02:00
Eduardo Sánchez Muñoz
acef48df5d Support showing original year tag on the playlist. 2015-06-30 19:25:38 +02:00
Eduardo Sánchez Muñoz
e0816800b1 Add support for original year tags. 2015-06-30 18:34:34 +02:00
Clementine Buildbot
127ee5f5f1 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2015-06-29 10:01:18 +02:00
Mark Furneaux
4ecc95977a Update Boom and Turbine analyzers
Boom and Turbine remain small fixed-size analyzers with a few issues with regards to colours.
This update attempts to remedy these issues.
Changes:
-Both analyzers now resize to fit the size of their container, and scale to the lower frequencies if in a small window
-The colour now does not change as the main window gains/loses focus
-The peak bars now use a colour which is actually visible (I did't even know they existed before!)
2015-06-26 16:40:25 -04:00
John Maguire
73ae416534 Merge pull request #4920 from chtfn/patch-1
duplicate, typo
2015-06-23 06:16:02 -04:00
chtfn
97b7d8fae1 duplicate, typo 2015-06-23 11:50:13 +10:00
John Maguire
0e8e40267e Merge pull request #4913 from TheUbuntuGuy/blockanalyzerocd
Bound the Block Analyzer's column count
2015-06-22 10:37:49 -04:00
Clementine Buildbot
f8d60b6950 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2015-06-22 10:01:28 +02:00
Mark Furneaux
36d885b73d Bound the Block Analyzer's column count
As it stands, the block analyzer just chops off columns to the right if the window is too small and always internally runs off 256 columns. Since the analyzer is bounded to 256 colums, this qMax bound is totally pointless.
It also makes the demo asymmetrical which trips up my OCD whenever Clementine is idling...
2015-06-20 00:09:38 -04:00
John Maguire
1323af5025 Merge pull request #4910 from Chocobozzz/global_shortcut
Add love/ban (lastfm) global shortcuts
2015-06-17 09:49:19 -04:00
John Maguire
ad09f03c44 Merge pull request #4909 from Chocobozzz/tab_smart_playlist
Add ability to add a search term with tab and space in the smart playlist window
2015-06-17 09:48:41 -04:00
Chocobozzz
7b8552ab6d Add love/ban (lastfm) global shortcuts 2015-06-17 14:21:24 +02:00
Chocobozzz
f5d0759559 Add ability to add a search term with tab and space in the smart
playlist window
2015-06-17 13:57:51 +02:00
John Maguire
5f2c55a242 Merge pull request #4905 from TheUbuntuGuy/master
Add track intro mode
2015-06-16 15:22:37 -04:00
Chocobozzz
e821314e34 Fix deprecated pixmap grab method 2015-06-16 20:07:11 +02:00
Chocobozzz
149e870ab4 Fix log messages (lines and classname) 2015-06-16 19:58:36 +02:00
John Maguire
3a76e4040c Merge pull request #4908 from paperbagcorner/consistent-naming
[Ripper] Use consistent names for replacement strings
2015-06-16 10:57:52 -04:00
Mattias Andersson
aad6401cec Use consistent string replacment scheme
Make the CD ripper dialog use the same naming scheme for replacement
strings as the organise dialog.
2015-06-16 16:47:20 +02:00
John Maguire
26b629618c Merge pull request #4907 from Chocobozzz/qt5
[Qt5] Fix compilation error when we don't have qt4 include directories for lastm/echonest
2015-06-16 10:07:04 -04:00
Chocobozzz
e816131bf3 Fix compilation error when we don't have qt4 include directories for
lastm/echonest
2015-06-16 15:36:14 +02:00
Mark Furneaux
105ce0dbb7 Fix compile issue in outgoingdatacreator.cpp 2015-06-15 16:28:41 -04:00
Mark Furneaux
f4b7c22bc2 Revert "Revert "Add track intro mode""
This reverts commit ece262f7f49dec4b3ee9dbe5b386823f4bcc4dfd.
2015-06-15 16:27:40 -04:00
Mark Furneaux
b643e83167 Revert "Fix compile issue"
This reverts commit cb7a5c49c21ba3d2267a64651d06e1ab3aa0e256.
2015-06-15 16:26:23 -04:00
Mark Furneaux
116473c687 Merge branch 'master' of https://github.com/clementine-player/Clementine
Conflicts:
	src/networkremote/outgoingdatacreator.cpp
2015-06-15 16:19:58 -04:00
Mark Furneaux
cb7a5c49c2 Fix compile issue 2015-06-15 16:03:48 -04:00
John Maguire
b077fe97cf Merge pull request #4904 from clementine-player/revert-4903-master
Revert "Add track intro mode"
2015-06-15 15:49:14 -04:00
John Maguire
ece262f7f4 Revert "Add track intro mode" 2015-06-15 15:49:08 -04:00
John Maguire
b674f33dfb Merge pull request #4901 from Chocobozzz/qt5
[Qt5] Fix compilation error and adapt spotify part to Qt5
2015-06-15 15:16:52 -04:00
John Maguire
17786b2851 Merge pull request #4902 from paperbagcorner/mb
Parse the year of a disc from musicbrainz.
2015-06-15 15:16:34 -04:00
John Maguire
c31b6f7a05 Merge pull request #4903 from TheUbuntuGuy/master
Add track intro mode
2015-06-15 15:07:43 -04:00
Clementine Buildbot
ab2ff520a8 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2015-06-15 10:01:18 +02:00
Mark Furneaux
b57cebbf2d Add track intro mode
This repeat mode plays the beginning of each track, good for quickly getting a feel for a new album for example.
2015-06-14 13:32:58 -04:00
Mattias Andersson
32b2afbb97 Parse the year of a disc from musicbrainz.
Run make format
2015-06-14 08:56:50 +02:00
Chocobozzz
43c98fd74e Adapt spotify part to qt5 2015-06-13 23:01:52 +02:00
Chocobozzz
98a450ad77 Fix compilation error (logging macros) 2015-06-13 20:51:18 +02:00
Andreas
0abdf545a0 Network remote: Insert Song as well as urls. Is used for global search to add metadata for non library tracks. 2015-06-13 16:00:15 +02:00
John Maguire
72ff942f33 Merge pull request #4900 from Chocobozzz/master
Add ability for sort by group and performer in the library view
2015-06-12 10:45:13 +01:00
Chocobozzz
d82b0f8a5a Add ability for sort by group and performer in the library view 2015-06-11 22:45:34 +02:00
John Maguire
c8b4612f66 Merge pull request #4896 from Chocobozzz/qt5
[Qt5] Fix release compilation and set cmake min version to 2.8.11
2015-06-11 18:18:51 +01:00
Chocobozzz
d755d5b602 Use functions instead of macros for logs 2015-06-11 18:11:19 +02:00
John Maguire
971df03b6d Merge pull request #4890 from M-Bab/master
Improvements to the ID3-tag lyrics capabilities
2015-06-11 13:25:19 +01:00
Chocobozzz
369ff1be23 Update cmakelists min version to 2.8.11 2015-06-11 12:10:07 +02:00
Chocobozzz
4943bca877 Fix release compilation error because of qt_no_debug_output flag 2015-06-11 11:35:30 +02:00
Martin Babutzka
0b16dad50f - Fixed decoding of non-ASCII lyric texts
- Lyrics can now be viewed/edited in the metadata-editor

Squashed commit of the following:

commit 0851f619c27348e3ceeaf31a8edc3a567ccee99c
Author: Martin Babutzka <martin.babutzka@online.de>
Date:   Wed Jun 10 21:21:50 2015 +0200

    'make format' and brackets in a condition clause.

commit bab7a1d07af3bc53034e3883d352ae6d4dd33e2a
Author: Martin Babutzka <martin.babutzka@online.de>
Date:   Sun Jun 7 01:51:31 2015 +0200

    Added capability to SAVE lyrics frames to mp3 files in tagreader.
    Improved scaling properties of edittags dialog.

commit 4bd71a2d6a4479a664bf8b5b3ead05c23c86e15d
Author: Martin Babutzka <martin.babutzka@online.de>
Date:   Sat Jun 6 23:33:22 2015 +0200

    Updated lyrics tag buddy to lyrics

commit 2ceb8967f67e76a0f78b25a7a128c4429a93bcd9
Author: Martin Babutzka <martin.babutzka@online.de>
Date:   Sun May 17 18:52:33 2015 +0200

    Add lyrics field to tag editor

commit 04b65e33a83e449055659a72a283954311a12fb7
Author: Martin Babutzka <martin.babutzka@online.de>
Date:   Fri May 8 23:24:02 2015 +0200

    Using decode method to fix non-ASCII letters.
2015-06-10 21:23:40 +02:00
John Maguire
cc079eceda Merge branch 'Chocobozzz-qt5' into qt5 2015-06-09 18:25:41 +01:00
John Maguire
b5fb108144 Merge branch 'qt5' of https://github.com/Chocobozzz/Clementine into Chocobozzz-qt5 2015-06-09 18:25:33 +01:00
John Maguire
88bce5115f Merge pull request #4887 from TheUbuntuGuy/master
Fix context menu for the NowPlayingWidget in Windows
2015-06-08 16:38:36 +01:00
Clementine Buildbot
29aaff1675 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2015-06-08 10:01:17 +02:00
Mark Furneaux
c6ec4014a3 Fix contex menu for the NowPlayingWidget in Windows
Introduced in #4416, clicking the cover will show the large art. In Windows, it seems that the click event is also associated with the right mouse button, so it comes up when you bring up the context menu.
2015-06-05 13:17:04 -04:00
Chocobozzz
f4ca305fd7 remove useless qhash_qurl 2015-06-04 10:37:34 +02:00
Chocobozzz
5d343cbe7f remove useless qt_version defines 2015-06-03 23:13:06 +02:00
Chocobozzz
5aec1c0e24 Merge remote-tracking branch 'upstream/master' into qt5
Update qt version to 5.4.2
2015-06-03 22:57:58 +02:00
Chocobozzz
bd2afec107 Fix warning message in behavioursettingspage ui page 2015-06-03 12:27:27 +02:00
John Maguire
4b332b8137 Merge pull request #4880 from Chocobozzz/master
Fix save state when the song was paused
2015-06-02 18:14:27 +01:00
Chocobozzz
10de0d8f74 Fix save state when the song was paused 2015-06-02 18:11:58 +02:00
John Maguire
ad40116b5b Merge pull request #4867 from TheUbuntuGuy/master
Fix playlist not deselecting playing track when stopping
2015-06-02 14:52:32 +01:00
Clementine Buildbot
ff6fd3f04b Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2015-06-01 10:01:18 +02:00
Andreas
3c332782fd Network remote:
- Send status.
- Since QIcon can not be converted in a background thread, create a QImage from it in the SearchProvider itself.
2015-05-31 12:08:33 +02:00
John Maguire
3f536d2571 Parse artist out of Akamai tags.
Fixes #4874
2015-05-29 12:00:29 +01:00
John Maguire
fd645b37ab Merge pull request #4869 from paperbagcorner/albumsorting
Sort discs  numerically when using Group by disc
2015-05-26 21:07:15 +01:00
Mattias Andersson
60918ef7f8 Return result directly. 2015-05-26 21:51:04 +02:00
John Maguire
e7e3ab1a68 Parse embedded tags from Akamai streams.
Fixes #4804
2015-05-26 17:40:35 +01:00
Clementine Buildbot
7876f5f2c2 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2015-05-25 10:01:20 +02:00
Mattias Andersson
aaf2ec25b3 Run make format. 2015-05-23 09:19:23 +02:00
Mattias Andersson
82dcdd3a12 Sort discs numerically when using Group by disc. 2015-05-23 09:19:23 +02:00
Mark Furneaux
7a3830335f Fix playlist not deselecting playing track when stopping
Regression from #4866
2015-05-22 22:08:02 -04:00
John Maguire
030b7e3620 Merge pull request #4866 from kiselev-dv/repeat_onebyone
Stop after each track
2015-05-22 14:46:50 +01:00
kiselev-dv
f7ebeb53da Stop after each track 2015-05-22 18:11:58 +05:00
John Maguire
cc0fc06bd9 Merge pull request #4865 from clementine-player/revert-4850-master
Revert "Add stop after each song repeat mode"
2015-05-22 11:34:29 +01:00
John Maguire
e899598967 Revert "Add stop after each song repeat mode" 2015-05-22 11:33:59 +01:00
John Maguire
06f053e5a6 Merge pull request #4850 from kiselev-dv/master
Add stop after each song repeat mode
2015-05-22 11:29:48 +01:00
John Maguire
02d6a3369b Merge pull request #4864 from TheUbuntuGuy/master
Scale cover art to the current monitor, not the entire virtual screen
2015-05-22 11:26:37 +01:00
Mark Furneaux
b6aa92450e Scale cover art to the current monitor, not the entire virtual screen 2015-05-21 17:47:58 -04:00
kiselev-dv
aba271ed6a format code 2015-05-20 17:34:37 +05:00
John Maguire
aaa3fe3eaf Merge pull request #4856 from Chocobozzz/master
Fix crash when Clementine lists albums of Ampache et remove subsonic songs when the user disconnects
2015-05-20 12:57:06 +01:00
Chocobozzz
54771292d6 Handle subsonic parsing errors instead of using Q_ASSERT 2015-05-20 13:50:17 +02:00
kiselev-dv
e122898187 unnecessary set_current_row(-1) 2015-05-20 16:50:13 +05:00
John Maguire
7f016f76fc Merge pull request #4863 from TheUbuntuGuy/master
Scroll to last played track when switching playlists
2015-05-20 12:20:19 +01:00
Mark Furneaux
87ca578a00 Scroll to last played track when switching playlists
Currently we just scroll to the last viewed index of the last playlist in the new one. This makes no sense and is frustrating when switching between long and short playlists.
This change scrolls to the last played track in each playlist on transition.
2015-05-19 22:23:03 -04:00
John Maguire
fa90e72d24 Use Qt functions instead of custom pem -> der. 2015-05-19 13:45:33 +01:00
kiselev-dv
a3bf9475a9 Rename One by One repeat mode 2015-05-19 09:56:46 +05:00
kiselev-dv
5cd39a74b5 Fix next song autoselection 2015-05-19 09:56:12 +05:00
John Maguire
f46454b197 Merge pull request #4862 from TheUbuntuGuy/master
I just remembered we have an about box
2015-05-18 19:18:50 +01:00
Mark Furneaux
361b2420f9 I just remembered we have an about box
Am I worthy? I know it's only been a year, but it would mean a lot to me.
I completely understand otherwise.
I also bumped the height up a tad so that no text gets cut off due to the extra line.
2015-05-18 14:13:32 -04:00
John Maguire
02069b7c60 Merge pull request #4861 from TheUbuntuGuy/master
Fix Last.fm scrobbling after seek
2015-05-18 18:28:34 +01:00
Mark Furneaux
fde8ae0f30 Add constants and variable units
Scrobble point constants are now defined as the minimum and maximum time last.fm requires for a scrobble to be valid.
2015-05-18 13:22:55 -04:00
Mark Furneaux
50ff5f5b0e Spelling 2015-05-18 13:03:44 -04:00
Mark Furneaux
99dffe216c Fix Last.fm scrobbling after seek
Fixes #4836
Last.fm defines a scrobble should be sent if:
-the track is longer than 30 seconds.
-the track has been played for at least half its duration, or for 4 minutes (whichever occurs earlier.)

Clementine has treated this as seconds from the start of the track, and if any seeking occurs, it nullifies the scrobble.
This IMO is incorrect. If I skip the first 10 seconds of a song, but listen to the rest (still meeting the time requirements),
I should still be able to scrobble the play. This change moves the scrobble point with every seek, requiring continuous playback
from any point that satisfies the time criteria.
2015-05-18 12:53:07 -04:00
Clementine Buildbot
1714d0be8a Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2015-05-18 10:01:18 +02:00
Chocobozzz
0a4de71c37 Remove subsonic songs is we are not connected 2015-05-15 17:36:19 +02:00
Chocobozzz
f81b7c595c Fix crash when Clementine lists the albums on Ampache 2015-05-15 16:59:43 +02:00
John Maguire
70cc291b98 Merge pull request #4845 from Chocobozzz/master
Fix setting album artist tag for FLAC files if it already exists
2015-05-12 14:21:30 +01:00
kiselev-dv
864d4162d3 Add stop after each song repeat mode 2015-05-12 14:05:46 +05:00
Clementine Buildbot
2cbd13ebba Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2015-05-11 10:01:17 +02:00
Chocobozzz
60a8ae5880 Fix setting album artist tag for FLAC files if it already exists 2015-05-09 21:13:39 +02:00
John Maguire
5256a112fc Merge pull request #4840 from abika/chromaprinter
Simplification and cleanup fixes for chromaprint fingerprint creation.
2015-05-08 12:06:27 +01:00
Andreas
059aa7f832 Move watcher->deleteLater(); at the end of the BlockingSearchFinished() function to ensure the watcher object is still available when emitting the signals. 2015-05-04 16:25:49 +02:00
Alexander Bikadorov
96f4d64449 Minor coding improvements for c71aa6 . 2015-05-04 15:43:23 +02:00
Alexander Bikadorov
c71aa61f8f Simplification and cleanup fixes for chromaprint fingerprint creation.
Fixes among other things the "GLib-CRITICAL **: Source ID XXX was not found" error.
2015-05-04 15:11:31 +02:00
ArnaudBienner
28fb6e5fcb Merge pull request #4838 from joppi/master
Add lyrics field to device databases.
2015-05-04 13:21:54 +02:00
Clementine Buildbot
a00761fecd Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2015-05-04 10:01:18 +02:00
Andreas
488d64b702 Bump protocol buffer message version. 2015-05-03 19:19:30 +02:00
Andreas
d59e864947 Send search provider icon to the remote when sending the search results. 2015-05-03 18:30:58 +02:00
Michal Opler
2e796a36c6 Add lyrics field to device databases.
Connecting and scanning of a new device failed due to the missing lyrics
field. This fixes it.
2015-05-03 15:12:07 +02:00
Andreas
4c9f7e6a5e Revert "Fix mono playback. This was broken with commit eaad4c32eeeb83302632aba887d51d2eccb55eed."
Spotify doesn't work with this fix anymore, gstreamer throws `gst_segment_to_stream_time: assertion 'segment->format == format' failed`. Using `audio/*` for caps doesn't work either, the channes property is ignored. An `if (url_.scheme == "spotify")` would work, but maybe there is a more elegant solution.

This reverts commit 8799222d64ec7836f43212105cafc06e77bb1fb3.
2015-05-02 17:12:55 +02:00
Andreas
8799222d64 Fix mono playback. This was broken with commit eaad4c32eeeb83302632aba887d51d2eccb55eed. 2015-05-02 16:14:44 +02:00
John Maguire
49ad549611 crypto++ isn't required on all platforms 2015-05-01 15:38:15 +01:00
John Maguire
082a1d3e94 Nicer way to check for multiple pkgconfig names. 2015-05-01 15:36:53 +01:00
John Maguire
af6e0d2f15 Really fix crypto++ on Fedora 2015-05-01 15:34:12 +01:00
John Maguire
e1ea116bfb Remove Grooveshark support.
Well that was nice while it lasted.
2015-05-01 11:57:59 +01:00
John Maguire
c0cf5e1220 Check for both names of libcrypto++
Fixes #4835
2015-05-01 11:52:40 +01:00
Andreas
dfbf6a954b NSI: Delete gstreamer-1.0-0.dll instead of 0.10. 2015-05-01 12:23:23 +02:00
Andreas
d322c12387 Update windows uninstaller to remove all files correctly. 2015-04-30 10:28:27 +02:00
Andreas
7cd4a567d7 Fix two Delete statements. They didn't delete the files in the install dir. 2015-04-29 19:08:15 +02:00
Andreas
580cfa4977 Installer was always pointing to C:\Programs\Clementine when an active installation was found. This commit fixes this. 2015-04-29 19:07:29 +02:00
Andreas
150270aa54 Properly get the old install path. Fixes #4806 now. 2015-04-29 19:06:27 +02:00
Andreas
1e2fa10747 Revert "Remember last install dir on windows. Fixes #4806"
This reverts commit 9deb33139952e8bad9379c05a3b4d1a792875975.
2015-04-29 19:03:37 +02:00
Andreas
d30bd3b3e4 Revert "Fix writing install dir reg key."
This reverts commit d2bb07ead660a546ed6142bfaa984dcfd086ed14.
2015-04-29 19:03:29 +02:00
Andreas
a32f725c5f Register QList<int> as a media type. Under windows, the connect doesn't work without it. 2015-04-29 17:14:37 +02:00
John Maguire
c822871d21 Merge pull request #4831 from narunlifescience/master
White pixel around spinner GIF image
2015-04-28 13:28:43 +01:00
John Maguire
319b8a5824 Use SHA512 signatures for the spotify blob.
SHA512 is unsupported by reasonable QCA versions so we must use
libcrypto++ instead.
2015-04-28 12:27:07 +01:00
Arun Narayanankutty
0a02a7240f White pixel around spinner GIF image
Default spinner gif image shows white pixels around the image. this is
clearly visible when using a dark theme. I included a new gif image
which fixes this.
2015-04-27 18:16:46 -05:00
John Maguire
4cbe098b83 Fix memory leak in Amazon Cloud Drive. 2015-04-27 14:02:07 +01:00
John Maguire
8d2e3373a8 Use a GTlsDatabase for gstreamer SSL on mac. 2015-04-27 11:21:22 +01:00
John Maguire
c3e88aced5 Update root certs file for mac 2015-04-27 11:21:22 +01:00
Clementine Buildbot
2da11e0d90 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2015-04-27 10:01:21 +02:00
Arnaud Bienner
44cd2f916c Merge branch 'alphapapa-read-new-ratings-from-files' 2015-04-25 18:33:29 +02:00
Adam Porter
bb5a952e25 Re-read FMPS_Rating from file when changed
When the FMPS_Rating changes in a file, Clementine will now re-read it
and change the rating in the library database.  This lets you modify
song ratings outside of Clementine and then load the new ratings into
Clementine.  Previously Clementine would ignore changed ratings in a
file's metadata after a song had been scanned into the library.
2015-04-25 18:32:34 +02:00
Arnaud Bienner
20583b8b0a Correct typo 2015-04-25 18:01:32 +02:00
ArnaudBienner
c7416cbfb5 Merge pull request #4599 from cincodenada/spotify-improvements
Improve handling of Spotify Top Tracks and compilations
2015-04-25 17:59:27 +02:00
Arnaud Bienner
99521ac15f Add missing certificate for api.soundcloud.com
Fixes #4794.
2015-04-25 17:51:08 +02:00
Andreas
a0f24dff86 Network remote: Only start transcoder when we actually have something to transcode. 2015-04-24 17:43:18 +02:00
Andreas
c152bc26d9 Network remote: Don't send downloader the first data since it's not needed. 2015-04-24 17:30:21 +02:00
Andreas
136fca6dc2 Network remote: Send filesize on songoffer. 2015-04-24 17:24:14 +02:00
Andreas
d93917ce9b Network remote: Send song url as well. 2015-04-24 15:35:18 +02:00
Andreas
c9b39e7c83 Fix crash when trying to download a track, but there is no current one playing. 2015-04-24 15:31:09 +02:00
John Maguire
30346e7810 Fix missing gst_buffer_unref.
Fixes #4823
2015-04-23 11:25:34 +01:00
ArnaudBienner
8a21078ae3 Merge pull request #4821 from Chocobozzz/master
Modify icon name of .protocol and .desktop too
2015-04-22 10:47:14 +02:00
Chocobozzz
a07ff98456 Modify icon name of .protocol and .desktop too 2015-04-22 08:45:18 +02:00
John Maguire
766ba2ad89 Merge pull request #4816 from Chocobozzz/icons
Add 128x128 icon of Clementine and change the icons name
2015-04-20 17:18:42 +01:00
Chocobozzz
26718c777a Add 128x128 icon of Clementine and change the icons name 2015-04-20 18:06:34 +02:00
Clementine Buildbot
d55628a1e8 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2015-04-20 10:01:18 +02:00
Joel Bradshaw
0cc7801d33 Add comments and declare artist in tighter scope 2015-04-19 21:05:55 -07:00
Joel Bradshaw
ddd641b1ae Improve handling of Spotify Top Tracks and compilations
Two improvements to handling of Spotify albums:
 - Remove single-track results if they also show up in the album
results.  This eliminates duplicates showing up in albums.
 - For each album, choose the majority artist attribution to
specify as the Album Artist.  For users who group by Album Artist,
this prevents splitting albums into multiple entries when there
are contributing artists.

Squashes following commits:

    commit d8bf17e13f50c7642ba491228f31608f4861d3b6
    Author: Joel Bradshaw <cincodenada@gmail.com>
    Date:   Tue Oct 28 19:56:36 2014 -0700

        Improve handling of Spotify Top Tracks and compilations

        Two improvements to handling of Spotify albums:
         - Combine individual tracks into a "Top Tracks" album by just
        setting the album name to "Top Tracks"
         - For each album, choose the majority artist attribution to
        specify as the Album Artist.  For users who group by Album Artist,
        this prevents splitting albums into multiple entries when there
        is a contributing artist.

    commit 228650a1d7122e5d1947133ba793afaffaa69cb4
    Author: Joel Bradshaw <cincodenada@gmail.com>
    Date:   Wed Oct 29 10:00:21 2014 -0700

        Style cleanup, including run of make format

        Also wrapped Top Tracks with tr()

    commit a4f6c1ecd9bcc8338a956b1a45c2f184ee9d660d
    Author: Joel Bradshaw <cincodenada@gmail.com>
    Date:   Sun Feb 15 13:38:52 2015 -0800

        Simply remove duplicate entries from the "Top Tracks" section

        Don't create the fake "Top Tracks" album, but remove entries
        from it if they show up in the album results.  This will
        eliminate the main problem - duplicates showing up in albums -
        and avoid issues with actual single-track results showing up
        erroneously as "Top Tracks"

    commit 859abc93b3491cc526d89df19a85dc4cf9bce1c8
    Author: Joel Bradshaw <cincodenada@gmail.com>
    Date:   Sat Apr 18 09:17:50 2015 -0700

        Clean up stray f and make format

    commit 333de1c4aa947c7cbe785429565bf4f08f98d476
    Author: Joel Bradshjaw <cincodenada@gmail.com>
    Date:   Sat Apr 18 09:19:10 2015 -0700

        Update majority_count so it works

        Fixes issue with it just picking the last artist on the album
        as the album artist
2015-04-18 09:23:45 -07:00
Andreas
d2bb07ead6 Fix writing install dir reg key. 2015-04-17 21:49:25 +02:00
John Maguire
074e3ba04a Merge branch 'qt5' of https://github.com/Chocobozzz/Clementine into qt5 2015-04-17 15:42:59 +01:00
Chocobozzz
afda8f7505 Update again from master 2015-04-17 16:06:57 +02:00
Andreas
9deb331399 Remember last install dir on windows. Fixes #4806 2015-04-17 15:27:19 +02:00
Andreas
d7a01c403e Add lyrics field to jamendo db. 2015-04-17 15:11:16 +02:00
John Maguire
e142bcaa21 Remove extraneous logging. 2015-04-17 12:13:27 +01:00
John Maguire
aa22a43f44 Add exponential back-off to Amazon requests. 2015-04-17 12:10:40 +01:00
Chocobozzz
0938e81711 Avoid "QFSFileEngine::open: No file name specified" messages if we know
that the filename is empty
2015-04-17 10:38:38 +02:00
Chocobozzz
7bfe32c7df Avoid warning message when the level exceeds the threshold 2015-04-16 23:22:53 +02:00
Chocobozzz
4a9224c04e Remove boring libpng warnings 2015-04-16 20:47:56 +02:00
Chocobozzz
1c6d164219 Avoid warning message with dbus inialized before a QApplication 2015-04-16 20:21:19 +02:00
Chocobozzz
32fe732f64 Adapt clementine tests to qt5 2015-04-16 18:54:42 +02:00
Chocobozzz
8bafaced14 Fix error message log in metatypes (declared twice) 2015-04-16 17:45:23 +02:00
Chocobozzz
e986ab5a4b Merge master branch and adapt it to qt5 2015-04-16 17:16:34 +02:00
John Maguire
e59ab5fa27 Comply with Amazon Cloud Drive branding guidelines. 2015-04-16 15:57:54 +01:00
Chocobozzz
4d0e413fb9 Finally use of qtsingleapplication adapted to qt5 2015-04-16 15:06:00 +02:00
Chocobozzz
42aafd247a Update optional components to qt5 2015-04-15 18:26:09 +02:00
Clementine Buildbot
6ecd47011a Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2015-04-13 10:01:20 +02:00
Chocobozzz
8b226c2171 Update non optionnals sources to qt5 2015-04-11 23:24:07 +02:00
Chocobozzz
ded70d6555 Update internals CMakeLits to qt5 2015-04-11 23:24:06 +02:00
Chocobozzz
419eb61b54 Update Clementine spec to qt5 2015-04-11 23:24:05 +02:00
Chocobozzz
f5414d5535 Update main cmakelists to qt5 2015-04-11 23:24:05 +02:00
Chocobozzz
6830cb92f7 Update cmakelist of 3rdparties to qt5 2015-04-11 23:24:05 +02:00
Chocobozzz
39f120d405 Update qxt to qt5 2015-04-11 23:24:04 +02:00
Chocobozzz
11938e3d79 Update of qsqlite (Qt 5.0.0 version) 2015-04-11 23:23:58 +02:00
Chocobozzz
2495c6cc61 Update of libmygpo for qt5 2015-04-11 23:23:50 +02:00
Chocobozzz
e995685ecd Update singleapplication (use of a qt5 alternative) 2015-04-11 23:23:38 +02:00
Andreas
10980280cc Merge pull request #4801 from Wuerstchen/patch-1
Update "Report a bug" in README.md
2015-04-11 15:03:29 +02:00
Wuerstchen
c0b345a64f Update README.md
Fixed some typos/mistakes and improved readability
2015-04-11 14:49:57 +02:00
Andreas
ec35688c86 Fix crash when stopping a track while a fadeout to pause is occuring. Fixes #4800. 2015-04-11 11:30:28 +02:00
Andreas
11d2702841 Try fixing buildbot. 2015-04-10 22:59:35 +02:00
Andreas
25e73d5714 Merge pull request #4679 from TheUbuntuGuy/master
Do not remove currently playing track when repopulating a dynamic playlist
2015-04-10 22:41:44 +02:00
Andreas
cbbe7db5f2 Merge pull request #4784 from M-Bab/master
Added support to read/display the ID tag lyrics in MP3 files:
2015-04-10 22:29:30 +02:00
Martin Babutzka
258ae281d8 IDv3 tag lyrics support.
Squashed the following commits:

5c723ad commit: Fix: Includes alpha sort
15ac350 commit: Fix: Updated Database::kSchemaVersion to 49.
767a26a commit: Fixed small code style issue. Added schema-49 to data.qrc instead schema-48
bf6aa64 commit: fixup! Modified async handling of CollapsibleInfoPane as recommended by Andreas. Display of IDv2 tag lyrics works now.
c1f97e9 commit: fixup! Added support to read/display the ID tag lyrics in MP3 files:
c946b1d commit: Added support to read/display the ID tag lyrics in MP3 files:

-Added schema to the database to store it
-Added readers/writers for ID tags
-Added readers/writers for the database to the song class
-Added the taglyricsinfoprovider to show the lyrics in songinfo
2015-04-10 21:05:07 +02:00
Clementine Buildbot
f533b2998c Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2015-04-06 10:01:21 +02:00
Arnaud Bienner
34d3d7671d Oops: missed label 2015-04-01 14:07:58 +02:00
Arnaud Bienner
8bd97a1d38 Windows: check if there is already a previous install of Clementine and if so, ask the user if he wants to run the uninstaller. Running the installer will kill any running instance of Clementine, preventing installation issues because the files are used by this process and thus cannot be overwritten. 2015-04-01 11:41:05 +02:00
Arnaud Bienner
ccf5bffd99 Oops, this should just be a comment (remove warning) 2015-03-30 18:34:45 +02:00
Clementine Buildbot
82df087a83 Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) 2015-03-30 10:01:17 +02:00
Arnaud Bienner
9877ac49fa Use Alt+Tab to switch between playlist tabs on OS X, as Cmd+Tab is already used by default for switching applications 2015-03-28 17:18:22 +01:00
John Maguire
8d3fd00956 Amazon Cloud Drive support.
Squashed commit of the following:

commit 451a327fabb5f9aba077d93a33d75d8a6a288f5f
Author: John Maguire <john.maguire@gmail.com>
Date:   Fri Mar 27 14:55:36 2015 +0100

    Revert debug console changes.

commit 52f643c3dc524a837f56268b6da4881187204165
Author: John Maguire <john.maguire@gmail.com>
Date:   Fri Mar 27 14:49:28 2015 +0100

    Revert extra logging

commit 23645f9fea4caa65d93c2a0a5ad5e2a164c3b535
Author: John Maguire <john.maguire@gmail.com>
Date:   Fri Mar 27 14:47:55 2015 +0100

    How did you get there

commit 8153388f19db17caf4286618922516b495a3f1d3
Author: John Maguire <john.maguire@gmail.com>
Date:   Fri Mar 27 14:45:12 2015 +0100

    Update copyright headers.

commit fa9e279259604a16564287291180b69cbb22d74f
Author: John Maguire <john.maguire@gmail.com>
Date:   Fri Mar 27 14:43:27 2015 +0100

    Remove logging

commit 47a405543c8f6924adb60fbc34ec7360c608a9ec
Author: John Maguire <john.maguire@gmail.com>
Date:   Fri Mar 27 14:42:05 2015 +0100

    Show login state correctly for Amazon.

commit 748d88d993fb56ecd97e14b8e7c7b6c49f11c410
Author: John Maguire <john.maguire@gmail.com>
Date:   Fri Mar 27 14:28:55 2015 +0100

    Ensure Amazon is connected before serving URLs.

commit 25ec9c65f4b0be4fc2df13cf941cf236f7cf6b46
Author: John Maguire <john.maguire@gmail.com>
Date:   Fri Mar 27 14:22:28 2015 +0100

    Refresh Amazon authorisation & follow changes.

commit 27c1a37173a76e04341b87abe2ada8438d6ee59f
Author: John Maguire <john.maguire@gmail.com>
Date:   Thu Mar 26 18:27:27 2015 +0100

    Revert unneeded OAuthenticator change.

commit 3594af5be12d979762719010535db8f5aaec0905
Author: John Maguire <john.maguire@gmail.com>
Date:   Thu Mar 26 16:52:19 2015 +0100

    Initial support for Amazon Cloud Drive.
2015-03-27 14:56:08 +01:00
Mark Furneaux
c4daa227a7 Do not remove currently playing track when repopulating a dynamic playlist 2014-12-27 20:34:29 -05:00
1947 changed files with 121928 additions and 273905 deletions

3
.clang-format Normal file
View File

@ -0,0 +1,3 @@
BasedOnStyle: Google
DerivePointerBinding: false
Standard: Cpp11

18
.github/ISSUE_TEMPLATE.md vendored Normal file
View File

@ -0,0 +1,18 @@
### Before posting
Please follow the steps below and check the boxes with [x] once you did the step.
- [ ] I checked the issue tracker for similar issues
- [ ] I checked the [changelog](https://github.com/clementine-player/Clementine/blob/master/Changelog) if the issue is already resolved
- [ ] I tried the latest Clementine build from [here](https://builds.clementine-player.org/)
### System information
Please provide information about your system and the version of Clementine used.
- Operating System:
- Clementine version:
### Expected behaviour / actual behaviour
### Steps to reproduce the problem (only for bugs)

924
.github/workflows/all.yml vendored Normal file
View File

@ -0,0 +1,924 @@
name: all
on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
lint:
name: Lint
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v2
- name: clang-format
uses: clementine-player/clang-format-lint-action@master
with:
style: "{BasedOnStyle: Google, DerivePointerBinding: false, Standard: Cpp11}"
source: ./src
clangFormatVersion: 9
push_translations:
name: Push translation sources to Transifex
if: github.ref == 'refs/heads/master'
runs-on: ubuntu-24.04
container:
image: ubuntu:noble
steps:
- uses: supplypike/setup-bin@v3
with:
uri: https://github.com/transifex/cli/releases/download/v1.6.17/tx-linux-amd64.tar.gz
name: tx
version: 1.6.17
- name: Install dependencies
env:
DEBIAN_FRONTEND: noninteractive
run: >
apt-get update && apt-get install -y
build-essential
cmake
gettext
git
libasound2-dev
libboost-dev
libcdio-dev
libchromaprint-dev
libdbus-1-dev
libfftw3-dev
libglew-dev
libglib2.0-dev
libgpod-dev
libgstreamer-plugins-base1.0-dev
libgstreamer1.0-dev
liblastfm5-dev
libmtp-dev
libprotobuf-dev
libpulse-dev
libqt5x11extras5-dev
libsqlite3-dev
libtag1-dev
pkg-config
protobuf-compiler
python3-pip
qtbase5-dev
qttools5-dev-tools
qttools5-dev
libsparsehash-dev
ssh
- name: Checkout
uses: actions/checkout@v1.2.0
- name: git hackery
run: git config --global --add safe.directory ${GITHUB_WORKSPACE}
- name: tx init
env:
TX_TOKEN: ${{ secrets.TX_TOKEN }}
run: tx init
- name: cmake
working-directory: bin
run: cmake ..
- name: make
working-directory: bin
run: make -j2
- name: tx config
env:
TX_TOKEN: ${{ secrets.TX_TOKEN }}
run: tx add --organization davidsansome --project clementine --resource clementineplayer --file-filter 'src/translations/<lang>.po' --type PO src/translations/en.po
- name: tx push
env:
TX_TOKEN: ${{ secrets.TX_TOKEN }}
run: tx push -s
create_release:
name: Create GitHub Release
runs-on: ubuntu-24.04
if: github.ref == 'refs/heads/master'
needs:
- build_bullseye_64
- build_buster_64
- build_fedora_39
- build_fedora_40
- build_focal_64
- build_jammy_64
- build_noble_64
# - build_mac
- build_mingw
- build_source
permissions:
contents: write
steps:
- uses: actions/checkout@v1.2.0
- uses: actions/download-artifact@v4
with:
path: release_artifacts
- name: Create draft pre-release
id: tag_name
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
set -x
VERSION=$(echo release_artifacts/**/*.tar.xz | sed -e 's/.*clementine-\(.*\).tar.xz/\1/')
echo "Version: ${VERSION}"
echo "version=${VERSION}" >> "$GITHUB_OUTPUT"
- name: Create draft pre-release
uses: softprops/action-gh-release@v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
name: ${{ steps.tag_name.outputs.version }}
tag_name: ${{ steps.tag_name.outputs.version }}
files: "release_artifacts/**/*"
fail_on_unmatched_files: true
draft: false
prerelease: false
build_source:
name: Build source tarball
runs-on: ubuntu-24.04
container:
image: ubuntu:focal
steps:
- name: Install dependencies
env:
DEBIAN_FRONTEND: noninteractive
run: >
apt-get update && apt-get install -y
cmake
fakeroot
gettext
git
libasound2-dev
libboost-dev
libboost-serialization-dev
libcdio-cdda2
libcdio-dev
libchromaprint-dev
libcrypto++-dev
libdbus-1-dev
libfftw3-dev
libglew1.5-dev
libgpod-dev
libgstreamer-plugins-base1.0-dev
libgstreamer1.0-dev
liblastfm5-dev
libmtp-dev
libmygpo-qt-dev
libplist-dev
libprotobuf-dev
libpulse-dev
libqca-qt5-2-dev
libqca-qt5-2-plugins
libqt5x11extras5-dev
libsparsehash-dev
libsqlite3-dev
libtag1-dev
libusbmuxd-dev
protobuf-compiler
qtbase5-dev
qttools5-dev-tools
qttools5-dev
ssh
- uses: actions/checkout@v1.2.0
- name: git hackery
run: git config --global --add safe.directory ${GITHUB_WORKSPACE}
- name: cmake
working-directory: bin
run: cmake ..
- name: Build source tarball
working-directory: bin
run: ../dist/maketarball.sh
- uses: actions/upload-artifact@v4
with:
name: release_source
path: bin/clementine-*.tar.xz
build_fedora_39:
name: Build Fedora 39 RPM
runs-on: ubuntu-24.04
container:
image: fedora:39
env:
RPM_BUILD_NCPUS: "2"
steps:
- name: Install dependencies
run: >
dnf install --assumeyes
@development-tools
alsa-lib-devel
boost-devel
cmake
cryptopp
cryptopp-devel
dbus-devel
desktop-file-utils
fftw-devel
gcc-c++
gettext
git
glew-devel
gstreamer1-devel
gstreamer1-plugins-base-devel
hicolor-icon-theme
libappstream-glib
libcdio-devel
libchromaprint-devel
libgpod-devel
liblastfm-qt5-devel
libmtp-devel
libnotify-devel
openssh
pkgconfig
protobuf-compiler
protobuf-devel
pulseaudio-libs-devel
qca-qt5-devel
qca-qt5-ossl
qt5-linguist
qt5-qtbase-devel
qt5-qtx11extras-devel
qt5-rpm-macros
qtsingleapplication-qt5-devel
qtsinglecoreapplication-qt5-devel
rpmdevtools
sparsehash-devel
sqlite-devel
taglib-devel
tar
- uses: actions/checkout@v1.2.0
- name: git hackery
run: git config --global --add safe.directory ${GITHUB_WORKSPACE}
- name: cmake
working-directory: bin
run: cmake -DUSE_SYSTEM_QTSINGLEAPPLICATION=On ..
- name: Build source tarball
working-directory: bin
run: ../dist/maketarball.sh
- name: Create rpmbuild directory
run: mkdir -p ~/rpmbuild/SOURCES
- name: Move source tarball
working-directory: bin
run: mv clementine-*.tar.xz ~/rpmbuild/SOURCES
- name: Build RPM
working-directory: bin
run: rpmbuild -ba ../dist/clementine.spec
- uses: actions/upload-artifact@v4
with:
name: release_fedora_39
path: ~/rpmbuild/RPMS/*/clementine-*.rpm
build_fedora_40:
name: Build Fedora 40 RPM
runs-on: ubuntu-24.04
container:
image: fedora:40
env:
RPM_BUILD_NCPUS: "2"
steps:
- name: Install dependencies
run: >
dnf install --assumeyes
@development-tools
alsa-lib-devel
boost-devel
cmake
cryptopp
cryptopp-devel
dbus-devel
desktop-file-utils
fftw-devel
gcc-c++
gettext
git
glew-devel
gstreamer1-devel
gstreamer1-plugins-base-devel
hicolor-icon-theme
libappstream-glib
libcdio-devel
libchromaprint-devel
libgpod-devel
liblastfm-qt5-devel
libmtp-devel
libnotify-devel
openssh
pkgconfig
protobuf-compiler
protobuf-devel
pulseaudio-libs-devel
qca-qt5-devel
qca-qt5-ossl
qt5-linguist
qt5-qtbase-devel
qt5-qtx11extras-devel
qt5-rpm-macros
qtsingleapplication-qt5-devel
qtsinglecoreapplication-qt5-devel
rpmdevtools
sparsehash-devel
sqlite-devel
taglib-devel
tar
- uses: actions/checkout@v1.2.0
- name: git hackery
run: git config --global --add safe.directory ${GITHUB_WORKSPACE}
- name: cmake
working-directory: bin
run: cmake -DUSE_SYSTEM_QTSINGLEAPPLICATION=On ..
- name: Build source tarball
working-directory: bin
run: ../dist/maketarball.sh
- name: Create rpmbuild directory
run: mkdir -p ~/rpmbuild/SOURCES
- name: Move source tarball
working-directory: bin
run: mv clementine-*.tar.xz ~/rpmbuild/SOURCES
- name: Build RPM
working-directory: bin
run: rpmbuild -ba ../dist/clementine.spec
- uses: actions/upload-artifact@v4
with:
name: release_fedora_40
path: ~/rpmbuild/RPMS/*/clementine-*.rpm
build_mingw:
name: Build Windows Installer
runs-on: ubuntu-24.04
container:
image: eu.gcr.io/clementine-data/mingw-w64:latest
env:
PKG_CONFIG_PATH: /target/lib/pkgconfig
steps:
- name: Fix liblastfm includes
run: ln -s /target/include/lastfm /target/include/lastfm5
- uses: actions/checkout@v1.2.0
- name: git hackery
run: git config --global --add safe.directory ${GITHUB_WORKSPACE}
- name: cmake
working-directory: bin
run: >
cmake ..
-DCMAKE_TOOLCHAIN_FILE=../Toolchain-mingw32.cmake
-DCMAKE_BUILD_TYPE=Release
- name: make
working-directory: bin
run: make -j2
- name: Copy output exes
working-directory: dist/windows
run: cp ../../bin/*.exe .
- name: Copy base runtime DLLs
run: >
cp
/usr/lib/gcc/i686-w64-mingw32/*-posix/libgcc_s_sjlj-1.dll
/usr/lib/gcc/i686-w64-mingw32/*-posix/libstdc++-6.dll
/usr/i686-w64-mingw32/lib/libwinpthread-1.dll
dist/windows
- name: Copy DLL depdendencies
working-directory: /target/bin
run: >
cp
glew32.dll
libcdio-19.dll
libchromaprint.dll
libcrypto-1_1.dll
libfaad-2.dll
libffi-7.dll
libfftw3-3.dll
libFLAC-8.dll
libgcrypt-20.dll
libgio-2.0-0.dll
libglib-2.0-0.dll
libgmodule-2.0-0.dll
libgmp-10.dll
libgnutls-30.dll
libgobject-2.0-0.dll
libgpg-error-0.dll
libgpod.dll
libgstapp-1.0-0.dll
libgstaudio-1.0-0.dll
libgstbase-1.0-0.dll
libgstfft-1.0-0.dll
libgstnet-1.0-0.dll
libgstpbutils-1.0-0.dll
libgstreamer-1.0-0.dll
libgstriff-1.0-0.dll
libgstrtp-1.0-0.dll
libgstrtsp-1.0-0.dll
libgstsdp-1.0-0.dll
libgsttag-1.0-0.dll
libgstvideo-1.0-0.dll
libgthread-2.0-0.dll
libhogweed-6.dll
libiconv-2.dll
libintl-8.dll
liblastfm5.dll
libmms-0.dll
libmp3lame-0.dll
libnettle-8.dll
libogg-0.dll
liboil-0.3-0.dll
libopus-0.dll
liborc-0.4-0.dll
liborc-test-0.4-0.dll
libp11-kit-0.dll
libpcre-1.dll
libplist.dll
libprotobuf-17.dll
libpsl-5.dll
libssl-1_1.dll
libsoup-2.4-1.dll
libspeex-1.dll
libspotify.dll
libsqlite3-0.dll
libtag.dll
libtasn1-6.dll
libunistring-2.dll
libvorbis-0.dll
libvorbisenc-2.dll
libxml2-2.dll
libwavpack-1.dll
Qt5Concurrent.dll
Qt5Core.dll
Qt5Gui.dll
Qt5Network.dll
Qt5OpenGL.dll
Qt5Sql.dll
Qt5Svg.dll
Qt5Widgets.dll
Qt5WinExtras.dll
Qt5Xml.dll
zlib1.dll
${GITHUB_WORKSPACE}/dist/windows
- run: mkdir dist/windows/imageformats
- name: Copy Qt imageformat plugin DLLs
working-directory: /target/plugins
run: >
cp
imageformats/qgif.dll
imageformats/qjpeg.dll
imageformats/qsvg.dll
${GITHUB_WORKSPACE}/dist/windows/imageformats
- run: mkdir dist/windows/platforms
- name: Copy Qt platforms plugin DLLs
working-directory: /target/plugins
run: >
cp
platforms/qwindows.dll
${GITHUB_WORKSPACE}/dist/windows/platforms
- run: mkdir dist/windows/styles
- name: Copy Qt style plugin DLLs
working-directory: /target/plugins
run: >
cp
styles/qwindowsvistastyle.dll
${GITHUB_WORKSPACE}/dist/windows/styles
- run: mkdir dist/windows/gio-modules
- name: Copy GIO modules
run: cp /target/lib/gio/modules/libgiognutls.dll dist/windows/gio-modules
- run: mkdir dist/windows/gstreamer-plugins
- name: Copy gstreamer plugins
working-directory: /target/lib/gstreamer-1.0
run: >
cp
libgstaiff.dll
libgstapetag.dll
libgstapp.dll
libgstasf.dll
libgstasfmux.dll
libgstaudioconvert.dll
libgstaudiofx.dll
libgstaudioparsers.dll
libgstaudioresample.dll
libgstaudiotestsrc.dll
libgstautodetect.dll
libgstcdio.dll
libgstcoreelements.dll
libgstdirectsound.dll
libgstequalizer.dll
libgstfaad.dll
libgstflac.dll
libgstgdp.dll
libgstgio.dll
libgsticydemux.dll
libgstid3demux.dll
libgstid3tag.dll
libgstisomp4.dll
libgstlame.dll
libgstlibav.dll
libgstmms.dll
libgstogg.dll
libgstopus.dll
libgstopusparse.dll
libgstpbtypes.dll
libgstplayback.dll
libgstreplaygain.dll
libgstrtp.dll
libgstrtsp.dll
libgstsoup.dll
libgstspectrum.dll
libgstspeex.dll
libgsttaglib.dll
libgsttcp.dll
libgsttypefindfunctions.dll
libgstudp.dll
libgstvolume.dll
libgstvorbis.dll
libgstwavpack.dll
libgstwavparse.dll
${GITHUB_WORKSPACE}/dist/windows/gstreamer-plugins
- name: Build Windows installer
working-directory: dist/windows
run: makensis clementine.nsi
- uses: actions/upload-artifact@v4
with:
name: release_mingw
path: dist/windows/ClementineSetup*.exe
build_bullseye_64:
name: Build Debian Bullseye 64-bit deb
runs-on: ubuntu-24.04
container:
image: debian:bullseye
steps:
- name: Install dependencies
run: >
apt-get update && apt-get install -y
build-essential
cmake
debhelper
gettext
git
libasound2-dev
libboost-dev
libcdio-dev
libchromaprint-dev
libcrypto++-dev
libdbus-1-dev
libfftw3-dev
libglew1.5-dev
libglib2.0-dev
libgpod-dev
libgstreamer-plugins-base1.0-dev
libgstreamer1.0-dev
liblastfm5-dev
libmtp-dev
libmygpo-qt-dev
libprotobuf-dev
libpulse-dev
libqt5x11extras5-dev
libsparsehash-dev
libsqlite3-dev
libtag1-dev
pkg-config
protobuf-compiler
qtbase5-dev
qttools5-dev-tools
qttools5-dev
ssh
- uses: actions/checkout@v1.2.0
- name: git hackery
run: git config --global --add safe.directory ${GITHUB_WORKSPACE}
- name: cmake
working-directory: bin
run: >
cmake ..
-DWITH_DEBIAN=ON
-DDEB_ARCH=amd64
-DDEB_DIST=bullseye
-DENABLE_SPOTIFY_BLOB=OFF
- name: make
working-directory: bin
run : make -j2 deb
- uses: actions/upload-artifact@v4
with:
name: release_bullseye_64
path: bin/clementine_*.deb
build_buster_64:
name: Build Debian Buster 64-bit deb
runs-on: ubuntu-24.04
container:
image: debian:buster
steps:
- name: Install dependencies
run: >
apt-get update && apt-get install -y
build-essential
cmake
gettext
git
libasound2-dev
libboost-dev
libcdio-dev
libchromaprint-dev
libcrypto++-dev
libdbus-1-dev
libfftw3-dev
libglew1.5-dev
libglib2.0-dev
libgpod-dev
libgstreamer-plugins-base1.0-dev
libgstreamer1.0-dev
liblastfm5-dev
libmtp-dev
libmygpo-qt-dev
libprotobuf-dev
libpulse-dev
libqt5x11extras5-dev
libsparsehash-dev
libsqlite3-dev
libtag1-dev
pkg-config
protobuf-compiler
qtbase5-dev
qttools5-dev-tools
qttools5-dev
ssh
- uses: actions/checkout@v1.2.0
- name: git hackery
run: git config --global --add safe.directory ${GITHUB_WORKSPACE}
- name: cmake
working-directory: bin
run: >
cmake ..
-DWITH_DEBIAN=ON
-DDEB_ARCH=amd64
-DDEB_DIST=buster
-DENABLE_SPOTIFY_BLOB=OFF
- name: make
working-directory: bin
run : make -j2 deb
- uses: actions/upload-artifact@v4
with:
name: release_buster_64
path: bin/clementine_*.deb
build_focal_64:
name: Build Ubuntu Focal 64-bit deb
runs-on: ubuntu-24.04
container:
image: ubuntu:focal
steps:
- name: Install dependencies
env:
DEBIAN_FRONTEND: noninteractive
run: >
apt-get update && apt-get install -y
cmake
fakeroot
gettext
git
libasound2-dev
libboost-dev
libboost-serialization-dev
libcdio-cdda2
libcdio-dev
libchromaprint-dev
libcrypto++-dev
libdbus-1-dev
libfftw3-dev
libglew1.5-dev
libgpod-dev
libgstreamer-plugins-base1.0-dev
libgstreamer1.0-dev
liblastfm5-dev
libmtp-dev
libmygpo-qt-dev
libplist-dev
libprotobuf-dev
libpulse-dev
libqca-qt5-2-dev
libqca-qt5-2-plugins
libqt5x11extras5-dev
libsparsehash-dev
libsqlite3-dev
libtag1-dev
libusbmuxd-dev
protobuf-compiler
qtbase5-dev
qttools5-dev-tools
qttools5-dev
ssh
- uses: actions/checkout@v1.2.0
- name: git hackery
run: git config --global --add safe.directory ${GITHUB_WORKSPACE}
- name: cmake
working-directory: bin
run: >
cmake ..
-DWITH_DEBIAN=ON
-DDEB_ARCH=amd64
-DDEB_DIST=focal
-DENABLE_SPOTIFY_BLOB=OFF
- name: make
working-directory: bin
run : make -j2 deb
- uses: actions/upload-artifact@v4
with:
name: release_focal_64
path: bin/clementine_*.deb
build_jammy_64:
name: Build Ubuntu Jammy 64-bit deb
runs-on: ubuntu-24.04
container:
image: ubuntu:jammy
steps:
- name: Install dependencies
env:
DEBIAN_FRONTEND: noninteractive
run: >
apt-get update && apt-get install -y
cmake
dpkg-dev
debhelper
fakeroot
g++
gettext
git
libasound2-dev
libboost-dev
libboost-serialization-dev
libcdio-cdda2
libcdio-dev
libchromaprint-dev
libcrypto++-dev
libdbus-1-dev
libfftw3-dev
libglew-dev
libgpod-dev
libgstreamer-plugins-base1.0-dev
libgstreamer1.0-dev
liblastfm5-dev
libmtp-dev
libmygpo-qt-dev
libplist-dev
libprotobuf-dev
libpulse-dev
libqca-qt5-2-dev
libqca-qt5-2-plugins
libqt5x11extras5-dev
libsparsehash-dev
libsqlite3-dev
libtag1-dev
libusbmuxd-dev
protobuf-compiler
qtbase5-dev
qttools5-dev-tools
qttools5-dev
ssh
- uses: actions/checkout@v1.2.0
- name: git hackery
run: git config --global --add safe.directory ${GITHUB_WORKSPACE}
- name: cmake
working-directory: bin
run: >
cmake ..
-DWITH_DEBIAN=ON
-DDEB_ARCH=amd64
-DDEB_DIST=jammy
-DENABLE_SPOTIFY_BLOB=OFF
- name: make
working-directory: bin
run : make -j2 deb
- uses: actions/upload-artifact@v4
with:
name: release_jammy_64
path: bin/clementine_*.deb
build_noble_64:
name: Build Ubuntu Noble 64-bit deb
runs-on: ubuntu-24.04
container:
image: ubuntu:noble
steps:
- name: Install dependencies
env:
DEBIAN_FRONTEND: noninteractive
run: >
apt-get update && apt-get install -y
cmake
dpkg-dev
debhelper
fakeroot
g++
gettext
git
libasound2-dev
libboost-dev
libboost-serialization-dev
libcdio-cdda2
libcdio-dev
libchromaprint-dev
libcrypto++-dev
libdbus-1-dev
libfftw3-dev
libglew-dev
libgpod-dev
libgstreamer-plugins-base1.0-dev
libgstreamer1.0-dev
liblastfm5-dev
libmtp-dev
libmygpo-qt-dev
libplist-dev
libprotobuf-dev
libpulse-dev
libqca-qt5-2-dev
libqca-qt5-2-plugins
libqt5x11extras5-dev
libsparsehash-dev
libsqlite3-dev
libtag1-dev
libusbmuxd-dev
protobuf-compiler
qtbase5-dev
qttools5-dev-tools
qttools5-dev
ssh
- uses: actions/checkout@v1.2.0
- name: git hackery
run: git config --global --add safe.directory ${GITHUB_WORKSPACE}
- name: cmake
working-directory: bin
run: >
cmake ..
-DWITH_DEBIAN=ON
-DDEB_ARCH=amd64
-DDEB_DIST=noble
-DENABLE_SPOTIFY_BLOB=OFF
- name: make
working-directory: bin
run : make -j2 deb
- uses: actions/upload-artifact@v4
with:
name: release_noble_64
path: bin/clementine_*.deb
build_mac:
if: false
name: Build Mac DMG
runs-on: macos-10.15
steps:
- uses: actions/checkout@v1.2.0
- name: git hackery
run: git config --global --add safe.directory ${GITHUB_WORKSPACE}
- name: Install dependencies
run: brew bundle
- name: Build libgpod
shell: bash
env:
PERL_MM_USE_DEFAULT: 1
run: |
sudo cpan install XML::Parser
wget https://downloads.sourceforge.net/project/gtkpod/libgpod/libgpod-0.8/libgpod-0.8.3.tar.bz2
tar -xvf libgpod-0.8.3.tar.bz2
cd libgpod-0.8.3
wget https://raw.githubusercontent.com/macports/macports-ports/master/multimedia/libgpod/files/autogen.sh
wget https://raw.githubusercontent.com/macports/macports-ports/master/multimedia/libgpod/files/patch-tools-generic-callout.c.diff
patch -p0 < patch-tools-generic-callout.c.diff
patch -p1 < $GITHUB_WORKSPACE/3rdparty/libgpod/patches/0001-Look-for-libplist-2.0.patch
chmod u+x autogen.sh
./autogen.sh
./configure --disable-more-warnings \
--disable-silent-rules \
--disable-udev \
--disable-pygobject \
--with-python=no
make -j2
sudo make install
- name: Fix liblastfm includes
run: ln -s /usr/local/include/lastfm /usr/local/include/lastfm5
- name: cmake
env:
PKG_CONFIG_PATH: /usr/local/lib/pkgconfig
Qt5_DIR: /usr/local/opt/qt5/lib/cmake/Qt5
Qt5LinguistTools_DIR: /usr/local/opt/qt5/lib/cmake/Qt5LinguistTools
GST_SCANNER_PATH: /usr/local/opt/gstreamer/libexec/gstreamer-1.0/gst-plugin-scanner
GST_PLUGIN_PATH: /usr/local/lib/gstreamer-1.0
DEVELOPER_DIR: /Applications/Xcode_10.3.app/Contents/Developer
working-directory: bin
run: >
cmake ..
-Wno-dev
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_OSX_ARCHITECTURES=x86_64
-DGETTEXT_MSGMERGE_EXECUTABLE=/usr/local/opt/gettext/bin/msgmerge
-DGETTEXT_MSGFMT_EXECUTABLE=/usr/local/opt/gettext/bin/msgfmt
-DGETTEXT_XGETTEXT_EXECUTABLE=/usr/local/opt/gettext/bin/xgettext
- name: make
working-directory: bin
run: make -j2
- name: Copy icon files and resources
working-directory: bin
run: make install
- name: Build DMG
working-directory: bin
run: make dmg
- uses: actions/upload-artifact@v4
with:
name: release_mac
path: bin/clementine-*.dmg

53
.github/workflows/translations.yml vendored Normal file
View File

@ -0,0 +1,53 @@
name: translations
on:
schedule:
- cron: '23 2 * * *'
jobs:
pull_translations:
name: Pull translations from Transifex
runs-on: ubuntu-22.04
container:
image: ubuntu:jammy
steps:
- uses: supplypike/setup-bin@v3
with:
uri: https://github.com/transifex/cli/releases/download/v1.6.7/tx-linux-amd64.tar.gz
name: tx
version: 1.6.7
- name: Install dependencies
env:
DEBIAN_FRONTEND: noninteractive
run: >
apt-get update && apt-get install -y
git
ssh
- name: Checkout
uses: actions/checkout@v1.2.0
- name: git hackery
run: git config --global --add safe.directory ${GITHUB_WORKSPACE}
- name: Switch to master
run: git checkout master
- name: tx init
env:
TX_TOKEN: ${{ secrets.TX_TOKEN }}
run: tx init
- name: tx config
env:
TX_TOKEN: ${{ secrets.TX_TOKEN }}
run: tx add --organization davidsansome --project clementine --resource clementineplayer --file-filter 'src/translations/<lang>.po' --type PO src/translations/en.po
- name: tx pull
env:
TX_TOKEN: ${{ secrets.TX_TOKEN }}
run: tx pull -f -a
- name: Setup git SSH
uses: webfactory/ssh-agent@v0.4.1
with:
ssh-private-key: ${{ secrets.TX_KEY }}
- name: git add
run: git add src/translations/*
- name: git commit and push
env:
GIT_SSH_COMMAND: "ssh -o StrictHostKeyChecking=no"
run: |
[ -z "$(git status --porcelain)" ] || git -c 'user.name=Clementine Buildbot' -c 'user.email=buildbot@clementine-player.org' commit -m 'Automatic merge of translations from Transifex' && git push 'git@github.com:clementine-player/Clementine.git' master

4
.gitignore vendored
View File

@ -5,7 +5,6 @@
# *.[oa]
# *~
*.pyc
*.dll
*.exe
*.pyd
build/
@ -19,7 +18,6 @@ dist/windows/clementine.nsi
dist/windows/gstreamer-plugins
dist/windows/gio-modules
dist/windows/imageformats
dist/windows/nsisplugins
dist/windows/PyQt4
dist/windows/libpython2.7.zip
mingw/
@ -45,3 +43,5 @@ dist/windows/Python27.zip
*.swp
src/translations/translations.pot
*.DS_Store
.vscode
*.kdev4

View File

@ -1,22 +0,0 @@
cmake_minimum_required(VERSION 2.6)
set(SOURCES
fancytabwidget.cpp
stylehelper.cpp
)
set(HEADERS
fancytabwidget.h
)
qt4_wrap_cpp(MOC ${HEADERS})
include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
add_library(fancytabwidget STATIC
${SOURCES}
${MOC}
)
target_link_libraries(fancytabwidget
${QT_LIBRARIES}
)

View File

@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 2.6)
cmake_minimum_required(VERSION 3.0.0)
include_directories(${CMAKE_CURRENT_SOURCE_DIR})

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 144 B

View File

@ -0,0 +1,25 @@
From 27955cc4415c39f520f3674c9d1989d28e9b8670 Mon Sep 17 00:00:00 2001
From: Jonas Kvinge <jonas@jkvinge.net>
Date: Wed, 5 May 2021 20:10:28 +0200
Subject: [PATCH 1/2] Look for libplist-2.0
---
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index c4ffeaf..8052fa2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -42,7 +42,7 @@ AC_CHECK_FUNCS([localtime_r])
AC_CHECK_MEMBERS([struct tm.tm_gmtoff],,,[#include <time.h>])
dnl sqlite3 is needed for newer ipod models (nano5g), and libplist is needed
dnl by libgpod sqlite code
-PKG_CHECK_MODULES(LIBGPOD, glib-2.0 >= 2.16.0 gobject-2.0 sqlite3 libplist >= 1.0 gmodule-2.0)
+PKG_CHECK_MODULES(LIBGPOD, glib-2.0 >= 2.16.0 gobject-2.0 sqlite3 libplist-2.0 gmodule-2.0)
dnl ***************************************************
dnl The following functions are only available starting
--
2.31.1

3
3rdparty/libmygpo-qt5/AUTHORS vendored Normal file
View File

@ -0,0 +1,3 @@
Stefan Derkits <stefan@derkits.at>
Christian Wagner <christian.wagner86@gmx.at>
Felix Winter <ixos01@gmail.com>

49
3rdparty/libmygpo-qt5/CMakeLists.txt vendored Normal file
View File

@ -0,0 +1,49 @@
cmake_minimum_required( VERSION 3.0.0 FATAL_ERROR )
set( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules)
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII" )
set(MYGPO_QT_VERSION_SUFFIX 5)
macro(qt_wrap_cpp)
qt5_wrap_cpp(${ARGN})
endmacro()
# pkg-config names of QtCore and QtNetwork are Qt5Core and Qt5Network for
# Qt5
set(MYGPO_QT_MAJOR_VERSION "5")
set(MYGPO_QT4_QJSON_DEP "")
# Don't use absolute path in Mygpo-qtTargets-$buildType.cmake
# (This will have no effect with CMake < 2.8)
# set(QT_USE_IMPORTED_TARGETS TRUE)
set( MYGPO_QT_VERSION_MAJOR "1" )
set( MYGPO_QT_VERSION_MINOR "1" )
set( MYGPO_QT_VERSION_PATCH "0" )
set( MYGPO_QT_VERSION "${MYGPO_QT_VERSION_MAJOR}.${MYGPO_QT_VERSION_MINOR}.${MYGPO_QT_VERSION_PATCH}" )
#Configure Version.h.in with the actual version number
configure_file( src/Version.h.in ${CMAKE_CURRENT_BINARY_DIR}/src/Version.h )
include(CheckCXXCompilerFlag)
if (CMAKE_COMPILER_IS_GNUCXX)
ADD_DEFINITIONS( -Wcast-align -Wchar-subscripts -Wpointer-arith
-Wwrite-strings -Wpacked -Wformat-security -Wmissing-format-attribute
-Wold-style-cast -Woverloaded-virtual -Wnon-virtual-dtor -Wall -Wextra
-Wformat=2 -Wundef -Wstack-protector -Wmissing-include-dirs
-Winit-self -Wunsafe-loop-optimizations -ggdb3 -fno-inline -DQT_STRICT_ITERATORS )
if ( NOT WIN32 )
add_definitions( -fvisibility=hidden )
endif()
check_cxx_compiler_flag( -Wlogical-op GNUCXX_HAS_WLOGICAL_OP )
if ( GNUCXX_HAS_WLOGICAL_OP )
add_definitions( -Wlogical-op )
endif()
endif(CMAKE_COMPILER_IS_GNUCXX)
set(MYGPO_QT_TARGET_NAME mygpo-qt${MYGPO_QT_VERSION_SUFFIX} CACHE INTERNAL "" FORCE )
add_subdirectory( src )

502
3rdparty/libmygpo-qt5/LICENSE vendored Normal file
View File

@ -0,0 +1,502 @@
GNU LESSER GENERAL PUBLIC LICENSE
Version 2.1, February 1999
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
[This is the first released version of the Lesser GPL. It also counts
as the successor of the GNU Library Public License, version 2, hence
the version number 2.1.]
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
Licenses are intended to guarantee your freedom to share and change
free software--to make sure the software is free for all its users.
This license, the Lesser General Public License, applies to some
specially designated software packages--typically libraries--of the
Free Software Foundation and other authors who decide to use it. You
can use it too, but we suggest you first think carefully about whether
this license or the ordinary General Public License is the better
strategy to use in any particular case, based on the explanations below.
When we speak of free software, we are referring to freedom of use,
not price. Our General Public Licenses are designed to make sure that
you have the freedom to distribute copies of free software (and charge
for this service if you wish); that you receive source code or can get
it if you want it; that you can change the software and use pieces of
it in new free programs; and that you are informed that you can do
these things.
To protect your rights, we need to make restrictions that forbid
distributors to deny you these rights or to ask you to surrender these
rights. These restrictions translate to certain responsibilities for
you if you distribute copies of the library or if you modify it.
For example, if you distribute copies of the library, whether gratis
or for a fee, you must give the recipients all the rights that we gave
you. You must make sure that they, too, receive or can get the source
code. If you link other code with the library, you must provide
complete object files to the recipients, so that they can relink them
with the library after making changes to the library and recompiling
it. And you must show them these terms so they know their rights.
We protect your rights with a two-step method: (1) we copyright the
library, and (2) we offer you this license, which gives you legal
permission to copy, distribute and/or modify the library.
To protect each distributor, we want to make it very clear that
there is no warranty for the free library. Also, if the library is
modified by someone else and passed on, the recipients should know
that what they have is not the original version, so that the original
author's reputation will not be affected by problems that might be
introduced by others.
Finally, software patents pose a constant threat to the existence of
any free program. We wish to make sure that a company cannot
effectively restrict the users of a free program by obtaining a
restrictive license from a patent holder. Therefore, we insist that
any patent license obtained for a version of the library must be
consistent with the full freedom of use specified in this license.
Most GNU software, including some libraries, is covered by the
ordinary GNU General Public License. This license, the GNU Lesser
General Public License, applies to certain designated libraries, and
is quite different from the ordinary General Public License. We use
this license for certain libraries in order to permit linking those
libraries into non-free programs.
When a program is linked with a library, whether statically or using
a shared library, the combination of the two is legally speaking a
combined work, a derivative of the original library. The ordinary
General Public License therefore permits such linking only if the
entire combination fits its criteria of freedom. The Lesser General
Public License permits more lax criteria for linking other code with
the library.
We call this license the "Lesser" General Public License because it
does Less to protect the user's freedom than the ordinary General
Public License. It also provides other free software developers Less
of an advantage over competing non-free programs. These disadvantages
are the reason we use the ordinary General Public License for many
libraries. However, the Lesser license provides advantages in certain
special circumstances.
For example, on rare occasions, there may be a special need to
encourage the widest possible use of a certain library, so that it becomes
a de-facto standard. To achieve this, non-free programs must be
allowed to use the library. A more frequent case is that a free
library does the same job as widely used non-free libraries. In this
case, there is little to gain by limiting the free library to free
software only, so we use the Lesser General Public License.
In other cases, permission to use a particular library in non-free
programs enables a greater number of people to use a large body of
free software. For example, permission to use the GNU C Library in
non-free programs enables many more people to use the whole GNU
operating system, as well as its variant, the GNU/Linux operating
system.
Although the Lesser General Public License is Less protective of the
users' freedom, it does ensure that the user of a program that is
linked with the Library has the freedom and the wherewithal to run
that program using a modified version of the Library.
The precise terms and conditions for copying, distribution and
modification follow. Pay close attention to the difference between a
"work based on the library" and a "work that uses the library". The
former contains code derived from the library, whereas the latter must
be combined with the library in order to run.
GNU LESSER GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software library or other
program which contains a notice placed by the copyright holder or
other authorized party saying it may be distributed under the terms of
this Lesser General Public License (also called "this License").
Each licensee is addressed as "you".
A "library" means a collection of software functions and/or data
prepared so as to be conveniently linked with application programs
(which use some of those functions and data) to form executables.
The "Library", below, refers to any such software library or work
which has been distributed under these terms. A "work based on the
Library" means either the Library or any derivative work under
copyright law: that is to say, a work containing the Library or a
portion of it, either verbatim or with modifications and/or translated
straightforwardly into another language. (Hereinafter, translation is
included without limitation in the term "modification".)
"Source code" for a work means the preferred form of the work for
making modifications to it. For a library, complete source code means
all the source code for all modules it contains, plus any associated
interface definition files, plus the scripts used to control compilation
and installation of the library.
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running a program using the Library is not restricted, and output from
such a program is covered only if its contents constitute a work based
on the Library (independent of the use of the Library in a tool for
writing it). Whether that is true depends on what the Library does
and what the program that uses the Library does.
1. You may copy and distribute verbatim copies of the Library's
complete source code as you receive it, in any medium, provided that
you conspicuously and appropriately publish on each copy an
appropriate copyright notice and disclaimer of warranty; keep intact
all the notices that refer to this License and to the absence of any
warranty; and distribute a copy of this License along with the
Library.
You may charge a fee for the physical act of transferring a copy,
and you may at your option offer warranty protection in exchange for a
fee.
2. You may modify your copy or copies of the Library or any portion
of it, thus forming a work based on the Library, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) The modified work must itself be a software library.
b) You must cause the files modified to carry prominent notices
stating that you changed the files and the date of any change.
c) You must cause the whole of the work to be licensed at no
charge to all third parties under the terms of this License.
d) If a facility in the modified Library refers to a function or a
table of data to be supplied by an application program that uses
the facility, other than as an argument passed when the facility
is invoked, then you must make a good faith effort to ensure that,
in the event an application does not supply such function or
table, the facility still operates, and performs whatever part of
its purpose remains meaningful.
(For example, a function in a library to compute square roots has
a purpose that is entirely well-defined independent of the
application. Therefore, Subsection 2d requires that any
application-supplied function or table used by this function must
be optional: if the application does not supply it, the square
root function must still compute square roots.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Library,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Library, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote
it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Library.
In addition, mere aggregation of another work not based on the Library
with the Library (or with a work based on the Library) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may opt to apply the terms of the ordinary GNU General Public
License instead of this License to a given copy of the Library. To do
this, you must alter all the notices that refer to this License, so
that they refer to the ordinary GNU General Public License, version 2,
instead of to this License. (If a newer version than version 2 of the
ordinary GNU General Public License has appeared, then you can specify
that version instead if you wish.) Do not make any other change in
these notices.
Once this change is made in a given copy, it is irreversible for
that copy, so the ordinary GNU General Public License applies to all
subsequent copies and derivative works made from that copy.
This option is useful when you wish to copy part of the code of
the Library into a program that is not a library.
4. You may copy and distribute the Library (or a portion or
derivative of it, under Section 2) in object code or executable form
under the terms of Sections 1 and 2 above provided that you accompany
it with the complete corresponding machine-readable source code, which
must be distributed under the terms of Sections 1 and 2 above on a
medium customarily used for software interchange.
If distribution of object code is made by offering access to copy
from a designated place, then offering equivalent access to copy the
source code from the same place satisfies the requirement to
distribute the source code, even though third parties are not
compelled to copy the source along with the object code.
5. A program that contains no derivative of any portion of the
Library, but is designed to work with the Library by being compiled or
linked with it, is called a "work that uses the Library". Such a
work, in isolation, is not a derivative work of the Library, and
therefore falls outside the scope of this License.
However, linking a "work that uses the Library" with the Library
creates an executable that is a derivative of the Library (because it
contains portions of the Library), rather than a "work that uses the
library". The executable is therefore covered by this License.
Section 6 states terms for distribution of such executables.
When a "work that uses the Library" uses material from a header file
that is part of the Library, the object code for the work may be a
derivative work of the Library even though the source code is not.
Whether this is true is especially significant if the work can be
linked without the Library, or if the work is itself a library. The
threshold for this to be true is not precisely defined by law.
If such an object file uses only numerical parameters, data
structure layouts and accessors, and small macros and small inline
functions (ten lines or less in length), then the use of the object
file is unrestricted, regardless of whether it is legally a derivative
work. (Executables containing this object code plus portions of the
Library will still fall under Section 6.)
Otherwise, if the work is a derivative of the Library, you may
distribute the object code for the work under the terms of Section 6.
Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself.
6. As an exception to the Sections above, you may also combine or
link a "work that uses the Library" with the Library to produce a
work containing portions of the Library, and distribute that work
under terms of your choice, provided that the terms permit
modification of the work for the customer's own use and reverse
engineering for debugging such modifications.
You must give prominent notice with each copy of the work that the
Library is used in it and that the Library and its use are covered by
this License. You must supply a copy of this License. If the work
during execution displays copyright notices, you must include the
copyright notice for the Library among them, as well as a reference
directing the user to the copy of this License. Also, you must do one
of these things:
a) Accompany the work with the complete corresponding
machine-readable source code for the Library including whatever
changes were used in the work (which must be distributed under
Sections 1 and 2 above); and, if the work is an executable linked
with the Library, with the complete machine-readable "work that
uses the Library", as object code and/or source code, so that the
user can modify the Library and then relink to produce a modified
executable containing the modified Library. (It is understood
that the user who changes the contents of definitions files in the
Library will not necessarily be able to recompile the application
to use the modified definitions.)
b) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (1) uses at run time a
copy of the library already present on the user's computer system,
rather than copying library functions into the executable, and (2)
will operate properly with a modified version of the library, if
the user installs one, as long as the modified version is
interface-compatible with the version that the work was made with.
c) Accompany the work with a written offer, valid for at
least three years, to give the same user the materials
specified in Subsection 6a, above, for a charge no more
than the cost of performing this distribution.
d) If distribution of the work is made by offering access to copy
from a designated place, offer equivalent access to copy the above
specified materials from the same place.
e) Verify that the user has already received a copy of these
materials or that you have already sent this user a copy.
For an executable, the required form of the "work that uses the
Library" must include any data and utility programs needed for
reproducing the executable from it. However, as a special exception,
the materials to be distributed need not include anything that is
normally distributed (in either source or binary form) with the major
components (compiler, kernel, and so on) of the operating system on
which the executable runs, unless that component itself accompanies
the executable.
It may happen that this requirement contradicts the license
restrictions of other proprietary libraries that do not normally
accompany the operating system. Such a contradiction means you cannot
use both them and the Library together in an executable that you
distribute.
7. You may place library facilities that are a work based on the
Library side-by-side in a single library together with other library
facilities not covered by this License, and distribute such a combined
library, provided that the separate distribution of the work based on
the Library and of the other library facilities is otherwise
permitted, and provided that you do these two things:
a) Accompany the combined library with a copy of the same work
based on the Library, uncombined with any other library
facilities. This must be distributed under the terms of the
Sections above.
b) Give prominent notice with the combined library of the fact
that part of it is a work based on the Library, and explaining
where to find the accompanying uncombined form of the same work.
8. You may not copy, modify, sublicense, link with, or distribute
the Library except as expressly provided under this License. Any
attempt otherwise to copy, modify, sublicense, link with, or
distribute the Library is void, and will automatically terminate your
rights under this License. However, parties who have received copies,
or rights, from you under this License will not have their licenses
terminated so long as such parties remain in full compliance.
9. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Library or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Library (or any work based on the
Library), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Library or works based on it.
10. Each time you redistribute the Library (or any work based on the
Library), the recipient automatically receives a license from the
original licensor to copy, distribute, link with or modify the Library
subject to these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties with
this License.
11. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Library at all. For example, if a patent
license would not permit royalty-free redistribution of the Library by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Library.
If any portion of this section is held invalid or unenforceable under any
particular circumstance, the balance of the section is intended to apply,
and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
12. If the distribution and/or use of the Library is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Library under this License may add
an explicit geographical distribution limitation excluding those countries,
so that distribution is permitted only in or among countries not thus
excluded. In such case, this License incorporates the limitation as if
written in the body of this License.
13. The Free Software Foundation may publish revised and/or new
versions of the Lesser General Public License from time to time.
Such new versions will be similar in spirit to the present version,
but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Library
specifies a version number of this License which applies to it and
"any later version", you have the option of following the terms and
conditions either of that version or of any later version published by
the Free Software Foundation. If the Library does not specify a
license version number, you may choose any version ever published by
the Free Software Foundation.
14. If you wish to incorporate parts of the Library into other free
programs whose distribution conditions are incompatible with these,
write to the author to ask for permission. For software which is
copyrighted by the Free Software Foundation, write to the Free
Software Foundation; we sometimes make exceptions for this. Our
decision will be guided by the two goals of preserving the free status
of all derivatives of our free software and of promoting the sharing
and reuse of software generally.
NO WARRANTY
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Libraries
If you develop a new library, and you want it to be of the greatest
possible use to the public, we recommend making it free software that
everyone can redistribute and change. You can do so by permitting
redistribution under these terms (or, alternatively, under the terms of the
ordinary General Public License).
To apply these terms, attach the following notices to the library. It is
safest to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least the
"copyright" line and a pointer to where the full notice is found.
<one line to give the library's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Also add information on how to contact you by electronic and paper mail.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the library, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the
library `Frob' (a library for tweaking knobs) written by James Random Hacker.
<signature of Ty Coon>, 1 April 1990
Ty Coon, President of Vice
That's all there is to it!

View File

@ -0,0 +1,18 @@
get_filename_component(myDir ${CMAKE_CURRENT_LIST_FILE} PATH) # get the directory where I myself am
get_filename_component(rootDir ${myDir}/@relInstallDir@ ABSOLUTE) # get the chosen install prefix
# set the version of myself
set(MYGPO_QT_VERSION_MAJOR @MYGPO_QT_VERSION_MAJOR@)
set(MYGPO_QT_VERSION_MINOR @MYGPO_QT_VERSION_MINOR@)
set(MYGPO_QT_VERSION_PATCH @MYGPO_QT_VERSION_PATCH@)
set(MYGPO_QT_VERSION ${MYGPO_QT_VERSION_MAJOR}.${MYGPO_QT_VERSION_MINOR}.${MYGPO_QT_VERSION_PATCH} )
# what is my include directory
set(LIBMYGPO_QT_INCLUDE_DIRS "@INCLUDE_INSTALL_DIR@")
# import the exported targets
include(${myDir}/Mygpo-qt@MYGPO_QT_VERSION_SUFFIX@Targets.cmake)
# set the expected library variable
set(LIBMYGPO_QT_LIBRARIES mygpo-qt@MYGPO_QT_VERSION_SUFFIX@ )
set(LIBMYGPO_QT_FOUND "True")

View File

@ -0,0 +1,10 @@
set(PACKAGE_VERSION @MYGPO_QT_VERSION_MAJOR@.@MYGPO_QT_VERSION_MINOR@.@MYGPO_QT_VERSION_PATCH@)
if("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}" )
set(PACKAGE_VERSION_COMPATIBLE FALSE)
else("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}" )
set(PACKAGE_VERSION_COMPATIBLE TRUE)
if( "${PACKAGE_FIND_VERSION}" STREQUAL "${PACKAGE_VERSION}")
set(PACKAGE_VERSION_EXACT TRUE)
endif( "${PACKAGE_FIND_VERSION}" STREQUAL "${PACKAGE_VERSION}")
endif("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}" )

42
3rdparty/libmygpo-qt5/README vendored Normal file
View File

@ -0,0 +1,42 @@
========== README ==========
=== What is libmygpo-qt ===
libmygpo-qt is a Qt Library that wraps the gpodder.net Web API (http://wiki.gpodder.org/wiki/Web_Services/API_2)
=== Copyright & License ===
Copyright 2010 - 2018 Stefan Derkits (stefan@derkits.at) , Christian Wagner (christian.wagner86@gmx.at) & Felix Winter (ixos01@gmail.com)
See COPYING File for License
=== Maintainer ===
Current Maintainer: Stefan Derkits (HorusHorrendus @ irc.freenode.net)
=== Requirements ===
-) Qt 5.2 or higher
-) CMake 2.8.9 or higher
-) QJson
=== Links ===
Homepage: http://wiki.gpodder.org/wiki/Libmygpo-qt
Git Repo: https://github.com/gpodder/libmygpo-qt
Doxygen Documentation: http://stefan.derkits.at/libmygpo-doc/
Bugreports: http://bugs.gpodder.org
Contact: gpodder@freelists.org
IRC Channel: #gpodder on FreeNode (irc.freenode.net)
=== How to Install ===
-) Create Directory "build"
-) change into build and run "cmake .. -DCMAKE_BUILD_TYPE=Debug"
-) make
-) make install (might need root)
To use libmygpo-qt include the Header "ApiRequest.h" into your Code. You can find the cflags & linker flags for libmygpo-qt either via pkg-config (.pc file will be installed to your System)
or via cmake (Mygpo-qtConfig.cmake will be installed to your system).
You can check the Example Application to see how you can use libmygpo-qt in your Application

View File

@ -0,0 +1,50 @@
# Find QJSON - JSON handling library for Qt
#
# This module defines
# QJSON_FOUND - whether the qsjon library was found
# QJSON_LIBRARIES - the qjson library
# QJSON_INCLUDE_DIR - the include path of the qjson library
#
if (QJSON_INCLUDE_DIR AND QJSON_LIBRARIES)
# Already in cache
set (QJSON_FOUND TRUE)
else (QJSON_INCLUDE_DIR AND QJSON_LIBRARIES)
if (NOT WIN32)
# use pkg-config to get the values of QJSON_INCLUDE_DIRS
# and QJSON_LIBRARY_DIRS to add as hints to the find commands.
include (FindPkgConfig)
pkg_check_modules (QJSON REQUIRED QJson>=0.5)
endif (NOT WIN32)
find_library (QJSON_LIBRARIES
NAMES
qjson
PATHS
${QJSON_LIBRARY_DIRS}
${LIB_INSTALL_DIR}
${KDE4_LIB_DIR}
)
find_path (QJSON_INCLUDE_DIR
NAMES
parser.h
PATH_SUFFIXES
qjson
PATHS
${QJSON_INCLUDE_DIRS}
${INCLUDE_INSTALL_DIR}
${KDE4_INCLUDE_DIR}
)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(QJSON DEFAULT_MSG QJSON_LIBRARIES QJSON_INCLUDE_DIR)
if ( UNIX AND NOT APPLE )
set ( QJSON_LIBRARIES "${QJSON_LIBRARIES} ${QJSON_LDFLAGS}" CACHE INTERNAL "")
endif ()
endif (QJSON_INCLUDE_DIR AND QJSON_LIBRARIES)

View File

@ -20,11 +20,11 @@
* USA *
***************************************************************************/
#include <parser.h>
#include "AddRemoveResult.h"
#include "AddRemoveResult_p.h"
#include "qjsonwrapper/Json.h"
using namespace mygpo;
AddRemoveResultPrivate::AddRemoveResultPrivate( AddRemoveResult* qq, QNetworkReply* reply ) : q( qq ), m_reply( reply ), m_error( QNetworkReply::NoError )
@ -64,7 +64,6 @@ QList< QPair< QUrl, QUrl > > AddRemoveResultPrivate::updateUrlsList() const
bool AddRemoveResultPrivate::parse( const QVariant& data )
{
QJson::Parser parser;
if( !data.canConvert( QVariant::Map ) )
return false;
QVariantMap resultMap = data.toMap();
@ -78,9 +77,8 @@ bool AddRemoveResultPrivate::parse( const QVariant& data )
bool AddRemoveResultPrivate::parse( const QByteArray& data )
{
QJson::Parser parser;
bool ok;
QVariant variant = parser.parse( data, &ok );
QVariant variant = QJsonWrapper::parseJson( data, &ok );
if( ok )
{
ok = ( parse( variant ) );

View File

@ -65,6 +65,6 @@ typedef QSharedPointer<AddRemoveResult> AddRemoveResultPtr;
}
Q_DECLARE_METATYPE( mygpo::AddRemoveResultPtr );
Q_DECLARE_METATYPE(mygpo::AddRemoveResultPtr)
#endif // LIBMYGPO_QT_ADDREMOVERESULT_H

View File

@ -1,6 +1,6 @@
/***************************************************************************
* This file is part of libmygpo-qt *
* Copyright (c) 2010 - 2013 Stefan Derkits <stefan@derkits.at> *
* Copyright (c) 2010 - 2014 Stefan Derkits <stefan@derkits.at> *
* Copyright (c) 2010 - 2011 Christian Wagner <christian.wagner86@gmx.at> *
* Copyright (c) 2010 - 2011 Felix Winter <ixos01@gmail.com> *
* *

View File

@ -1,6 +1,6 @@
/***************************************************************************
* This file is part of libmygpo-qt *
* Copyright (c) 2010 - 2013 Stefan Derkits <stefan@derkits.at> *
* Copyright (c) 2010 - 2014 Stefan Derkits <stefan@derkits.at> *
* Copyright (c) 2010 - 2011 Christian Wagner <christian.wagner86@gmx.at> *
* Copyright (c) 2010 - 2011 Felix Winter <ixos01@gmail.com> *
* *
@ -84,7 +84,7 @@ public:
*/
QNetworkReply* suggestionsOpml( uint count );
QNetworkReply* downloadSubscriptionsOpml( const QString& username, const QString& device );
QNetworkReply* downloadSubscriptionsOpml( const QString& username, const QString& device = QString() );
/**
* Returns the TXT Result for the Simple API Call "Downloading Podcast Toplists"
@ -111,7 +111,7 @@ public:
*/
QNetworkReply* suggestionsTxt( uint count );
QNetworkReply* downloadSubscriptionsTxt( const QString& username, const QString& device );
QNetworkReply* downloadSubscriptionsTxt( const QString& username, const QString& device = QString() );
/**
* Returns the TXT Result for the Simple API Call "Downloading Podcast Toplists"
@ -154,7 +154,7 @@ public:
*/
PodcastListPtr suggestions( uint count );
QNetworkReply* downloadSubscriptionsJson( const QString& username, const QString& device );
QNetworkReply* downloadSubscriptionsJson( const QString& username, const QString& device = QString() );
//ADVANCED API

View File

@ -1,11 +1,10 @@
# Extra bits for Clementine.
set( MYGPO_QT_VERSION_MAJOR "1" )
set( MYGPO_QT_VERSION_MINOR "0" )
set( MYGPO_QT_VERSION_PATCH "7" )
set( MYGPO_QT_VERSION_PATCH "9" )
configure_file( Version.h.in ${CMAKE_CURRENT_BINARY_DIR}/Version.h )
include_directories("${QJSON_INCLUDEDIR}/qjson")
include_directories( ${QT_INCLUDES} ${QJSON_INCLUDE_DIR} ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} )
include_directories( ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} )
set ( LIBMYGPO_QT_SRC
Config.cpp
@ -27,6 +26,7 @@ set ( LIBMYGPO_QT_SRC
DeviceUpdates.cpp
DeviceList.cpp
Device.cpp
qjsonwrapper/Json.cpp
)
set ( LIBMYGPO_QT_MOC_H
@ -80,9 +80,8 @@ set ( LIBMYGPO_QT_INSTALL_H
AddRemoveResult.h
)
QT4_WRAP_CPP(LIBMYGPO_QT_MOC_SRC ${LIBMYGPO_QT_MOC_H} )
QT_WRAP_CPP(LIBMYGPO_QT_MOC_SRC ${LIBMYGPO_QT_MOC_H} )
add_library( mygpo-qt STATIC ${LIBMYGPO_QT_SRC} ${LIBMYGPO_QT_MOC_SRC} )
add_library( ${MYGPO_QT_TARGET_NAME} STATIC ${LIBMYGPO_QT_SRC} ${LIBMYGPO_QT_MOC_SRC} )
target_link_libraries( mygpo-qt ${QJSON_LIBRARIES} ${QT_QTCORE_LIBRARY} ${QT_QTNETWORK_LIBRARY} )
set_target_properties( mygpo-qt PROPERTIES VERSION ${MYGPO_QT_VERSION} SOVERSION ${MYGPO_QT_SONAME} DEFINE_SYMBOL MYGPO_MAKEDLL)
target_link_libraries( ${MYGPO_QT_TARGET_NAME} ${QJSON_LIBRARIES} Qt5::Core Qt5::Network )

View File

@ -29,7 +29,7 @@ using namespace mygpo;
Config* Config::s_instance = 0;
ConfigPrivate::ConfigPrivate( Config* qq ) : q( qq ), m_mygpoBaseUrl( QUrl( QLatin1String( "http://gpodder.net" ) ) ), m_userAgentPrefix( QString() )
ConfigPrivate::ConfigPrivate( Config* qq ) : q( qq ), m_mygpoBaseUrl( QUrl( QLatin1String( "https://gpodder.net" ) ) ), m_userAgentPrefix( QString() )
{
}

View File

@ -66,6 +66,6 @@ typedef QSharedPointer<Device> DevicePtr;
}
Q_DECLARE_METATYPE( mygpo::DevicePtr );
Q_DECLARE_METATYPE(mygpo::DevicePtr)
#endif //LIBMYGPO_QT_DEVICE_H

View File

@ -22,7 +22,7 @@
#include "DeviceList_p.h"
#include <parser.h>
#include "qjsonwrapper/Json.h"
using namespace mygpo;
@ -73,9 +73,8 @@ bool DeviceListPrivate::parse( const QVariant& data )
bool DeviceListPrivate::parse( const QByteArray& data )
{
QJson::Parser parser;
bool ok;
QVariant variant = parser.parse( data, &ok );
QVariant variant = QJsonWrapper::parseJson( data, &ok );
if( ok )
{
ok = ( parse( variant ) );

View File

@ -63,6 +63,6 @@ typedef QSharedPointer<DeviceList> DeviceListPtr;
}
Q_DECLARE_METATYPE( mygpo::DeviceListPtr );
Q_DECLARE_METATYPE(mygpo::DeviceListPtr)
#endif //LIBMYGPO_QT_DEVICELIST_H

View File

@ -20,7 +20,7 @@
#include "DeviceSyncResult_p.h"
#include <parser.h>
#include "qjsonwrapper/Json.h"
using namespace mygpo;
@ -85,9 +85,8 @@ bool DeviceSyncResultPrivate::parse( const QVariant& data )
bool DeviceSyncResultPrivate::parse( const QByteArray& data )
{
QJson::Parser parser;
bool ok;
QVariant variant = parser.parse( data, &ok );
QVariant variant = QJsonWrapper::parseJson( data, &ok );
if( ok )
{
ok = ( parse( variant ) );

View File

@ -22,7 +22,7 @@
#include "DeviceUpdates_p.h"
#include <parser.h>
#include "qjsonwrapper/Json.h"
using namespace mygpo;
@ -102,9 +102,8 @@ bool DeviceUpdatesPrivate::parse( const QVariant& data )
bool DeviceUpdatesPrivate::parse( const QByteArray& data )
{
QJson::Parser parser;
bool ok;
QVariant variant = parser.parse( data, &ok );
QVariant variant = QJsonWrapper::parseJson( data, &ok );
if( ok )
{
ok = ( parse( variant ) );

View File

@ -22,7 +22,7 @@
#include "Episode_p.h"
#include <parser.h>
#include "qjsonwrapper/Json.h"
using namespace mygpo;
@ -115,9 +115,8 @@ bool EpisodePrivate::parse ( const QVariant& data )
bool EpisodePrivate::parse ( const QByteArray& data )
{
QJson::Parser parser;
bool ok;
QVariant variant = parser.parse ( data, &ok );
QVariant variant = QJsonWrapper::parseJson( data, &ok );
if ( ok )
{
if ( !parse ( variant ) ) return false;

View File

@ -91,6 +91,6 @@ typedef QSharedPointer<Episode> EpisodePtr;
}
Q_DECLARE_METATYPE( mygpo::EpisodePtr );
Q_DECLARE_METATYPE(mygpo::EpisodePtr)
#endif // LIBMYGPO_QT_EPISODE_H

View File

@ -22,7 +22,7 @@
#include "EpisodeAction_p.h"
#include <parser.h>
#include "qjsonwrapper/Json.h"
using namespace mygpo;
@ -163,9 +163,8 @@ bool EpisodeActionPrivate::parseActionType( const QString& data )
bool EpisodeActionPrivate::parse( const QByteArray& data )
{
QJson::Parser parser;
bool ok;
QVariant variant = parser.parse( data, &ok );
QVariant variant = QJsonWrapper::parseJson( data, &ok );
if( ok )
{
if( !parse( variant ) ) return false;

View File

@ -75,6 +75,6 @@ typedef QSharedPointer<EpisodeAction> EpisodeActionPtr;
}
Q_DECLARE_METATYPE( mygpo::EpisodeActionPtr );
Q_DECLARE_METATYPE(mygpo::EpisodeActionPtr)
#endif // LIBMYGPO_QT_EPISODEACTION_H

View File

@ -22,7 +22,7 @@
#include "EpisodeActionList_p.h"
#include <parser.h>
#include "qjsonwrapper/Json.h"
using namespace mygpo;
@ -88,9 +88,8 @@ bool EpisodeActionListPrivate::parse( const QVariant& data )
bool EpisodeActionListPrivate::parse( const QByteArray& data )
{
QJson::Parser parser;
bool ok;
QVariant variant = parser.parse( data, &ok );
QVariant variant = QJsonWrapper::parseJson( data, &ok );
if( ok )
{
ok = ( parse( variant ) );

View File

@ -66,6 +66,6 @@ typedef QSharedPointer<EpisodeActionList> EpisodeActionListPtr;
}
Q_DECLARE_METATYPE( mygpo::EpisodeActionListPtr );
Q_DECLARE_METATYPE(mygpo::EpisodeActionListPtr)
#endif // LIBMYGPO_QT_EPISODEACTIONLIST_H

View File

@ -22,7 +22,7 @@
#include "EpisodeList_p.h"
#include <parser.h>
#include "qjsonwrapper/Json.h"
using namespace mygpo;
@ -71,9 +71,8 @@ bool EpisodeListPrivate::parse( const QVariant& data )
bool EpisodeListPrivate::parse( const QByteArray& data )
{
QJson::Parser parser;
bool ok;
QVariant variant = parser.parse( data, &ok );
QVariant variant = QJsonWrapper::parseJson( data, &ok );
if( ok )
{
ok = ( parse( variant ) );

View File

@ -52,6 +52,6 @@ private slots:
};
};
} // namespace mygpo
#endif // EPISODELIST_PRIVATE_H

View File

@ -66,6 +66,6 @@ private slots:
};
};
} // namespace mygpo
#endif // EPISODE_PRIVATE_H

View File

@ -20,47 +20,44 @@
* USA *
***************************************************************************/
#include <QVariant>
//#include <QVariant>
#include <QList>
#include <QUrl>
#include <QString>
#include <QDateTime>
#include <serializer.h>
#include "JsonCreator.h"
#include "qjsonwrapper/Json.h"
using namespace mygpo;
static qulonglong c_maxlonglong = (2^64)-1;
QByteArray JsonCreator::addRemoveSubsToJSON( const QList< QUrl >& add, const QList< QUrl >& remove )
{
QJson::Serializer serializer;
QVariantMap jsonData;
QVariant addVar( urlListToQVariantList( add ) );
QVariant removeVar( urlListToQVariantList( remove ) );
jsonData.insert( QString( QLatin1String( "add" ) ), addVar );
jsonData.insert( QString( QLatin1String( "remove" ) ), removeVar );
QByteArray jsonByteArray = serializer.serialize( QVariant( jsonData ) );
QByteArray jsonByteArray = QJsonWrapper::toJson( QVariant( jsonData ) );
return jsonByteArray;
}
QByteArray JsonCreator::saveSettingsToJSON( const QMap< QString, QVariant >& set, const QList< QString >& remove )
{
QJson::Serializer serializer;
QVariantMap jsonData;
//QVariant setVar(stringMapToQVariantMap(set));
QVariant removeVar( stringListToQVariantList( remove ) );
jsonData.insert( QString( QLatin1String( "set" ) ), set );
jsonData.insert( QString( QLatin1String( "remove" ) ), removeVar );
QByteArray jsonByteArray = serializer.serialize( QVariant( jsonData ) );
QByteArray jsonByteArray = QJsonWrapper::toJson( QVariant( jsonData ) );
return jsonByteArray;
}
QByteArray JsonCreator::episodeActionListToJSON( const QList<EpisodeActionPtr>& episodeActions )
{
QJson::Serializer serializer;
QVariantList jsonData;
foreach( const EpisodeActionPtr episodeAction, episodeActions )
@ -68,19 +65,18 @@ QByteArray JsonCreator::episodeActionListToJSON( const QList<EpisodeActionPtr>&
jsonData.append( episodeActionToQVariantMap( episodeAction ) );
}
QByteArray jsonByteArray = serializer.serialize( QVariant( jsonData ) );
QByteArray jsonByteArray = QJsonWrapper::toJson( QVariant( jsonData ) );
return jsonByteArray;
}
QByteArray JsonCreator::renameDeviceStringToJSON( const QString& caption, const QString& type )
{
QJson::Serializer serializer;
QVariantMap jsonData;
QVariant captionVar( caption );
QVariant typeVar( type );
jsonData.insert( QString( QLatin1String( "caption" ) ), captionVar );
jsonData.insert( QString( QLatin1String( "type" ) ), typeVar );
QByteArray jsonByteArray = serializer.serialize( QVariant( jsonData ) );
QByteArray jsonByteArray = QJsonWrapper::toJson( QVariant( jsonData ) );
return jsonByteArray;
}
@ -130,7 +126,7 @@ QByteArray JsonCreator::deviceSynchronizationListsToJSON(const QList< QStringLis
jsonStr.append(syncVar);
jsonStr.append(QLatin1String(" ,\"stop-synchronize\" : "));
jsonStr.append(stopVar);
jsonStr.append(QLatin1String(" }\n"));
jsonStr.append(QLatin1String(" }"));
return jsonStr.toLocal8Bit();
}

View File

@ -22,7 +22,7 @@
#include "Podcast_p.h"
#include <parser.h>
#include "qjsonwrapper/Json.h"
using namespace mygpo;
@ -145,9 +145,12 @@ bool PodcastPrivate::parse( const QVariant& data )
return false;
QVariantMap podcastMap = data.toMap();
QVariant v = podcastMap.value( QLatin1String( "url" ) );
if ( !v.canConvert( QVariant::Url ) )
if ( !v.canConvert( QVariant::ByteArray ) )
return false;
m_url = v.toUrl();
m_url = QUrl::fromEncoded(v.toByteArray(), QUrl::StrictMode);
if (!m_url.isValid()) {
return false;
}
v = podcastMap.value( QLatin1String( "title" ) );
if ( !v.canConvert( QVariant::String ) )
return false;
@ -181,9 +184,8 @@ bool PodcastPrivate::parse( const QVariant& data )
bool PodcastPrivate::parse( const QByteArray& data )
{
QJson::Parser parser;
bool ok;
QVariant variant = parser.parse( data, &ok );
QVariant variant = QJsonWrapper::parseJson( data, &ok );
if ( ok )
{
if ( !parse( variant ) ) return false;
@ -197,8 +199,6 @@ bool PodcastPrivate::parse( const QByteArray& data )
void PodcastPrivate::parseData()
{
//parsen und signal senden
QJson::Parser parser;
if ( parse( m_reply->readAll( ) ) )
{
emit q->finished();

View File

@ -79,6 +79,6 @@ typedef QSharedPointer<Podcast> PodcastPtr;
}
Q_DECLARE_METATYPE( mygpo::PodcastPtr );
Q_DECLARE_METATYPE(mygpo::PodcastPtr)
#endif // LIBMYGPO_QT_PODCAST_H

View File

@ -22,7 +22,7 @@
#include "PodcastList_p.h"
#include <parser.h>
#include "qjsonwrapper/Json.h"
using namespace mygpo;
@ -71,9 +71,8 @@ bool PodcastListPrivate::parse( const QVariant& data )
bool PodcastListPrivate::parse( const QByteArray& data )
{
QJson::Parser parser;
bool ok;
QVariant variant = parser.parse( data, &ok );
QVariant variant = QJsonWrapper::parseJson( data, &ok );
if( ok )
{
ok = ( parse( variant ) );

View File

@ -66,6 +66,6 @@ private slots:
void error( QNetworkReply::NetworkError error );
};
};
} // namespace mygpo
#endif // PODCAST_PRIVATE_H

View File

@ -77,5 +77,5 @@ void RequestHandler::addAuthData( QNetworkRequest& request )
void RequestHandler::addUserAgent( QNetworkRequest &request )
{
request.setRawHeader("User-Agent", Config::instance()->userAgent().toAscii() );
request.setRawHeader("User-Agent", Config::instance()->userAgent().toLatin1() );
}

View File

@ -22,7 +22,7 @@
#include "Settings_p.h"
#include <parser.h>
#include "qjsonwrapper/Json.h"
using namespace mygpo;
@ -49,9 +49,8 @@ bool SettingsPrivate::parse( const QVariant& data )
bool SettingsPrivate::parse( const QByteArray& data )
{
QJson::Parser parser;
bool ok;
QVariant variant = parser.parse( data, &ok );
QVariant variant = QJsonWrapper::parseJson( data, &ok );
if( ok )
{
ok = ( parse( variant ) );
@ -63,7 +62,6 @@ void SettingsPrivate::parseData()
{
if( m_reply->error() == QNetworkReply::NoError )
{
QJson::Parser parser;
if( parse( m_reply->readAll() ) )
{
emit q->finished();

View File

@ -54,6 +54,6 @@ typedef QSharedPointer<Tag> TagPtr;
}
Q_DECLARE_METATYPE( mygpo::TagPtr );
Q_DECLARE_METATYPE(mygpo::TagPtr)
#endif // LIBMYGPO_QT_TAG_H

View File

@ -22,7 +22,7 @@
#include "TagList_p.h"
#include <parser.h>
#include "qjsonwrapper/Json.h"
using namespace mygpo;
@ -70,9 +70,8 @@ bool TagListPrivate::parse( const QVariant& data )
bool TagListPrivate::parse( const QByteArray& data )
{
QJson::Parser parser;
bool ok;
QVariant variant = parser.parse( data, &ok );
QVariant variant = QJsonWrapper::parseJson( data, &ok );
if( ok )
{
ok = ( parse( variant ) );

View File

@ -61,6 +61,6 @@ typedef QSharedPointer<TagList> TagListPtr;
}
Q_DECLARE_METATYPE( mygpo::TagListPtr );
Q_DECLARE_METATYPE(mygpo::TagListPtr)
#endif // LIBMYGPO_QT_TAGLIST_H

View File

@ -30,7 +30,6 @@
using namespace mygpo;
const QString UrlBuilder::s_server = Config::instance()->mygpoBaseUrl().toString();
const QString UrlBuilder::s_api2 = QLatin1String( "/api/2" );
const QString UrlBuilder::s_api1 = QLatin1String( "/api/1" );
@ -58,92 +57,110 @@ static QString getFormatExtension( UrlBuilder::Format f )
QString UrlBuilder::getToplistUrl( uint i, Format f )
{
QString numString = QString::number(( i == 0 ) ? 1 : i );
return s_server % QLatin1String( "/toplist/" ) % numString % getFormatExtension( f );
return Config::instance()->mygpoBaseUrl().toString() %
QLatin1String( "/toplist/" ) % numString % getFormatExtension( f );
}
QString UrlBuilder::getSuggestionsUrl( uint i, Format f )
{
QString numString = QString::number(( i == 0 ) ? 1 : i );
return s_server % QLatin1String( "/suggestions/" ) % numString % getFormatExtension( f );
return Config::instance()->mygpoBaseUrl().toString() %
QLatin1String( "/suggestions/" ) % numString % getFormatExtension( f );
}
QString UrlBuilder::getPodcastSearchUrl( const QString& query, Format f )
{
return s_server % QLatin1String( "/search" ) % getFormatExtension( f ) % QLatin1String( "?q=" ) % query;
return Config::instance()->mygpoBaseUrl().toString() %
QLatin1String( "/search" ) % getFormatExtension( f ) % QLatin1String( "?q=" ) % query;
}
QString UrlBuilder::getSubscriptionsUrl( const QString& username, const QString& device, UrlBuilder::Format f)
{
return s_server % QLatin1String( "/subscriptions/" ) % username % QLatin1String( "/" ) % device % getFormatExtension( f );
QString deviceString = device.isNull() ? QString(QLatin1String("")) : (QLatin1String( "/" ) % device);
return Config::instance()->mygpoBaseUrl().toString() %
QLatin1String( "/subscriptions/" ) % username % deviceString % getFormatExtension( f );
}
QString UrlBuilder::getTopTagsUrl( uint i )
{
QString numString = QString::number(( i == 0 ) ? 1 : i );
return s_server % s_api2 % QLatin1String( "/tags/" ) % numString % QLatin1String( ".json" );
return Config::instance()->mygpoBaseUrl().toString() %
s_api2 % QLatin1String( "/tags/" ) % numString % QLatin1String( ".json" );
}
QString UrlBuilder::getPodcastsOfTagUrl( const QString& tag, uint i )
{
QString numString = QString::number(( i == 0 ) ? 1 : i );
return s_server % s_api2 % QLatin1String( "/tag/" ) % tag % QLatin1String( "/" ) % numString % QLatin1String( ".json" );
return Config::instance()->mygpoBaseUrl().toString() %
s_api2 % QLatin1String( "/tag/" ) % tag % QLatin1String( "/" ) % numString % QLatin1String( ".json" );
}
QString UrlBuilder::getPodcastDataUrl( const QString& url )
{
return s_server % s_api2 % QLatin1String( "/data/podcast" ) % QLatin1String( ".json" ) % QLatin1String( "?url=" ) % url;
return Config::instance()->mygpoBaseUrl().toString() %
s_api2 % QLatin1String( "/data/podcast" ) % QLatin1String( ".json" ) % QLatin1String( "?url=" ) % url;
}
QString UrlBuilder::getEpisodeDataUrl( const QString& podcastUrl, const QString& episodeUrl )
{
return s_server % s_api2 % QLatin1String( "/data/episode" ) % QLatin1String( ".json" ) % QLatin1String( "?podcast=" ) % podcastUrl % QLatin1String( "&url=" ) % episodeUrl;
return Config::instance()->mygpoBaseUrl().toString() %
s_api2 % QLatin1String( "/data/episode" ) % QLatin1String( ".json" ) % QLatin1String( "?podcast=" ) % podcastUrl % QLatin1String( "&url=" ) % episodeUrl;
}
QString UrlBuilder::getFavEpisodesUrl( const QString& username )
{
return s_server % s_api2 % QLatin1String( "/favorites/" ) % username % QLatin1String( ".json" );
return Config::instance()->mygpoBaseUrl().toString() %
s_api2 % QLatin1String( "/favorites/" ) % username % QLatin1String( ".json" );
}
QString UrlBuilder::getAddRemoveSubUrl( const QString& username, const QString& deviceId )
{
return s_server % s_api2 % QLatin1String( "/subscriptions/" ) % username % QLatin1String( "/" ) % deviceId % QLatin1String( ".json" );
return Config::instance()->mygpoBaseUrl().toString() %
s_api2 % QLatin1String( "/subscriptions/" ) % username % QLatin1String( "/" ) % deviceId % QLatin1String( ".json" );
}
QString UrlBuilder::getAccountSettingsUrl( const QString& username )
{
return s_server % s_api2 % QLatin1String( "/settings/" ) % username % QLatin1String( "/account" ) % QLatin1String( ".json" );
return Config::instance()->mygpoBaseUrl().toString() %
s_api2 % QLatin1String( "/settings/" ) % username % QLatin1String( "/account" ) % QLatin1String( ".json" );
}
QString UrlBuilder::getDeviceSettingsUrl( const QString& username, const QString& deviceId )
{
return s_server % s_api2 % QLatin1String( "/settings/" ) % username % QLatin1String( "/device" ) % QLatin1String( ".json" ) % QLatin1String( "?device=" ) % deviceId;
return Config::instance()->mygpoBaseUrl().toString() %
s_api2 % QLatin1String( "/settings/" ) % username % QLatin1String( "/device" ) % QLatin1String( ".json" ) % QLatin1String( "?device=" ) % deviceId;
}
QString UrlBuilder::getPodcastSettingsUrl( const QString& username, const QString& podcastUrl )
{
return s_server % s_api2 % QLatin1String( "/settings/" ) % username % QLatin1String( "/podcast" ) % QLatin1String( ".json" ) % QLatin1String( "?podcast=" ) % podcastUrl;
return Config::instance()->mygpoBaseUrl().toString() %
s_api2 % QLatin1String( "/settings/" ) % username % QLatin1String( "/podcast" ) % QLatin1String( ".json" ) % QLatin1String( "?podcast=" ) % podcastUrl;
}
QString UrlBuilder::getEpisodeSettingsUrl( const QString& username, const QString& podcastUrl, const QString& episodeUrl )
{
return s_server % s_api2 % QLatin1String( "/settings/" ) % username % QLatin1String( "/episode" ) % QLatin1String( ".json" ) % QLatin1String( "?podcast=" ) % podcastUrl % QLatin1String( "&episode=" ) % episodeUrl;
return Config::instance()->mygpoBaseUrl().toString() %
s_api2 % QLatin1String( "/settings/" ) % username % QLatin1String( "/episode" ) % QLatin1String( ".json" ) % QLatin1String( "?podcast=" ) % podcastUrl % QLatin1String( "&episode=" ) % episodeUrl;
}
QString UrlBuilder::getDeviceListUrl( const QString& username )
{
return s_server % s_api2 % QLatin1String( "/devices/" ) % username % QLatin1String( ".json" ) ;
return Config::instance()->mygpoBaseUrl().toString() %
s_api2 % QLatin1String( "/devices/" ) % username % QLatin1String( ".json" ) ;
}
QString UrlBuilder::getDeviceUpdatesUrl( const QString& username, const QString& deviceId, qulonglong timestamp )
{
QString numString = QString::number( timestamp );
return s_server % s_api2 % QLatin1String( "/updates/" ) % username % QLatin1String( "/" ) % deviceId % QLatin1String( ".json?since=" ) % numString;
return Config::instance()->mygpoBaseUrl().toString() %
s_api2 % QLatin1String( "/updates/" ) % username % QLatin1String( "/" ) % deviceId % QLatin1String( ".json?since=" ) % numString;
}
QString UrlBuilder::getRenameDeviceUrl( const QString& username, const QString& deviceId )
{
return s_server % s_api2 % QLatin1String( "/devices/" ) % username % QLatin1String( "/" ) % deviceId % QLatin1String( ".json" );
return Config::instance()->mygpoBaseUrl().toString() %
s_api2 % QLatin1String( "/devices/" ) % username % QLatin1String( "/" ) % deviceId % QLatin1String( ".json" );
}
QString UrlBuilder::getEpisodeActionsUrl( const QString& username, const bool aggregated )
@ -154,7 +171,8 @@ QString UrlBuilder::getEpisodeActionsUrl( const QString& username, const bool ag
else
agg = QLatin1String( "" );
return s_server % s_api2 % QLatin1String( "/episodes/" ) % username % QLatin1String( ".json" ) % agg;
return Config::instance()->mygpoBaseUrl().toString() %
s_api2 % QLatin1String( "/episodes/" ) % username % QLatin1String( ".json" ) % agg;
}
QString UrlBuilder::getEpisodeActionsUrlByPodcast( const QString& username, const QString& podcastUrl, const bool aggregated )
@ -165,7 +183,8 @@ QString UrlBuilder::getEpisodeActionsUrlByPodcast( const QString& username, cons
else
agg = QLatin1String( "" );
return s_server % s_api2 % QLatin1String( "/episodes/" ) % username % QLatin1String( ".json?podcast=" ) % podcastUrl % agg;
return Config::instance()->mygpoBaseUrl().toString() %
s_api2 % QLatin1String( "/episodes/" ) % username % QLatin1String( ".json?podcast=" ) % podcastUrl % agg;
}
QString UrlBuilder::getEpisodeActionsUrlByDevice( const QString& username, const QString& deviceId, bool aggregated )
@ -176,33 +195,39 @@ QString UrlBuilder::getEpisodeActionsUrlByDevice( const QString& username, const
else
agg = QLatin1String( "" );
return s_server % s_api2 % QLatin1String( "/episodes/" ) % username % QLatin1String( ".json?device=" ) % deviceId % agg;
return Config::instance()->mygpoBaseUrl().toString() %
s_api2 % QLatin1String( "/episodes/" ) % username % QLatin1String( ".json?device=" ) % deviceId % agg;
}
QString UrlBuilder::getEpisodeActionsUrlByTimestamp( const QString& username, qulonglong since )
{
QString numString = QString::number( since );
return s_server % s_api2 % QLatin1String( "/episodes/" ) % username % QLatin1String( ".json?since=" ) % numString;
return Config::instance()->mygpoBaseUrl().toString() %
s_api2 % QLatin1String( "/episodes/" ) % username % QLatin1String( ".json?since=" ) % numString;
}
QString UrlBuilder::getEpisodeActionsUrlByPodcastAndTimestamp( const QString& username, const QString& podcastUrl, qulonglong since )
{
QString numString = QString::number( since );
return s_server % s_api2 % QLatin1String( "/episodes/" ) % username % QLatin1String( ".json?podcast=" ) % podcastUrl % QLatin1String( "&since=" ) % numString;
return Config::instance()->mygpoBaseUrl().toString() %
s_api2 % QLatin1String( "/episodes/" ) % username % QLatin1String( ".json?podcast=" ) % podcastUrl % QLatin1String( "&since=" ) % numString;
}
QString UrlBuilder::getEpisodeActionsUrlByDeviceAndTimestamp( const QString& username, const QString& deviceId, qulonglong since )
{
QString numString = QString::number( since );
return s_server % s_api2 % QLatin1String( "/episodes/" ) % username % QLatin1String( ".json?device=" ) % deviceId % QLatin1String( "&since=" ) % numString;
return Config::instance()->mygpoBaseUrl().toString() %
s_api2 % QLatin1String( "/episodes/" ) % username % QLatin1String( ".json?device=" ) % deviceId % QLatin1String( "&since=" ) % numString;
}
QString UrlBuilder::getUploadEpisodeActionsUrl( const QString& username )
{
return s_server % s_api2 % QLatin1String( "/episodes/" ) % username % QLatin1String( ".json" );
return Config::instance()->mygpoBaseUrl().toString() %
s_api2 % QLatin1String( "/episodes/" ) % username % QLatin1String( ".json" );
}
QString UrlBuilder::getDeviceSynchronizationStatusUrl ( const QString& username )
{
return s_server % s_api2 % QLatin1String( "/sync-devices/" ) % username % QLatin1String( ".json" );
return Config::instance()->mygpoBaseUrl().toString() %
s_api2 % QLatin1String( "/sync-devices/" ) % username % QLatin1String( ".json" );
}

View File

@ -137,7 +137,6 @@ public:
private:
UrlBuilder() {};
UrlBuilder( const UrlBuilder& ) {};
static const QString s_server;
static const QString s_api2;
static const QString s_api1;
};

View File

@ -25,7 +25,7 @@
#include <QtCore/qglobal.h>
#ifndef MYGPO_EXPORT
#ifndef MYGPO_STATIC
# if defined(MYGPO_MAKEDLL)
/* We are building this library */
# define MYGPO_EXPORT Q_DECL_EXPORT
@ -33,6 +33,8 @@
/* We are using this library */
# define MYGPO_EXPORT Q_DECL_IMPORT
# endif
#else
# define MYGPO_EXPORT
#endif
#endif // MYGPO_EXPORT_H

View File

@ -0,0 +1,128 @@
/* Copyright 2014, Uwe L. Korn <uwelk@xhochy.com>
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
#include "Json.h"
// Qt version specific includes
#if QT_VERSION >= QT_VERSION_CHECK( 5, 0, 0 )
#include <QJsonDocument>
#include <QMetaProperty>
#else
#include <qjson/parser.h>
#include <qjson/qobjecthelper.h>
#include <qjson/serializer.h>
#endif
namespace QJsonWrapper
{
QVariantMap
qobject2qvariant( const QObject* object )
{
#if QT_VERSION >= QT_VERSION_CHECK( 5, 0, 0 )
QVariantMap map;
if ( object == NULL )
{
return map;
}
const QMetaObject* metaObject = object->metaObject();
for ( int i = 0; i < metaObject->propertyCount(); ++i )
{
QMetaProperty metaproperty = metaObject->property( i );
if ( metaproperty.isReadable() )
{
map[ QLatin1String( metaproperty.name() ) ] = object->property( metaproperty.name() );
}
}
return map;
#else
return QJson::QObjectHelper::qobject2qvariant( object );
#endif
}
void
qvariant2qobject( const QVariantMap& variant, QObject* object )
{
#if QT_VERSION >= QT_VERSION_CHECK( 5, 0, 0 )
for ( QVariantMap::const_iterator iter = variant.begin(); iter != variant.end(); ++iter )
{
QVariant property = object->property( iter.key().toLatin1() );
Q_ASSERT( property.isValid() );
if ( property.isValid() )
{
QVariant value = iter.value();
if ( value.canConvert( property.type() ) )
{
value.convert( property.type() );
object->setProperty( iter.key().toLatin1(), value );
} else if ( QString( QLatin1String("QVariant") ).compare( QLatin1String( property.typeName() ) ) == 0 ) {
object->setProperty( iter.key().toLatin1(), value );
}
}
}
#else
QJson::QObjectHelper::qvariant2qobject( variant, object );
#endif
}
QVariant
parseJson( const QByteArray& jsonData, bool* ok )
{
#if QT_VERSION >= QT_VERSION_CHECK( 5, 0, 0 )
QJsonParseError error;
QJsonDocument doc = QJsonDocument::fromJson( jsonData, &error );
if ( ok != NULL )
{
*ok = ( error.error == QJsonParseError::NoError );
}
return doc.toVariant();
#else
QJson::Parser p;
return p.parse( jsonData, ok );
#endif
}
QByteArray
toJson( const QVariant &variant, bool* ok )
{
#if QT_VERSION >= QT_VERSION_CHECK( 5, 0, 0 )
QJsonDocument doc = QJsonDocument::fromVariant( variant );
if ( ok != NULL )
{
*ok = !doc.isNull();
}
return doc.toJson( QJsonDocument::Compact );
#else
QJson::Serializer serializer;
QByteArray ret = serializer.serialize( variant );
if ( ok != NULL )
{
*ok = !ret.isNull();
}
return ret;
#endif
}
}

View File

@ -0,0 +1,36 @@
/* Copyright 2014, Uwe L. Korn <uwelk@xhochy.com>
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
#pragma once
#ifndef QJSONWRAPPER_JSON_H
#define QJSONWRAPPER_JSON_H
#include <QVariant>
namespace QJsonWrapper
{
QVariantMap qobject2qvariant( const QObject* object );
void qvariant2qobject( const QVariantMap& variant, QObject* object );
QVariant parseJson( const QByteArray& jsonData, bool* ok = 0 );
QByteArray toJson( const QVariant &variant, bool* ok = 0 );
}
#endif // QJSONWRAPPER_JSON_H

View File

@ -1,5 +1,5 @@
PROJECT(projectM)
cmake_minimum_required(VERSION 2.6.0)
cmake_minimum_required(VERSION 3.0.0)
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "The projectM core library.")
include(CheckCXXCompilerFlag)
@ -24,6 +24,8 @@ set(BUILD_PROJECTM_STATIC ON)
set(DISABLE_NATIVE_PRESETS ON)
set(DISABLE_MILKDROP_PRESETS OFF)
pkg_check_modules(GLEW glew)
if(DISABLE_NATIVE_PRESETS)
ADD_DEFINITIONS(-DDISABLE_NATIVE_PRESETS)
endif(DISABLE_NATIVE_PRESETS)
@ -36,7 +38,7 @@ if (USE_NATIVE_GLEW)
SET(GLEW_LIBRARIES )
else(USE_NATIVE_GLEW)
SET(GLEW_SOURCES )
find_library(GLEW_LIBRARIES NAMES glew GLEW glew32)
find_library(GLEW_LIBRARIES NAMES glew32.dll glew GLEW glew32)
find_path(GLEW_INCLUDE_DIRS GL/glew.h HINTS /sw/include)
include_directories(${GLEW_INCLUDE_DIRS})
endif(USE_NATIVE_GLEW)

0
3rdparty/libprojectm/Common.hpp vendored Executable file → Normal file
View File

0
3rdparty/libprojectm/KeyHandler.cpp vendored Executable file → Normal file
View File

0
3rdparty/libprojectm/KeyHandler.hpp vendored Executable file → Normal file
View File

View File

@ -1,5 +1,5 @@
PROJECT(MilkdropPresetFactory)
cmake_minimum_required(VERSION 2.4.0)
cmake_minimum_required(VERSION 3.0.0)
if(COMMAND cmake_policy)
cmake_policy(SET CMP0003 NEW)

0
3rdparty/libprojectm/MilkdropPresetFactory/CValue.hpp vendored Executable file → Normal file
View File

0
3rdparty/libprojectm/MilkdropPresetFactory/CustomShape.cpp vendored Executable file → Normal file
View File

0
3rdparty/libprojectm/MilkdropPresetFactory/CustomShape.hpp vendored Executable file → Normal file
View File

0
3rdparty/libprojectm/MilkdropPresetFactory/CustomWave.cpp vendored Executable file → Normal file
View File

0
3rdparty/libprojectm/MilkdropPresetFactory/CustomWave.hpp vendored Executable file → Normal file
View File

0
3rdparty/libprojectm/MilkdropPresetFactory/Eval.cpp vendored Executable file → Normal file
View File

0
3rdparty/libprojectm/MilkdropPresetFactory/Eval.hpp vendored Executable file → Normal file
View File

0
3rdparty/libprojectm/MilkdropPresetFactory/Expr.cpp vendored Executable file → Normal file
View File

0
3rdparty/libprojectm/MilkdropPresetFactory/Expr.hpp vendored Executable file → Normal file
View File

0
3rdparty/libprojectm/MilkdropPresetFactory/Func.cpp vendored Executable file → Normal file
View File

0
3rdparty/libprojectm/MilkdropPresetFactory/Func.hpp vendored Executable file → Normal file
View File

View File

@ -197,13 +197,13 @@ return out.str();
}
std::auto_ptr<Preset> IdlePresets::allocate(const std::string & name, PresetOutputs & presetOutputs)
std::unique_ptr<Preset> IdlePresets::allocate(const std::string & name, PresetOutputs & presetOutputs)
{
if (name == IDLE_PRESET_NAME) {
std::istringstream in(presetText());
return std::auto_ptr<Preset>(new MilkdropPreset(in, IDLE_PRESET_NAME, presetOutputs));
return std::unique_ptr<Preset>(new MilkdropPreset(in, IDLE_PRESET_NAME, presetOutputs));
}
else
return std::auto_ptr<Preset>(0);
return std::unique_ptr<Preset>(nullptr);
}

View File

@ -12,7 +12,7 @@ class IdlePresets {
public:
/// Allocate a new idle preset instance
/// \returns a newly allocated auto pointer of an idle preset instance
static std::auto_ptr<Preset> allocate(const std::string & path, PresetOutputs & outputs);
static std::unique_ptr<Preset> allocate(const std::string & path, PresetOutputs & outputs);
private:
static std::string presetText();
static const std::string IDLE_PRESET_NAME;

2
3rdparty/libprojectm/MilkdropPresetFactory/InitCond.cpp vendored Executable file → Normal file
View File

@ -138,7 +138,7 @@ void InitCond::init_cond_to_string() {
return;
/* Copy the string into the initial condition string buffer */
strncpy(init_cond_string_buffer + init_cond_string_buffer_index, string, string_length);
memcpy(init_cond_string_buffer + init_cond_string_buffer_index, string, string_length + 1);
/* Increment the string buffer, offset by one for the null terminator, which will be
overwritten by the next call to this function */

0
3rdparty/libprojectm/MilkdropPresetFactory/InitCond.hpp vendored Executable file → Normal file
View File

0
3rdparty/libprojectm/MilkdropPresetFactory/MilkdropPreset.cpp vendored Executable file → Normal file
View File

View File

@ -212,7 +212,7 @@ PresetOutputs* MilkdropPresetFactory::createPresetOutputs(int gx, int gy)
}
std::auto_ptr<Preset> MilkdropPresetFactory::allocate(const std::string & url, const std::string & name, const std::string & author) {
std::unique_ptr<Preset> MilkdropPresetFactory::allocate(const std::string & url, const std::string & name, const std::string & author) {
PresetOutputs *presetOutputs = _usePresetOutputs ? _presetOutputs : _presetOutputs2;
@ -223,5 +223,5 @@ std::auto_ptr<Preset> MilkdropPresetFactory::allocate(const std::string & url, c
if (PresetFactory::protocol(url, path) == PresetFactory::IDLE_PRESET_PROTOCOL) {
return IdlePresets::allocate(path, *presetOutputs);
} else
return std::auto_ptr<Preset>(new MilkdropPreset(url, name, *presetOutputs));
return std::unique_ptr<Preset>(new MilkdropPreset(url, name, *presetOutputs));
}

View File

@ -26,7 +26,7 @@ public:
virtual ~MilkdropPresetFactory();
std::auto_ptr<Preset> allocate(const std::string & url, const std::string & name = std::string(),
std::unique_ptr<Preset> allocate(const std::string & url, const std::string & name = std::string(),
const std::string & author = std::string());
std::string supportedExtensions() const { return "milk prjm"; }

0
3rdparty/libprojectm/MilkdropPresetFactory/Param.cpp vendored Executable file → Normal file
View File

Some files were not shown because too many files have changed in this diff Show More