Commit Graph

1030 Commits

Author SHA1 Message Date
Arnaud Bienner c6068b16c9 Handle leading spaces when splitting schema update queries.
Otherwise the commands aren't splitted correctly, so the queries aren't run correctly, and the root cause might not be obvious.
2013-05-13 23:04:24 +02:00
Arnaud Bienner 5e6821dead Add a 'favorite' widget to playlist tab, and keep in playlistlist container only favorite playlists, instead of all playlists. 2013-05-11 23:18:03 +02:00
David Sansome fe964b9457 Never start playing a background stream on startup, even if it was enabled last time. 2013-05-04 19:26:24 +10:00
graehl 6fa77b8749 RevealFileInFinder for mac "show file in browser"
on mac, use QProcess to call "/usr/bin/open -R file", which highlights the file
when you context-menu click "show file in browser", instead of merely opening
the directory

Fixes issue #3634
2013-04-25 15:23:43 -07:00
David Sansome bb0f7412be Include any user-agent supplied by client libraries. Fixes issue 3612 2013-04-15 21:41:54 +10:00
pie.or.paj 18e8d6ca20 - Added basic playlist management (add and remove tracks) in network remote. 2013-04-13 11:57:05 +02:00
David Sansome 264d5ee0fa Add Radio GFM 2013-04-13 14:28:42 +10:00
Arnaud Bienner 88918d45c5 Update issue 1175:
Save rating and statistics in two distinct ways, and let users activate them separately in preferences.
2013-03-30 23:42:29 +01:00
Arnaud Bienner db5fbe2059 Update issue 1175:
Add an option in preferences to save all ratings/statistics into files, for all songs
2013-03-26 23:56:46 +01:00
David Sansome dc208962f6 Don't update device_ tables with %allsongstables_fts. 2013-03-15 20:25:38 +11:00
David Sansome d89954ae31 Fix style, hide the new columns by default, and move the new columns to the end of the enum 2013-03-10 18:16:14 +11:00
Uwe Klotz a6d3b48231 Extend tag support: performer, grouping
The transaction handling while upgrading the database schema had to be revised.
Furthermore some QSqlQuery statements needed to be finished properly.

Fixes issue 2556
2013-03-10 18:16:03 +11:00
Mateusz Kowalczyk 7f2c17a0b7 Add track rating/score to OSD.
Fixes issue #2586
2013-02-26 16:33:05 +01:00
Arnaud Bienner b5b371ef6f Use Qt's foreach instead of C++11 foreach, as it doesn't work with older versions of gcc 2013-02-24 19:16:52 +01:00
Arnaud Bienner 08d40f5fca Handle statistics tags apart, and write them to file when they change.
Next step: add a preference to activate this (should be deactivated by default IMO).
2013-02-24 17:45:25 +01:00
David Sansome 115964d1b4 Load local tags asynchronously in SongLoader. 2013-02-17 18:19:05 +11:00
David Sansome 4acafb4930 Remove some old code 2013-02-17 18:10:08 +11:00
Mateusz Kowalczyk 6904b06cf8 Add --increase-volume-by and --decrease-volume-by commandline options. Fixes issue 3496 2013-02-17 15:13:39 +11:00
John Maguire d21fa8cc67 Add support for Box. 2013-02-12 17:11:18 +01:00
Joel Bradshaw bb7a1e65f4 Adding spot for a unique album ID and implementing on Spotify
To resolve albums with duplicate tracks

Fixes issue 3429
2013-02-07 21:39:10 +01:00
Andreas 3cb7a76656 Add Engine::TrackChangeFlags as MetaType, so the connect workings. 2013-02-07 19:27:54 +01:00
Andreas f779e14df7 Fix connects for Repeat and Shuffle. They were never reached. 2013-02-03 21:09:48 +01:00
John Maguire 90803fa0e0 Remove use of deprecated gstreamer functions. 2013-01-29 13:19:26 +01:00
Martin Brodbeck d5139ac2b2 Add opus support to transcoder.
Fixes issue #3453
2013-01-28 14:09:31 +01:00
Martin Brodbeck d05041dfa1 Add support for Opus tags. 2013-01-26 11:18:24 +00:00
John Maguire fe2fb788d3 Merge branch 'subsonic'
Conflicts:
	data/data.qrc
2013-01-24 17:02:08 +01:00
Andreas 78ad2fb517 Fixed an issue where clementine could crash: A client connects before the playlist manager is
initialized. This caused a null pointer exception. Now the server is started after the
playlist manager was initialized.
2013-01-22 22:58:32 +01:00
Alan Briolat 349231793f Hacky basics of starting to load Subsonic library 2013-01-10 22:08:52 +00:00
John Maguire b7b7e97455 Merge branch 'master' of https://code.google.com/r/asfa194-clementineremote into remote 2013-01-08 13:05:54 +01:00
David Sansome 41f89904b6 Compare against the translated message text to determine whether a typefind failed. Fixes radio playlists in non-english languages. Fixes issue 3394 2013-01-04 21:16:26 +11:00
TTSDA efd42349e7 Add year and bitrate fields to mpris2 metadata 2013-01-02 07:54:50 +11:00
Andreas f10292eb95 Added remote control for clementine 2012-12-31 23:37:39 +01:00
David Sansome e3c8caa613 Preserve user stats like play/skip counts when reloading song metadata when opening the edit tag dialog. Fixes issue 3359. 2012-12-26 00:50:32 +11:00
David Sansome 9e9b7f7fa6 Don't ever replace taglib metadata on file:// Songs. init_from_file_ gets lost after a restart so just assume all local files are good. 2012-12-26 00:26:48 +11:00
David Sansome 24219b93cc Add some more debug output when applying database schema updates 2012-12-25 17:37:27 +11:00
John Maguire 919e9215c4 Support indexing files from Skydrive. 2012-12-13 14:27:21 +01:00
John Maguire 941aaca87c Refactor cloud tagging into base class. 2012-12-06 14:23:27 +01:00
John Maguire 7058d238fb Be more aggressive about tagging by having as many tag clients as cores. 2012-11-30 16:43:44 +01:00
John Maguire ea8655af83 Add Dropbox service and settings page. 2012-11-29 20:48:34 +01:00
John Maguire 6c5e831a7d Remove tag encoding detection as we don't really use it anymore. 2012-11-29 13:41:20 +01:00
John Maguire 9c7a3ab105 Rename google drive tagging methods to more appropriate generic names. 2012-11-28 16:34:10 +01:00
John Maguire db586ca00e Read tags from Ubuntu One files and add to local database. 2012-11-28 14:43:03 +01:00
John Maguire 24ac9adbe5 Beginnings of playback from Ubuntu One file store. 2012-11-27 18:35:06 +01:00
Arnaud Bienner af8e8c753e Use a better data structure to track uniques songs when removing duplicate. 2012-11-22 02:06:29 +01:00
Arnaud Bienner cf22a91c6a Merge git://github.com/szemek/clementine 2012-11-22 00:37:51 +01:00
John Maguire fddce90624 Use boost::bind & boost::function instead of std equivalents for better compatibility. 2012-11-21 17:17:37 +01:00
John Maguire 1fd0515168 Make variadic version of ConcurrentRun::Run() 2012-11-21 16:39:10 +01:00
Przemysław Dąbek 92637cb7d1 improved removing duplicated songs 2012-11-21 16:06:19 +01:00
John Maguire 543a6bf2fa Remove use of linked SAC shim and depend on DLL version (which doesn't exist yet) 2012-11-13 17:04:54 +01:00
Mateusz Kowalczyk 2bf8172590 Use the actual artist name's initial if 'Ignore "The" in artist name' option is used when organizing files.
Fixes issue 3201.
2012-11-10 17:55:33 +01:00
John Maguire 0822482b4d Respect XDG_CACHE_HOME for network & moodbar cache.
Fixes issue #3264
2012-11-06 15:38:40 +01:00
Veniamin Gvozdikov 95dc49ac77 Fix IsLaptop() check on FreeBSD.
Fixes issue #3244
2012-10-31 13:30:23 +01:00
David Sansome 9fae3881ed Add a new "Playlists" tab to the sidebar that contains all the playlists created by or imported into Clementine. The tab bar now contains only "open" playlists - closing a tab closes the playlist without deleting it.
Update issue 1811
Added a Playlists tree view to the sidebar.
2012-10-30 23:04:22 -07:00
John Maguire 6cadc9321d Remove legacy config file migration code for mac. 2012-10-29 12:47:59 +00:00
John Maguire 1abd9c3821 Fix the types of some MPRIS metadata fields. 2012-10-15 11:40:18 +02:00
John Maguire 20196edcac Ooops. 2012-10-11 16:18:14 +02:00
John Maguire d674d9ecf7 Implement MediaPlayer2.Playlists from MPRIS2.
Fixes issue #3194
2012-10-11 15:38:51 +02:00
John Maguire 4de0b93305 Add Fullscreen/CanSetFullscreen properties for MPRIS 2.2 2012-10-11 13:45:42 +02:00
John Maguire a56947e356 Add support for new musicbrainz cover art archive.
See: http://blog.musicbrainz.org/?p=1616
2012-10-10 14:45:13 +02:00
John Maguire a1361dfa7e Enable fullscreen support for OS X 10.7+
Fixes issue #2329
2012-10-09 14:56:17 +02:00
John Maguire 606bf71208 Disable automatic conversions to QUrl from strings. 2012-09-26 17:09:13 +02:00
John Maguire 6dbd0baafc Remove conditional code for Leopard. 2012-09-26 12:38:32 +02:00
Arnaud Bienner f51ac3f970 Actually check if a file exists to know if it's local or not (therefore set the scheme to "file" therefore interpret it correctly in SongLoader)
URLs with ":" were sometimes wrongly interpreted as remote URLs. But some local files may have ":", and moreover on Windows all files have ":" because of the drive letter scheme.
2012-09-17 20:47:57 +02:00
John Maguire 340e6dabce Use notification center on OS X when available. 2012-09-13 16:15:28 +02:00
David Sansome 5940b0ead1 Make SongKick results a bit prettier 2012-08-27 12:25:33 +01:00
Anand 1aec4a4c7f When pressing the Previous button in Repeat Track mode, go to the previous track instead of repeating the current one. Fixes issue 2897 2012-08-26 13:11:28 +01:00
David Sansome edb57e1b92 Add a constructor to DBusStatus to fix a build failure in release mode. 2012-08-20 10:28:29 +01:00
David Sansome 6fca8b1c3d Fix some possible crashes when requesting MPRIS data during Clementine's startup 2012-08-17 14:41:57 +01:00
John Maguire c5b74c832e Add tasks for indexing Google Drive songs. 2012-08-06 14:00:54 +02:00
John Maguire e06ae8a282 Support reading OGG & FLAC files from Google Drive. 2012-07-31 15:18:14 +02:00
David Sansome 9653a45f66 Read Google Drive metadata in the tagreader worker process 2012-07-28 19:35:12 +01:00
John Maguire f48383c73e Index Google Drive MP3s and write to local database. 2012-07-27 16:04:12 +02:00
Arnaud Bienner 0e3dc5a8be Add new ConcurrentRun templates for void functions, and functions with 3 arguments + corresponding test cases.
+ SongLoader now has its own QThreadPool to load folders/playlist in background.
Update issue 2598
This should fix slowliness problems reported.
2012-07-16 00:06:55 +02:00
David Sansome 73792668eb Check for the length of a track being <= 0 instead of == 0 when seeking. 2012-07-15 12:17:44 +01:00
Arnaud Bienner 7f89e8832e When loading songs aync, always load the first song of our list, as it may be played immediately once added to the playlist
Fixes issue 2598
2012-07-14 00:53:42 +02:00
David Sansome 497928d693 Don't try seeking a song if there's no song playing, or the song isn't seekable.
Fixes issue 3041
2012-07-10 15:00:47 +01:00
David Sansome abe8d10b9c Add a compatibility header so liblastfm and liblastfm1 can both be used with the same source. 2012-06-28 18:40:20 +01:00
Harald Sitter 769baa5c16 Use liblastfm1 2012-06-28 18:40:20 +01:00
Arnaud Bienner b49c3db6e0 Sort retrieved GS songs only in some cases.
Indeed, even it makes sense sometimes (e.g. for playlists) it doesn't make sense at all for search results...
Make the sorting function part of Song.
2012-06-27 01:55:51 +02:00
John Maguire 74fe419659 Factor out metatype registration. 2012-06-20 15:07:28 +02:00
David Sansome 413f3b5186 Scale the missing cover image in the Edit Tag dialog, and don't overwrite the art_automatic field when reloading metadata. 2012-06-17 16:55:19 +01:00
David Sansome 21fbd40f9f Don't try to initialise the library model until after the grouping settings have been read from the config. Fixes issue 3005 2012-06-16 20:54:08 +01:00
David Sansome 404deff537 In RedirectFollower, don't emit readyRead() from replies that contain a redirect header. Fixes issue 3000 2012-06-14 13:50:49 +01:00
John Maguire b237d436d1 Remove obsolete code for unicode sqlite LIKE. 2012-06-11 12:05:31 +02:00
Robbert Krebbers 3b186c698d Allow playlist sorting and shuffling to be undone. Fixes issue 654.
Also:
  - When sorting a dynamic playlist, only songs after the currently playing track are sorted.
  - When moving songs in a dynamic playlist, recolor them if moved across the current track.
  - When playing a future song in a dynamic playlist, move it to the current location.  Fixes issue 1140
2012-06-09 14:33:51 +01:00
David Sansome 69980c80da Use g_signal_parse_name instead of g_signal_lookup in CheckedGConnect to support connections that look like "signal-name::detail". Also use qFatal() instead of Q_ASSERT(0). 2012-06-09 14:23:21 +01:00
John Maguire cbc650f44b Use CHECKED_GCONNECT instead of g_signal_connect everywhere. 2012-06-08 15:34:00 +02:00
John Maguire 80ab12aeff More concise checking of callback param counts. 2012-06-08 15:13:23 +02:00
John Maguire ae4898655d Add support to gsignal checker for more parameters. 2012-06-08 14:30:31 +02:00
John Maguire 2da6c40fb5 Add runtime checker for gsignal callback arguments. 2012-06-08 14:27:38 +02:00
David Sansome abdc6d8844 Add moodbar settings to the settings dialog 2012-05-27 23:56:40 +01:00
David Sansome b03563f317 Make it possible to compile out moodbar support 2012-05-27 21:33:05 +01:00
David Sansome 51229b88c5 Create or load moodbar data for songs 2012-05-25 17:18:07 +01:00
Arnaud Bienner 4caa3fc17e Mutex-lock DB to avoid concurrent access while doing backup DB, as it will be actually locked the DB, and what make Clementine stop if we try to modify it (e.g. add a new playlist) 2012-05-20 21:54:17 +02:00
Kacper "mattrick" Banasik f606ae9ba8 Add an option to prefer AlbumArtist tag over Artist when scrobbling to Last.fm. Fixes issue 2901 2012-05-13 16:05:17 +01:00
Arash Abedinzadeh 36903ee17f Fix missing boundary check for PlayTrack DBus method.
Fixes issue #2914
2012-05-07 12:26:13 +02:00
John Maguire 133c2e1640 Postpone the database check & backup to a little while after startup. 2012-04-13 15:49:56 +02:00
John Maguire e9ace3a2cb Support loading a spotify URL from the command line. 2012-03-22 16:55:05 -07:00
john.maguire cd193b0d7f Fix typo in cast. 2012-03-17 15:11:21 +00:00
John Maguire 2078eff8f3 Fix misleading error message. 2012-03-16 15:47:25 +01:00
John Maguire 9ed8ab63aa Run a database backup on startup after the integrity check.
Update issue #2743
Database backup now run on startup, still needs a way to restore.
2012-03-16 14:52:03 +01:00
Marti Raudsepp 9cf279f5a3 Run database integrity check on startup
Update issue #2743
Integrity check now run on startup
2012-03-15 16:01:57 +01:00
John Maguire ab0ae4414b Alphabetically sort SomaFM streams.
Fixes issue #2807
2012-03-15 15:42:22 +01:00
David Sansome 204f7acbfa Merge branch 'podcasts'. Fixes issue 44 2012-03-12 19:40:31 +00:00
David Sansome 5327b72f0b Implement the "Delete after x days" feature for listened podcasts. 2012-03-12 19:35:47 +00:00
John Maguire 63ee8b2e55 Update a couple of old debug statements. 2012-03-12 17:25:05 +01:00
John Maguire c91024ad33 Add support for NSObject to QDebug. 2012-03-12 17:25:04 +01:00
John Maguire 8e89838621 Support loading multiple files or a folder from dropping on the Mac dock icon.
Fixes issue #2787
2012-03-12 17:24:53 +01:00
David Sansome 09dfd31630 Add a qHash(QUrl) overload for Qt < 4.7 2012-03-12 14:10:16 +00:00
David Sansome 2750877a72 Support iTunes and Zune podcast URL schemes through SongLoader 2012-03-11 18:14:53 +00:00
David Sansome f16fc8867e Allow podcasts to be added through the normal SongLoader mechanism (dragging to the playlist, on the commandline, "Add Stream", etc.) 2012-03-11 17:57:15 +00:00
David Sansome c27b8a5e95 Fix some broken behaviour in SongLoader when loading a playlist that was bigger than one GstBuffer. The pipeline would be stopped early because it was still asynchronously moving to the PLAYING state. 2012-03-11 17:20:12 +00:00
David Sansome d538b71809 Add buttons and menu items to open the Podcast settings page. Also route these requests through Application rather than InternetModel 2012-03-10 22:39:24 +00:00
David Sansome 792a2e239d Better (some) UI feedback of downloading podcasts. Also fix a bug parsing the timestamps you see in some RSS feeds 2012-03-10 21:06:16 +00:00
David Sansome b0dd1bd284 Add a podcast downloader 2012-03-10 15:32:36 +00:00
David Sansome 1fc8b85ff6 Fix compilation on Windows 2012-03-09 18:40:51 +00:00
John Maguire 62ea8bd4eb Detect battery presence on Mac. 2012-03-09 17:29:55 +01:00
David Sansome 1abf059d16 Add a Podcasts settings page and the start of some gpodder.net syncing 2012-03-09 15:26:38 +00:00
David Sansome b9e08bbfe6 Update podcasts on a schedule and on demand. Update them immediately after subscribing, and make episodes appear in the tree. 2012-03-09 15:26:15 +00:00
David Sansome f2885c0319 Return more useful aggregate information from the PodcastBackend, show something in the Internet service 2012-03-06 18:40:17 +00:00
David Sansome c91acdb3f1 Add an Add Podcast dialog 2012-03-06 18:39:34 +00:00
David Sansome 90bbed1ec9 Add podcast parsing and database classes 2012-03-06 18:39:23 +00:00
John Maguire 5ddf9bcf41 Postpone FSEvent stream updates to avoid churn when adding large numbers of directories. 2012-03-06 12:53:20 +01:00
David Sansome b53578c490 Don't reset a song's rating back to 0 if it was edited in the EditTagDialog 2012-03-04 13:36:22 +00:00
David Sansome ab5ccf69da Refactoring: remove BackgroundThread 2012-02-26 15:05:46 +00:00
David Sansome bacef04405 Refactoring: remove a couple of the AlbumCoverLoader instances and instead use a shared CurrentArtLoader. 2012-02-26 14:40:51 +00:00
David Sansome 48f15c9fc7 Refactoring: instead of passing individual pointers to useful core classes (like TaskManager or LibraryBackend) to each class that uses them, pass one singleton-like Application instance everywhere. 2012-02-26 14:40:51 +00:00
John Maguire 47e437383e Remove unnecessary includes. 2012-02-02 14:08:14 +01:00
John Maguire 3e65d3d5f0 Add ScopedNSAutoreleasePool from Chromium. 2012-01-31 13:54:03 +01:00
David Sansome facb366017 Remove subdirectory watches after a directory is removed from the library. Otherwise subdirectories that changed after the directory was removed would be re-scanned and re-added. 2012-01-29 17:39:28 +00:00
David Sansome 0335d57a0f Improve pipeline buffering: on an underrun event playback will now pause until the buffer is completely full. Fixes audio stuttering on when listening to radio streams on slow networks. 2012-01-23 15:01:39 +00:00
David Sansome 58c0f464cd Queue messages in WorkerPool instead of in each individual handler, so the entire queue isn't lost if a worker crashes. 2012-01-22 18:53:17 +00:00
Руслан Ижбулатов 5c45e22e28 Make SAC and WMDM optional 2012-01-22 14:35:22 +00:00
John Maguire 17c8189dcf Add and use scoped_cftyperef from Chromium. 2012-01-20 15:46:33 -08:00
John Maguire 87b94de0d7 Save background stream state as soon as it is changed. 2012-01-20 15:24:43 -08:00
John Maguire e83616ad09 Fix build on Clang. 2012-01-19 15:33:16 -08:00
Alan Briolat 66cc5d432e Add pretty printer for Qt enums. 2012-01-19 14:20:26 -08:00
Arnaud Bienner da35fab076 Save default QApplication palette when starting Clementine
Update issue 2603
Hopefully, this will fix this issue for other systems this time...
2012-01-14 16:27:49 +01:00
Arnaud Bienner 97d8365c56 Also refresh stylesheet when chanfing application's QPalette 2012-01-14 16:27:36 +01:00
Arnaud Bienner 22d1608bdc Explicitly use a default QPalette
Update issue 2603
Hopefully, this fixes this issue
2012-01-12 23:01:05 +01:00
John Maguire dfdb71b164 Make it so!
Fixes issue #2527
2012-01-10 17:00:17 +01:00
Arnaud Bienner b08567b697 Merge commit '710536ad506d' into appearance 2012-01-09 20:24:26 +01:00
Arnaud Bienner c2d794c014 Merge branch 'master' into appearance 2012-01-09 20:15:10 +01:00
Arnaud Bienner ea063e1c39 Add missing modifications 2012-01-09 20:08:09 +01:00
Arnaud Bienner 710536ad50 Start working on UI customization. Allow user to change global background/foreground colors. Some work still required to update all components' colors
Update issue 219
Started!
2012-01-09 00:01:01 +01:00
David Sansome 68a379ef26 Use pb::spotify instead of spotify_pb for the protobuf namespace 2012-01-07 23:26:27 +00:00
David Sansome ccb3a0aa3a Show a detailed error when the tagreader executable couldn't be started. 2012-01-07 22:58:30 +00:00
David Sansome 31f423a0ff Fix a compilation error 2012-01-07 22:58:19 +00:00
David Sansome 4618651cf4 Merge branch 'master' into external-tagreader 2012-01-07 22:52:18 +00:00
David Sansome e9c0b4bd69 Musicbrainz tagging improvements:
* Fix a bug where the song title would be used for the album field
  * Get the album's year as well
  * Include all releases for a song in the results list
  * Remove duplicate albums
  * Sort results
2012-01-07 21:51:02 +00:00
David Sansome 9be641ee87 The external tagreader mostly works now:
* Make TagReaderClient a singleton until it's easier to pass dependencies around
 * Add a WaitForSignal() that uses a local event loop to wait for a signal to be emitted
 * Add a WaitForFinished() to _MessageReplyBase that blocks using a semaphore
 * Add blocking versions of all TagReaderClient methods
 * Use the TagReaderClient everywhere that Song::InitFromFile and friends were used before
2012-01-07 00:26:07 +00:00
David Sansome 9041117867 Move everything around in the source tree - static libraries and external binaries now go in "ext/". Add a generic worker pool. 2012-01-05 23:25:13 +00:00
David Sansome 85f2f087cb Start work on moving everything that uses taglib out into an external process. 2012-01-05 23:24:48 +00:00
John Maguire 483c36748e const& and tweaks to Mac directory canonicalisation. 2012-01-05 16:11:39 +00:00
John Maguire 761737eb4d Add more robust subdirectory detection in LibraryWatcher. 2012-01-05 15:56:46 +00:00
John Maguire 97f3885f58 Add copyright headers. 2012-01-05 15:08:15 +00:00
John Maguire 55e9fd8dc3 Disable watching for FS updates when requested. 2012-01-05 15:01:43 +00:00
John Maguire 9fdfb52225 Use FSEvent-based filesystem watcher on Mac. 2012-01-05 14:51:23 +00:00
David Sansome 4cbc221f00 Don't set a "file" url scheme on files in devices that already have URL prefixes (like afc:// for iPod Touches)
Fixes issue 2564
2012-01-04 22:11:42 +00:00
John Maguire 0139f36e2d Add scoped_nsobject from Chrome. 2012-01-04 15:33:12 +00:00
John Maguire 3f0c779308 Add QObject constructor. 2012-01-04 15:26:22 +00:00
John Maguire 96aa95bebd Add filesystem watcher using Mac FSEvents API. 2012-01-04 15:24:53 +00:00
John Maguire bcf9475f2b Add a source column to the playlist view with appropriate icons. 2012-01-04 11:56:09 +00:00
David Sansome 54df30c15d Remove the global search popup for now until it can be made a bit prettier 2011-12-12 20:49:09 +00:00
Eike Hein e613f86acf Don't report version number in MPRIS2 Identity.
Fixes issue #2447
2011-12-01 09:28:11 +00:00
David Sansome 22e6a649b7 Remove the custom gstspotifytcpsrc and use tcpserversrc ! gdpdepay to receive data. Use a gstreamer pipeline on the other end as well to send data. 2011-11-28 18:45:12 +00:00
John Maguire e9d770a864 Remove pjsip/stun code and make PortForwarder at least compile. 2011-11-28 16:22:13 +01:00
David Sansome b873209d39 Remove the <xiphcomment.h> include from song.h so that windows headers don't infect everything else. Also move other bits of song.h into song.cpp, and reduce the number of includes in song.h. 2011-11-28 13:56:55 +00:00
Angus Gratton 360aaabd0d Add playlist album artist for use in playlist grid view (Issue 509) 2011-11-28 11:04:38 +00:00
Angus Gratton edb9b0b4fe Add album effective_artist filter that falls back to artist when unavailable (Issue 509) 2011-11-28 11:04:38 +00:00
David Sansome be4e70a9b1 Don't crash when using Player::PlayAt to play an index that doesn't exist. Fixes issue 2330 2011-11-27 22:24:38 +00:00
David Sansome da532ef3ca Make manual track changes ignore the "repeat track" setting. Fixes issue 2426 2011-11-27 21:02:37 +00:00
David Sansome 8334484c1e Fix some symbol naming conflicts that happen when including windows header files (taglib >1.7 brings them in for us). 2011-11-27 19:43:07 +00:00
David Sansome 7444f437aa Fade out tracks properly when changing between two URLs that have registered URL handlers (like spotify and grooveshark). 2011-11-27 16:35:36 +00:00
David Sansome b8ee548eb4 Rename the existing "Shuffle by album" mode to "Shuffle tracks in this album", and add a new "Shuffle albums" mode that plays all the tracks in each album sequentially, but then jumps to a different random album afterwards.
Fixes issue 1152
2011-11-27 15:01:10 +00:00
Angus Gratton 5ee9961d4f Fix bug w/ Organize deleting old files
Fixes issue #1806
2011-11-25 15:28:43 +01:00
Arnaud Bienner cc20e6b6ae Use task manager on most GS actions 2011-11-23 01:07:40 +01:00
Arnaud Bienner fdad2bd706 Make the async load of folders thread-safe 2011-11-18 21:55:54 +01:00
David Sansome 13ae806005 Only use the Unity hack on Ubuntu. Fixes issue 2198 2011-11-13 00:40:29 +00:00
Arnaud Bienner 2511a97077 Add an index on filename on songs table. Particullary, this heavily speed up the 'Add folder' usecase 2011-11-12 19:33:50 +01:00
David Sansome 53f1f6509b Fix URLs in device tables as well when upgrading 2011-11-12 17:15:10 +00:00
Arnaud Bienner 48db13b353 Make Playlist's InformOfCurrentSongChange public and use it when updating item instead of using UpdateItems (which will create a new item) 2011-11-11 02:42:48 +01:00
John Maguire 85ab8e260a Restore Qt 4.7 behaviour by adding a content type to POST requests that don't have one. 2011-11-10 23:42:34 +01:00
John Maguire 8e4ec35c61 Fix playlist detection when playlist size is < 512 bytes.
Fixes issue #2319
2011-11-10 21:42:40 +01:00
John Maguire ed0e6ba898 Lion build fixes 2011-11-10 20:56:49 +01:00
John Maguire a57d947a33 Show global shortcuts dialog on Lion.
Fixes issue #2104
2011-11-09 13:59:25 +01:00
David Sansome e3b7afbdf2 Add "Your radio streams" global search provider 2011-11-06 15:00:50 +00:00
David Sansome 8c69094931 Add a generic class for the "cached list of stuff" pattern used by last.fm and di.fm/sky.fm for keeping friend lists or stream lists around and refreshing them after a certain length of time 2011-11-06 00:02:32 +00:00
Arnaud Bienner 860d355f00 Ability to add a Grooveshark song to Grooveshark user's favorites 2011-11-02 00:02:49 +01:00
Arnaud Bienner 85ea3fe37f Add songs to Grooveshark playlists by drag and drop 2011-10-30 23:59:43 +01:00
John Maguire a1ece63f3a Use URLs for openInFileBrowser. 2011-10-26 14:54:24 +02:00
John Maguire cc986b7177 Update show in file browser to work with URLs.
Fixes issue #2002
2011-10-26 14:43:28 +02:00
David Sansome 9a739a3346 Add a DBus interface onto the global search engine, and add a KDE krunner plugin that performs global searches in Clementine.
This is optional and is not compiled unless you have the plasma developer packages installed.
2011-10-19 23:17:24 +01:00
David Sansome da825d4659 Make clicking outside the global search tooltip work again 2011-10-15 21:57:08 +01:00
David Sansome 4cabb98b43 Fix compilation of the gnome global shortcuts backend when dbus isn't available 2011-10-15 20:49:53 +01:00
David Sansome ce501d982a Don't show the global search popup immediately when clicking in the search field, making it possible to double click the search box to select all text. 2011-10-15 20:48:48 +01:00
David Sansome 2bffe1fa82 Register and unregister for media key notifications properly from the gnome settings daemon 2011-10-14 22:01:25 +01:00
John Maguire a526c7c13d Make closures non-copyable. 2011-10-06 14:45:55 +02:00
John Maguire 265b174dc9 Fix warning on GCC 4.6 2011-10-06 14:24:33 +02:00
John Maguire 5e343611bf Add some asserts to closure. 2011-10-06 13:19:42 +02:00
John Maguire a6e8797b9d Add some syntactic sugar to closures. 2011-10-06 13:11:18 +02:00
John Maguire e77de84451 Add a closure variant using tr1::function. This may break the build... 2011-10-05 14:55:39 +02:00
John Maguire fc34a244c6 Tidy up closure implementation. 2011-10-05 11:36:08 +02:00
John Maguire 20a967a19f Basic working closure implementation. 2011-10-04 18:26:40 +02:00
Arnaud Bienner 4143823870 Get GrooveShark songs' length (give the ability to seek through stream). markStream and markSongComplete, as resquested by GrooveShark 2011-10-02 12:05:56 +02:00
Casey Jones a49e2828e6 Display album art from FLAC tags 2011-09-28 00:16:02 +01:00
David Sansome 53e175e503 When stopping due to "Stop after this track", set the current song to the one after, so when the user presses Play it plays the next song instead of the last one again. 2011-09-27 23:31:15 +01:00
David Sansome 54016a8286 Add missing --help text for --search-popup 2011-09-25 11:53:42 +01:00
Arnaud Bienner 2406fdabf6 Check pointer nullity 2011-09-22 19:50:43 +02:00
Arnaud Bienner 399829291d Merge branch 'master' of https://code.google.com/p/clementine-player into grooveshark
Conflicts:
	data/data.qrc
2011-09-20 00:37:20 +02:00
David Sansome e10efbc484 Make "Add and play now" work 2011-09-18 23:26:21 +01:00
John Maguire b0c880d444 Adds --search-popup command line option. 2011-09-16 16:19:52 +02:00
Arnaud Bienner 99fdba877e Merge branch 'master' into grooveshark 2011-09-02 00:35:40 +02:00
Arnaud Bienner 096680c576 Add Hmac for MD5 2011-09-01 23:45:47 +02:00
John Maguire 551a85cb9b Add missing copyright headers. 2011-09-01 16:07:07 +01:00
John Maguire c2d68fd697 Basic search popup triggered by a global shortcut. 2011-09-01 14:23:16 +01:00
John Maguire 85e101c8a7 Fix the global shortcut grabber on Mac. 2011-09-01 14:10:30 +01:00
David Sansome 2cbe90c2e5 When playing a last.fm stream, don't scrobble the next item in the playlist in between each track of the last.fm stream. Fixes issue 1943 2011-08-28 02:59:19 +01:00
David Sansome 195f618bf2 When organising files, make %albumartist behave as %artist if the song has no albumartist tag set. 2011-08-28 00:02:41 +01:00
David Sansome 1d098a40b8 Revert commit ddfb90a0a1, and always delete files from disk rather than sending them to trash. 2011-08-27 23:54:55 +01:00
David Sansome 5884502389 Fix a bug loading where song metadata wouldn't be loaded from the library when loading a local file containing spaces. Fixes issue 2192 2011-08-27 22:51:30 +01:00
David Sansome 7e0e4e48e4 When loading a CUE from disk that isn't in the library, don't overwrite the metadata of its first song with the metadata from the audio file. Fixes issue 2092 2011-08-27 22:29:35 +01:00
Arnaud Bienner 5cbb86f247 Use toEncoded instead of toString in SQL query 2011-08-19 22:37:59 +02:00
Arnaud Bienner f319a615d9 Use url when checking if a file is already in DB instead of filename when loading files (this usecase has been missed when we have decide to use urls everywhere) 2011-08-18 22:43:52 +02:00
David Sansome 082716e9c9 Don't try to compile audio CD support if libcdio isn't installed. 2011-08-10 16:30:36 +01:00
David Sansome ae4cfeff1c Always assume Icecast-style stream metadata is in the "Artist - Title" format, as this seems more common. Remove the hacks for soma.fm and stations from the icecast list. Fixes issue 1035 2011-07-26 15:56:19 +01:00
David Sansome b628c2a26e Use a template function instead of a macro 2011-07-26 13:22:23 +01:00
David Sansome c366f722fb Show the album cover dimensions on top of the images in the album cover search dialog.
Fixes issue 1704
2011-07-26 13:02:59 +01:00
David Sansome 5c90404915 Sort album covers by image size. Fixes issue 2048 2011-07-26 12:17:28 +01:00
David Sansome a1062eb96f Add sha256 and hmac-sha256 functions 2011-07-23 19:33:00 +01:00
David Sansome 9fadf57acc Revert "Move TaskManager::Task and UrlHandler::LoadResult structs out of their parent classes - PythonQt doesn't understand nested structs."
This reverts commit 5234798a7f.
2011-07-23 15:32:12 +01:00
David Sansome dd3eee63e5 Remove python scripting support 2011-07-23 15:32:12 +01:00
Tyler Rhodes ded8e5f6f0 Refactor "Radio" files into "Internet" files. 2011-07-15 13:27:50 +00:00
David Sansome c8305c0eee Don't record an undo step when all the songs inserted into the playlist were vetoed. Thanks schizosfera. 2011-07-01 20:48:18 +00:00
John Maguire 6e86caae2c Define QT_STRICT_ITERATORS and fix the associated bugs. 2011-06-20 15:08:06 +00:00
David Sansome 36165ea9bf Keep the state of the rain and hypnotoad menu actions in sync with whether they're actually playing. Fixes issue 1986 2011-06-19 14:42:00 +00:00
David Sansome 67f41ef886 Oops, remove some unused dbus includes 2011-06-18 22:05:35 +00:00
David Sansome fd7d24b11a Add Clementine to the Unity system tray whitelist on startup. 2011-06-18 19:08:09 +00:00
David Sansome 7415d85dce When initialising a song from a library query, don't always assume the metadata originally came from a file (which means icycast tags are ignored when it is played). Fixes issue 1857 2011-06-17 20:00:10 +00:00
David Sansome 99390486bf Show a song's URL in the title playlist column if it doesn't have a title or base filename. 2011-06-17 19:32:03 +00:00
John Maguire 25587286b2 Fix error when unref'ing cdda element after failing to read CD. 2011-06-15 19:28:25 +00:00
Arnaud Bienner 7fca5d37dc Minor modifications on load audio CD, including better cleaning of objects 2011-06-14 23:38:43 +00:00
David Sansome 563de288ba Encode URLs properly when doing the DB schema conversion to store filenames as URLs 2011-06-14 14:46:02 +00:00
Tyler Rhodes a452971708 Change Mac media keys to respond on key release. Fixes issue 1985. 2011-06-13 10:20:37 +00:00
Tyler Rhodes 80abba66ca Fix my compile fix in r3373 2011-06-10 09:37:50 +00:00
John Maguire 4917ae8f4f Fix compile error. 2011-06-10 09:35:03 +00:00
Tyler Rhodes 006e085b7d Fixes 64-bit compile issue from r3372 2011-06-10 09:19:30 +00:00
Arnaud Bienner 272841ab73 Starting audio CD support. Starts issue 701 2011-06-09 23:08:43 +00:00
Andrea Decorte 527171fadb Toggle visibility for Pretty OSD by command line and global shortcut.
Fixes issue 1344
2011-06-05 08:21:17 +00:00
John Maguire 97a8aa54be Use SPMediaKeyTap for global media keys on Mac.
Thanks to: tyler.s.rhodes@gmail.com
2011-05-30 10:09:34 +00:00
David Sansome 7de618beff Fix registration of metatypes for list handlers on Qt 4.7 2011-05-29 14:08:55 +00:00
John Maguire 54a79f0665 Always pause on --pause.
Fixes issue #1599
2011-05-26 15:40:53 +00:00
John Maguire 799279afcd Untested attempt to read album artist tags from ogg/flac/mp4 properly.
Fixes issue #1624
2011-05-26 15:30:42 +00:00
David Sansome 7228eb8676 Buffer stdout and stderr properly, and integrate with python's logging module 2011-05-22 11:48:12 +00:00
David Sansome 5234798a7f Move TaskManager::Task and UrlHandler::LoadResult structs out of their parent classes - PythonQt doesn't understand nested structs. 2011-05-21 10:43:25 +00:00
John Maguire 8dd745895a Add --version command line flag.
Fixes issue #1867
Thanks to: tyler.s.rhodes@gmail.com
2011-05-16 19:21:46 +00:00
David Sansome 792352be3b When songs disappear from the filesystem (either they're deleted or are on a removable media that was unmounted), mark them as unavailable instead of removing them from the database. Thanks google@robbertkrebbers.nl. Fixes issue 401 2011-05-14 13:43:57 +00:00
David Sansome 3deb371537 If the spotify blob isn't installed, try to download it from the Clementine website. Also, make the blob separate from the core Spotify code in Clementine so you can build the core code without building the blob 2011-04-29 19:44:51 +00:00
David Sansome 5efe63462c Get album art for Spotify tracks 2011-04-29 13:41:42 +00:00
David Sansome 06852aaeb7 Show spotify search results in a separate playlist tab rather than in a tree in the sidebar. 2011-04-28 17:50:45 +00:00
David Sansome 255682b057 Remove the special load behaviour from Playlist Items and instead add URL Handlers that do the same job but for all playlist item types. 2011-04-28 15:10:28 +00:00
David Sansome ccb9f8cf94 Use URLs everywhere instead of filenames. Move the URL parsing and song loading code out of individual playlist parsers and into the base class. Fix the playlist parser unit tests. 2011-04-28 12:27:53 +00:00
David Sansome b15156a7a3 Handle bigger protobuf messages, add spotify searching to the UI 2011-04-27 16:38:28 +00:00
David Sansome 3d6677fe6d Allow radio services (Spotify) to store whole songs in playlist items 2011-04-26 22:06:58 +00:00
David Sansome 2bec9a00fc Add license headers to all the spotify source files and obfuscate the API key 2011-04-26 13:43:13 +00:00
David Sansome e152e3a3e3 Start of some spotify support - builds a binary blob linked against libspotify that Clementine starts as a separate process. 2011-04-25 19:16:26 +00:00
David Sansome 101985defa Fix a build failure with glib >= 2.25 2011-04-22 17:52:09 +00:00
David Sansome 5a2f522895 Fix compilation on release builds 2011-04-22 17:17:37 +00:00
David Sansome 3eedc916ad Add a new logging system 2011-04-22 16:50:29 +00:00
David Sansome 8f4c1dbbf6 When doing gapless playback, fix a bug where the TrackEnded signal would be emitted too early, before the track had actually ended. This caused the song after the current song to get scrobbled and its playcount increased. Fixes issue 1771 2011-04-17 14:11:37 +00:00
David Sansome 12b6bbd166 Scrobble radio streams even if we don't know the length of each individual part. Fixes issue 681 2011-04-16 15:13:53 +00:00
Arnaud Bienner f7e614684d Minor modifications thanks to David' comments. Adding some comments to explain the new process: hope it's clearer now 2011-04-16 15:06:13 +00:00
Arnaud Bienner 65ef047c38 Loading file in async way, in two times: fast loading files and insert them in playlist view, while loading info (tags, ...) in background thread 2011-04-16 14:04:15 +00:00
David Sansome 8d6f818d25 Maybe fix an assert when connecting WMDM devices 2011-04-16 13:39:31 +00:00
Andrea Decorte 5d8f1fe872 Added scrobbling button in main window and a global shortcut for
toggling it. Fixes issue 1090
Improved last.fm error handling
2011-04-07 16:25:52 +00:00
John Maguire 18bfa12042 Add the beginnings of an ICE socket implementation.
Currently, it can be demoed using --stun-test and the icedemo from pjsip as the other client.
TODOs:
Add ability to do a full demo using only 2 clementine instances.
Complete session initiation over XMPP.
Add local & port forwarded sockets as options.
2011-04-07 13:38:27 +00:00
Paweł Bara 032b5f7e48 initial commit of "multiple covers providers" feature:
- simple API for cover providers (both C++ and SIP)
- a new "package" for cover related code
2011-04-02 13:34:06 +00:00
David Sansome a10d396f22 Fix the InsertUrls dbus method so it inserts tracks at the end of the playlist and plays them again. 2011-03-31 18:47:25 +00:00
David Sansome e5bc2be85f Add some more debugging output for deciding when to scrobble a song 2011-03-29 21:12:49 +00:00
David Sansome f416c27483 Fix a compiler warning in mpris1.cpp 2011-03-29 19:05:04 +00:00
David Sansome 7d6eee590a Don't force the track to stop at the end of a section unless it's part of a cue sheet. Fixes issue 1610. Fixes issue 1636. 2011-03-28 22:11:07 +00:00
David Sansome f2ddc92a0d Maybe fix the mac build without breakpad 2011-03-26 17:36:13 +00:00
David Sansome 0968e6680b Oops, Fix a compile error 2011-03-25 21:52:56 +00:00
David Sansome a707b4c502 Add a little bit of debugging output for system proxy URLs on linux 2011-03-25 20:13:04 +00:00
John Maguire d86dce4b96 Add support for Google breakpad on mac. (Uploading crash reports doesn't work yet due to redirect). 2011-03-25 11:38:03 +00:00
David Sansome d50cfaed46 Add google breakpad to 3rdparty, and gather crash reports 2011-03-23 21:53:24 +00:00
Jonathan Anderson ddfb90a0a1 clementine Issue 858 2011-03-23 11:23:55 +00:00
John Maguire b767c1ccf2 Fix display of stopped stream when stopped via play/pause shortcut. 2011-03-21 17:07:15 +00:00
John Maguire eceb4164c1 Add more trayicon mouse wheel actions.
Update issue 1597
Status: Fixed
Thanks for the patch!
2011-03-21 15:15:17 +00:00
Paweł Bara e619d7a280 fixing a bug where streams were removed from playlist during Clementine's startup 2011-03-20 16:07:24 +00:00
Paweł Bara bfb068a6d1 conditionally hide some context menu actions in library view and playlist view
Song.is_stream()
2011-03-20 12:43:10 +00:00
David Sansome 9086ab8ed4 Add a "Show in file browser..." to the library context menu as well. Fixes issue #1563 2011-03-17 19:52:21 +00:00
Andrea Decorte 4b6e2a8a62 Add global shortcuts for repeat and shuffle modes. Fixes issue #955 2011-03-17 08:21:05 +00:00
David Sansome 85502e5516 Don't crash at the end of the last song on a playlist 2011-03-14 20:04:33 +00:00
David Sansome cb275f318f Add an option to disable automatic crossfading between tracks on the same album or from the same cuesheet. Fixes issue 1479 2011-03-13 18:37:46 +00:00
David Sansome f22f361f66 Revert "Do not cross-fade if two songs of the same CUE file are consecutively being played"
This reverts r2921.
2011-03-13 18:37:39 +00:00
David Sansome 002ae13817 Use the canonical file path (resolve symlinks and '..') when adding directories to the library, and when adding files to the playlist. Fixes issue #1494 2011-03-13 14:43:03 +00:00
David Sansome d7dbd21438 Fixed some of the "metadata changed" when doing a library rescan 2011-03-13 13:40:24 +00:00
David Sansome db8359838a Set a timeout of 5 seconds on musicbrainz network requests. Fixes issue #1390 2011-03-13 13:17:35 +00:00
David Sansome b51566cdd9 Remove the dependencies on libtunepimp, libofa, libmusicbrainz. Use the gstreamer ofa plugin instead to fingerprint songs. 2011-03-12 21:19:41 +00:00
Paweł Bara c8c394d200 don't push new URL into engine in the CurrentMetadataChanged slot - send it the beginning and end markers only
this means that Clementine still skips broken songs while at the same time fixes issue #1565
2011-03-12 20:20:13 +00:00
Paweł Bara e25e9efffc Clementine now skips broken streams (radios for example). At least I hope it always does. ;) Fixes issue #1562. 2011-03-12 13:24:30 +00:00
Paweł Bara 8722e00103 Clementine now skips songs that don't exist anymore (updates issue #250) 2011-03-10 18:01:35 +00:00
John Maguire 19af887465 Disable automated tag encoding correction and instead just mark tags as "suspicious". 2011-03-06 16:39:36 +00:00
David Sansome 2cb8b8dba7 Stop cue sections at exactly the right place, and move seamlessly between consecutive sections of the same file. Fixes issue #1233. Fixes issue #1419. 2011-03-06 16:35:47 +00:00
David Sansome c2445edad5 Add a "complete tags automatically" shortcut to the playlist context menu. Fixes issue #1532 2011-03-06 14:07:41 +00:00
Andrew Udvare 4fe36ad7b3 Do not test if both songs don't have CUE files 2011-03-06 03:31:04 +00:00
Andrew Udvare dabeab9360 Do not cross-fade if two songs of the same CUE file are consecutively being played 2011-03-06 03:15:28 +00:00
David Sansome 285f2c9ff9 Add cross-links to the PyQt4 docs, document Song, NetworkAccessManager, PlaylistSequence 2011-02-27 17:16:22 +00:00
David Sansome 4471e27ef6 Python docs for PlaylistParser, and clean up the interface a bit 2011-02-27 12:14:32 +00:00
Paweł Bara aa6c3ab35b a way to mark DB schema versions as requiring a full library rescan
message dialog for a user when he's reached a full library rescan requiring schema version (like the final one of CUE sheet support)
2011-02-25 20:10:41 +00:00
David Sansome b04fbf226c Fix MPRIS2's CanPause() PlayPause() behaviour 2011-02-23 19:31:12 +00:00
John Maguire 2e286e4271 Fix broken signal in MPRIS1.
Fixes issue #1497
2011-02-23 11:11:17 +00:00
David Sansome bab78c2b4f Fix mpris2's PlayPause method 2011-02-22 20:13:02 +00:00
David Sansome 107b7b54f9 Add an extra line to the track slider popup to show the difference between the current time and the destination time. 2011-02-21 20:59:30 +00:00
Paweł Bara e1d5abd83e first step of making CUEs read only (playlist view) 2011-02-21 18:18:16 +00:00
David Sansome 72096bf1c8 Move ArtLoader from mpris_common.h to its own file, add libxrme to 3rdparty, add a working XMPP remote. 2011-02-19 18:24:11 +00:00
David Sansome 304ce97b16 Fix a crash bug in MPRIS2 if MPRIS1 couldn't register on the bus. 2011-02-19 18:24:05 +00:00
Paweł Bara 7de912d3a1 moving the responsibility for naming playlists into mimeData() methods (into models)
this means that pretty names for new playlists now also work when double clicking (in certain mode) or dragging and dropping
fixes issue #1477
2011-02-16 18:29:35 +00:00
John Maguire b106979fb7 Use correct preferences file on OS X and migrate old config files. 2011-02-16 13:43:01 +00:00
Arnaud Bienner 7221d93888 Minor syntactic changes on tagfetcher 2011-02-14 22:26:58 +00:00
David Sansome dadbb3e6e5 Oops again :( 2011-02-14 21:23:01 +00:00
David Sansome 8c691d2b3e Use constants instead of "1eN" literals for converting between time units. 2011-02-14 19:34:37 +00:00
Paweł Bara 0182829223 user-friendly name for 'Open in new playlist' playlists (fixes issue #1445) 2011-02-14 17:00:13 +00:00
David Sansome e67f39cedb Fix the windows build 2011-02-13 20:25:55 +00:00
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