Commit Graph

251 Commits

Author SHA1 Message Date
Jonas Kvinge 08f32d1de6 Refactor playlist view/header code
- Don't reload all settings when changing playlists
- Fix initial playlist header columns sizes
- Properly reset header state when resetting columns
2020-08-29 19:55:00 +02:00
Jonas Kvinge 445cf22333 Use deleteLater 2020-08-29 16:24:40 +02:00
Jonas Kvinge 3948af80b8 Fix pixelated source icon for currently playing song in playlist 2020-08-25 21:51:23 +02:00
Jonas Kvinge 82142751de Improve playlist autoscrolling
Fixes #420
2020-08-23 19:37:24 +02:00
Jonas Kvinge 4e5755f218 Refactor some functions 2020-08-23 19:17:50 +02:00
Jonas Kvinge d23da7a612 Replace Qt::MidButton with Qt::MiddleButton 2020-08-23 03:27:24 +02:00
Jonas Kvinge 414a4a97fb Use unicode option when replacing non-words
Fixes #513
2020-08-15 11:43:14 +02:00
Jonas Kvinge fbc99827ab Revert "Turn off sort indicators for playlist"
This reverts commit 7b50ec4630.
2020-08-14 17:30:27 +02:00
Jonas Kvinge 7b50ec4630 Turn off sort indicators for playlist
Fixes #511
2020-08-12 16:56:28 +02:00
Jonas Kvinge 34634d776e Make sure to always use original metadata when editing tags 2020-08-10 21:27:56 +02:00
Jonas Kvinge 1f772081fd Only update temporary metadata when set
Fixes #507
2020-08-10 00:32:57 +02:00
Jonas Kvinge 15ddf6ff20 Save and restore playlist scrollbar position when switching between playlists 2020-08-09 14:00:56 +02:00
Jonas Kvinge d16a26605e Fix updating playlist songs when there are multiple files with the same URL
Fixes #501
2020-08-06 21:40:42 +02:00
Jonas Kvinge 7aa5f0d258 Only show delete and save playlist button when item is selected
Fixes #500
2020-08-06 16:00:03 +02:00
Jonas Kvinge 459404e3f0 Rename organise to organize
Prefer US spelling
2020-08-04 21:18:14 +02:00
Jonas Kvinge 2d5a6d6583 Use album artist for album repeat mode 2020-07-30 20:46:30 +02:00
Jonas Kvinge 4c028c1659 Use position().toPoint() with Qt 6 2020-07-29 21:40:03 +02:00
Jonas Kvinge d332a6777a Use QSortFilterProxyModel::filterRegularExpression only with Qt 6 2020-07-29 21:39:02 +02:00
Jonas Kvinge 0b7b7656b2 Replace use of QRegExp 2020-07-20 00:57:42 +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 13856b33ec Fix playlist filter with Qt 5 2020-07-18 22:37:49 +02:00
Jonas Kvinge a3a1c6f4c8 Fix saving playlist column alignment 2020-07-18 18:18:34 +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 d2bfc73b91 Only set playlist view item delegates once 2020-07-10 16:18:31 +02:00
Jonas Kvinge 42c62206c8 Move the currently playing song to the top when the playlist is manually shuffled
Fixes #304
2020-07-09 20:52:06 +02:00
Jonas Kvinge a99a19aa60 Fix broken playlist undostack when i.e. removing duplicates and unavailable songs 2020-07-08 20:43:46 +02:00
Jonas Kvinge 4e003c12a6 Add a taste of Strawbs background image 2020-07-07 23:02:24 +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 740f9581e6 Change 0 to nullptr 2020-06-26 22:06:23 +02:00
Jonas Kvinge 651020388d Use override 2020-06-15 21:55:05 +02:00
Jonas Kvinge 72ede666d4 Replace use of C style casts 2020-06-15 17:59:02 +02:00
Jonas Kvinge 56caab4461 Remove redundant initialization 2020-06-15 00:11:52 +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 bf5fea8951 Replace use of QMultiMap::insertMulti with QMultiMap::insert 2020-05-29 17:46:41 +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 5d6b0fa329 Reset last played song when playlist is finished 2020-05-10 13:08:29 +02:00
Jonas Kvinge 7d1fac44e9 Update non collection songs with manually unset cover 2020-05-05 23:57:37 +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 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 60e8519b65 Fix track and title in playlist not being movable
Fixes #403
2020-04-08 22:44:39 +02:00
Jonas Kvinge 21b2193cd0 Add explicit 2020-04-07 16:49:15 +02:00
Jonas Kvinge 3efc496c41 Add better error handling for CDDA loader 2020-04-07 16:48:12 +02:00
Jonas Kvinge 469e00b396 Remove setBaseStyle() 2020-02-22 13:43:33 +01:00
Jonas Kvinge 424b0e61cb Remove extra newlines 2020-02-12 00:07:05 +01:00
Jonas Kvinge 533da8f89c Use isLocalFile() 2020-02-12 00:06:19 +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
Jonas Kvinge 2356ff5ebb Fix tabs order
Fixes #366
2020-02-08 00:01:12 +01:00
Jonas Kvinge 624a920aec Dont update temporary metadata while editing song with inline editor 2020-01-28 19:41:46 +01:00
Jonas Kvinge c8f3379a48 Fix crash when deleting playlist folder. 2020-01-05 23:26:07 +01:00
Jonas Kvinge 2215f300bf Added option to disable playlist clear button
Fixes #339
2020-01-04 06:38:25 +01:00
Jonas Kvinge 7f442cff3b Fix QProxyStyle 2020-01-02 18:57:53 +01:00
Jonas Kvinge fc2d601424 Remove useless stdbool.h include 2019-12-30 23:14:40 +01:00
Jonas Kvinge d3d60327ab Remove the answer to life the universe and everything 2019-12-29 23:46:35 +01:00
Jonas Kvinge 882c94110e Update temporary metadata when tags are changed 2019-12-21 21:55:24 +01:00
Jonas Kvinge 6df38c389c Replace use of QSet::toList() with QSet::values() 2019-12-21 18:19:09 +01:00
Jonas Kvinge 8e256e6d5c Fix indent 2019-12-21 17:55:24 +01:00
Jonas Kvinge 3de85549b6 Add option to automatically select current playing track 2019-10-27 02:11:51 +01:00
Jonas Kvinge 73164f7182 Update scrobble point when song is restarted 2019-10-27 02:09:34 +01:00
Jonas Kvinge 5599739433 Fix lowercased playlist album artist column
Fixes #275
2019-10-03 18:25:50 +02:00
Jonas Kvinge f2078271b6 Only update scrobble point in SetStreamMetadata when length is changed 2019-09-30 18:58:55 +02:00
Jonas Kvinge 76b4a6585e Update copyrights 2019-09-23 19:17:41 +02:00
Jonas Kvinge eb10a15eee Reset next item temporary metadata 2019-09-23 01:00:55 +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 2d67279180 Fix minor code issues 2019-09-15 20:27:32 +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 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 d199a2be0d Fix typos and spelling 2019-08-22 18:45:32 +02:00
Jonas Kvinge f81ecffda6 Don't treat songs with different album as duplicates 2019-08-21 20:46:08 +02:00
Jonas Kvinge e4b6e20db6 Turn playlist glow effect off by default on macOS 2019-08-17 00:00:12 +02:00
Martin Delille 0e97f99f93 remove 3rdparty SPMediaKeyTap (#239) 2019-08-11 20:44:32 +02:00
SamTShaw a32010e03b Ipod Playlist Support (#220)
* Ipod Playlist Support

Copy a whole playlist to the ipod and create an entry in Playlists on
the iPod

* Fix formatting and indentation

Fix indenting and formatting to be consistent
2019-08-07 17:13:40 +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 d34a323a81 Handle cases where playlist background album gets stuck on error 2019-07-30 21:32:56 +02:00
Jonas Kvinge 81caec99b7 Fix closing databases 2019-07-25 17:56:28 +02:00
Jonas Kvinge da0d61f36a Fix regression in playlist backend caused by previous commits 2019-07-24 21:37: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
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 5f7efee00e ifdef QFontMetrics::horizontalAdvance to make it work with older Qt 2019-07-08 23:27:45 +02:00
Jonas Kvinge 8ebcb71e6e Replace all uses of QSignalMapper with lambda expressions 2019-07-08 22:27:45 +02:00
Jonas Kvinge beeba88ea5 Replace QModelIndex child() with index() 2019-07-08 22:23:15 +02:00
Jonas Kvinge 870dc0d36f Replace QFontMetrics::width with horizontalAdvance, dark with darker, background() with window() and QString::null with QString() 2019-07-08 22:19:14 +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
m4x3t bcfd1d39bb Modify stretch background image functionality (#198)
* Modify stretch background image functionality

Changes the stretch functionality to fill out
the playlist background completely by zooming
the image (if keep aspect ratio is selected)
instead of filling it only height-wise.

* Add option to keep old background fill

* Fix playlist background image width and height

* Fix width calculation

* Remove old calculations
2019-06-30 19:37:05 +02:00
Jonas Kvinge 10dc725942 Attempt to fix MessageReply crash when saving tags 2019-06-22 08:36:02 +02:00
Jonas Kvinge e59c3c6f70 Add MediaUrl function for playlistitems 2019-06-15 19:31:43 +02:00
Jonas Kvinge 49aa344d8b Change index to idx 2019-06-15 19:31:16 +02:00
Jonas Kvinge 69eeb4b0f8 Move QSearchField to widgets and remove rest of qocoa 2019-05-08 23:34:44 +02:00
Jonas Kvinge cd9d659672 Make sure to resume playback from correct playlist 2019-05-02 12:17:47 +02:00
Jonas Kvinge ca140388d9 Fix resume playback on startup 2019-05-02 11:31:31 +02:00
Jonas Kvinge 42de7de21d Fix saving playlist columns 2019-04-28 14:14:19 +02:00
Jonas Kvinge 170adfd00c Save geometry, tabbar and playlist on exit only, fix loading tabs in
correct order
2019-04-27 22:32:39 +02:00
Jonas Kvinge 7a0f6684e5 Improve song loader error handling 2019-04-20 15:28:16 +02:00
Jonas Kvinge ba76385a2f Only invalidate local files 2019-04-20 15:22:56 +02:00
Jonas Kvinge 7bcd5ba14c Fix track seeking with mouse wheel 2019-04-20 14:26:30 +02:00
Jonas Kvinge 40db9f7020 Fix updating play and skip count 2019-04-19 14:02:28 +02:00
Jonas Kvinge 907d18a83a Add moodbar 2019-04-18 15:03:01 +02:00
Jonas Kvinge 368bb54870 Formatting 2019-04-12 19:55:19 +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 dd79d089f6 Tweak the size a bit 2019-03-25 23:33:58 +01:00
Jonas Kvinge 7aaad124d0 Add more background image options 2019-03-25 22:00:40 +01:00
Jonas Kvinge b066158a4b Remove redundant includes 2019-03-22 23:23:50 +01:00
Jonas Kvinge 380f2509ac Remove deezer 2019-03-09 17:43:20 +01:00
Jonas Kvinge 55f610f3b2 Fix formatting 2019-02-20 21:29:14 +01:00
Jonas Kvinge 513aafca16 Disable fading when alsa device is selected 2019-01-09 20:02:40 +01:00
Jonas Kvinge 7c3f3da07d Fix min scrobble point 2018-12-25 22:58:11 +01:00
Jonas Kvinge 52de8d0082 Fix key up causing playback to reset 2018-12-23 19:17:21 +01:00
Jonas Kvinge 0d7e12e781 Add scrobbler with support for Last.fm, Libre.fm and ListenBrainz 2018-12-23 18:54:27 +01:00
Jonas Kvinge bca1a98938 Add option to reset playlist columns 2018-11-19 00:18:48 +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 bc9ec8025c Move some settings 2018-10-31 19:44:24 +01:00
Jonas Kvinge 6105b99a7f Add option to continue to next song in playlist on error
Also rename some settings. Add option to grey out songs both on playback and
on startup.
2018-10-30 23:20:02 +01:00
Jonas Kvinge f4dcf6821f Rename class InternetModel to InternetServices 2018-10-23 23:25:02 +02:00
Jonas Kvinge 3e9530fa8d Set metadata from deezer engine 2018-10-23 20:21:33 +02:00
Jonas Kvinge c97bc55c6f Move queuemanager to fancytabbar 2018-10-21 15:13:48 +02:00
Jonas Kvinge 5221f13498 Minor code cleanup and fixes 2018-10-20 22:16:22 +02: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 121a186160 Improve contextview and engine code 2018-09-22 23:13:56 +02:00
Jonas Kvinge 0143617056 Fix bug setting wrong temp metadata and bug in pipeline 2018-09-21 00:34:02 +02:00
Jonas Kvinge 246f82bfad Replace obsolete QStyleOptionViewItemV2-4 2018-09-18 22:17:28 +02:00
Jonas Kvinge fc8a27f55b Fix some compiler warnings 2018-09-12 22:51:10 +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 917b9c39b8 Fix paths
- Use QStandardPaths
- Load settings in StatusView widget
- Update about
- Remove redundant code
- Temporary hide missing audiopanorama error as workaround for windows build
2018-04-06 22:13:11 +02:00
Jonas Kvinge 2bbcf819c8 Add background_initialized_ 2018-03-17 14:39:06 +01:00
Jonas Kvinge 0022264757 Remove debug 2018-03-10 23:58:37 +01:00
Jonas Kvinge 16cabf33a2 Code cleanup. 2018-03-10 13:02:56 +01:00
Jonas Kvinge 887e045a63 Fix crash when loading CD playlists 2018-03-04 20:13:05 +01:00