Commit Graph

405 Commits

Author SHA1 Message Date
David Sansome f801252e3d Refactor Player and PlaylistManagers to have interfaces and add more MPRIS1 tests 2011-02-13 18:37:45 +00:00
David Sansome 12da941885 Add a really basic unit test for MPRIS1 2011-02-13 18:37:21 +00:00
David Sansome e18409ebf4 Factor out a PlayerInterface from Player, and use it in MPRIS1 and MPRIS2 2011-02-13 18:36:29 +00:00
David Sansome 507c5e2632 Change the fields in Song from seconds to nanoseconds 2011-02-13 18:34:30 +00:00
David Sansome 37618dae96 Use nanoseconds instead of seconds or milliseconds throughout the Player and Engine. 2011-02-13 18:29:27 +00:00
Paweł Bara 60ac6768b8 Fresh new 'open in new playlist' action (Updates issue #1431). 2011-02-09 17:51:59 +00:00
Paweł Bara e08c6cc6a5 just a prettier expression 2011-02-05 13:45:40 +00:00
Paweł Bara 9a9d8ad177 don't let invalid CUE related media files into library (invalid == those which were not recognized by TagLib)
better logging of erroneous DB queries (error + query + bound values instead of just error)
2011-02-05 13:43:04 +00:00
John Maguire 4fb6f92ad4 Fix compile warning on mac. 2011-02-04 15:25:05 +00:00
John Maguire 084b9a2fe3 Remove taglib prefix from includes as the taglib include path contains it already. 2011-02-04 12:36:56 +00:00
Paweł Bara ed4b7abde0 changed my mind - reverting my playlist changes to previous status quo (just making the PlaylistParser's contract more explicit)
this doesn't mean the previous revision was pointless - it still fixed one CUE related bug which I forgot to mention...
2011-02-03 22:21:15 +00:00
Paweł Bara 7bdac8fba6 when loading playlist, take only it's valid songs (+ force validity of CUE and PLS related songs) 2011-02-03 17:47:32 +00:00
Paweł Bara 77151d7ebd Hiding some of Song's cover art logic complexity in Song's API (namely: embedded and manually unset covers). 2011-02-02 21:01:08 +00:00
John Maguire 9786570f35 Add support for saving album covers/kittens.
Fixes issue #1395
2011-01-31 20:53:38 +00:00
Paweł Bara 2959dbff85 'show duplicates only' view for library where you can see which songs in your library are duplicated and delete unnecessary duplicates (fixes issue #1328) 2011-01-30 21:00:49 +00:00
Arnaud Bienner 6c42240b02 Minor correction in tagfetcher. Thanks David 2011-01-29 15:32:55 +00:00
Arnaud Bienner e9f19f2cdb Correct regression introduced in r2705. Partially fixes issue 1390 2011-01-29 15:18:14 +00:00
David Sansome bcc35ec29c Add a test for stuff in the module's global dict 2011-01-28 21:43:10 +00:00
John Maguire ba0c7bab65 Change "kittens" feature to fetch the kittens tag instead of cat tag for fluffier kittens. 2011-01-27 16:54:03 +00:00
John Maguire 703a3b43d6 Mac build fixes for musicbrainz integration. 2011-01-27 14:48:58 +00:00
David Sansome f929a88473 Fix mpris 2011-01-24 21:25:09 +00:00
David Sansome 0beb12fc14 Add some options to control what happens when you double click or use the menu to add tracks to the playlist 2011-01-24 21:16:26 +00:00
David Sansome 5e9edd52fe Hold the taglib mutex while loading embedded cover art from files. Fixes issue #1350 2011-01-24 20:06:59 +00:00
Arnaud Bienner 03df8195b0 Minors modification on TagFetcher. Fixes issue #1346 2011-01-24 17:03:36 +00:00
David Sansome 4291d21eab Load embedded cover art from ogg files. Thanks markwatkinson. Fixes issue #1232 2011-01-23 15:50:59 +00:00
David Sansome 795a4df422 Fix compilation on mac and windows 2011-01-22 14:13:56 +00:00
David Sansome 2ecf61a57e Move everything DBus related back to the main thread and use synchronous method calls everywhere 2011-01-22 12:47:19 +00:00
Arnaud Bienner 729e8e729d Adding track selection dialog for tag fetcher results. Also corrected tagfetcher to prevent from infinite loop when no result is found 2011-01-20 23:42:28 +00:00
Paweł Bara 1c1d9551bb fixes issue #553 ('seek forward' and 'seek backward' hotkeys worked wrong) 2011-01-19 16:05:16 +00:00
Paweł Bara a575dac451 restoring CUE related files in playlist after Clementine's restart (fixes issue #68) 2011-01-19 15:36:40 +00:00
David Sansome 3f9dec3808 Add an "Install script from file..." button 2011-01-18 23:10:22 +00:00
Arnaud Bienner abb93cd020 Minor modification to tag fetcher (including adding mutex to prevent crashes) and changing cursor during tag fetching 2011-01-17 22:58:16 +00:00
Paweł Bara a883630ab3 duplicate remover script (fixes #21)
fix a scripting crash when one native object was registered more than once
veto mechanism for inserting songs into playlist
2011-01-16 23:46:58 +00:00
Arnaud Bienner 55f212a713 Oops.. 2011-01-15 20:35:12 +00:00
Arnaud Bienner d53e74a91f Start auto tagging support (using MusicBrainz) 2011-01-15 20:00:39 +00:00
Paweł Bara ddd3f119d3 CUE songs are now properly updated in library - you can delete a CUE sheet, add it, you can change section markers in it etc. and everything should work as expected
Song now knows it's cue path (if any)
2011-01-15 18:46:23 +00:00
John Maguire 9249952b03 Only guess tag encoding for id3v1/2 tags. 2011-01-12 18:46:23 +00:00
Paweł Bara 4f7e804638 library: watcher now updates CUE associated songs + ignores the not-CUE-associated songs in a CUE sheet
CueParser: properly update length for the last song from every FILE in multifile CUE sheet
new 'playlist_path' argument in the 'Load' part of PlaylistParser's API
2011-01-11 23:09:59 +00:00
David Sansome 135b32642e Refactor all the code that handles adding items to the playlist - whether it be by a context menu item, double clicking in a view or dragging. Everything now uses the models' mimeData() instead of duplicating the same code everywhere. 2011-01-10 22:26:13 +00:00
David Sansome d922a75327 Add some more tracing to MPRIS registration on startup 2011-01-09 23:14:44 +00:00
David Sansome 380fa71e86 Do gnome global shortcut registration in a background thread 2011-01-09 23:11:51 +00:00
David Sansome b3c211e26a Move MPRIS setup to a background thread 2011-01-08 15:31:14 +00:00
Paweł Bara 9f95909848 exterminating a deceiving parameter name 2011-01-06 21:53:50 +00:00
Paweł Bara 55683887c0 implemented Seeked signal for MPRIS 2 2011-01-06 21:08:11 +00:00
Paweł Bara 3372340f6b fixes the DesktopEntry() property of MPRIS 2 2011-01-06 19:29:54 +00:00
Paweł Bara bb79a68be0 some minor .cue related changes 2011-01-04 17:12:29 +00:00
John Maguire 3f923d2cb1 Add default parameters to MPRIS constructors. 2011-01-04 11:53:37 +00:00
John Maguire bde7902686 Refactor some initial setup out of MainWindow::MainWindow(). 2011-01-04 11:33:22 +00:00
Paweł Bara 59378166b4 finalized the support for loading .cue based media using 'files' tab or drag and drop from the system's file browser
use FILE's PERFORMER as albumartist
2011-01-03 23:36:10 +00:00
Paweł Bara bbe97b00a2 make engine 'multiple-section songs' aware -> you should now be able to play your .cue related music 2011-01-02 18:53:45 +00:00
David Sansome 5b1000834f Add some basic script loading support and add python bindings for the Player class 2010-12-31 18:13:28 +00:00
David Sansome b578c61b36 Fix loading songs with non-ascii characters in the filename on Windows. Fixes issue #1207. Fixes issue #531. Fixes issue #813. 2010-12-30 17:13:11 +00:00
David Sansome a9a8b849ca Add some safeguards to the merged proxy model against dereferencing child models that have been deleted 2010-12-28 23:21:56 +00:00
David Sansome d1d0236385 Make the "show full size" menu item in the now playing widget and edit tag dialog work with embedded covers 2010-12-28 22:20:54 +00:00
Paweł Bara da5f941333 consider .cues when scanning the library
persist the new 'beginning' marker of songs
fixed a bug where %allsongstables script would not update the attached databases
2010-12-28 15:36:01 +00:00
David Sansome 97d7fe764a Download higher resolution images from last.fm. Thanks markwatkinson. Fixes issue #1187 2010-12-26 20:19:12 +00:00
David Sansome 35242f740e Fix dbus 2010-12-26 17:24:44 +00:00
David Sansome dc31a0be7e Make it possible to disable all lyric providers. 2010-12-26 15:06:11 +00:00
David Sansome fd00924f26 Fix parsing non-ascii filenames passed on the commandline (or through a file browser). Fixes issue #773. Fixes issue #752. 2010-12-26 14:54:46 +00:00
David Sansome e3a9bd7b26 Make DBUS bits optional on Linux. Thanks Nickollai. Fixes issue #1177 2010-12-26 13:38:35 +00:00
David Sansome 6737b8a5c2 Always use the gstreamer engine, remove xine, vlc and phonon engines. 2010-12-26 13:01:35 +00:00
David Sansome b5942aa7d6 Fix network access on linux without a proxy 2010-12-26 12:03:10 +00:00
David Sansome ae9ada254c Maybe fix build error 2010-12-25 17:41:18 +00:00
David Sansome 9b22f2ce40 Proxy support. Fixes issue #38 2010-12-25 17:25:29 +00:00
David Sansome 843cd92615 Increment play counts even if the song is shorter than 30 seconds. Fixes issue #1172 2010-12-25 13:37:45 +00:00
Paweł Bara d7fe4600b8 an initial version of .cue sheets parser
initial support for multipart media files in Song ('beginning' and 'end' fields)
2010-12-23 21:13:43 +00:00
Arnaud Bienner ccd26b4002 Removing trackSkipped when stopping: even if Amarok wasn't acting like this, in my opinion, a 'stopped' track should not be considered as 'skipped' 2010-12-21 00:38:07 +00:00
David Sansome 2d8028d89a Use a smaller cover in the tray icon tooltip again. Fixes issue #1135 2010-12-19 15:04:22 +00:00
David Sansome a6445f2fe7 Don't strip off file extensions in the OSD. Fixes issue #1066 2010-12-18 20:40:35 +00:00
David Sansome c133a8db7c Don't scale album art when saving it to /tmp. Fixes issue #1096 2010-12-18 19:42:06 +00:00
David Sansome f1f0a384a5 Sort songs loaded from directories by filename if there are no other tags present. Fixes issue #1104 2010-12-18 18:47:44 +00:00
David Sansome 28fdb147d8 Make last.fm optional. Thanks volkov0aa. Fixes issue #49 2010-12-18 17:28:02 +00:00
David Sansome 623ab527ee Maybe fix a crash when loading tags from MP3 files with encrypted frames 2010-12-18 17:01:25 +00:00
David Sansome 6ec77eadf6 Fix a display bug in the Last played column for songs that haven't been played in the last week. Thanks gmail@robbertkrebbers.nl. Fixes issue #1081 2010-12-18 16:50:00 +00:00
Paweł Bara 5893c27d2b missing include failing on windows 2010-12-17 17:05:55 +00:00
Paweł Bara 32f9825794 global shortcuts for rating songs (Fixes issue #1089)
renaming *index* methods in Playlist to *row*
2010-12-17 00:21:20 +00:00
Paweł Bara 4563c2dbd9 you can now use "file path" attribute when creating dynamic playlists (Fixes issue #1073)
some more MPRIS 2 corrections (Updates issue #1058)
2010-12-15 15:50:22 +00:00
John Maguire f95d893945 Add support for building without Sparkle on mac. 2010-12-14 18:20:14 +00:00
John Maguire 21415ff230 Fix some mac ui and metadata bugs. 2010-12-14 15:00:46 +00:00
Paweł Bara 5082d81ba4 some corrections to MPRIS 2 (Updates issue #1058) 2010-12-12 23:20:41 +00:00
John Maguire f28d67966a Fix flickr url for kittens. 2010-12-11 14:31:03 +00:00
David Sansome 01cccc0468 Cache the last emitted state from the engine to fix some invalid values being emitted over DBUS while a last.fm stream is buffering. Fixes issue #374 2010-12-11 13:38:51 +00:00
David Sansome 67452baa4d Fix a crash when requesting an invalid playlist index over MPRIS. Fixes issue #1041 2010-12-11 10:58:15 +00:00
David Sansome 08b2bcc816 Always write URLs in XML based playlists, instead of URLs of relative paths. Also load playlist items from the library if possible. Fixes issue #1054 2010-12-11 10:35:07 +00:00
David Sansome 7650c1eddc Remove "-session" from the commandline to fix session management on KDE. Fixes issue #769 2010-12-11 10:04:17 +00:00
John Maguire 5f6dcbe4b7 Early Caturday! 2010-12-10 14:26:29 +00:00
Arnaud Bienner 6b35eea469 Moving emitTrackSkipped from Next to PlayAt, to handle cases where user doesn't use Next button to skip a track. Also emit TrackSkipped in Stop if track was not ended 2010-12-10 00:11:38 +00:00
John Maguire 81f43ac4f5 Unbreak the build. 2010-12-09 14:19:09 +00:00
John Maguire 4c66007e26 Code review comments from r2370. 2010-12-09 13:06:00 +00:00
John Maguire 3a19bb9d46 Fix config file location on Mac and automatically migrate. 2010-12-09 12:34:08 +00:00
Paweł Bara 04bbf73cff MPRIS' TracklistChanged event now contains the length of the playlist that has actually changed (Update issue #374)
the PlaylistChanged event now shows which playlist has changed
2010-12-08 00:09:17 +00:00
Paweł Bara 6bf3162449 some MPRIS 1 bugfixes (Updates issue #374)
also:
- PlaylistSequence: RepeatMode and ShuffleMode are changed before change event is emitted
- PlaylistManager: emits an event after it has been initialized (which, for example, indicates that it's PlaylistSequence is now in place)
2010-12-07 21:14:40 +00:00
David Sansome 44dc05a87a Don't stop the track when it's about to end if crossfading is enabled but fadeout is disabled. Fixes issue #1040 2010-12-07 20:29:13 +00:00
David Sansome bbf0cd48c2 Insert songs as library playlist items if they're in the library. Fixes issue #1039 2010-12-07 19:33:19 +00:00
David Sansome 8aa7973312 Always create the schema in external databases if it doesn't exist yet. Fixes issue #1034 2010-12-07 19:07:12 +00:00
David Sansome 6a27020ccd Make the volume down shortcut decrease the volume instead of increasing it... Fixes issue #1033 2010-12-07 18:52:21 +00:00
John Maguire d17703d39a Add function for getting the correct config directory on mac. 2010-12-06 17:06:02 +00:00
Paweł Bara 9f3e5773fb QT tooltip now includes cover art and is generally prettier (updates issue #125)
ArtLoader is now available to every object, even if MPRIS is off
2010-12-05 23:41:41 +00:00
David Sansome cef02b4f61 Fix database test 2010-12-05 12:53:12 +00:00
David Sansome fc15d66321 Remove a lot of the old MPRIS code from the Player class, and fix a couple of MPRIS2 bugs 2010-12-05 11:39:06 +00:00