Commit Graph

172 Commits

Author SHA1 Message Date
Jonas Kvinge ee915254e7 Song: Sort code in Song::ToProtobuf() 2021-10-17 00:34:33 +02:00
Jonas Kvinge d835d4aae6 Add rating to Song::InitFromProtobuf and Song::ToProtobuf 2021-10-17 00:27:31 +02:00
Jonas Kvinge bb5fe5a6d1 Add Song::is_module_music() 2021-10-12 22:58:39 +02:00
Jonas Kvinge a6569d09ac Read XM and IT module music 2021-10-12 21:43:46 +02:00
Jonas Kvinge 92f6a0c6c8 Add mod and s3m to filetypes 2021-09-26 16:23:02 +02:00
Jonas Kvinge d5b0794b00 Remove unneeded `this` 2021-09-13 20:49:33 +02:00
Jonas Kvinge d35d3aabc3 Show error dialog for failed SQL queries 2021-09-09 21:45:46 +02:00
Jonas Kvinge ea2bfbda44 Formatting 2021-08-23 21:21:08 +02:00
Jonas Kvinge cecb9293f6 Add QRegularExpression::CaseInsensitiveOption 2021-08-13 23:33:41 +02:00
Jonas Kvinge 553e8baa8b Fix async song load
Fixes #739
2021-07-28 22:25:33 +02:00
Jonas Kvinge 68dbc29f2c Use QString::compare with Qt::CaseInsensitive to reduce allocations 2021-07-13 23:18:12 +02:00
Jonas Kvinge e48b7d83a3 Formatting 2021-07-11 09:49:38 +02:00
Jonas Kvinge b053f99690 Add Song::is_radio() 2021-07-11 05:18:39 +02:00
Jonas Kvinge 09bbf1f4d7 Add radios 2021-07-11 01:08:06 +02:00
Jonas Kvinge 88819611f4 Remove TagLib dependency from Song class 2021-07-02 01:16:46 +02:00
Jonas Kvinge 584f5e5935 Change bool/int condition 2021-06-22 14:04:42 +02:00
Jonas Kvinge 8c2b907ff5 Make static 2021-06-22 14:04:42 +02:00
Jonas Kvinge 589bdf5dcd Use default 2021-06-21 15:40:44 +02:00
Jonas Kvinge 3a3305c020 Uppercase literal suffix 2021-06-20 23:49:04 +02:00
Jonas Kvinge 1295033fae Clang-Tidy and Clazy fixes 2021-06-20 19:04:08 +02:00
Jonas Kvinge 8fd32aba4f Improve resume playback on startup, re-request stream URL when unpausing
Fixes #270
2021-06-10 23:14:05 +02:00
Jonas Kvinge f8ed2afef1 Add song fingerprinting and tracking
Fixes #296
2021-06-05 21:56:40 +02:00
Jonas Kvinge 2625d72818 Don't strip off "Live" from song title 2021-05-01 18:03:26 +02:00
Jonas Kvinge 9b60559855 Use QFile::encodeName() in Song::InitFromFilePartial
Fixes #693
2021-04-21 20:11:37 +02:00
Jonas Kvinge e13c27d32c Allow editing of playlist metadata for streams 2021-04-11 02:01:53 +02:00
Jonas Kvinge 29cbfe7c1a Change last played to qint64 2021-03-25 23:23:13 +01:00
Jonas Kvinge 6b6117653a Allow audio formats unsupported by taglib to be added
Fixes #669
2021-03-21 19:19:35 +01:00
Jonas Kvinge 59bffed47f Use static_cast 2021-03-21 18:53:02 +01:00
Jonas Kvinge 78588d8cdf Fix various clazy warnings 2021-03-21 04:47:11 +01:00
Jonas Kvinge 54f2aa5f77 Update copyrights 2021-03-20 21:14:47 +01:00
Jonas Kvinge 89f1f8e6dc Check for empty art automatic 2021-03-07 05:41:49 +01:00
Jonas Kvinge bbcd6a3261 Fix saving empty cleared cover 2021-03-07 03:42:11 +01:00
Jonas Kvinge 32b94555c3 Remove 3rdparty taglib 2021-02-27 16:55:41 +01:00
Jonas Kvinge 133f094d72 Add support for saving embedded album covers
Fixes #286
2021-02-26 21:03:51 +01:00
Jonas Kvinge 193cf1c750 Rename protobuf namespace
Fixes #654
2021-02-20 17:06:55 +01:00
Jonas Kvinge b3681002a7 Change int to qint64 2021-02-10 18:27:40 +01:00
Jonas Kvinge daff2c1f84 Add option to append explicit to album titles for Tidal 2021-01-28 19:55:28 +01:00
Jonas Kvinge 497952611d Fix HTML escaping for custom OSD notifications
Fixes #618
2020-12-11 23:59:38 +01:00
Jonas Kvinge 042da74955 Change return type of qHash with Qt 6 to size_t 2020-11-17 01:22:38 +01:00
Jonas Kvinge 62e0d9fe64 Remove all uses of QTextCodec 2020-11-04 18:16:23 +01:00
Jonas Kvinge 2dfa171b6a Save effective_albumartist as empty istead of null
Since we use the metadata now instead of the container keys for queries in
the model, there is a regression when the values are null.
2020-10-20 17:12:28 +02:00
Jonas Kvinge 89d6b7cec0 Add smart playlists, ratings and Qobuz
Fixes #259
Fixes #264
2020-09-17 17:50:17 +02:00
Jonas Kvinge 1672130486 Merge compilation off/off
Fixes #528
2020-09-03 19:20:59 +02:00
Jonas Kvinge 81709873bd Use art_manual for itdb thumbnail 2020-09-01 20:59:19 +02:00
Jonas Kvinge 9ab2dde8ab Read tumbnails from itdb tracks 2020-09-01 01:04:01 +02:00
Jonas Kvinge 1431916183 Add setting for enabling scrobbling based on song source
Fixes #416
2020-08-25 23:44:27 +02:00
Jonas Kvinge c315e5016d Change mtime and ctime to qint64 2020-08-13 21:09:06 +02:00
Jonas Kvinge 0b7b7656b2 Replace use of QRegExp 2020-07-20 00:57:42 +02:00
Jonas Kvinge e5b3df41e9 Replace QRegExp with QRegularExpression 2020-07-18 04:05:07 +02:00
Jonas Kvinge 904097b7b1 Add back option to use system taglib, add warning at the bottom 2020-07-07 23:44:04 +02:00
Jonas Kvinge 5f71a558b9 Adapt most changes from taglib2 2020-06-26 23:30:30 +02:00
Jonas Kvinge a68c249d4e Use parentheses for macro arguments 2020-06-15 00:33:47 +02:00
Jonas Kvinge 4abc650edf Make scrobbler handle streams 2020-04-25 00:07:42 +02:00
Jonas Kvinge 8da4c88fd3 Fix compile warnings 2020-04-23 21:08:28 +02:00
Jonas Kvinge a2c0e4d4b1 Improve album cover loader, lyrics search and streaming support
- Improve album cover loader
- Add album cover loader result struct
- Move album cover thumbnail scaling to album cover loader
- Make init art manual look for album cover images in song directory
- Make album cover search work for songs outside of collection and
  streams
- Make album cover search work based on artist + title if album is not
  present
- Update art manual in playlist for local files, devices and CDDA
- Make lyrics search work for streams
- Add stream dialog to menu
- Remove dead code in InternetSearchModel
- Simplify code in InternetSearchView
2020-04-20 18:03:18 +02:00
Jonas Kvinge e5dba60fab Remove song_id and artist_id from initialization list 2020-04-17 22:17:57 +02:00
Jonas Kvinge 5591472dbd Change artist and song ID to strings 2020-04-13 03:39:51 +02:00
Jonas Kvinge 21b2193cd0 Add explicit 2020-04-07 16:49:15 +02:00
Jonas Kvinge 8e0d792bf0 Reduce includes 2020-02-08 03:40:30 +01:00
Gavin D. Howard 691f5d99ca
Implement disk caching of album art (#360)
* Implement disk caching of album art

This includes a button to clear the cache in the settings, as
requested.

Closes #358

* Make the cache size defaults match

* Implement the review by jonaski

* Fix more problems with the PR
2020-02-07 23:18:18 +01:00
Jonas Kvinge 5b61992b3c Save cover urls encoded 2019-11-25 22:28:48 +01:00
Jonas Kvinge 337e47269f Remove portable, we dont use it 2019-11-25 00:35:48 +01:00
Jonas Kvinge 6b9ba96e77 Revert "Tidal: Add explicit to album titles"
This reverts commit b7d360d850.
2019-11-21 22:55:39 +01:00
Jonas Kvinge b7d360d850 Tidal: Add explicit to album titles 2019-11-20 22:13:28 +01:00
Jonas Kvinge 8e226302ab Allow scrobbling songs without album
Fixes #309
2019-11-20 21:30:41 +01:00
Jonas Kvinge 6387a01d7b Fix updating compilations
Fixes #288
2019-11-03 23:23:04 +01:00
Jonas Kvinge 7c9fc91af9 Enable system theme icons, add iconmapper and rename some icon names 2019-10-20 00:17:28 +02:00
Jonas Kvinge 5599739433 Fix lowercased playlist album artist column
Fixes #275
2019-10-03 18:25:50 +02:00
Jonas Kvinge 3d3d641e1c Fix player not using preloaded stream url breaking gapless playback
Fixes #26
2019-09-22 22:47:07 +02:00
Jonas Kvinge c66c1e17d3 Make gstreamer pipeline detect filetype 2019-09-09 22:11:13 +02:00
Jonas Kvinge e45a0bf24b Add stream discoverer to gstreamer pipeline and continuous updating of bitrate 2019-09-07 23:34:13 +02:00
Jonas Kvinge f81ecffda6 Don't treat songs with different album as duplicates 2019-08-21 20:46:08 +02:00
Jonas Kvinge 99569081c9 Simply some song checks and make url always unique by using stream url
instead
2019-07-31 22:26:51 +02:00
Jonas Kvinge 955b906b52 Add Song() != operator 2019-07-30 21:31:26 +02:00
Jonas Kvinge acf5c57599 Use InitArtManual in InitFromFilePartial 2019-07-20 22:53:01 +02:00
Jonas Kvinge ea6cce7068 Fix mtp device support 2019-07-19 19:56:37 +02:00
Gavin D. Howard 3a86a93154 Extend article sorting to artist and album artist (#210) 2019-07-11 16:51:25 +02:00
Jonas Kvinge 7fa1461d5e Use QUrl::isLocalFile() 2019-07-09 21:43:56 +02:00
Jonas Kvinge 51462dee1e Use QUrl::fromEncoded 2019-07-08 22:10:43 +02:00
Jonas Kvinge af17b0015b Fix InitArtManual() to use album artist 2019-07-07 21:56:30 +02:00
Jonas Kvinge 65780e1672 Improve album cover searching and cover manager, use HttpStatusCodeAttribute and QSslError for services
- Improve album cover manager
- Change art_automatic and art_manual to QUrl
- Refresh collection album covers when new album covers are fetched
- Fix automatic album cover searching for local files outside of the collection
- Make all Json services check HttpStatusCodeAttribute
- Show detailed SSL errors for Subsonic, Tidal and Qobuz
2019-07-07 21:14:24 +02:00
Gavin D. Howard 5cde33711e Make playlist ignore articles when sorting (#202)
This is more correct, and the other way is driving me crazy.
2019-07-05 00:13:51 +02:00
Jonas Kvinge f9cd2639ff Remove annoying <year> Remaster from album and song titles 2019-06-23 18:32:15 +02:00
Jonas Kvinge 5bd5cdf435 Make sure album_id is not null 2019-06-22 08:33:16 +02:00
Jonas Kvinge 9d222e2c57
Rename filename to url, change album_id to string and recreate songs tables (#182) 2019-06-20 02:14:44 +02:00
Jonas Kvinge 8ce8e320c3 Change ids to qint64 2019-06-19 20:40:11 +02:00
Jonas Kvinge 89252d0dba
Add Qobuz support (#181) 2019-06-19 02:22:11 +02:00
Jonas Kvinge 7b54cef23b
Add Subsonic support (#180) 2019-06-17 23:54:24 +02:00
Jonas Kvinge 111712fd6d Add artist_id, album_id and song id to songs 2019-05-30 18:04:30 +02:00
Jonas Kvinge 1c926cca45 Use namespace for static taglib to avoid collision with taglib
linked to vlc
2019-04-25 23:00:25 +02:00
Jonas Kvinge 054db62cfa Dont translate file types 2019-04-25 00:54:20 +02:00
Jonas Kvinge 7a0f6684e5 Improve song loader error handling 2019-04-20 15:28:16 +02:00
Jonas Kvinge 77903a5ecd Improve handling of song source 2019-04-08 23:00:07 +02:00
Jonas Kvinge 86b057a301 Add Song::ExtensionForFiletype 2019-03-23 02:24:09 +01:00
Jonas Kvinge d9e787784a Fix Song::InitFromProtobuf not setting source, add function Song::SourceFromURL 2019-03-22 23:16:18 +01:00
Jonas Kvinge 242137a50c Only do QUrl toEncoded() if url is valid 2019-03-10 21:09:05 +01:00
Jonas Kvinge 380f2509ac Remove deezer 2019-03-09 17:43:20 +01:00
Jonas Kvinge 35f448c34f Add artist search in internet view, and use album artist 2019-02-12 21:58:03 +01:00
Jonas Kvinge ce4be75803 Fix itdb track type 2019-01-24 19:10:10 +01:00
Jonas Kvinge 7437c208ff Remove remastered from album title 2019-01-22 22:49:48 +01:00