A possible way is described as following ... for example you want to apply the Action Group "UniToAsc.Diacritics" on some tag field ...
Run an Action Group which sets the UNI_TO_ASC working tag field to the value of your involved tag field _DIRECTORY.
Run the Action Group "UniToAsc.Diacritics".
Run an Action Group, which sets your tag field _DIRECTORY to the value of the UNI_TO_ASC working tag field and afterwards removes the UNI_TO_ASC working tag field.
So you will have three Action Groups ...
Begin Action Group UniToAsc.Get._DIRECTORY
Action #1 Actiontype 5: Format tag field Field: UNI_TO_ASC Formatstring: %_DIRECTORY%
End Action Group UniToAsc.Get._DIRECTORY (1 Action)
Begin Action Group UniToAsc.Diacritics
Action #1
...
Action #54
End Action Group UniToAsc.Diacritics (54 Actions)
Begin Action Group UniToAsc.set._DIRECTORY
Action #1 Actiontype 5: Format tag field Field: _DIRECTORY Formatstring: %UNI_TO_ASC%
Action #2 Actiontype 9: Remove fields Fields to remove (semicolon separated): UNI_TO_ASC
End Action Group UniToAsc.set._DIRECTORY (2 Actions)
For repeated using ...
In the Action Group dialog list view toggle these groups to ON state and save this selection using the "Utils" menu to a group selection file.
I am trying to remove accents ( Reggaetón Lento ) from file names using MP3 tag.
I've tried to do this using the above example and just can't get it to work.
Normally I used the Tag to filename button and this setup: $validate($num(%track%, 2) - %title%,)
That produces this ( 08 - Reggaetón Lento.mp3 )
And I need it to be ( 08 - Reggaeton Lento.mp3 )
Any help Please
NOTE: I have this B4A (Basic for Android) function that does what I want in. Is there someway I can call this code?
Sub RemoveAccents(s As String) As String
Dim normalizer As JavaObject
normalizer.InitializeStatic("java.text.Normalizer")
Dim n As String = normalizer.RunMethod("normalize", Array As Object(s, "NFD"))
Dim sb As StringBuilder
sb.Initialize
For i = 0 To n.Length - 1
If Regex.IsMatch("\p{InCombiningDiacriticalMarks}", n.CharAt(i)) = False Then
sb.Append(n.CharAt(i))
End If
Next
As you do not tell us what you tried, it is hard to to think of a way out of it.
The easy way is there in the shape of the mentioned actions.
The Windows file system uses UTF8 characters so any program that runs under windows should be able to read these characters. And that is why the $validate() function does not remove them.
Which Windows do you use?