Commit Graph

1022 Commits

Author SHA1 Message Date
David Sansome bc7c62c09e Highlight the URL in the add stream dialog when it's opened 2010-06-16 16:21:38 +00:00
David Sansome 68edaff32f Show the whole URL in the playlist for streams that don't have a title or basefilename set. 2010-06-16 16:18:28 +00:00
David Sansome 357f229e02 Make saved radio streams use the song loader when dragged to the playlist 2010-06-16 16:11:23 +00:00
David Sansome 7f3c0b853a Sort by album artist properly.
Update issue #408
Status: Fixed
Looks good, thanks!
2010-06-16 14:52:01 +00:00
John Maguire 5307ca3db0 Return the correct type from GstBusFunc()s 2010-06-15 22:32:20 +00:00
John Maguire a8f7df9e28 Remove incorrect gst_message_unref. It should only be called from *sync* handlers that are returning GST_BUS_DROP. 2010-06-15 22:30:06 +00:00
John Maguire abdc2eee2e Put LoadUrl for mac back. 2010-06-15 21:56:33 +00:00
David Sansome 0f8ada10d3 Typo 2010-06-15 18:34:15 +00:00
David Sansome f162d9d620 Add a SongLoaderInserter that loads a list of URLs and inserts them into a playlist when it's done. Wire up everything in the GUI that loads URLs or filenames to use the new SongLoader. 2010-06-15 18:24:08 +00:00
David Sansome 02d01b1314 PLS playlists aren't really INI files - they don't follow the same rules with escaping characters, so parse them the old fashioned way. 2010-06-15 17:34:00 +00:00
David Sansome 8c7539f02e ASF files aren't really XML - try to correct the mismatching case 2010-06-15 17:00:48 +00:00
David Sansome 25ff2bca59 Always treat text/uri-list as M3U 2010-06-15 14:52:42 +00:00
David Sansome 987a918d90 Timeout when fetching remote things 2010-06-15 14:44:28 +00:00
David Sansome 7afa3372f5 Fix the qWarning warning 2010-06-15 14:42:32 +00:00
David Sansome de630e0a9f Run LoadLocalDirectory in another thread so it doesn't block 2010-06-15 14:24:17 +00:00
David Sansome 2c3e9276aa Fix some of the comments on r1148 2010-06-15 13:56:41 +00:00
David Sansome a27b6d3561 Herp derp 2010-06-15 13:28:08 +00:00
David Sansome 08a01d6997 The start of some code to automagically determine whether a URL is a playlist or a song, and load the songs in the playlist if it's a playlist. Still to do: timeout, forcing M3U for text/uri-list. 2010-06-15 13:24:17 +00:00
John Maguire 73a381fe89 Rain! 2010-06-14 20:00:17 +00:00
John Maguire 92e95ecf80 Support for background streams. 2010-06-14 19:15:10 +00:00
David Sansome b6a642ab15 Major graphical change: add a vertical line between the repeat/playlist buttons and the playlist length label 2010-06-14 16:18:15 +00:00
John Maguire 1e80ac8c5b Use cmake rm. 2010-06-14 15:10:39 +00:00
John Maguire fd037c0f9a Fix buildsystem to build a new dmg every time.
Fixes issue #405
2010-06-14 14:50:04 +00:00
John Maguire 9415b2a3f4 Oops, this got left out from r1139. 2010-06-14 13:27:45 +00:00
John Maguire 5a97697702 Add support for opening files via Finder in OS X.
Update issue #405
Status: Started
Opening from Finder works but Clementine still isn't a "recommended" application.
2010-06-14 13:22:45 +00:00
David Sansome e46d93b599 Move the track length indicator to the right, and add information about the selected tracks 2010-06-13 12:45:05 +00:00
David Sansome a8d79582c1 Add a status bar indicator to tell the user how many tracks are loaded. Fixes issue #155 2010-06-12 21:20:53 +00:00
David Sansome 8340aa0a64 Warn before cancelling a Magnatune download, flash the taskbar and display a notification when it completes. 2010-06-12 20:43:07 +00:00
David Sansome 083eb716a7 Crossfade magnatune streams properly 2010-06-12 20:22:58 +00:00
David Sansome dd36835b49 Make "" an acceptable option for LINGUAS meaning None 2010-06-12 19:36:22 +00:00
David Sansome e419e27644 Replace the dock widgets with a tab widget to remove the (mostly) superfluous label at the top.
Update issue #389
Status: Fixed
It looked like it was going to be too difficult to make the tabs themselves draggable - the draggable dock widgets are actually a Qt thing and they're not very customisable.  So instead I've just removed the top label all together.
2010-06-12 19:32:17 +00:00
David Sansome a41a450218 Add an cmake option to leave translation out of the binary.
Update issue #400
Status: Fixed
Ok makes sense I suppose.  I've cleaned up the patch a bit and committed it.  I changed the cmake variable to LINGUAS (upper case), and valid values are "All", "None", or a space seperated list of languages.
2010-06-12 17:44:19 +00:00
David Sansome c37933c370 Hack to prevent the user from dragging album covers around. 2010-06-12 17:32:27 +00:00
David Sansome 36abad486b Add a dialog for manual searching of Last.fm album covers. Fixes issue #402 2010-06-12 17:13:01 +00:00
David Sansome 516f769a75 Enable dragging and double clicking from the album cover manager to add albums to the playlist
Update issue #169
Status: Fixed
I hadn't forgotten about this, honest... :)
2010-06-12 15:18:16 +00:00
David Sansome efcd2c968a Search library on composer and genre too 2010-06-12 13:19:55 +00:00
David Sansome d40ab596bd Fix a Windows bug where Clementine would get stuck hidden in the system tray forever 2010-06-12 00:30:35 +00:00
David Sansome b16d072cd6 Add some progress information to the album cover fetcher 2010-06-11 23:07:53 +00:00
David Sansome 7e1b54a779 Fix the height of items in the album cover manager, don't show artists with no albums, and add a status bar (currently unused) 2010-06-11 22:35:41 +00:00
David Sansome f739ae5e00 (Vertical) center align playlist items again.
Update issue #379
Fixed the alignment.
2010-06-11 16:41:29 +00:00
David Sansome 0a19a275a2 On Windows and Mac use a different gstreamer registry file 2010-06-11 12:22:21 +00:00
David Sansome 0e83490766 Search in albumartist too. Fixes issue #387 2010-06-11 12:01:41 +00:00
David Sansome f04e4bb6ea Add an icon to the visualisations window.
Update issue #394
Missed that one, thanks :)
2010-06-10 22:50:26 +00:00
David Sansome cb2588b3a3 Juggling the translations 2010-06-10 22:49:47 +00:00
David Sansome 76f0803b81 Make visualisations optional.
Update issue #394
Status: Fixed
There's now an ENABLE_VISUALISATIONS option that you can set to cmake with cmake -DENABLE_VISUALISATIONS=OFF, or with ccmake or cmake-gui.
2010-06-10 22:48:23 +00:00
David Sansome 15df3b90a3 Set window icons on all the dialogs. Fixes issue #394 2010-06-10 22:09:35 +00:00
David Sansome 3fe941f5c1 Make the playlist header present a one-level menu for showing and hiding columns. Fixes issue #381 2010-06-10 17:40:14 +00:00
David Sansome 07ba35ff6d Append a "Hz", "bpm", "kbps" etc. suffix to bit rate, sample rate and BPM columns in the playlist 2010-06-10 17:04:40 +00:00
David Sansome 6eea954fb1 Right-align numeric fields in the playlist 2010-06-10 17:04:05 +00:00
David Sansome c41344524d Display the BPM column in the playlist properly. 2010-06-10 16:54:07 +00:00
David Sansome f4c7a50973 Convert the song's path to native seperators in the tag editor dialog. Fixes issue #370 2010-06-10 16:05:32 +00:00
David Sansome ffa354e887 Use a proper Magnatune partner ID 2010-06-09 16:05:59 +00:00
David Sansome 9b713c2ed9 Add or load *all* selected library items, not just the one that you right clicked on. Fixes issue #366 2010-06-09 15:49:05 +00:00
David Sansome 5f92d652a9 Show a "Configure Magnatune" button on the magnatune header 2010-06-09 15:38:00 +00:00
David Sansome 782166db41 Invalidate the currently playing track cache when scrolling sideways. Fixes issue #377 2010-06-09 15:37:54 +00:00
David Sansome f69a82bc6e Force a re-download of the magnatune database so svn users will get the sku-codes required for downloading 2010-06-09 14:04:56 +00:00
David Sansome 903dbba87e Dialog for downloading Magnatune albums 2010-06-09 14:02:26 +00:00
David Sansome 7a6df2860f Play the mp3s without commercials for magnatune subscribers 2010-06-08 23:29:50 +00:00
David Sansome 38a92e802b Save and load the magnatune settings properly 2010-06-08 23:18:20 +00:00
David Sansome f1fb9ab6b9 Remove the library config dialog and make it show the page in the settings dialog instead 2010-06-08 23:06:29 +00:00
David Sansome 43ca921d65 Add a magnatune settings page (not functional yet), remove the last.fm config *dialog*, and instead make it bring up the settings dialog at the right page. 2010-06-08 22:56:31 +00:00
David Sansome 40bb827fcd Make all the source files a single cmake target again. 2010-06-08 22:39:31 +00:00
John Maguire 2830ee1a62 Fix MPRIS pause behaviour.
Update issue 374
Pause/unpause should be fixed now.
2010-06-08 16:00:09 +00:00
David Sansome f03449dd00 Fix compilation problems when compiling without gstreamer 2010-06-08 15:55:44 +00:00
David Sansome 7a449a545c Fix a compilation error when enabling other engines 2010-06-08 13:24:48 +00:00
David Sansome 08dddac981 Fix a small memory leak 2010-06-08 12:12:47 +00:00
David Sansome 5099503b45 Make the small toolbar buttons stay small even on gtk styles that use bigger buttons 2010-06-08 11:43:34 +00:00
John Maguire e8f1838d6d Fucking mac. 2010-06-07 20:39:06 +00:00
John Maguire 7d18f60ca8 Ignore silly Info.plist from Sparkle. 2010-06-07 20:22:43 +00:00
John Maguire ea95b847fc Update dmg target to stop Qt copying silly plugins. 2010-06-07 19:43:07 +00:00
John Maguire a821f5a505 Install resources into mac bundle. 2010-06-07 19:01:35 +00:00
John Maguire 2979b6ae84 Forgotten mac build fix. 2010-06-07 17:57:07 +00:00
David Sansome ade492c56f Make the visualisation duration configurable 2010-06-07 13:36:50 +00:00
David Sansome 0e19ca17e5 Make the visualisation chooser actually work 2010-06-07 13:29:57 +00:00
John Maguire d34283a113 ProjectM on mac deployment fixes. 2010-06-07 11:38:43 +00:00
David Sansome 6d84c2f830 Don't use the system projectm config file. Search for presets in share/clementine/projectm-presets. 2010-06-07 10:23:11 +00:00
David Sansome 38e0c3a11f Add projectm presets to svn 2010-06-07 10:09:30 +00:00
John Maguire a4386de578 Add some useful mac functions. 2010-06-07 09:49:20 +00:00
David Sansome 2986b27fd7 Basic visualisation selector dialog. 2010-06-07 01:55:21 +00:00
David Sansome c3149e40ed Merge translations from Launchpad 2010-06-06 23:16:32 +00:00
David Sansome 87ecc89ca2 Add an option to change the quality (texture resolution) of visualisations 2010-06-06 23:05:11 +00:00
David Sansome 93cb686f08 Ctrl+W and Esc close the visualisation window 2010-06-06 22:39:01 +00:00
David Sansome 2a77a1070d Hide the cursor on the visualisation window properly 2010-06-06 22:33:30 +00:00
David Sansome 6e81289ea2 Add a visualisation config menu 2010-06-06 22:28:24 +00:00
David Sansome 038c7b1bbf Use the libprojectm from 3rdparty 2010-06-06 22:23:09 +00:00
John Maguire 920f7a0f3a Make visualisations not crash :-) 2010-06-06 22:22:02 +00:00
David Sansome 0e155c1eaf Fix liblastfm finding 2010-06-06 21:08:52 +00:00
David Sansome 42cd269538 Double click visualisation for fullscreen 2010-06-06 18:29:13 +00:00
David Sansome 793e0371fe Oops, don't show the visualisation automatically 2010-06-06 18:28:58 +00:00
David Sansome c541f242c5 Visualisation overlay 2010-06-06 18:18:06 +00:00
David Sansome 994d6d9c20 Set a better default size for the visualisation, and make resizing work 2010-06-06 18:17:41 +00:00
David Sansome 1895582eb9 Basic support for ProjectM visualisations 2010-06-06 14:06:23 +00:00
David Sansome fe39d99923 Support playing \\host\share\file style URLs on Windows 2010-06-03 18:39:42 +00:00
John Maguire 2e9dc6c570 Never override UTF-8 strings from TagLib. 2010-06-03 15:22:30 +00:00
David Sansome f33604580c Stop ASCII from voting, and add a failing test 2010-06-03 15:16:15 +00:00
David Sansome 3652ff30e0 Don't assert if one of the operands to our LIKE function is NULL 2010-06-03 14:56:49 +00:00
John Maguire 8a13f3e481 Qt is nice :-) 2010-06-03 14:11:53 +00:00
John Maguire 2ad15ffec6 Code review comments for r1023 2010-06-03 13:26:46 +00:00
John Maguire 407bc7a41e Fix segfault. 2010-06-03 13:02:24 +00:00
John Maguire b9df2a09d4 Add voting for codecs, eg. if 3/4 tags in a file are windows-1251 then they will all be decoded with windows-1251. 2010-06-03 12:36:43 +00:00
David Sansome c0103cc1e0 Bring 1020 back again for Windows systems that don't seem to have a system encoding set :/ 2010-06-02 21:26:12 +00:00
David Sansome 7cbd8f7500 Revert r1020, it wasn't necessary - see issue #364 2010-06-02 21:08:37 +00:00
David Sansome 2381d2ba1a Use UTF8 explicitly rather than the local 8-bit codec 2010-06-02 21:04:03 +00:00
David Sansome 6dd32da591 Make the M3U parser use the local 8-bit encoding instead of latin1. Yes I know the spec says m3us are always latin1 - you didn't expect anyone else to actually follow that did you? Fixes issue #364. 2010-06-02 20:06:47 +00:00
David Sansome e110febc86 Add a background to the pretty OSD 2010-06-02 19:19:30 +00:00
David Sansome 6e19e777d8 Don't create SettingsDialog until RadioModel is available 2010-06-02 16:27:52 +00:00
David Sansome c834a5f31f Do the compilation processing in the database thread, and make everything lock on the database to ensure two threads don't access it at once. 2010-06-02 16:22:20 +00:00
David Sansome 03d876a599 Put the Database object in its own thread, and create the Library and Playlist backends in that database thread. The database calls don't happen in the database thread yet, but this is the first step towards making sure sqlite access is thread safe. 2010-06-02 15:58:07 +00:00
David Sansome c7d351f68a Make it possible to wait for a background thread to start 2010-06-02 14:22:40 +00:00
David Sansome 24b22b1b17 Invalidate the cached current row pixmap when the column headers are moved/resized and when the song's metadata changes. 2010-06-02 13:51:16 +00:00
David Sansome e891543f42 Fix the encoding of composers and albumartists as well 2010-06-02 13:22:54 +00:00
John Maguire f4385d4545 Detect cp866 & windows-1251 in "latin1" tags. 2010-06-02 12:31:40 +00:00
David Sansome 3dad151608 Undo part of r1004, thanks John 2010-05-31 21:24:54 +00:00
David Sansome d760721f61 Make this all a bit more sane 2010-05-31 20:59:13 +00:00
David Sansome 99cea19994 Create engine_ in the initialisation list. 2010-05-31 20:51:29 +00:00
David Sansome bfebbc20c9 Show multiple errors in the same dialog 2010-05-31 20:49:44 +00:00
David Sansome 5d272a89ee Codereview comment from r1000 2010-05-31 20:24:05 +00:00
David Sansome 3365c7c217 Fix a few memory leaks 2010-05-28 19:51:51 +00:00
David Sansome 2c9a29e226 Give this variable a default value so it doesn't get passed to QThread::start uninitialised 2010-05-28 18:42:11 +00:00
David Sansome 9a06fa0bfc Don't start a new timer for *every* track we play. 2010-05-28 17:14:00 +00:00
David Sansome 48830f2acc When doing a keyboard search in the library view, scroll so that the index is at the top of the viewport instead of at the bottom. Fixes issue #354 2010-05-28 12:52:22 +00:00
John Maguire 98c97d13d6 Template magic \o/ 2010-05-27 23:34:05 +00:00
David Sansome 791534703c Allow names for custom saved streams. Fixes issue #242 2010-05-27 22:53:07 +00:00
John Maguire 4836b8d420 Fix XML parsers to output file URLs. 2010-05-27 22:43:07 +00:00
John Maguire 7ad2c38333 Port XSPFParser to QXmlStreamWriter. 2010-05-27 21:16:17 +00:00
John Maguire e8dab5c065 ASX support.
Fixes issue #325
2010-05-27 20:55:34 +00:00
David Sansome ed03c4cd72 Lower the CPU usage of the currently playing track animation by about 50% by caching the row pixmap and lowering the framerate slightly. 2010-05-27 20:31:00 +00:00
David Sansome 4c13e78893 Fix a mingw warning 2010-05-27 20:30:15 +00:00
John Maguire 734d505eb7 Fix media key global shortcuts on mac.
Dave: *again* :-P
2010-05-27 13:21:05 +00:00
John Maguire 722981e71d Stop streams on PlayPause. 2010-05-27 13:17:28 +00:00
David Sansome 3927d91cf1 We use decodebin2 on windows now 2010-05-25 22:25:04 +00:00
David Sansome e6a13c76f1 Be sure to signal about changes to the library model so that the proxy model's cache gets updated. 2010-05-25 22:18:27 +00:00
David Sansome 8164066648 More Qt 4.5 fixes 2010-05-25 21:41:53 +00:00
David Sansome 9292bd3cb5 toFloat() was Qt 4.6 2010-05-25 21:33:16 +00:00
David Sansome 0021e5f7e4 Make library scanning on startup optional, and add a menu item to update the library. Fixes issue #341 2010-05-25 20:40:45 +00:00
David Sansome 7ecdb772a7 Always map model indexes from the UI to the source playlist model when using them in the playlist.
Update issue #340
Status: fixed
I think I've fixed all these bugs now, but please reopen if you find
another situation where the wrong track gets used in a filtered playlist.
2010-05-25 19:39:04 +00:00
John Maguire bfa355cf82 Force menu items into correct place on mac.
Fixes issue #342
2010-05-25 13:19:28 +00:00
David Sansome c6d1c69ad0 Make it possible to do an in-place build 2010-05-24 13:29:13 +00:00
David Sansome 46b3dc643f "Stop after this song" on tray icon menu. Fixes issue #339 2010-05-23 21:51:31 +00:00
John Maguire a0f19e5923 Remove unnecessary checks. 2010-05-23 17:04:55 +00:00
John Maguire 07b2c38690 Save support for M3U. 2010-05-23 17:00:45 +00:00
John Maguire 1b76ead951 Implement playlist saving for XSPF. 2010-05-23 16:26:32 +00:00
John Maguire a59f5a3887 *Fix m3u parsing
*Add regression test
*Fix clang warnings
2010-05-23 15:35:28 +00:00
David Sansome eb78ace541 Replay Gain support 2010-05-23 13:07:15 +00:00
David Sansome 89bbaeed5f Add a filter for each type of playlist in the load/save dialogs. 2010-05-22 22:29:52 +00:00
David Sansome b487ec00ef GUI for saving playlists 2010-05-22 22:20:00 +00:00
David Sansome 06c6bebe15 Support for saving .pls files 2010-05-22 21:27:51 +00:00
David Sansome 211ae65e3d .pls parser. Fixes issue #302 2010-05-22 21:11:22 +00:00
David Sansome 1f8b0de49c Load playlist button works 2010-05-22 20:28:11 +00:00
David Sansome c9c44ca592 Move the playlist parsers to another directory, and add a PlaylistParser class that magically uses the right parser. 2010-05-22 20:06:19 +00:00
David Sansome d054e06444 Don't do the preloaded check on manual track changes.
Update issue #332
Status: fixed
Thanks for the patch!  Calling Stop() in there meant that the OSD got shown
briefly with a "Stopped" message though, so I've changed GstEngine::Load
instead - the problem was with the code that checked whether the pipeline had
already started to load that URL as a result of GstEngine::StartPreloading.
It'll now only do that on an automatic track change.
2010-05-22 17:19:27 +00:00
David Sansome aff901e44d Show a message on the playlist when a search yielded no matches. 2010-05-22 17:03:18 +00:00
David Sansome ab1b80c1db Playlist filtering 2010-05-22 16:36:13 +00:00
David Sansome 6a3c9aae0c Double clicking on empty space in the playlist tabbar makes a new playlist, and middle clicking a tab removes it 2010-05-22 14:33:17 +00:00
David Sansome 9baa1f74c7 Fix a weird bug when removing the last-but-one playlist 2010-05-22 14:28:37 +00:00
David Sansome d921b7e4e7 Improve system tray icon click behaviour. Thanks haakonn.
Fixes issue #335
Looks good, thanks!
2010-05-22 12:43:33 +00:00
David Sansome 0ef6a2dc88 Hide the tab bar when there are no tabs in it 2010-05-21 10:57:40 +00:00
David Sansome e572fbf487 Oops, fix remove and rename 2010-05-21 10:44:26 +00:00
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