Program to recursively find images and rename to "cover.jpg"
As the title suggests, I'm looking for a simple way to rename all the album art that has accumulated in my music folders over the years. I've used multiple music players in a never ending quest to find the perfect audio player, consequently ending up with a bazillion different jpg's and png's in my music sub-folders (due to stupid automatic cover downloading plugins) with ridiculously long names, such as:
Code:
Accept_-_Metal_Masters-front.jpg What I want to do here is
Ideally I envision a graphical interface that will find the files and display them to me, allowing me to then perform one of the actions I listed above. Does such a program exist? The closest thing that I've ever seen to this is a program written for Windows called Album Art Downloader. It is an awesome program and runs in wine, but sometimes gives me weird results. Is there a native Linux program similar? Many thanks. **A caveat here is now I'm using xmms2 with xmms2tray, which uses dbus to display album art in the pop-ups. Every one of my albums has art, yet for some reason hardly any of it displays in the pop-up. Anyone know what the filename is that xmms2tray is looking for? |
I have no idea about a GUI application. But from the command line it is quite easy, with "find".
Code:
# find . -name ".jpg" -exec mv {} cover.jpg \; Alternatively you could replace "-exec mv {} cover.jpg \;" with -delete, to remove them completely. |
That sounds like it will work. Do you know if I could use the rename command rather than delete? I'll probably just use delete and start from scratch as it will less painful, but for future reference?
|
Quote:
|
Quote:
Code:
find . -name '*.jpg' -execdir echo mv {} cover.jpg \; |
Thanks for the tip about -execdir and echo. I wasn't familiar with that. I've got so much multiple art though I think I'm just going to delete it and start fresh. What a pain. How would I use echo with delete?
|
Quote:
Code:
find . -name '*.jpg' -exec echo rm '{}' \; |
Quote:
Code:
{} Experimenting: Code:
c@CW8:~$ echo {} |
Quote:
|
Also, use "-iname" instead of "-name" in you want to match case insensitively (*.jpg and *.JPG are different files in linux).
Use the following to find both *.jpg and *.png in one go. Quote:
|
I can understand wanting to remove 'excess' artwork......but why would you want them named 'folder.***' or 'cover.***'? Seems a bad idea to have 10s, 100s or 1000s or files with the same name, even if they are in different folders. I know some media players require 'cover.***' or 'folder.***' but that has always struck me as silly....and the media players I use with album art display dont have requirements like that.
I have no idea why xmms2tray wont display most of your album art. Try checking the art it will display, there are a few possibilities (like it gets the 1st pic file it finds, and tries to display it, but wont display images over 200x200, or wont display images that arent .jpeg, etc..). It might even be that it is only displaying artwork embedded into the tags.... |
Quote:
|
Quote:
Anyone know if exfalso do batch art embedding? (or any other program for that matter) |
Well, I'm not too familiar with python, but i think I've found the relevant portion of code handling album art. Can anyone clarify what I'm looking at here? (HAVE_IMAGING is set to true as long as python imaging library is found, which it is in this case) Looks to me like it wants a 64x64 image and will resize to this if the original image is larger. This could be my problem because all my art is MINIMUM 500x500. Any thoughts?
Code:
def newsong(self,res): |
Well I did some more digging and found that it is only reading embedded art from the ID3 tags. That really blows. Guess I'll get started embedding one song at a time....:rolleyes:
|
All times are GMT -5. The time now is 09:19 PM. |