Commit Graph

484 Commits

Author SHA1 Message Date
John Maguire e67f9a66c8 Load playlist in separate threads on startup. 2010-08-03 18:57:17 +00:00
John Maguire f5449b9f8d Move playlist loading off the GUI thread. 2010-08-03 14:59:18 +00:00
John Maguire 8166a50b2a Use persistent model index. 2010-08-02 14:07:34 +00:00
John Maguire 992e0fb95e Add support for saving songs in a separate thread.
Updates issue #542
2010-08-02 14:00:43 +00:00
David Sansome a236861dfa Option to group the library by file type 2010-07-31 14:14:03 +00:00
David Sansome 7e29c772af Use the playlist's name as the default filename when saving it 2010-07-31 13:10:08 +00:00
John Maguire 14dd723e3a Connect up signals for queuing tracks so that the view is updated correctly.
Fixes issue #548
2010-07-26 15:53:06 +00:00
David Sansome 6a03641079 Don't replace the whole selection when autoscrolling.
Update issue #496
Status: Fixed
I think the autoscroll is useful even when the selected song isn't the
currently playing song.  I've changed it slightly now though so it won't
replace the selection when it scrolls, so you'll be able to press up or
down to go back to where you were before.
2010-07-24 14:37:11 +00:00
John Maguire 0bf454ab60 Case insensitive search in playlist.
Fixes issue #460
2010-07-19 15:52:38 +00:00
David Sansome 40a2302311 Support dragging and dropping between playlists 2010-07-17 12:47:59 +00:00
David Sansome 4bf9ee0a8e Change the queue manager to use a QTreeView instead of QListView so it doesn't repaint on drop. 2010-07-11 21:27:36 +00:00
David Sansome 9bc8d914af Fix some occasional crashes when deleting the current playlist 2010-07-11 20:23:34 +00:00
David Sansome aa2d69f1bf Make the player actually use the queue order. Fixes issue #24. 2010-07-11 19:02:31 +00:00
David Sansome cbc6169ea8 Make the "stop after this track" box look nicer 2010-07-11 18:37:42 +00:00
David Sansome e625deed33 Enable drag and drop from the playlist to the queue 2010-07-11 18:11:47 +00:00
David Sansome 89fffcc37f Support internal drag and drop in the queue 2010-07-11 18:04:35 +00:00
David Sansome 4b81a86d1d Implement moving items in the queue 2010-07-11 17:39:11 +00:00
David Sansome 1f9e72f971 Add icons to the move up/move down/clear buttons, and implement the clear button 2010-07-11 16:58:22 +00:00
David Sansome f750ac1351 Display an indicator next to each playlist item showing its position in the queue 2010-07-11 16:17:38 +00:00
David Sansome 41183107d2 Start of work on a queue manager 2010-07-11 15:37:40 +00:00
David Sansome fca4fb8264 On second thoughts, use temporary metadata for all playlist items. 2010-07-10 19:45:29 +00:00
David Sansome d8cce6a343 Make temporary metadata work for SongPlaylistItems too. Fixes issue #487 2010-07-10 19:40:16 +00:00
David Sansome f8da25a3a0 Filtering the playlist keeps the current track focused. Fixes issue #466 2010-07-10 17:47:27 +00:00
David Sansome 6654182032 Don't connect new devices automatically, put them in a list model. Add icons for ipods, android phones and USB memory sticks. 2010-07-03 21:05:55 +00:00
David Sansome 2b17a8ee1f Revert r1344 (the timer tracing), it didn't help 2010-06-25 22:04:24 +00:00
David Sansome cc6413ab0e Add tracing to every timer event, might help track down CPU usage... 2010-06-25 08:46:03 +00:00
David Sansome a8f505e266 Don't fiddle playlist entries if the directory ID doesn't match what it was before - eg. if you delete a directory and add another one, and some IDs get reused. 2010-06-24 22:21:54 +00:00
David Sansome f808591ec7 Refactor the loading indicator widget into a seperate TaskManager class that can handle tasks with progress 2010-06-23 13:21:30 +00:00
David Sansome dafedbf00c Cache the playlist tree pixmap while the user is dragging stuff over it, making the repeated repaints less expensive. 2010-06-20 19:02:19 +00:00
David Sansome b18fcee586 Fix a crash when clearing a playlist 2010-06-18 16:06:51 +00:00
David Sansome 34a1772ed2 Don't replace song fields in the playlist when loading them on startup 2010-06-18 15:37:36 +00:00
David Sansome d2f2eb89e0 Don't count the length of tracks that don't have a length 2010-06-18 15:32:52 +00:00
David Sansome d3be5a4215 Make double-clicking on radio items work properly again. It's hacks all the way down... 2010-06-18 15:31:49 +00:00
David Sansome 43ae900852 Move the clear playlist button down to the bottom again. 2010-06-18 15:07:21 +00:00
David Sansome 8dd0b9902b When album cover art changes, update songs matching those albums in the playlist 2010-06-18 14:26:46 +00:00
David Sansome 4dbd1f2a2f Make sure the last played track gets restored properly when we re-open clementine 2010-06-17 17:43:58 +00:00
David Sansome 840a617ae8 Move the clear playlist button to the top 2010-06-17 15:41:45 +00:00
David Sansome 0d7eabcfb0 Show the "status bar" as part of the central widget 2010-06-16 19:21:15 +00:00
David Sansome 9b39b2db68 Move tabs to the top 2010-06-16 18:50:01 +00:00
David Sansome ea87eddcd2 Fix some weirdness when saving and restoring the state of the playlist QHeaderView. Fixes issue #413 2010-06-16 17:15:13 +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 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 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
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 f739ae5e00 (Vertical) center align playlist items again.
Update issue #379
Fixed the alignment.
2010-06-11 16:41:29 +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 782166db41 Invalidate the currently playing track cache when scrolling sideways. Fixes issue #377 2010-06-09 15:37:54 +00:00
David Sansome 40bb827fcd Make all the source files a single cmake target again. 2010-06-08 22:39:31 +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
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 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 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 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
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 1f8b0de49c Load playlist button works 2010-05-22 20:28:11 +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 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 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 4d57ccb41c Use icons from the desktop theme where possible, fall back on oxygen. 2010-05-19 15:45:29 +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
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 1aee5e4667 Split all the source files up into seven new directories. 2010-05-10 21:50:31 +00:00