Case Conversion

Hi,
Is there any way in which files which have been changed can be displayed.

By way of an example: Roman numerals would be changed from II to Ii

I have about 26,000 files and estimate about 5% of them will have "case" problems. Doing a Case Conversion on an album by album basis would drive me nuts (OK more nuts!!) but batches of a few hundred would be manageable if the changed files could be identified.

You could check the "Modified" date of the files.
Also, for case conversion you could check if $caps2() would be a good function

Hi.
I am about to "release" my own set of actions that deal with Mixed Case in what I called "Enhanced" way, because it deals with many exceptions and particular situations, in which you forcibly want upper-case (e.g. OST, P.S.) or in which you want lower-case (e.g. of, a, the, an, in, etc.)

So I created three actions.
1.1. Mixed Case ALL (Roman Numerals, OST, Publishers, MediaTypes)
1.2. Lower Case ALBUM (A, THE, OF, AND, AT, IN, AN) (ENG, FR, PT)
1.2. Lower Case TITLE (A, THE, OF, AND, AT, IN, AN) (ENG, FR, PT)

The first MixedCase simply puts everything in all fields in MixedCase.
It also works with Romans numbers, up to 50 (L). I think no one will need more than that, and the greater the number of characters used, the greater is the risk of messing things up.
Pay attention to URLS in comments and other fields, because it also does it in them, and might break some links that are case sensitive (anything after the domain name).
But that is the only problem I know of and I already tested in several hundreds of files in three different languages.

The other two are to be applied optionally if you want lower-case articles (a, the, in, of, etc.).
They only affect the mentioned fields ALBUM and TITLE. I did them separate to provide more flexibility, so that you may do one without the other.
They work for articles in three languages already: English, French and Portuguese.
It is still under development (but you may help too if you want), but I think most cases are already being taken care of.

Try it with a few of your tags just to see the effect and check if you like it not.
This is only a "beta" version, so I'll will wait a few more weeks to release a final version in it's own thread. But since you are already in need, here it is. :wink:
Hope this may help.

The file I attached is in Zip format and contains the 3 actions. You just have to extract and put them in the correct mp3tag folder: [...]\Mp3tag\data\actions

Mp3Tag_Actions_EnhancedMixedCase_Conversion_Nature__2014_06_24_.zip (1.76 KB)

Nice!
But French and Portuguese, along with most languages other than English, don't capitalize all words in titles. So you don't really need those articles.

You might want to add a few more to your list of words that are always lower case. This is the list I use:

a,an,and,as,at,by,for,from,in,into,of,off,on,or,the,to

Actions like this are most complicated and will probably take significant time and effort to perfect.
For example, An Album may have the name,
Nature Boy: The Standards Album

Your action would change that to,
Nature Boy: the Standards Album

I am not trying in any way to belittle your efforts but I think that this could become a major project.

Thank you

I looked at Nature's actions and they're quite complicated to me, but I'm not an expert with regular expressions.

The way I do it is create an action "Replace with regular expression" which I call "Small words lower case" that looks like this:

Field: _ALL
Regular expression: \s(a|an|and|as|at|by|for|from|in|into|of|off|on|or|the|to)(?=\s)
Replace with: $lower($0)

and do not check "case-sensitive comparison".

So most of the time all I do is run that one action. If I have several words that aren't capitalized, but should be, I run the action that comes with Mp3tag "Case conversion" which puts a capital letter for the first letter of all words. Then I run "Small words lower case".

Now I will still have the same problem with "Nature Boy: the Standards Album", but I only have a handful of albums that are worded that way so I just handle those manually, the same thing with Roman Numerals. No matter how you do it there's going to be the occasional exception that you have to edit manually.

You can repair such formatting quirk using the following formatting instruction ...

From: Nature Boy: the Standards Album
To: Nature Boy: The Standards Album

Action: Format value
Field: ALBUM
Formatstring: $regexp(%ALBUM%,':\s+(.)',': \u$1')

From: 01. nature Boy: the Standards Album
To: 01. Nature Boy: The Standards Album

Action: Format value
Field: TITLE
Formatstring: $regexp(%TITLE%,'([.:])\s+(.)','$1 \u$2')

DD.20140626.1636.CEST, DD.20140627.1813.CEST

Excellent!
There is always a way....................just don't know enough to be able to figure it out!!
At nearly 71 years old I'm just too old to learn!! Ha!

Thank you for suggestion, Stanman.
I haven't had the time to do a thorough search of words, so this is quite useful. :slight_smile:
IF someone wants to give words for french and portuguese or any other language I coulds integrate them too. :slight_smile:

"OFF" is certainly not an article, it's a word in its own right, so I think I should leave that one out (at least, in the first main Action).
But more actions can be created with whatever exceptions and particular cases we may need.

I already integrated all these words in the next version. :slight_smile:
I took the opportunity to improve many other things and now I'm using exactly the fields I want to change, not the "_ALL" pseudo tag. This way I have complete control over what is changed and this way, I will not change URLS. :wink:

Dear auldyin,

The actions take many things into consideration, including the start of a field name and precedence of other characters, such as (but not limited to)
: , ; - \ / " '
and many other special cases; for instance, it will always UpperCase expressions as "OST", "P.S.", and the names of some publishers like "RCA", "BMG" and others.

I did not post here exactly all the things the actions do, because I'm concentrating in developing them, first.
Only after that, as I wrote above, I will release them in its own thread.
However, since a user seemed in great need of such a thing, I posted it. Just trying to help.

I expect to improve them further (in fact, that's what I did yesterday). But for now, as they were posted here, they already do a lots of things. But I'm always looking up for new situations to improve. :wink:

Thank you for you support and understanding.

Again, many thanks to you DetlevD.
I did check this yesterday and it served as an example to me, although I'm using a different strategy (direct RegEx replacement) and I'm using the the pipes to join several words (as you said on another thread) and so the expressions I'm using are different. But they already do this special case and many others. :slight_smile:
I expect to release them soon with a full change log of what they do. :wink:

In your post #12 the citation is not correct, because you have mangled together two different example cases from my post #8.

DD.20140628.0539.CEST

I'm sorry DetlevD.
I just fixed it.

It's just to inform the users of this thread that I already released the Actions. :slight_smile:

I think auldyin will be pleased to know that the actions handle Roman Numerals, the "The" in the way he expected and even many more (ways and words). :slight_smile:

You can download them in this thread:
/t/15863/1

Cheers Nature.

About to try out your Actions