fossfreedom / coverart-browser

Browse your cover-art albums in Rhythmbox v2.96 - 3.0+
http://xpressubuntu.wordpress.com/
GNU General Public License v3.0
74 stars 19 forks source link

Allow to drag&drop albums from the cover view source into other sources #169

Closed asermax closed 11 years ago

asermax commented 11 years ago

I came to want this one since I tried to use the cover view to search for albums to sync into my phone, and it was kinda cumbersome. I had to select the albums, open the bottom pane, select the songs and just then I could drag and drop the songs to my phone "source".

Being able to drag and drop an album directly (which would "send" all the entries insides it to the other source) would help speeding up the process.

fossfreedom commented 11 years ago

what kind of phone? I presume this is so that jpg's are saved to the folder containing the track?

To be honest - I thought the sync feature of RB did this until I saw this guy had this issue with sync'ing coverart

I suppose this is a flip-side of the other issue we have to investigate embedding coverart to enable covers to be shown correctly on sync'ing.

asermax commented 11 years ago

I don't really care about the covers in this case since my android phone seems to be getting them from somewhere (lastFM apparently). What I mean is to be able to drag and drop the album and having the same result as if you had selected, drag and dropped a group of entries.

fossfreedom commented 11 years ago

ahh - ok - understand. I presume this will use the RB Async Batch copy stuff? Does your android phone just appear as a folder (mass storage device)?

EDIT: - https://developer.gnome.org/rhythmbox/unstable/RBTrackTransferBatch.html

Or is this just a simple copy of the tracks from one folder to another?

asermax commented 11 years ago

Yes, for some reason it doesn't want to work with the Media Transfer Protocol(neither nautilus nor rhythmbox) so I have to connect it as a mass storage device. It works alright, Rhythmbox shows me both the internal memory and the sd card.

EDIT: I'm not sure how it's supposed to be implemented, haven't done anything that involved moving entries from one source to another yet. If the RBSource provides some mechanism to do this easily, I would go for that, but if not, probably the classes you posted are the way to go.

fossfreedom commented 11 years ago

I thought I remembered something ...

this is what I remembered - http://www.webupd8.org/2013/01/upgrade-to-gvfs-with-mtp-support-in.html

I know you are using wheezy - maybe look for the equivalent sid package and recompile to get mtp support?

fossfreedom commented 11 years ago

@asermax - I'm thinking of wrapping this release up now and pushing for the translators to do their stuff for the next 2 weeks.

Any-thoughts - or burning desires to get this or anything else into this v0.8 release?

asermax commented 11 years ago

this is what I remembered - http://www.webupd8.org/2013/01/upgrade-to-gvfs-with-mtp-support-in.html

Oh, I thought I had answered to this, guess I didn't. My machine seems to have support for mtp, but it's really buggy. Nautilus takes a lot of time to open a folder through mtp (if it opens at all) and rhythmbox seems to detect the phone but I can't do nothing with it, I can't push nor read information to/from the phone. So for now, mass storage device is the way to go.

Any-thoughts - or burning desires to get this or anything else into this v0.8 release?

Not really. As you may have noticed, I don't have that much free time as I had last year. Even if I say I would like to add something else, I won't be able to promise I will finish it before the release date xD I want to finish up the last touches to the source refactoring, but that doesn't really affect the rest of the plugin at all (it's more of a development refinement), so we can keep it on the back burner for now.

Anyhow, I suggest we make a branch for the finishing stages of this release (translations and tiny bugs that may have been introduced by the latest changes) and keep master for those changes that won't be mature for release, as if I have some extra time to start working on something else, or you feel like implementing another feature. Once v0.8 is ready and released, we would merge all the changes back to master of course.

fossfreedom commented 11 years ago

@asermax

I like this idea ... especially since I've only just got a blackberry and I was looking for ways to send songs to it when you threw up this issue.

I've pushed to "drag" branch basic drag-drop which seems to work for my phone and also to nautilus. It doesnt work yet for playlists - not sure about this.

EDIT: yes - playlists work now.

asermax commented 11 years ago

Yup, it's working for me too. Haven't tested with my phone yet, but it's working alright with all the other sources, so it's safe to asume it will work too. Good work!

jrbastien commented 11 years ago

Hi, I did not have a chance to test this feature yet until today. A couple of observations:

asermax commented 11 years ago

The implementation doesn't depend on the MTP plugin, it does a generic transfer using drag and drop callbacks (you can drop an album pretty much anywhere, like nautilus for example). The dependency on the MTP plugins comes from the device itself, due to the protocol it uses to trasfer media. In my case, my android phone doesn't work correctly with MTP so I have to connect it as a mass storage device, and it works fine without the plugin.

The second issue seems to be a legit bug, I'll check it out later.

asermax commented 11 years ago

I made a little change that should have fixed that issue. Neverthless, the property I used to determine if the track comes from an external device may cause something else to stop working correctly (I'm not completely sure if that flag is used somewhere else), so we should keep an eye on it. Also, if we want to show the external device on the coverview (as with playlists) I doubt it would work.

I think hiding this entries should be the default behavior, but I'm not completelly sure, what do you both think @fossfreedom @jrbastien?

jrbastien commented 11 years ago

I'm not quite sure I understand your question. If you are asking "Should we hide the external devices entries from coverview?", I would say yes. Otherwise if you have synced your device with your library, everything will appear duplicated.

Thanks for the fix, I'm testing it as soon as I have a chance.

As for needed the MTP plugin for iPod sync, this baffles me!

fossfreedom commented 11 years ago

seems to work for me :) ... I've cherry-picked this and added it to the release-0.8 branch.

I'll also add the MTP observation jrbastien has made.

jrbastien commented 11 years ago

This is now working fine as well for me with the latest master. I just noticed the release 0.8 and the credits to the "Chief tester". Thanks a lot!

fossfreedom commented 11 years ago

@jrbastien - your help and insights for this particular release has been particularly invaluable. So 3 cheers from me :)