IPB

Welcome Guest ( Log In | Register )

 
Reply to this topicStart new topic
Rename mixed FLAC/MP3 files into folders, Was: Here is what I am wanting to do...
Seufari
post Dec 2 2009, 09:22
Post #1





Group: Members
Posts: 12
Joined: 24-July 05
Member No.: 23489



So here is what I am wanting to do... It doesn't seem like much in my eyes, but I cannot seem to find the best way to do it.

I have flac and mp3 files intermingled in a unsorted folder. I want a program to separate the two into separate directories according to their extension and then by their tag data.

So here is what it looks like:

Input:
C:\unsorted folder\random subdirectories\mp3 and flac files

Output:
C:\music - mp3\file directories according to tag data\mp3 files
C:\music - flac\file directories according to tag data\flac files


Is there a program that will get this done?

This post has been edited by Seufari: Dec 2 2009, 09:23
Go to the top of the page
+Quote Post
Synthetic Soul
post Dec 2 2009, 10:36
Post #2





Group: Super Moderator
Posts: 4887
Joined: 12-August 04
From: Exeter, UK
Member No.: 16217



foobar could do this for you, or (I expect) MP3Tag.

I'll deal with foobar as I don't know MP3Tag (although I think the syntax is the same/similar).

You would throw all files into a playlist, and then choose to move or copy them using a file name pattern like:

Music - %codec%\[%album artist%\][%album%\][Disc %discnumber%\][%tracknumber% - ]%title%$if($meta(album artist),' ('$meta(artist)')',)

... choosing a destination folder of C:\.

You will find the file operations in the context menu of the playlist (select all files, right click, and choose "File Operations" > "Move To".

There is probably a guide here that explains the process in depth further.

Use the preview in the dialogue to ensure that the files will be renamed as you hope.

Edit: The files will be named according to their tags. You must ensure that your tags are accurate before you perform the operation. It's always useful to have accurate tags in any case. "Various Artists" albums should have the ALBUM ARTIST "Various Artists". Albums with only one artist should not use ALBUM ARTIST, only ARTIST.

The file name pattern above is (apart from the initial folder) the string that I use, and will result in file paths like so:

Music - MP3\Pixies\Doolittle\01 - Debaser.mp3
Music - FLAC\Eels\Blink Lights And Other Revelations\Disc 1\01 - Theme From Blinking Lights.flac
Music - FLAC\Various Artists\8 Mile Soundtrack\01 - Lose Yourself (Eminem).flac
Music - MP3\Various Artists\CBeebies - The Official Album\Disc 2\01 - Mambo No 5 (Bob The Builder).mp3

This post has been edited by Synthetic Soul: Dec 2 2009, 10:44


--------------------
I'm on a horse.
Go to the top of the page
+Quote Post
probedb
post Dec 2 2009, 10:39
Post #3





Group: Members
Posts: 1311
Joined: 6-September 04
Member No.: 16817



Pretty sure mp3tag can do a similar thing.
Go to the top of the page
+Quote Post
Synthetic Soul
post Dec 2 2009, 10:45
Post #4





Group: Super Moderator
Posts: 4887
Joined: 12-August 04
From: Exeter, UK
Member No.: 16217



Yes, I very much expect it will, and the OP may be happier to use it if he is happy with his player already.

Personally, I use foobar for playing, tagging, renaming, the lot.


--------------------
I'm on a horse.
Go to the top of the page
+Quote Post
DragonQ
post Dec 2 2009, 11:24
Post #5





Group: Members
Posts: 49
Joined: 27-March 07
Member No.: 41926



I actually wrote a program in VB.NET to do this for me based on tags after I recovered a load of WMA Lossless files from a dead HDD (the recovery software obviously couldn't find the folder or file names because the MFT was corrupt so they were named "Windows Media Audio (xxxx).wma" where xxxx was a random number). Probably wouldn't be useful for you though.

This post has been edited by DragonQ: Dec 2 2009, 11:24
Go to the top of the page
+Quote Post
odyssey
post Dec 2 2009, 13:02
Post #6





Group: Members
Posts: 2296
Joined: 18-May 03
From: Denmark
Member No.: 6695



You can always use %filename% in correlation with Synthetic Soul's example in foobar2000 if you are unsure if your tags are correct.


--------------------
Can't wait for a HD-AAC encoder :P
Go to the top of the page
+Quote Post
Zarggg
post Dec 2 2009, 17:07
Post #7





Group: Members
Posts: 563
Joined: 18-January 04
From: bethlehem.pa.us
Member No.: 11318



IIRC, doesn't %album artist% defer to %artist% if no Album Artist tag exists?
Go to the top of the page
+Quote Post
Seufari
post Dec 2 2009, 17:28
Post #8





Group: Members
Posts: 12
Joined: 24-July 05
Member No.: 23489



Thanks for the quick replys...

QUOTE
You will find the file operations in the context menu of the playlist (select all files, right click, and choose "File Operations" > "Move To".


Unfortunately my foobar does not have this context menu... When I right click, I get:

Remove
Crop
Sort
Cut
Copy
Utils
Add to Playback Queue
Open Containing Folder
ReplayGain
Properties
Convert

Why is mine different?

Go to the top of the page
+Quote Post
dios-mt
post Dec 2 2009, 17:35
Post #9





Group: Members
Posts: 31
Joined: 5-May 06
Member No.: 30424



QUOTE (Seufari @ Dec 2 2009, 18:28) *
Unfortunately my foobar does not have this context menu...


Which version you have installed?
File operations came with Version 0.9.5.
Latest Version is 0.9.6.9 or 1.0 beta 2a.
Go to the top of the page
+Quote Post
Seufari
post Dec 2 2009, 17:38
Post #10





Group: Members
Posts: 12
Joined: 24-July 05
Member No.: 23489



QUOTE (dios-mt @ Dec 2 2009, 09:35) *
QUOTE (Seufari @ Dec 2 2009, 18:28) *
Unfortunately my foobar does not have this context menu...


Which version you have installed?
File operations came with Version 0.9.5.
Latest Version is 0.9.6.9 or 1.0 beta 2a.


I have the latest non-beta version...

Re-installing... Seems File Operations is not installed by default...

This post has been edited by Seufari: Dec 2 2009, 17:38
Go to the top of the page
+Quote Post
Synthetic Soul
post Dec 2 2009, 18:18
Post #11





Group: Super Moderator
Posts: 4887
Joined: 12-August 04
From: Exeter, UK
Member No.: 16217



QUOTE (Zarggg @ Dec 2 2009, 16:07) *
IIRC, doesn't %album artist% defer to %artist% if no Album Artist tag exists?
Yes, it does.

I use the system - and I believe it is reasonably popular - that relies on ALBUM ARTIST only being there if it is required. Therefore on "normal" albums I set ARTIST only, and on VA albums I set ALBUM ARTIST to "Various Artists" and ARTIST to the track artist. This means that %album artist% will always provide the album artist, but $if($meta(album artist),' ('$meta(artist)')',) will only append the artist name to the track title if ALBUM ARTIST is set.

Edit: Perhaps a more robust script may only append the artist if ALBUM ARTIST is present and is different to ARTIST, but I personally don't need to complicate my script further.

This post has been edited by Synthetic Soul: Dec 2 2009, 18:23


--------------------
I'm on a horse.
Go to the top of the page
+Quote Post
tpijag
post Dec 2 2009, 18:28
Post #12





Group: Members
Posts: 2353
Joined: 19-May 08
Member No.: 53637



I use pretty much the same system.

I believe you can simplify above.

Would adding [%track artist%] to track title column formatting accomplish the same as the if statement?

Just FYI

terry

This post has been edited by tpijag: Dec 2 2009, 18:30
Go to the top of the page
+Quote Post
Zarggg
post Dec 3 2009, 16:25
Post #13





Group: Members
Posts: 563
Joined: 18-January 04
From: bethlehem.pa.us
Member No.: 11318



Yes, that's essentially my line of thought, tpijag. I was hoping Synthetic Soul could confirm or deny that. tongue.gif

I actually use the same tagging system (Album Artist iff Artist is not common for all tracks, or release entity -- in the case of Japanese doujin circle releases -- is not the same as the actual artist). However, in my tagging scripts I use something similar to "%album artist% ... [%artist%] ... "

This post has been edited by Zarggg: Dec 3 2009, 16:28
Go to the top of the page
+Quote Post
odyssey
post Dec 3 2009, 16:38
Post #14





Group: Members
Posts: 2296
Joined: 18-May 03
From: Denmark
Member No.: 6695



%album artist% will return the ALBUMARTIST field if it's defined! If it's not set, it will rely on the %artist% field.

Adding brackets [ ] around a tag makes it only appear if the tag is set. If a tag is not set, it will return a questionmark "?" instead.

There's no such thing as %track artist% - You have %artist%, and this will always return the ARTIST field - Not ALBUMARTIST even if it's set or not.

Visiting the foobar2000 forum regarding foobar2000 questions might yield better results - We are a few more than just Synthetic Soul that uses foobar2000 wink.gif Note there's also an IRC channel for quick/small questions, #foobar2000 @freenode


--------------------
Can't wait for a HD-AAC encoder :P
Go to the top of the page
+Quote Post
Synthetic Soul
post Dec 3 2009, 17:12
Post #15





Group: Super Moderator
Posts: 4887
Joined: 12-August 04
From: Exeter, UK
Member No.: 16217



QUOTE (tpijag @ Dec 2 2009, 17:28) *
Would adding [%track artist%] to track title column formatting accomplish the same as the if statement?
QUOTE (Zarggg @ Dec 3 2009, 15:25) *
Yes, that's essentially my line of thought, tpijag. I was hoping Synthetic Soul could confirm or deny that. tongue.gif
Well, I have no idea how long %track artist% has been available, but I must admit I had no knowledge of it, and you are correct: it could simplify my string. I've been using the above string for a while, and I just haven't bothered trying to improve it.

It seems that I could change:

CODE
%title%$if($meta(album artist),' ('$meta(artist)')',)

... to:

CODE
%title%[' ('%track artist%')']

Thanks for the info. smile.gif


--------------------
I'm on a horse.
Go to the top of the page
+Quote Post
Synthetic Soul
post Dec 3 2009, 17:14
Post #16





Group: Super Moderator
Posts: 4887
Joined: 12-August 04
From: Exeter, UK
Member No.: 16217



Edit: Simplify and improve: as it will deal with tracks with ARTIST and ALBUM ARTIST being the same.

Bah! What happened to quick posts being joined!

This post has been edited by Synthetic Soul: Dec 3 2009, 17:15


--------------------
I'm on a horse.
Go to the top of the page
+Quote Post
Teknojnky
post Dec 3 2009, 17:44
Post #17





Group: Members
Posts: 335
Joined: 12-April 06
Member No.: 29453



Mediamonkey also does this (auto-organize) and has some conditional branching you can use to customize the paths/naming for particular tags (or absence of tag).

For example, my rather complex and long 'final resting place' mask:

CODE
$left(\Media\$upper(<Type>)\$if(<Album Artist>,$if(<Album Artist>=various,_<Album Artist>,$if(<Album Artist>=techno,_<Album Artist>,$if(<Album Artist>=soundtrack,_<Album Artist>,<Album Artist@1>\<Album Artist>))),<Artist@1>\<Artist>)\$if(<Album>,$if(<Year>,<Year> - )<Album> [$upper(<Type>)])\$if(<Track#>,<Track#:2> - )<Artist> - <Title>,230)


results in a path like

J:\Media\FLAC\A\A Silver Mt. Zion\2000 - He Has Left Us Alone, but Shafts of Light Sometimes Grace the Corner of Our Rooms... [FLAC]\01 - A Silver Mt. Zion - Broken Chords Can Sing a Little.flac


--------------------
Last.FM Nodes for your library @ http://build.last.fm/item/356
Go to the top of the page
+Quote Post
odyssey
post Dec 3 2009, 18:36
Post #18





Group: Members
Posts: 2296
Joined: 18-May 03
From: Denmark
Member No.: 6695



So, my sig finally made a point...

%track artist% only returns ARTIST field if it's different from ALBUMARTIST it seems? Well guess that could turn out to be useful some day, but currently... not for me.


--------------------
Can't wait for a HD-AAC encoder :P
Go to the top of the page
+Quote Post
odyssey
post Dec 3 2009, 18:40
Post #19





Group: Members
Posts: 2296
Joined: 18-May 03
From: Denmark
Member No.: 6695



QUOTE (Synthetic Soul @ Dec 3 2009, 17:12) *
It seems that I could change:

CODE
%title%$if($meta(album artist),' ('$meta(artist)')',)

... to:

CODE
%title%[' ('%track artist%')']

Just to make it clear, those two formattings are NOT the same!

This post has been edited by odyssey: Dec 3 2009, 18:41


--------------------
Can't wait for a HD-AAC encoder :P
Go to the top of the page
+Quote Post
Synthetic Soul
post Dec 4 2009, 17:02
Post #20





Group: Super Moderator
Posts: 4887
Joined: 12-August 04
From: Exeter, UK
Member No.: 16217



No. I assume you are referring to the point I made in post #16?

The first will append " (<artist>)" if ALBUM ARTIST has been set to any value. If ARTIST is not set you will get " ()".

The second will append " (<artist>)" if ALBUM ARTIST has been set to a value that is different to ARTIST. If ARTIST is not set you will get "" (nothing).

It works for my current system, and will cope better with tracks that have both set the same (and even tracks that have no ARTIST tag set, of which I have none). This has also spurred me to make another amendement to cope similarly with a TOTALDISCS value of "1" (I don't want a "Disc N" subfolder if there is only one disc), making my new string:

CODE
[%album artist%\][%album%\]$ifgreater(%totaldiscs%,1,Disc %discnumber%\,)[%tracknumber% - ]%title%[' ('%track artist%')']

Thanks again to tpijag for the suggestion.



--------------------
I'm on a horse.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 22nd November 2014 - 15:42