View Issue Details

IDProjectCategoryView StatusLast Update
0015494MediaMonkey 5Properties/Auto-Toolspublic2020-10-20 18:15
Reporterrusty Assigned To 
Status newResolutionopen 
Product Version5.0 
Target Version5.1 
Summary0015494: Auto-organize masks work incorrectly for right-to-left languages
DescriptionFor languages such as hebrew/arabic, masks work incorrectly in cases where multiple right-to-left tags span a directory separator.

For: <Album Artist>/<Album>/<Artist> - <Title>
if: Album, Artist, and Title all contain tags in a right-to-left language (but Album Artist is in English), then the directory will end up in the form: Album Artist/Title-Artist/Album !

The problem is that '/' (directory separators) don't seem to be separating the fields correctly. Note: I'm not testing on a Hebrew/Arabic version of Windows, so it's possible that the above change should only be made when the beginning of the directory is in a left-to-right language.

e.g. if the mask begins with D:\My Documents... then the '\' should split the hebrew/arabic fields.

2 sample files posted to the server.

TagsNo tags attached.
Fixed in build


related to 0001163 new MediaMonkey (current) Problems with character sets that are right to left 
related to 0017010 closedpetr MediaMonkey 5 Cursor handling / text editing works incorrectly for Right-to-left languages 



2019-04-04 16:52

developer   ~0053151

Last edited: 2019-04-04 16:52

View 2 revisions

It is general problem with right-to-left languages and mixing with left-to-right concatenation and characters (when creating path). Specific characters in concatenated strings affect, how the concatenation is made and how the string is internally interpreted. It is complex issue, I did not find reasonable solution now. For example string ".\1HHHHHH\" where H i Hebrew character has internally "." as first character, "\" as second, then all "H" from the end, then "1" and the last character is "\" (i.e. the second displayed character is in fact last in given string). Concatenation of such string is problematic then...