INTERACT FORUM

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1]   Go Down

Author Topic: Multiple artists question  (Read 2510 times)

yannis

  • World Citizen
  • ***
  • Posts: 229
Multiple artists question
« on: May 11, 2013, 08:16:59 am »

OK, I went ahead and changed my artists to multiples using semicolons. Right now, songs named in the following pattern are not considered dupes.

SameSongName by ABC; XYZ
SameSongName by XYZ; ABC


How can I make MC create a smartlist for dupes with the same artists' names in a different order?

And, how can I populate a list of this kind of artists to tweak?
Logged

6233638

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 5353
Logged

yannis

  • World Citizen
  • ***
  • Posts: 229
Re: Multiple artists question
« Reply #2 on: May 11, 2013, 09:08:47 am »

Thanks, but I'm not that duff.  :-[ 

It is imperative to have the Artists field applied, or else the dupe names list is huge an unmanageable.
Logged

6233638

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 5353
Re: Multiple artists question
« Reply #3 on: May 11, 2013, 10:16:41 am »

There are people here that know how to handle this better than I do, but does this work for you?

  • Tools > Options > Library & Folders > Manage Library Fields
  • Add New Field: Artists (sorted)
  • Calculated Data: listitem(listsort([Artist]),0)
  • ~dup=[Artists (sorted)],[Name]
It will only catch duplicates where the first artist after being sorted is the same though.

So it will catch:
Name by AAA; BBB
Name by BBB; AAA
Name by AAA

But not:
Name by BBB
Logged

yannis

  • World Citizen
  • ***
  • Posts: 229
Re: Multiple artists question
« Reply #4 on: May 11, 2013, 11:17:49 am »

Well, thanks for the tip; it's not perfect, but it does bring the dupes list down to 1/3. It'll do for now.  :)
Logged

yannis

  • World Citizen
  • ***
  • Posts: 229
Re: Multiple artists question
« Reply #5 on: May 11, 2013, 12:13:52 pm »

Ok, this'll keep me busy for a while; but is there a way to sort together the different pairs or trios of artists? (regardless of their songs)

I mean,

AAA; BBB
BBB; AAA
CCC; DDD
DDD; CCC

etc...
Logged

6233638

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 5353
Re: Multiple artists question
« Reply #6 on: May 11, 2013, 12:47:51 pm »

If all you want is to group collaborations together when all artists are the same, but in a different order, you can create a new library field using: listsort([Artist]) and group by that.



The JRiver Wiki goes into a good amount of detail about expressions here: http://wiki.jriver.com/index.php?title=Media_Center_expression_language


But to make things a bit easier, I'll explain the expressions that I have used.

~dup= means "a duplicate of"
Any tags you use after that will be compared, so if you just use ~dup=[Name] it will only look for duplicates inside the name field.
If you use ~dup=[Name],[Artist] it will only show up as a duplicate if both the name and the artist fields are duplicated - but that only works when the Artist field is exactly the same on both tracks. As you found out, it doesn't apply when they are in a different order.


Now the [Artists (sorted)] library field we created uses the function listitem(listsort([Artist]),0)
Breaking that down, there are two functions being applied:
listitem(   ,0)
listsort([Artist])

Working backwards, listsort([Artist]) is a function which sorts all values inside a list field. So that sorts BBB; AAA; CCC to AAA; BBB; CCC. You can change [Artist] to any other field.
And listitem(   ,0) picks out a specific item from a list. Expressions start counting from 0 rather than 1, so 0 is the first item in the list.

Now if we just used listitem([Artist],0) and gave it: AAA; BBB, it will return AAA
But if you send that BBB; AAA, it will give you BBB - because that is the first item in the list.
If you used listitem([Artist],1) and the artist field has AAA; BBB; CCC it would return BBB, because that is second in the list.

So you combine the two functions together - you sort the list first, and then you pull out the first value from that sorted list: listitem(listsort([Artist]),0)

This way it is only actually comparing the first item in your list.
So if you have:
  • AAA; BBB; CCC
  • BBB; AAA
  • CCC; BBB; AAA
  • AAA
It's sorting them all to read:
  • AAA; BBB; CCC
  • AAA; BBB
  • AAA; BBB; CCC
  • AAA
And then only comparing the first value from each list to see if they are a match.
In this example, the first artist is AAA for all of them, so those are all considered duplicates.

I thought this might be better when you're actually looking for duplicate files, because otherwise it might miss some if the duplicate tracks have a different number of artists listed on them.
If you only sorted the list and compared them, only 1 & 3 would be considered duplicates, because you're checking to see if the whole list matches, rather than a partial match.
Logged

yannis

  • World Citizen
  • ***
  • Posts: 229
Re: Multiple artists question
« Reply #7 on: May 11, 2013, 01:09:34 pm »

Yes, I experimented with the ~dup adding more fields and I more or less understood how it works. Now, one little thing - the smartlist I create with the Custom expression returns the proper results, but if I try to edit it more, the "Custom" field is gone, it's replace with a Modifier that doesn't include the [Artists (sorted)] bit. Any ideas?

I'm about to go out now as it's Saturday night here, but I'll continue tomorrow...
Logged

6233638

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 5353
Re: Multiple artists question
« Reply #8 on: May 11, 2013, 01:21:04 pm »

Yes, I experimented with the ~dup adding more fields and I more or less understood how it works. Now, one little thing - the smartlist I create with the Custom expression returns the proper results, but if I try to edit it more, the "Custom" field is gone, it's replace with a Modifier that doesn't include the [Artists (sorted)] bit. Any ideas?

I'm about to go out now as it's Saturday night here, but I'll continue tomorrow...
I noticed that too - it seems to be a bug. Ideally you wouldn't have to create a custom field at all, and could simply use the expression, i.e.:

~dup=listitem(listsort([Artist]),0),[Name] but I couldn't get that working.

It seems that if you want to edit the expression, you have to clear it and add it as a custom one again.
Logged

MrC

  • Citizen of the Universe
  • *****
  • Posts: 10462
  • Your life is short. Give me your money.
Re: Multiple artists question
« Reply #9 on: June 20, 2013, 02:18:13 am »

In case anyone reads this in the future...

~dup is a modifier, and is configured under Modify Results.  it doesn't belong as a Custom search rule.

Custom is used to integrate and use the expression language as a search rule.  The syntax for Custom is defined as:

[=expression]=integer

where expression is a valid MC expression from the expression language, and integer is typically 1 or to reverse the tense, 0.

The expression is run, and the output tested against integer.  All files that produce a TRUE test are retained; others are filter from the results.
Logged
The opinions I express represent my own folly.
Pages: [1]   Go Up