Commit Graph

764 Commits

Author SHA1 Message Date
David Sansome 6806d78f96 Add a button to the global shortcuts dialog to open gnome's keybinding properties dialog. 2010-05-17 00:31:39 +00:00
David Sansome 56765caf64 Make previous follow the same order of virtual indices that next follows.
Update issue #316
I've fixed the second part of your report in this one - pressing "back" should follow the same random order now.  It goes a bit weird if you go back past the first random track you played, but I don't care too much about that :)
2010-05-17 00:02:22 +00:00
David Sansome 3891bc032d Add a "jump to the currently playing track" menu option. Fixes issue #316 2010-05-16 23:55:00 +00:00
David Sansome 84c8caea55 Automatically expand the nodes in the magnatune database when searching 2010-05-16 23:44:33 +00:00
David Sansome 4b9fd35db1 Make the "version" text bigger in the about box 2010-05-16 23:21:45 +00:00
David Sansome a8f6dc6361 Get error messages from lastfm::ws::parse properly, and make sure to finish the busy indicator if an error does occur. Featuring: epic RTTI hack. 2010-05-16 23:16:38 +00:00
David Sansome bdc5d1ab1c Make sure the OSD and album cover manager use a "no cover" image when there's no artwork 2010-05-16 22:53:42 +00:00
David Sansome f3c732019f Remove the last.fm album art loading code, and set the URL so AlbumCoverLoader can fetch it. 2010-05-16 22:46:56 +00:00
David Sansome 9694977b34 Don't pad images in the OSD 2010-05-16 22:41:01 +00:00
David Sansome 33e61f9eb8 Fix last.fm cover art 2010-05-16 22:31:59 +00:00
David Sansome 4954a99867 Call fetchMore() when recursively expanding the library view, to fix a bug where empty items would appear when you searched the library. 2010-05-16 22:28:26 +00:00
David Sansome ef0f7a90cb Merge audvare's globalshortcuts branch and tidy it up a bit. It doesn't do anything yet, but the UI is there. 2010-05-16 22:22:51 +00:00
David Sansome 694c5e9f9e Wait 2 seconds after the fadeout finished before destroying the pipeline, to allow for delays in the sound server/driver. Fixes issue #294. 2010-05-15 17:55:36 +00:00
David Sansome f7c08d375a Add a "load" menu item to the library, files view, and radio view to replace the current playlist with the selection. Also add an option to make this the default. Fixes issue #311 2010-05-15 17:45:04 +00:00
David Sansome c5db4c025c We don't need to link against libz on windows or linux for some reason. 900 GET 2010-05-11 20:07:00 +00:00
David Sansome 49f273edd2 Add an option to add a whole folder to the playlist 2010-05-11 20:02:19 +00:00
John Maguire 6794b67a2f Fix LibraryModel tests. 2010-05-11 19:03:29 +00:00
John Maguire ae233ada44 Use canFetchMore/fetchMore instead of nasty const_casts. 2010-05-11 18:17:41 +00:00
David Sansome 51446cbb88 Implement canFetchMore and fetchMore in MergedProxyModel 2010-05-11 18:01:30 +00:00
John Maguire ff4eb346da Fix mac build 2010-05-11 12:51:31 +00:00
John Maguire 5dd0a9c35f Autodetect weird encodings in ID3v1 tags.
Fixes issue #254
2010-05-11 12:03:55 +00:00
David Sansome 72f5307524 Fix a little race condition 2010-05-10 22:47:14 +00:00
David Sansome 7302854382 Oops, fix some crashes on startup 2010-05-10 22:09:16 +00:00
David Sansome 1aee5e4667 Split all the source files up into seven new directories. 2010-05-10 21:50:31 +00:00
David Sansome 481dbae992 Save magnatune playlist items properly, also fix tests from before 2010-05-10 14:19:43 +00:00
John Maguire 37960cb5df Start of (still disabled) ID3v1 encoding detector.
Comes with const_cast hackiness \o/
Updates issue #254
2010-05-10 13:46:06 +00:00
David Sansome 41f306fd2a Load cover art from Magnatune: make AlbumCoverLoader load from http, and make the OSD load artwork asynchronously. 2010-05-10 13:15:52 +00:00
David Sansome 58da0a2f64 Use the same QNetworkAccessManager for everything, and make it use a disk cache 2010-05-10 11:12:44 +00:00
David Sansome 4ed73d74b0 Replace readElementText properly, with one that doesn't error out when it sees a child element. 2010-05-10 10:58:02 +00:00
David Sansome 9e47eb420a Make this compile on Qt 4.5 2010-05-10 09:35:45 +00:00
David Sansome a5102a2b27 Remove all existing magnatune songs before reloading the database 2010-05-09 21:31:52 +00:00
David Sansome 575d44144c Rename the "Radio" tab to "Internet" 2010-05-09 21:22:47 +00:00
David Sansome 739b0168ed Add an index to the magnatune table 2010-05-09 21:21:08 +00:00
David Sansome bef59ffd22 Don't reset the whole merged model when one of the submodels changes 2010-05-09 21:16:54 +00:00
David Sansome e2355d855d Move the library filter widget out of MainWindow into another class, and show the widget when magnatune is selected 2010-05-09 20:18:05 +00:00
David Sansome 7ef13ecf09 Display dividers properly in the Magnatune list 2010-05-09 18:55:33 +00:00
David Sansome 95bd58c5bb Load genres and cover art (although it's not used yet) 2010-05-09 18:50:54 +00:00
David Sansome 8d3353520a Magnatune context menu 2010-05-09 18:36:10 +00:00
David Sansome 8b76cfa19d Do something sensible with context menus 2010-05-09 17:53:27 +00:00
David Sansome 7ef82ef9c1 Playing Magnatune tracks now works 2010-05-09 17:32:07 +00:00
David Sansome ff8c024692 Drag and drop from the merged model 2010-05-09 17:19:48 +00:00
David Sansome 88ab9a8299 Add a table for the Magnatune library, and add the Magnatune database to it when the Magnatune node is expanded. Sort the Magnatune library model properly, and don't crash when adding or removing items. 2010-05-09 16:53:35 +00:00
David Sansome 8ce66bcbd2 Fix memory leak 2010-05-09 15:53:28 +00:00
David Sansome 6b8d6c93f9 Add a MergedProxyModel that lets us merge two models into one... 2010-05-09 15:51:04 +00:00
David Sansome 1b00aaa8b3 Big refactoring of the Library <-> LibraryBackend <-> SQLite interaction.
The LibraryBackend has now been split into a Database class that deals with setting up sqlite, and PlaylistBackend that contains the functions for persisting the playlist.  The LibraryBackend now only contains functions for accessing "a collection of songs", and can be parameterised with table names to access different collections.  It also no longer lives in a background thread, and follows the Qt memory management model instead of using shared_ptr.
Most of Library has been moved into LibraryModel - a QAbstractItemModel for any LibraryBackend.  What's left of Library is now specific to the user's local library on disk.
2010-05-09 00:10:26 +00:00
David Sansome cd8fc47bf3 A little refactoring of Library - pass in a table to get songs from 2010-05-08 21:54:36 +00:00
David Sansome aba44b7a5a Remove unused file 2010-05-08 20:57:24 +00:00
David Sansome 72dbfd51c5 Start of a Magnatune service that downloads the list of songs and prints them on stdout. 2010-05-08 20:56:39 +00:00
David Sansome 980d61a583 If we're not crossfading, keep the same pipeline when changing tracks and just swap out the gstreamer source - this should allow for completely gapless playback. 2010-05-08 17:39:12 +00:00
David Sansome 8ea3213f09 Codereview comments from r861 >.> 2010-05-08 15:45:09 +00:00