Commit Graph

354 Commits

Author SHA1 Message Date
Jonas Kvinge f7b36ac4c7 Replace use of QVariant::type() with Qt 6 2020-10-24 03:32:40 +02:00
Jonas Kvinge ac859eb576 Make sure we query empty instead of null 2020-10-20 17:14:38 +02:00
Jonas Kvinge 6f72e3e2ea Always append divider key to sort text if the key is a digit 2020-10-20 17:11:14 +02:00
Jonas Kvinge b6693a71f9 Rename initialise to initialize 2020-10-17 17:29:09 +02:00
Jonas Kvinge 12cbcdb6f4 Fix SQL query by song id when song id is a string 2020-10-10 23:44:42 +02:00
Jonas Kvinge a2e35e30dc Use lowercase for divider keys sort text
Fixes #556
2020-10-10 18:44:57 +02:00
Jonas Kvinge f0ae1051ee Only set art manual for temporary metadata when temp metadata is set 2020-10-08 19:14:56 +02:00
Jonas Kvinge 45b44d012d Fix source for CUE songs in collection watcher 2020-10-07 23:27:58 +02:00
Jonas Kvinge b6abc34461 Set CollectionWatcher::sValidImages directly 2020-10-01 19:45:10 +02:00
Jonas Kvinge cc8ced6430 Disable live scanning option 2020-09-30 00:03:06 +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 34b4cc2d9e Remove unused function 2020-09-17 17:28:32 +02:00
Jonas Kvinge d668a8aee2 Change sort text for divider keys
Fixes problems on Windows with specific regionale settings, where
divider keys are all on the top, while albums are on the bottom
2020-09-12 13:30:45 +02:00
Jonas Kvinge 52cff01b9c Fix group by version 2020-09-12 00:18:08 +02:00
Jonas Kvinge 10303cb9c0 Use unique keys for all container nodes in collection model
Fixes #539 and probably many more issues with the model.
2020-09-10 22:09:24 +02:00
Jonas Kvinge e3587d369e Add const 2020-09-10 22:05:12 +02:00
Jonas Kvinge cac01fbde9 Dont seperate compilation albums by directory in GetAlbums
Fixes issue where multi-disc albums are showing more than once in cover
manager.
2020-09-10 21:27:07 +02:00
Jonas Kvinge 31dd910289 Make sure albums in cover manager are unique
Fixes #529
2020-09-05 18:59:35 +02:00
Jonas Kvinge da51580299 Fix year - album collection grouping
Fixes #534
2020-09-05 17:26:42 +02:00
Jonas Kvinge 71559bb125 Turn pretty covers on by default in collection model 2020-09-01 01:02:02 +02:00
Jonas Kvinge 5aaa5231b8 Add Last.fm import
Fixes #247
2020-08-30 18:09:13 +02:00
Jonas Kvinge 8f32038891 Add missing musicstorage include 2020-08-19 22:35:35 +02:00
Jonas Kvinge 653a35496d Add optional delete from disk in collection and playlist
Fixes #284
2020-08-19 22:02:35 +02:00
Jonas Kvinge 414a4a97fb Use unicode option when replacing non-words
Fixes #513
2020-08-15 11:43:14 +02:00
Jonas Kvinge c315e5016d Change mtime and ctime to qint64 2020-08-13 21:09:06 +02:00
Jonas Kvinge 00ad92fb6d Hide unavailable collection context menu actions 2020-08-12 21:34:42 +02:00
Jonas Kvinge f84128ecbd Remove unused collection playlist container type 2020-08-12 21:33:38 +02:00
Jonas Kvinge 1f772081fd Only update temporary metadata when set
Fixes #507
2020-08-10 00:32:57 +02:00
Jonas Kvinge 459404e3f0 Rename organise to organize
Prefer US spelling
2020-08-04 21:18:14 +02:00
Jonas Kvinge ee85fb3aec Use QString() on non-translated text in collection filter widget 2020-08-01 22:50:02 +02:00
Jonas Kvinge dd6e254e4f Use quotes in collection query to allow special characters
Fixes #492
2020-07-29 21:41:35 +02:00
Jonas Kvinge eb270df835 Use std::bind in QtConcurrent::run() to fix compile with Qt 6 2020-07-19 22:43:58 +02:00
Jonas Kvinge ff73dd2183 Partial revert commit af67de8 2020-07-19 19:07:12 +02:00
Jonas Kvinge af67de8aa6 Use lambdas for QtConcurrent::run instead of NewClosure 2020-07-18 16:28:39 +02:00
Jonas Kvinge e5b3df41e9 Replace QRegExp with QRegularExpression 2020-07-18 04:05:07 +02:00
Jonas Kvinge f24b6a520c Replace QDateTime::toTime_t() with QDateTime::toSecsSinceEpoch() 2020-07-18 03:53:30 +02:00
Jonas Kvinge 71a1ea481b Replace some uses of static_cast with qobject_cast 2020-07-17 01:32:07 +02:00
Jonas Kvinge 558e392234 Make search field clear buttons follow icon size settings 2020-06-29 01:09:02 +02:00
Jonas Kvinge 4d78b30e8c Make icon sizes configurable, increase default sizes for icons
Fixes #250
2020-06-28 18:36:48 +02:00
Jonas Kvinge dc36aee7ff Change some explicit usage 2020-06-26 22:41:38 +02:00
Jonas Kvinge 651020388d Use override 2020-06-15 21:55:05 +02:00
Jonas Kvinge 13b60351a6 Replace use of deprecated C++ headers 2020-06-14 23:54:18 +02:00
Jonas Kvinge 082c9097e4 Fix parameter name mispatches 2020-06-14 18:58:24 +02:00
Jonas Kvinge 2fbdb29ebc Replace 0 with nullptr 2020-06-14 17:02:47 +02:00
Jonas Kvinge 92d6fc3fad Change default grouping to album disc 2020-06-07 23:36:37 +02:00
Jonas Kvinge c35235371a Replace QString::SkipEmptyParts with Qt::SkipEmptyParts on Qt 5.14.0 or higher 2020-05-29 17:40:11 +02:00
Jonas Kvinge 972076edab Move ClearDiskCache connect 2020-05-16 19:35:25 +02:00
Jonas Kvinge bfa9a1eb8a Fix tests
Fixes #440
2020-05-16 19:17:06 +02:00
Jonas Kvinge b0966f14e6 Only connect ClearPixmapDiskCache if app is set 2020-05-16 18:25:13 +02:00
Jonas Kvinge 2bcad9b637 Do AddOrUpdateSongs in database thread 2020-05-12 18:45:24 +02:00
Jonas Kvinge 54cce5e089 Use album grouping function 2020-05-06 22:35:55 +02:00
Jonas Kvinge 4e4e596a1e Change some parameters to const 2020-05-06 22:26:29 +02:00
Jonas Kvinge 727a1f5ad1 Sort songs in collection by song title instead of track if previous
grouping is not the album.

Fixes #295
2020-05-06 22:14:59 +02:00
Jonas Kvinge a835a4a2f7 Minor fixes to collection pixmap cache
- Add variables for cache size defaults
- Increase default disk cache size
- Change the pixmap cache settings UI to look better
- Add current pixmap disk cache used to settings
2020-04-29 00:33:38 +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 c69fff52cc Remove useless using std 2020-04-20 17:49:06 +02:00
Jonas Kvinge aa43d42cdb Remove const from signal slot connects 2020-04-13 05:57:48 +02:00
Jonas Kvinge be8228e33c Fix song_id check 2020-04-13 04:17:45 +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 307961cc7e Center organise and transcoder dialog on same screen as mainwindow 2020-04-07 01:26:17 +02:00
Jonas Kvinge 424b0e61cb Remove extra newlines 2020-02-12 00:07:05 +01:00
Jonas Kvinge 84cd65dd6c Reduce includes 2020-02-08 15:03:11 +01: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 fc2d601424 Remove useless stdbool.h include 2019-12-30 23:14:40 +01:00
Jonas Kvinge 8818f24114 Fix compile with Qt 5.14 and above 2019-12-30 02:28:54 +01:00
Jonas Kvinge 9b688a5179 Remove HTML from translations
Fixes #260
2019-12-29 23:37:48 +01:00
Jonas Kvinge be9bf5c173 Replace use of QSet::fromList with Qt 5.14 and above 2019-12-21 18:22:18 +01:00
Jonas Kvinge 6df38c389c Replace use of QSet::toList() with QSet::values() 2019-12-21 18:19:09 +01:00
Jonas Kvinge 63b781765a Update copyrights 2019-11-26 22:30:14 +01:00
Jonas Kvinge 722a088515 Only remove pixmap cache when removing parents in collection model 2019-11-26 19:42:05 +01:00
Jonas Kvinge a4ebd91e8d Make sure QSqlQuery::exec() was successful 2019-11-25 22:43:09 +01:00
Jonas Kvinge 47c13a840e Handle different urls in collection backend for backward compatibility 2019-11-25 22:29:12 +01:00
Jonas Kvinge 36331dc253 Fix removing nodes from pending art 2019-11-25 22:25:29 +01:00
Jonas Kvinge 337e47269f Remove portable, we dont use it 2019-11-25 00:35:48 +01:00
Jonas Kvinge bf35665932 Update all songs for the same directory+album when updating compilations
- Fixes a bug where the songs are stuck in various artists, because the
album has child songs, it will be stuck with various artists as the
parent node.
2019-11-25 00:28:49 +01:00
Jonas Kvinge 9375d9699a No 2019-11-19 21:51:15 +01:00
Jonas Kvinge cf0442d5b8 Fix setting pixmap cache limit 2019-11-19 21:49:46 +01:00
Jonas Kvinge e0fed07b10 Change pixmap cache limit 2019-11-19 21:03:06 +01:00
Jonas Kvinge 779d5ff7b6 Dont reset pixmap cache on model reset 2019-11-19 20:56:03 +01:00
Jonas Kvinge 1862e70628 Declare song using source 2019-11-14 00:09:35 +01:00
Jonas Kvinge c4f7054ca6 Use QUrl::FullyEncoded in update compilations 2019-11-13 23:51:04 +01:00
Jonas Kvinge 175e568a28 Minor improvements to update compilations 2019-11-13 21:27:04 +01:00
Jonas Kvinge c8d580e7de No need to delete pixmap cache when deleting empty parents 2019-11-13 21:16:48 +01:00
Jonas Kvinge bc0c50ee65 Remove commented code 2019-11-13 21:12:50 +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 76b4a6585e Update copyrights 2019-09-23 19:17:41 +02:00
Jonas Kvinge bdc089290d Add fallthrough comments and remove -Wimplicit-fallthrough=0
Signed-off-by: Jonas Kvinge <jonas@jkvinge.net>
2019-09-16 21:20:12 +02:00
Jonas Kvinge 2d67279180 Fix minor code issues 2019-09-15 20:27:32 +02:00
Jonas Kvinge 8962644ba8 Improvements to device manager
- Mount and unmount devices in lister thread
- Safely close watcher and backends for devices
- Enable abort loading device
- Fix MTP connection
2019-09-07 23:30:35 +02:00
Jonas Kvinge 42e7f64856 Make marking songs unavailable optional 2019-08-11 22:30:28 +02:00
Jonas Kvinge e8af3e8d3c Simplify if statement 2019-08-05 23:03:40 +02:00
Jonas Kvinge cd05b10168 Remove extra debugging 2019-08-05 23:03:04 +02:00
Jonas Kvinge 140935bd8c Add album - disc grouping 2019-08-05 19:17:31 +02:00
Jonas Kvinge ecb122d93c Make collection watcher unwatch removed directories
Fixes #233
2019-08-05 18:40:47 +02:00
Jonas Kvinge 7b13c0d059 Fix watching new subdirs in collection watcher 2019-08-02 23:58:47 +02:00
Jonas Kvinge 8a0e66bf11
Switch to FTS5 with unicode61 (#229)
* Switch to FTS5 with unicode61

* Update required sqlite version in README

* Update README

* Change back db file
2019-07-30 22:45:22 +02:00
Jonas Kvinge 87e543b5ef Fix collection query 2019-07-26 19:14:15 +02:00
Jonas Kvinge 81caec99b7 Fix closing databases 2019-07-25 17:56:28 +02:00
Jonas Kvinge 41484f8673 Fix exit 2019-07-24 23:29:09 +02:00
Jonas Kvinge b5eb13449b Safely close database connections and delete backends
Also fix NewClosure leak caused by disconnected object signals
2019-07-24 19:16:51 +02:00
Jonas Kvinge bd78e8c275 Fix memory leaks 2019-07-22 20:53:05 +02:00
Jonas Kvinge 2df21081a1 Fix pixmap cache in collection model
- Properly remove both from pixmap cache, pending art and pending cache keys when songs are deleted
- Increase default pixmap cache
- Clear pixmap cache when model is reset
2019-07-22 19:57:53 +02:00
Jonas Kvinge 8ebcb71e6e Replace all uses of QSignalMapper with lambda expressions 2019-07-08 22:27:45 +02:00
Jonas Kvinge 51462dee1e Use QUrl::fromEncoded 2019-07-08 22:10:43 +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 ba314dd734 Set source in backends to fix losing source in InitFromFilePartial()
when updating path
2019-07-02 00:48:40 +02:00
Jonas Kvinge 9083c578cc
Add live scanning (#199) 2019-06-30 21:06:07 +02:00
Jonas Kvinge 60bd90848b
Add tests (#193) 2019-06-28 01:33:22 +02:00
Jonas Kvinge 647e7e708a Add confirmation box for opening songs in file browser 2019-06-20 17:00:10 +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 a070681f89 Move to private 2019-06-08 12:03:48 +02:00
Jonas Kvinge d5e424eec8 Fix save/restore group by for internet collection 2019-06-08 00:15:54 +02:00
Jonas Kvinge cbf1d96b16 Avoid duplicate songs in the collection backend 2019-06-07 23:02:43 +02:00
Jonas Kvinge 7cc0d6bb5a Fix ItemFromSong() missing album id 2019-06-07 22:54:34 +02:00
Jonas Kvinge 2b7d48ce77 Distinguish albums with same name with album_id 2019-05-30 18:05:07 +02:00
Jonas Kvinge 890fba0f61
Add internet tabs view and tidal favorites (#167) 2019-05-27 21:10:37 +02:00
Jonas Kvinge 69eeb4b0f8 Move QSearchField to widgets and remove rest of qocoa 2019-05-08 23:34:44 +02:00
Jonas Kvinge 40db9f7020 Fix updating play and skip count 2019-04-19 14:02:28 +02:00
Jonas Kvinge 37b923bea3 Change query to find both albums by artist and album artist 2019-04-18 00:45:32 +02:00
Jonas Kvinge 77903a5ecd Improve handling of song source 2019-04-08 23:00:07 +02:00
Jonas Kvinge 9be161d165 Fix code style and errors 2019-04-08 18:46:11 +02:00
Jonas Kvinge 7da79dabdf Add group by format 2019-03-30 22:03:33 +01:00
Jonas Kvinge 15c8f2a3ee Notify collection backend about renamed files when organising files 2019-03-25 00:53:12 +01:00
Jonas Kvinge 71969b88e3 Fix GetSongByUrl incorrectly using bytearray instead of string 2019-03-22 23:14:25 +01:00
Jonas Kvinge 87fd93a1cf Show error when editing tags fails, update DB immediately when successful 2019-02-20 21:27:53 +01:00
Jonas Kvinge bc37d00a81 Stop watcher when unmounting 2019-02-20 21:24:10 +01:00
Jonas Kvinge 7e9668584b Change default for collection to group by album artist 2019-01-06 17:26:05 +01:00
Jonas Kvinge ffd16e5401 Enable organise without gstreamer 2019-01-06 16:48:23 +01:00
Jonas Kvinge 2a54cb17e7 Move organise files, add option to strip all non-fat characters 2018-12-29 15:37:16 +01:00
Jonas Kvinge 23205bef65 Playlist fixes
- Fix bug resetting playlist view columns to show all when using more than one
playlist.
- Add queue to play next
2018-11-18 23:21:12 +01:00
Jonas Kvinge f15c85e807 Remove SetThreadIOPriority, fixes poor performance on macos 2018-11-17 03:25:42 +01:00
Jonas Kvinge 0cda4e27aa Replace qSort/qStableSort/qSwap 2018-10-19 20:18:46 +02:00
Jonas Kvinge 0a81fa99fc Add Deezer support 2018-10-14 00:08:33 +02:00
Jonas Kvinge db035351be Remove whitespaces 2018-10-02 00:38:52 +02:00
Jonas Kvinge 97ec12b5b3 Don't compile devices on windows 2018-09-20 17:36:23 +02:00
Jonas Kvinge 1a7465ba94 Formatting and remove unused icons 2018-09-14 23:05:58 +02:00
Jonas Kvinge 6d686ee66a Add source to songs and playlist_items 2018-09-08 12:38:02 +02:00
Jonas Kvinge ac6cac8da1 New context with albums and lyrics +++ much more
* Added new lyrics provider with lyrics from AudD and API Seeds
* New improved context widget with albums and lyrics
* Fixed playing and context widget getting stuck in play mode when there was an error
* Changed icons for artists in collection, tidal and cover manager
* Removed "search" icon from "Search automatically" checkbox (right click) that looked ugly
* Removed some unused widgets from the src/widgets directory
* Fixed initial size of window and side panel
* Fixed saving window size correctly
2018-08-29 21:42:24 +02:00
Jonas Kvinge 57f6f40e7d Fix missing icons and rework some UI stuff 2018-08-09 21:04:30 +02:00
Jonas Kvinge c518e42e18 Remove whitespace 2018-08-09 18:39:44 +02:00
Jonas Kvinge 820124f9e1 Add tidal support 2018-08-09 18:10:03 +02:00
Jonas Kvinge ada7325a04 Fix macos build 2018-07-01 22:26:46 +02:00
Jonas Kvinge 985b91e5f4 Fix setting output/device for Xine and VLC backend
- Fixed setting output and device on Xine and VLC backend
- Fixed track slider for Xine, VLC and Phonon
- Improved backend settings to better support multiple backends
- Added group by samplerate and bitdepth in collection
- Fixed crash on exit when existing instance of the application is already runnung caused by NVIDIA driver
- Changed Q_OS_MAC to Q_OS_MACOS
2018-06-28 01:15:32 +02:00
Jonas Kvinge e337b7933b Includes, comments and bugfixes
- Fix includes
- Use common regex (Song::kCoverRemoveDisc) for removing Disc/CD from album
- Remove Disc/CD from album when creating hash
- Make imobiledevice support compile
- Fix setting device on windows
2018-05-01 00:41:33 +02:00
Jonas Kvinge 6bbc1271e4 Fix cross build for windows. 2018-04-02 18:35:58 +02:00
Jonas Kvinge 16cabf33a2 Code cleanup. 2018-03-10 13:02:56 +01:00
Jonas Kvinge 7501e8b14d Remove Disc / CD from albumname when searching for covers. Dont use url if it's empty in LastFM. 2018-03-04 14:10:50 +01:00
Jonas Kvinge b7466b7fb1 Fix bug in albumcovermanager not updating album cover in DB. 2018-03-04 03:10:07 +01:00
Jonas Kvinge b2b1ba7abe Initial commit. 2018-02-27 18:06:05 +01:00