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
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
David Sansome
260fe95a93
Fix an infinite loop when a radio stream finishes
2010-04-30 15:29:33 +00:00
David Sansome
0fb1a02df5
Show the more meaningful delegate's displayText in the playlist tooltips, rather than the naked Qt::ToolTipRole text.
...
Update issue 267
Status: Fixed
I've fixed the strange values for numeric fields and the length field - they
should now all show the same text as shown in the playlist.
I think it's going to be harder to inhibit the tooltip if all the text is
already displayed though.
2010-04-30 15:23:52 +00:00
David Sansome
148bd538f7
Merge 0.3 rc1 tag changes back into trunk
2010-04-30 11:13:37 +00:00
David Sansome
0c9e69ed30
Group "remove" undo commands in the playlist. Fixes issue #262
2010-04-29 23:58:31 +00:00
David Sansome
70565565c7
Don't reshuffle the playlist every time the user presses next
2010-04-29 23:30:24 +00:00
David Sansome
bd0b0ae0aa
Change the application version to 0.3 rc1
2010-04-29 20:25:44 +00:00
David Sansome
3a52920671
Remember to pass timer events back down to the baseclass. Fixes issue #258
2010-04-29 15:54:32 +00:00
David Sansome
299783d097
Use QBasicTimer for the playlist glow as well
2010-04-28 11:09:57 +00:00
David Sansome
29a623739b
Italian translation from Vincenzo Reale
2010-04-28 10:29:26 +00:00
David Sansome
d5a3c74043
Make analyzers use QBasicTimer instead of QTimer
2010-04-27 21:40:28 +00:00
John Maguire
f1ff15d2f7
Fix crash when using the services menu on mac.
2010-04-27 18:44:19 +00:00
David Sansome
9d72d85f09
Don't crash when asked to load a file that doesn't exist on Windows
2010-04-27 17:53:52 +00:00
David Sansome
48bd5020cd
Don't crash when editing a song that doesn't exist any more, also don't even add deleted songs to the playlist. Fixes issue #253 .
2010-04-27 17:37:26 +00:00
David Sansome
0579b18850
Accept empty fields in the edit tags dialog. Fixes issue #251 .
2010-04-27 17:19:07 +00:00
David Sansome
3f360d254f
Renumber tracks correctly starting from the top one even when the user selects them "backwards" (starting from the bottom).
2010-04-27 17:15:11 +00:00
David Sansome
30daf4aca2
Merge translations from launchpad
2010-04-27 13:51:25 +00:00
David Sansome
6d0b217e2a
Don't save the tags in a file if it hasn't been changed. Fixes issue #252
2010-04-27 13:46:44 +00:00
David Sansome
6a74ac4736
Be careful about infinite recursion when loading a stylesheet that changes the palette.
2010-04-26 13:13:24 +00:00
David Sansome
d6d01618c5
Only include the strings that are actually different in the british english "translation".
2010-04-26 12:00:15 +00:00
David Sansome
36af3ddbe4
After shuffling the playlist, make sure next works as expected. Fixes issue #248
2010-04-26 11:36:10 +00:00
David Sansome
a0386d68d3
Tweak the playlist drop indicator slightly, and always show it at the bottom of the playlist if dropping on empty playlist space
2010-04-24 12:18:42 +00:00
John Maguire
0b5bc960ed
Forgot to delete a line :-)
2010-04-23 13:33:04 +00:00
John Maguire
c446ef7dad
Remove extraneous NSAutoreleasePool, we create one in MacMain() now.
2010-04-23 13:32:27 +00:00
David Sansome
b0dbd12ce5
Notice when a directory is renamed within the collection while Clementine is running. Fixes issue #240
2010-04-23 13:29:11 +00:00
David Sansome
eecd66a7b5
Changed the playlist drop indicator to make it easier to see. Fixes issue #241
2010-04-23 13:10:03 +00:00
David Sansome
a56107c598
Fix UTF8 characters in metadata received from gstreamer. Affects issue #229
2010-04-22 20:48:35 +00:00
David Sansome
4326c54bf2
Fix the currently playing track background colour on windows. Fixes issue #239
2010-04-22 20:33:05 +00:00
David Sansome
906f3526cf
Fix a crash bug when you seek all the way to the end of the last track
2010-04-22 17:02:06 +00:00
David Sansome
99743d49aa
Nasty hack to hopefully prevent "seek failed" errors - just don't allow two seeks to happen within 100ms of each other.
2010-04-22 16:54:09 +00:00
David Sansome
f70f911dd6
Clean up cmake status output a bit
2010-04-22 16:53:41 +00:00
David Sansome
1d6d2e74b8
On KDE, stop the OSD from appearing in the middle of the screen, and under other windows.
2010-04-22 15:26:33 +00:00