Commit Graph

560 Commits

Author SHA1 Message Date
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
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
David Sansome f9959a4fba Treat the Jamendo database schema the same as other databases. 2010-12-05 10:55:21 +00:00
David Sansome 987dd8c57a Refactor and fix most of the MPRIS code. Fixes issue #374 2010-12-04 22:27:58 +00:00
David Sansome f94f2cd03c Clean up the background streams settings page a bit, and use a different icon 2010-12-04 15:11:50 +00:00
John Maguire b67bc3939a Fix a couple of mpris bugs.
Update issue #374
I've fixed some of the GetStatus/GetMetadata issues.
2010-12-03 15:01:36 +00:00
John Maguire c625acfd87 Refactor background streams.
Add volume control for background streams and infrastructure for custom streams.
2010-12-03 13:53:43 +00:00
John Maguire 880909104e Fix album cover handling in Jamendo. 2010-11-29 13:34:30 +00:00
David Sansome b1bf95a668 Remember which library a dynamic playlist was using when you restart clementine 2010-11-27 19:11:36 +00:00
David Sansome b85ddbb380 Put the Jamendo songs in a separate database that gets attached to the main database. "Reload" it by deleting the file, which is much faster than DELETEing all the songs inside. Make reloading the Jamendo, Icecast and Magnatune databases always bypass the network cache. Store the Jamendo track IDs in a separate table - for some reason this makes inserts faster. Fix the Jamendo model after the inital database load. Make the Jamendo dymanic playlist use the entries that are already in the local database rather than fetching the song metadata again. 2010-11-27 16:14:09 +00:00
John Maguire eca1704384 Sort of working Jamendo dynamic playlist. 2010-11-26 15:16:48 +00:00
David Sansome 188c7a53ec Add a database table, backend, and model for Icecast radio stations. Added a filter widget as well, but it doesn't actually search or sort yet. 2010-11-23 22:36:00 +00:00
Paweł Bara eb41dea464 the title and artist of the currently playing song are now the title of Clementine's window (Fixes issue #779)
better unmute behavior if Clementine was muted before it was closed (Fixes issue #983)
2010-11-23 19:38:15 +00:00
John Maguire 5feabe09de Add Jamendo support.
Fixes issue #470
2010-11-23 17:38:39 +00:00
David Sansome 89e3fde23b Add missing copyright headers to the icecast source and objective-c 2010-11-23 11:42:19 +00:00
John Maguire c2c3c8145b Add basic icecast directory support.
Fixes issue #601
2010-11-22 16:57:26 +00:00
Paweł Bara 5ceb64c9e3 "mute" command in main menu and context menu of tray icon (Fixes issue #962)
"now playing" tray icon's tooltip in Qt environments
2010-11-21 21:36:27 +00:00
David Sansome 4356adb9e3 Fix the windows and mac builds 2010-11-21 15:46:43 +00:00
David Sansome 0a5d286798 Bound song scores properly. Thanks arnaud.bienner 2010-11-21 15:38:26 +00:00
David Sansome 626c75cd45 Add MPRIS2 and gnome sound menu support 2010-11-21 15:13:26 +00:00
David Sansome 5969e2b3d7 Remember whether a dynamic playlist was active between restarts 2010-11-20 20:30:21 +00:00
David Sansome 7d54549213 Add support for dynamic playlists. A dynamic playlist is just a smart playlist that chooses and adds a new track when you finish listening to a song. 2010-11-20 18:49:54 +00:00
David Sansome ed1a25693c Add missing licenses to debian/copyright, and add copyright information to each source file 2010-11-20 13:27:10 +00:00
David Sansome 9e20ef13bc Automatic scoring. Thanks Arnaud Bienner. Fixes issue #141 2010-11-01 21:15:52 +00:00
John Maguire 6c5ce58eda Better check for MS-WMSP. 2010-10-25 12:19:36 +00:00
John Maguire cc782430cf Fix MS-WMSP streams.
Fixes issue #912
2010-10-25 12:14:28 +00:00
David Sansome 5d9e43bc14 Add a new smart playlist wizard. Doesn't do anything yet except look pretty. 2010-10-24 23:46:05 +00:00
John Maguire 29d1e9e7cb Add bizarrely named "mtime" to MPRIS.
Fixes issue #893
2010-10-19 11:20:50 +00:00
David Sansome f55ffe15d6 Format the last played column more nicely 2010-10-17 20:53:15 +00:00
David Sansome a13e0ba3f3 Increment play and skip counts when playing or skipping songs from the library 2010-10-17 19:27:31 +00:00
David Sansome 42e4c4a8db Add a skipcount field to the database, and read the last played time into Song objects. (still not used in the GUI yet). 2010-10-17 17:50:20 +00:00
David Sansome f5750bc348 More comments 2010-10-17 16:30:22 +00:00
David Sansome eb9660edad Parse FMPS ratings and played counts from mp3 id3v2 tags 2010-10-17 16:03:49 +00:00
David Sansome 95556df6aa Move database schema into a subdirectory of data/ 2010-10-17 11:22:34 +00:00
David Sansome 47004d0ac3 Fix album cover manager test 2010-10-16 18:21:28 +00:00
David Sansome b5f366c40a Add a thread safe network disk cache, and remove the need to pass a NetworkAccessManager around everywhere. Fixes issue #852 2010-10-16 17:20:54 +00:00
David Sansome b97b2138fa Play last.fm tag radio or similar artists radio when clicking on a tag in the song/artist info pane. 2010-10-16 15:22:14 +00:00
David Sansome 14fb4ca202 Ignore playlists when loading local directories. Fixes issue #886 2010-10-16 12:37:33 +00:00
John Maguire 2d19c2899a Ignore engine metadata notifications if the song was previously loaded via taglib.
Fixes issue #880
Fixes issue #864
Fixes issue #574
2010-10-12 11:55:45 +00:00
David Sansome 2f3732e73e Move lyrics into the song info pane, refactor out a load of the common code between artist and song info. 2010-10-10 16:09:20 +00:00
David Sansome d09bae16ee Don't crash when the receiver of a network get is destroyed before the request finishes 2010-10-09 14:15:05 +00:00
John Maguire 4c186f15dc Add more fields to MPRIS GetMetadata 2010-09-29 17:03:32 +00:00
David Sansome 4f1a4fe39a Some initial lyrics support. Scrapes all the sites that are supported by Amarok's Ultimate Lyrics script. No GUI or configuration yet. 2010-09-26 14:21:23 +00:00
David Sansome bd59b7009b Don't crash when trying to load a wma file without a tag. 2010-09-25 15:46:35 +00:00
David Sansome 6971f81be4 Use QFile::decodeName when reading command-line arguments. Fixes isse #752 2010-09-25 15:15:05 +00:00
David Sansome 625e4dffdb Replace more invalid FAT32 characters in filenames. Fixes issue #799 2010-09-25 15:04:58 +00:00
David Sansome 24cb79285a Fix some weird behaviour when renaming a device and changing the sorting order in the devices view. 2010-09-18 12:33:23 +00:00
David Sansome d0699e0bb5 Fix a crash when loading a local directory that contains other directories or playlists. 2010-09-18 11:50:20 +00:00
David Sansome e95c4979f8 Replace ? characters when copying files to devices (since they're invalid on FAT32 filesystems), and check the return value of QDir::mkpath. Fixes issue #721. 2010-09-18 10:06:30 +00:00
David Sansome 0adc88a07d Ignore iTunNORM comment fields in ID3v2 tags 2010-09-15 19:24:31 +00:00
David Sansome 0a7fa788b3 On second thoughts, lose the gotos and handle the last.fm errors by throwing. 2010-09-13 23:52:05 +00:00
David Sansome 89c873f9ef There are no gotos in this code 2010-09-13 23:44:11 +00:00
John Maguire 4570d891f2 Change global shortcuts on Mac to be eaten.
Update issue #722
Fixed on Mac.
2010-09-13 10:14:46 +00:00
David Sansome c2ac3f8f32 Don't mount GIO devices automatically, instead put them in a "not mounted" state in the GUI and mount them when double-clicked on. Fixes issue #719. Probably fixes issue #723. 2010-09-11 12:29:44 +00:00
David Sansome 6fea62d68e Make the organise dialog and free space bar look better with a dark theme. Fixes issue #630 2010-09-05 12:49:56 +00:00
John Maguire 214d77bc0e Fix test and fix song loader infinite loop. 2010-08-31 21:24:57 +00:00
John Maguire ad16a8b1ba Load local files from the DB if we already have them. 2010-08-31 19:45:33 +00:00
John Maguire bf5245d499 Remove warning for sql queries on the GUI thread. 2010-08-31 18:46:00 +00:00
David Sansome 1dd6ac323e Get the drive letter for MSC WMDM devices on Windows 7 2010-08-30 19:58:01 +00:00
David Sansome e4f5e97b17 Allow GetSupportedFiletypes to return an error, and make it possible to request a list of supported filetypes at the same time as opening the device for copying - making things much faster on MTP devices. 2010-08-30 12:22:15 +00:00
David Sansome d7e71ad14a Fix some little progress calculation bugs 2010-08-30 12:00:11 +00:00
David Sansome 728925097d Show progress information when transcoding files to copy to a device 2010-08-30 11:36:40 +00:00
David Sansome ebe237cd40 Codereview comments from r1844 2010-08-29 19:50:06 +00:00
David Sansome 93b35a6379 Clean up transcoded files from /tmp 2010-08-29 19:26:20 +00:00
David Sansome 4b381e00fd Transcode files when copying them to devices 2010-08-29 19:22:21 +00:00
David Sansome 5873fe80a6 Pick a good default format to transcode to 2010-08-29 16:12:55 +00:00
David Sansome d8ea4660e7 Store the device's transcode preference in the database 2010-08-29 15:32:36 +00:00
David Sansome 04e7e26088 Allow devices to report progress information about individual songs back to the Organise object. Implement this for MTP 2010-08-28 21:55:30 +00:00
John Maguire c801ce1a2d Rollback analyzer changes. 2010-08-28 18:48:16 +00:00
David Sansome f5cbeabb9b Copy string metadata properly 2010-08-28 13:52:29 +00:00
David Sansome a066eb9968 Recognise music on devices where WMDM/FormatCode isn't provide, such as mass storage devices. 2010-08-28 13:23:33 +00:00
David Sansome c625ac229d Fix all the windows crashes 2010-08-28 12:30:53 +00:00
David Sansome d980fd5ff8 Remove the pointless CreateInThread method from BackgroundThread and instead move objects to the right thread after creation. 2010-08-27 18:36:57 +00:00
David Sansome a776758ad1 Clear the "stop after this track" marker after stopping after this track. Fixes issue #552 2010-08-26 19:29:55 +00:00
David Sansome dad73e7e7e Fix a mingw compile error in release mode 2010-08-25 22:13:58 +00:00
David Sansome 3a67124fd9 Support copying files to WMDM devices. Sometimes doesn't crash 100% of the time. 2010-08-23 19:13:27 +00:00
David Sansome bd4b6b2b50 Set a proper filename on songs that are copied over MTP 2010-08-22 17:54:49 +00:00
John Maguire 459a134201 Remove FHT and use gstreamer's FFT for all analyzers. 2010-08-18 18:21:30 +00:00
John Maguire f077e33091 Fix playlist loading. 2010-08-16 18:58:26 +00:00
David Sansome ff19d31403 Support removing files from MTP devices 2010-08-14 17:06:38 +00:00
David Sansome 9fda03aa60 Support copying files to MTP devices 2010-08-14 16:39:45 +00:00
David Sansome 3f5e188045 Initial support for MTP devices 2010-08-14 15:57:05 +00:00
David Sansome 39132c4dcd In the organise dialog, prompt before connecting a device that hasn't been connected before 2010-08-14 12:30:51 +00:00
David Sansome c0ea45a9c9 Show an error dialog when copying or deleting files failed. 2010-08-14 11:51:50 +00:00
David Sansome 1dbb1817e8 Codereview comments from r1685 2010-08-12 16:35:43 +00:00
David Sansome b27238a480 Test whether we can still talk to afc before freeing the lockdownd client (fixes usbmuxd errors once and for all), report afc copy errors, keep track of files that failed to copy to a device, don't attempt to write the itunesdb if there were errors during copying. 2010-08-10 19:42:43 +00:00
David Sansome 5e00eb11de Pass shared_ptrs to music storage things to the organiser thread so they won't get deleted if the device is disconnected 2010-08-09 21:50:46 +00:00
John Maguire b1a96fd54d Fix encoding of tags we get from gstreamer. 2010-08-09 13:12:54 +00:00
David Sansome 58506b0469 strdup to the rescue! 2010-08-08 17:45:57 +00:00
David Sansome a228e2b806 Copy files to afc devices. Doesn't quite work yet 2010-08-08 17:41:06 +00:00
David Sansome 49da0eee27 Put a mutex around all the taglib stuff 2010-08-08 12:35:23 +00:00
David Sansome aadd38708f Fix an overflow when calculating free space and capacity. Thanks YellowOnion. Fixes issue #584 2010-08-07 10:00:20 +00:00
John Maguire 67eb9770c4 Code review comments for r1631 2010-08-04 12:37:46 +00:00
John Maguire 35e87b2a77 Start gstreamer playing from a separate thread. 2010-08-04 12:13:43 +00:00
John Maguire 36264e0b2b Separate out UniversalEncodingHandler. 2010-08-03 19:29:49 +00:00
John Maguire e67f9a66c8 Load playlist in separate threads on startup. 2010-08-03 18:57:17 +00:00
John Maguire f5449b9f8d Move playlist loading off the GUI thread. 2010-08-03 14:59:18 +00:00
John Maguire 812a91214e Add a warning if Song::InitFrom{Query,File}() is called from the GUI thread. 2010-08-03 13:37:47 +00:00
David Sansome 6604e97493 Make it possible to change the language with --language, or an option in the settings dialog. Fixes issue #583 2010-08-02 19:02:21 +00:00
John Maguire 8166a50b2a Use persistent model index. 2010-08-02 14:07:34 +00:00
John Maguire 992e0fb95e Add support for saving songs in a separate thread.
Updates issue #542
2010-08-02 14:00:43 +00:00
David Sansome 7a6499abde Copy the iTunes database off a libimobiledevice device and load it from the local file 2010-08-01 14:13:27 +00:00
David Sansome 5517e2a503 Oops, don't need this hack any more 2010-08-01 11:05:14 +00:00
David Sansome 02783b1d5d Unmount devices from the main thread instead of the organiser thread - fixes a crash when unmounting after copying 2010-08-01 11:01:07 +00:00
David Sansome 1f2b69c6bc Add support for deleting files from the filesystem, devices, and ipods. 2010-07-31 16:12:16 +00:00
David Sansome a236861dfa Option to group the library by file type 2010-07-31 14:14:03 +00:00
David Sansome e54f0a18d9 Add an implementation of FileSystemCapacity and FileSystemFreeSpace for windows 2010-07-29 22:58:23 +00:00
David Sansome 6f259d4ecc Show a free space bar in the organise dialog, and also show how much space would be taken up after copying files. 2010-07-29 22:16:12 +00:00
John Maguire 124ceb2db9 Fix compiling with Clang. 2010-07-27 13:21:28 +00:00
John Maguire fe26c8bb8f Fix crash when expanding last.fm tree.
Fixes issue #463
2010-07-26 17:32:16 +00:00
John Maguire 7235194016 Hack font size down to 11pt on Mac.
Fixes issue #546
2010-07-26 12:55:33 +00:00
David Sansome b2aba2bac2 Add an option to eject a device after copying files to it. Now with bonus multiple virtual inheritance. 2010-07-25 09:52:29 +00:00
David Sansome 1d5cef0f0d Set the organise progress to 100% when all files have been copied, but before the device is finalised 2010-07-24 17:40:19 +00:00
David Sansome b624be9800 Add almost-working support for writing to ipods 2010-07-24 16:58:14 +00:00
David Sansome c35bd8779a Make sure -1 and "" get stored in the database instead of NULL for song metadata. Thanks YellowOnion. Fixes issue #396. Fixes issue #479. 2010-07-24 15:13:09 +00:00
John Maguire 3f78df5725 Fix the parsing of Finder command line options.
Fixes issue #537
2010-07-24 14:57:56 +00:00
David Sansome f3491add62 Load albumartist from flac and ogg metadata. Thanks YellowOnion 2010-07-24 14:49:49 +00:00
David Sansome 77b4ec54bd Look at the file extension as well as magic when loading a local playlist. Fixes issue #507 2010-07-24 14:09:27 +00:00
David Sansome 692e5715e3 Replace slashes with underscores when organising files. Fixes issue #503 2010-07-24 13:56:49 +00:00
David Sansome 60eb5a34f8 Add global shortcuts for show/hide and show osd.
Update issue #533
Status: Fixed
Thanks for the patch :)
2010-07-24 12:39:09 +00:00
David Sansome 62616304d8 Add a MusicStorage interface that can be used to abstract away the details of copying a file to a device. 2010-07-19 19:56:29 +00:00
David Sansome d108841e36 Fix a build failure with mingw 2010-07-19 19:33:13 +00:00
David Sansome f64cdb23e9 Make the AlbumCoverLoader read embedded album cover art when it's available. Fixes issue #516 2010-07-19 17:55:02 +00:00
David Sansome 2f11ee5d2b Load embedded album art from id3v2 tags 2010-07-19 11:40:30 +00:00
John Maguire 95bb4eccea Unpack artist/title from SomaFM streams correctly.
Fixes issue #497
2010-07-15 12:59:14 +00:00
John Maguire 579c7cc592 Fix some Latin1 encoding guessing. 2010-07-15 12:46:08 +00:00
John Maguire 41ab99e62e Generate Hypnotoad rather than streaming it. 2010-07-14 11:16:56 +00:00
David Sansome d612e8468d Make the mute shortcut toggle 2010-07-13 22:22:04 +00:00
John Maguire d03bdda5f7 Fixes issu...
,'``.._   ,'``.
              :,--._:)\,:,._,.:       All Glory to
              :`--,''   :`...';\      the HYPNO TOAD!
               `,'       `---'  `.
               /                 :
              /                   \
            ,'                     :\.___,-.
           `...,---'``````-..._    |:       \
             (                 )   ;:    )   \  _,-.
              `.              (   //          `'    \
               :               `.//  )      )     , ;
             ,-|`.            _,'/       )    ) ,' ,'
            (  :`.`-..____..=:.-':     .     _,' ,'
             `,'\ ``--....-)='    `._,  \  ,') _ '``._
          _.-/ _ `.       (_)      /     )' ; / \ \`-.'
         `--(   `-:`.     `' ___..'  _,-'   |/   `.)
             `-. `.`.``-----``--,  .'
               |/`.\`'        ,','); SSt
                   `         (/  (/
2010-07-12 19:51:23 +00:00
David Sansome 91f801639a Unpack "Artist - Title" from icycast metadata. Fixes issue #425 2010-07-10 19:51:34 +00:00
David Sansome d8cc037446 Don't grab global shortcuts while the global shortcut grabber is open. Fixes issue #462 2010-07-10 19:17:21 +00:00
David Sansome 384ff16f2b Add a parser for a weird playlist format that looks like a cross between ASX and PLS. I don't know what it's called... 2010-07-10 18:39:41 +00:00
David Sansome e9525e8ec3 Very basic support for reading iPods with libgpod. Uses a hardcoded ~/.gvfs path for now. 2010-07-04 20:52:45 +00:00
David Sansome 2b58a1e19a Pass dataChanged through MergedProxyModel 2010-07-04 11:43:17 +00:00
David Sansome 8c26c61b0b Sort the device libraries properly 2010-07-04 00:58:01 +00:00
David Sansome 71a1cf3c41 Disconnecting devices works 2010-07-04 00:33:34 +00:00
David Sansome db5409b66b Store devices in the main database 2010-07-03 23:00:07 +00:00
David Sansome 6654182032 Don't connect new devices automatically, put them in a list model. Add icons for ipods, android phones and USB memory sticks. 2010-07-03 21:05:55 +00:00
John Maguire b4fa694847 Fix crash in file organiser. 2010-07-01 19:10:48 +00:00
David Sansome a1fbd65f68 Test whether sqlite3 has the FTS3 at compile time, and use the static sqlite3 module if not 2010-06-30 19:55:46 +00:00
John Maguire 88be9986f1 Catch Enter key events & ignore events we don't understand.
Fixes issue #443
2010-06-29 18:44:36 +00:00
David Sansome 8d3ca44d14 moc doesn't know about config.h, so these slots need to always be declared. 2010-06-26 15:09:32 +00:00
David Sansome 0404ecec70 Fix compilation without gstreamer. Fixes issue #440 2010-06-26 13:20:08 +00:00
David Sansome 2deca7fd61 Add a DeviceManager which holds all the listers and connected devices. Make FilesystemDevices use their own LibraryWatcher. 2010-06-26 12:41:18 +00:00
David Sansome 2b17a8ee1f Revert r1344 (the timer tracing), it didn't help 2010-06-25 22:04:24 +00:00
David Sansome f0b984cbe9 Prepend a 0 to single-digit track numbers in the organiser. Fixes issue #438 2010-06-25 15:15:02 +00:00
David Sansome cc6413ab0e Add tracing to every timer event, might help track down CPU usage... 2010-06-25 08:46:03 +00:00