INTERACT FORUM
More => Old Versions => JRiver Media Center 24 for Windows => Topic started by: petercohn on August 11, 2018, 08:07:51 am
-
I hope someone can help me with this. First of all I'd like to say that I've read everything I've found on the subject and several times. As people have been helped and they're satisfied I must come to the conclusion that there's something I've missed or misunderstood. So after several hours of reading and trying out different solutions, I'm trying to get an answer here. I use JRiver 24.0.41 (64-bit), if that matters.
My problem is that I want to move my music library to a new place and simplify it. And I've understood that F6 (Rename, Move & Copy Files) is the easiest way to do it.
So here's an example of my problem:
I want to move all the files in "D:\Nedladdad musik2\Mp3\Pop & Rock\A\Ashcroft, Richard\Alone with everybody"
to
"D:\Music\Pop&Rock\A"
But it wants to order it like this:
"D:\Music\Pop & Rock\A\Richard Ashcroft\Alone with everybody"
I want the surname, Ashcroft, to come first as it is in the first example but JRiver wants to have his first name, Richard, first.
And no matter how I change the rules, I get it to work.
Many thanks in advance to you!
PS I've attached a screen shot of how it looks in "Rename, Move & Copy Files"
-
Try Swap([Artist])/[Album] instead of just [Artist]/[Album] in the Rule box.
Hope this helps.
-
Thanks for your answer, swiv3d. But the only difference it made was to put the name of the artist inside parentheses. And it's still first name and then last name.
-
Just verified that this does what you want - try copying and pasting this into the rule box Swap([Artist])/[Album]
-
Rather than get frustrated trying to make directories obey, why not let MC just move the files, and then set the option in MC so that they display Lastname, First there?
-
ListBuild(
1,
/\,
[Genre],
If(
IsRange(Left(Swap([Album Artist (auto)]), 1), a-z),
FixCase(Left(Swap([Album Artist (auto)]), 1), 3),
#
),
Swap([Album Artist (auto)]),
ListBuild(1, / -/ , [Year], [Album]),
)
The forum and MC both display indents differently than notepad++ but it should still be fine.
EDIT: I just realized that I used my standard rule to display [Year] - [Album] so that they sort correctly. If you don't want that, you can replace the line with [Album]
-
Just verified that this does what you want - try copying and pasting this into the rule box Swap([Artist])/[Album]
My mistake, swiv3d. I didn't realize that the word "swap" should be copied too. :-) I just copied "([Artist])/[Album]".
Now the name of the artist comes in the order that I want. Thanks! But there's also a new problem: It wipes out the album names and replaces it with [Album 1].
Like this:
"D:\Nedladdad musik2\Mp3\Pop & Rock\A\Ashcroft, Richard\Alone with everybody"
to
"D:\Music\Pop & Rock\A\Ashcroft, Richard [Album 1]"
Any ideas?
-
My mistake replace the forward slash with a backward slash Swap([Artist])\[Album]
-
Rather than get frustrated trying to make directories obey, why not let MC just move the files, and then set the option in MC so that they display Lastname, First there?
Hi Jim,
Of course you're right. I guess I'm just overcomplicating it. It's just that I've had this system for decades. And for me, it's the most natural and easiest way of organizing it. A bit like in the telephone books (if anyone remembers them? :)).
So I guess I'd just stick to your suggestion and make my life easier. Thank you!
-
My mistake replace the forward slash with a backward slash Swap([Artist])\[Album]
This is your solution.
-
My mistake replace the forward slash with a backward slash Swap([Artist])\[Album]
Ahhhhh....now it's perfect! Thanks a lot!!! Now I can continue to be a stubborn mule and have it as I've always had. :)
Learning the syntax in JRiver is not easy and way beyond what my poor brain manages.
Thanks to everyone here and have a nice weekend.
-
ListBuild(
1,
/\,
[Genre],
If(
IsRange(Left(Swap([Album Artist (auto)]), 1), a-z),
FixCase(Left(Swap([Album Artist (auto)]), 1), 3),
#
),
Swap([Album Artist (auto)]),
ListBuild(1, / -/ , [Year], [Album]),
)
The forum and MC both display indents differently than notepad++ but it should still be fine.
EDIT: I just realized that I used my standard rule to display [Year] - [Album] so that they sort correctly. If you don't want that, you can replace the line with [Album]
Thank you so much. But Swiv3d suggested an easier solution, so I'll use that. But thank you for your effort and time.
-
Thank you so much. But Swiv3d suggested an easier solution, so I'll use that. But thank you for your effort and time.
If your tags are correct, that should eliminate most of the work in renaming the files.
Only using "Swap([Artist])\[Album]" would still require a lot of manual work based on the screenshot that you posted (manually specifying genre and initial).
Here's a link to the function index for the expression language if you need help deciphering it: https://wiki.jriver.com/index.php/Function_Index
-
I would suggest you look at RDJames' suggestion - it would indeed save you a lot of time and effort, you could do your whole library at once without having to mess with doing things in baby steps. And you only have to copy and paste the code into the rule box to test it!
The only problem would be if you have album tracks with varying genre eg Pop & Rock, Rock, Pop because these would end up in separate folders.
-
Left(Swap([Artist]),1)\Swap([Artist])\[Album]
would give you letter\Artist\Album
-
Since it uses ListBuild(), and every entry is on a separate line, you can just add/remove lines to modify the directory structure; i.e. remove "[Genre]," if you would prefer to specify that manually rather than using tags.
The "If…" item is crafted to group all non-A-Z items together in a single category # rather than \1\ \2\ \3\ etc.
-
Of course, the problem with using SWAP is it swaps everything. So, The Beatles becomes Beatles, The and Procol Harem becomes Harem, Procal and Grateful Dead becomes Dead, Grateful and who knows what happens to the Red Hot Chili Peppers. To get all of these correct you need to create a user defined tag and manually intervene for special cases. This has been discussed many times before. If this is a concern, do some searching.
-
Of course, the problem with using SWAP is it swaps everything. So, The Beatles becomes Beatles, The and Procol Harem becomes Harem, Procal and Grateful Dead becomes Dead, Grateful and who knows what happens to the Red Hot Chili Peppers. To get all of these correct you need to create a user defined tag and manually intervene for special cases. This has been discussed many times before. If this is a concern, do some searching.
That seems easy enough to fix by creating a new tag for artists.
1. Tools > Options > Library & Folders > Manage Library Fields > Add New Field: "Do Not Swap"
2. Type: Integer, Relation: store one value per artist, Edit type: check.
Now you should have a new "Do Not Swap" field that can be displayed, which will display a checkbox.
When checked, it will
Instead of using Swap([Album Artist (auto)]) use this instead:
If(
IsEqual([Do Not Swap], 1),
[Album Artist (auto)],
If(
IsEqual([Album Artist (auto)], Multiple Artists, 8),
[Album Artist (auto)],
Swap([Album Artist (auto)])
)
)
You could make a new calculated field for it such as "Swap Album Artist (auto)".
Then the expression becomes:
ListBuild(
1,
/\,
[Genre],
If(
IsRange(Left([Swap Album Artist (auto)], 1), a-z),
FixCase(Left([Swap Album Artist (auto)], 1), 3),
#
),
[Swap Album Artist (auto)],
ListBuild(1, / -/ , [Year], [Album]),
)
You have to do the work of tagging the artists where this applies, but once that's done you should never have to touch it again.
It may depend on how your library is tagged, but I think this Smartlist should make that easier:
[Media Type]=[Audio] [Media Sub Type]=[Music] [=IsEqual([Album Artist (auto)], Swap([Album Artist (auto)]), 1)]=0 -[Album Artist (auto)]="Multiple Artists" ~nodup=[Album Artist /(auto/)] ~sort=[Album Artist (auto)]
You could take it further still, by having a custom tag for artists that do need the name swapped, but the Swap() function does not work correctly with, but that's probably enough for one post.
-
The standard fix for the swap problem is to create a new field with the specific artist name you want to use. If it is blank, the swap is done. If not, the specified one is used.
-
The standard fix for the swap problem is to create a new field with the specific artist name you want to use. If it is blank, the swap is done. If not, the specified one is used.
It won't let you multi-select and just toggle a checkmark to change multiple artists at once, but that might be the easier solution.
Then you could just use: FirstNotEmpty([New Field], Swap([Album Artist (auto)]))
-
Personally, I would just create a music folder and then let the move function put the files into Artist\ Album folders, and just use the genre tags etc to display what I want in in the MC display window. I don't really care much about what the folder structure is as long as it is simple to navigate when I have to.
-
Personally, I would just create a music folder and then let the move function put the files into Artist\ Album folders, and just use the genre tags etc to display what I want in in the MC display window. I don't really care much about what the folder structure is as long as it is simple to navigate when I have to.
Agreed. My directory structure is: \Audio\Music\Album Artist\Year - Album\
Anything else, except maybe an A-Z index, adds too much complexity if you ever do want to browse the file structure.
My file naming scheme is built so that you could display everything 'flat' without a directory structure and they would still sort into an organized list, rather than only using track numbers or titles.