Commit Graph

549 Commits

Author SHA1 Message Date
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