Icester
Board Newbie
Group: Members
Posts: 5
Joined: Dec. 2005 |
 |
Posted: Dec. 28 2005,22:16 |
 |
This would be a quite useful and advanced feature - program control! Basically a programming language for mp3-tag studio using basic program control such as if/then, do, while, and break statements with some text and id3 tag testing. Also some tests like "hasa", "upto", "after", and "between" would be most useful (ie. to get text in a string up to the first comma would be "upto(string, ",")" to check to see if it contains a comma would be hasa(string,",") ). These test would also hopefully help avoid some of the tedium of programming as well as excessive counters and variables.
It would probably have to go in a text dialog box as it could be several lines long (at least) for really advanced manipulation.
I know it seems like a lot of work for some "simple" renaming or tagging, but it would really be useful for restructuring your existing collection!
Here is a contrived example. Supposed your collection is already tagged with year, album, artist, track, but maybe only v1 or only v2 - you aren't sure which.
Supposed you have: \Genre\ArtistLast, First\Album\track - Title.mp3
and you wanted: \First ArtistLast\(Year) Album\track - Title.mp3
Some default parameters for the files are: 2dirUp = ... (so value of 2dirUp = "Genre" ) 1dirUp = .. (so value of 1dirUp = "ArtistLast, First" ) curDir = . (so value is "Album" ) Assume that tags use the same <Artist> or <Title> convention as already established.
Here is an example script/program (using those tests mentioned earlier): /* parse genre */ if Genre != "" then <Genre> = 2dirUp; else <Genre> = "Blues"; end
/* check for year in directory name */ if char("1dirUp", 1) == "(" then /*check first char for ( Year = between("1dirUp", "(", ")" ); end if len(Year) <= 4 then <Year> = Year; end
/* parse Artist */ if hasa("1dirUp", ",") then LastName = upto("1dirUp", ","); FirstName = after("1dirUp", ","); end <Artist> = (FirstName, LastName);
etc. etc.
|