Commit Graph

714 Commits

Author SHA1 Message Date
David Sansome 98235eea03 Remember the ordering of playlists 2010-05-21 10:37:24 +00:00
David Sansome 119c6fbd6e Refer to playlists by ID rather than index in the tabbar, so they can be moved around 2010-05-21 10:29:17 +00:00
David Sansome a274f8cbfc Select newly created playlists 2010-05-21 09:41:57 +00:00
David Sansome 0aa579c2be Disable the Delete playlist action if there's only one playlist left. 2010-05-21 09:37:27 +00:00
David Sansome 103f933dab Save the currently selected tab 2010-05-20 23:18:55 +00:00
David Sansome 7e913fb38b Show a playing/pause icon on the active tab 2010-05-20 22:48:11 +00:00
David Sansome 1572124962 Seperate last played values for each playlist 2010-05-20 22:30:55 +00:00
David Sansome f17a422797 Make sure only one playlist can have the "current" song 2010-05-20 21:51:01 +00:00
David Sansome e515724bf7 Basic support for multiple playlists. Not everything works yet 2010-05-20 21:21:55 +00:00
David Sansome 5de851d054 Sync translations from launchpad 2010-05-20 19:08:14 +00:00
David Sansome b116d4a306 First go at a UI for playlist search and multiple playlists. Nothing works yet. 2010-05-20 14:12:15 +00:00
David Sansome a95fb6d1e6 Do UpdateCompilations in the library scanner thread so as to not block
the GUI on startup.
2010-05-20 12:27:48 +00:00
David Sansome 3d8c11ff5a Fix tests 2010-05-19 17:00:09 +00:00
David Sansome becdbb05a3 Remove debug output 2010-05-19 15:53:32 +00:00
David Sansome 4d57ccb41c Use icons from the desktop theme where possible, fall back on oxygen. 2010-05-19 15:45:29 +00:00
David Sansome 9b224fd87d Fix the fader behaviour a bit 2010-05-19 13:26:23 +00:00
David Sansome 33614533d8 Fix playlist wrapping into a last.fm stream, for real this time. 2010-05-19 13:08:52 +00:00
David Sansome 6bf26eca90 The Magnatune URLs are already encoded. 2010-05-19 13:03:03 +00:00
David Sansome 8b4c85a886 Make magnatune songs play again 2010-05-18 20:51:33 +00:00
David Sansome a292677320 Refactor the way Player gets tracks to play from RadioPlaylistItems. They can now return synchronously with a URL, asynchronously via a signal, or with an error. This properly fixes the problem of preloading a last.fm stream when the track before is about to end. 2010-05-18 20:43:10 +00:00
David Sansome 63c2640032 Select the entire row when scrolling to the currently playing item. 2010-05-18 18:19:19 +00:00
John Maguire af3f8bcdfe Preload the next item in the playlist correctly when it's a radio station. 2010-05-18 14:30:55 +00:00
David Sansome bb015ca3aa Global shortcuts dialog should work now. 2010-05-17 11:06:50 +00:00
David Sansome 55bc18a9c0 Fix the appearance of several dialogs when using a high font DPI. Fixes issue #310 2010-05-17 00:47:43 +00:00
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 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
David Sansome 9cd0fa6d7d Better error handling for the transcoder, and a log to show the user what's going on 2010-05-08 15:36:12 +00:00
David Sansome b304b1a5a0 Remember the last used output format in the transcoder dialog 2010-05-08 14:09:56 +00:00
David Sansome 5cbed1c6b3 Use uridecodebin to pick the right source for us, rather than using giosrc sometimes, and soup/neon for http. Fixes issue #290 2010-05-08 13:54:12 +00:00
John Maguire b909f56dbb Stupid msgmerge fix. 2010-05-07 12:30:06 +00:00
David Sansome 1f0733caf5 Cancelling the transcoder now works 2010-05-06 16:28:19 +00:00
David Sansome 1287254897 Merged translations from launchpad 2010-05-06 12:52:19 +00:00
David Sansome 8c9b546cc5 Show the console window in debug mode on Windows 2010-05-05 16:56:55 +00:00
David Sansome 38d4cb40c8 Fix an infinite recursion bug. Fixes issue #284 2010-05-05 16:56:42 +00:00
David Sansome a81d0c55e7 Fix some indentation in CMakeLists 2010-05-05 16:56:35 +00:00
John Maguire a7d9c4d0dc Support drag from Finder to playlist on Mac.
Fix small build thing.
2010-05-05 11:50:45 +00:00
David Sansome 19b08540ef Force the directsound sink on windows 2010-05-04 15:51:23 +00:00
David Sansome e862555f56 Oops, AAC works better in a container... 2010-05-03 22:58:18 +00:00
David Sansome 6e3cab8667 Make the pretty OSD skip the taskbar on Windows. 2010-05-03 22:36:28 +00:00
David Sansome b114b76e10 Don't overwrite existing files 2010-05-03 21:24:43 +00:00
David Sansome c1384f0a0c Make this comment a bit more helpful 2010-05-03 20:10:55 +00:00
David Sansome e24efe390c Fix compilation on Windows 2010-05-03 20:01:23 +00:00
David Sansome 6fa0f28ca4 Working transcoder. No error handling yet 2010-05-03 19:56:21 +00:00
David Sansome d5c52f32d8 Add an almost working music transcoder. Also some small translation fixes. 2010-05-03 18:52:35 +00:00
John Maguire 7b420b6845 Some defensive programming for r819. 2010-05-03 14:55:00 +00:00
John Maguire 3adc74dfab Disable gstengine's timer when it's stopped. 2010-05-03 14:15:42 +00:00
David Sansome 7039d04ee6 Keep all the version numbers in one file, so we don't have to change it in hundreds of places each release. 2010-05-03 13:58:41 +00:00
David Sansome d3cbeed9b7 Merge translations from launchpad 2010-05-03 13:10:38 +00:00
David Sansome 6f7dbf3286 Make local file playback work on Windows again 2010-05-01 14:01:01 +00:00
David Sansome 5a7437ddd6 Fix the "add media" dialog on windows 2010-05-01 13:49:07 +00:00
David Sansome f8d68d3956 Always show icons in the menus, even on gnome in lucid 2010-05-01 13:40:21 +00:00
David Sansome b319bdfe8e Set the glib application name so Clementine shows up in the gnome-volume-control 2010-04-30 19:45:43 +00:00
David Sansome 266ad640de Fix character decoding from gstreamer errors.
Update issue 263
Status: Fixed
Nevermind, I worked out out - should be fixed now!
2010-04-30 15:37:57 +00:00