INTERACT FORUM

Please login or register.

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

Author Topic: Test if a song allready exists in library  (Read 2671 times)

StFeder

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 1493
  • Fight! You may win. If you don't, you already lost
Test if a song allready exists in library
« on: March 04, 2012, 06:51:03 am »

Sometimes I get Mix CDs with songs of various artists. When I add them to library some songs are already in my library eg. because I bought the album containing the song before.

So I was thinking if it may be possible to add new songs to a playlist and check if the songs in this playlist are already in my library using a smartlist (or some other fancy MC feature). I could then decide to delete them or leaf them in library. But I didn't find a way to do so.

Does anyone have an idea how to realize this??
Logged

wig

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 750
Re: Test if a song allready exists in library
« Reply #1 on: March 04, 2012, 07:15:42 am »

Sometimes I get Mix CDs with songs of various artists. When I add them to library some songs are already in my library eg. because I bought the album containing the song before.

So I was thinking if it may be possible to add new songs to a playlist and check if the songs in this playlist are already in my library using a smartlist

See if this works for you. Create a Smartlist, click the Import/Export button in the bottom left-hand corner, and then paste this info into the Smartlist rules data area.

[Media Type]=[Audio] [Date Imported]=<30d ~dup=[Name]

Click Ok.

The Smartlist will check any files imported in the last 30 days for duplicate song names. You can edit the time to match whatever interval you want to user, or add more variables in the Only Duplicates modifier like Artist, etc.
Logged

Captor

  • Citizen of the Universe
  • *****
  • Posts: 540
Re: Test if a song allready exists in library
« Reply #2 on: March 04, 2012, 09:34:45 am »

Hm.... and how to do in english?  ;)
Logged
JRiver for music

StFeder

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 1493
  • Fight! You may win. If you don't, you already lost
Re: Test if a song allready exists in library
« Reply #3 on: March 04, 2012, 07:52:39 pm »

This only shows duplicates inside the set of new imported files but doesn't compare the imported songs against song that are in library for a longer time. But that's the goal ;)
Logged

wig

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 750
Re: Test if a song allready exists in library
« Reply #4 on: March 04, 2012, 09:41:42 pm »

This only shows duplicates inside the set of new imported files but doesn't compare the imported songs against song that are in library for a longer time. But that's the goal ;)

Sorry, I didn't test that setup thoroughly before suggesting it. Let me stick to familiar ground and tell you how I deal with duplicates.

I created a custom field called Duplicate which I used to tag the copies (I use the value "Duplicate"). Then I exclude those tracks from my smartlists using a rule; "Duplicate is not Duplicate".

You could use a similar field to tag all your current copies. When you want check for new copies, just run a check of your entire library, excluding the tagged duplicates. The smartlist would look something like this:

[Media Type]=[Audio] -[Duplicate]=[Duplicate] ~dup=[Name],[Artist]

I also use the Duplicate field to tag Live, Demo, and Alternate versions of songs as well. I have additional rules that include these versions in my smartlists if they have a high enough rating.


Logged

StFeder

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 1493
  • Fight! You may win. If you don't, you already lost
Re: Test if a song allready exists in library
« Reply #5 on: March 05, 2012, 03:21:36 am »

This would be ok as a workaround. But it would not be the best way to tag all existing duplicates every time before I import new songs only to check if the new ones are duplicates. In addition, when some of the new files are duplicates of files which are already duplicated in my library MC wouldn't find them any more, because they are tagged as "duplicates" and so excluded from the list.

My current workaround is to use the "normal" ~dup list and take a look at the filename. If the list contains files from the new location, I know they are already in my library. But thats not the best way.

I was thinking about if it may be perhaps a solution to use the ~mix function?! But I don't know how  :(
Logged

marko

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 9139
Re: Test if a song allready exists in library
« Reply #6 on: March 05, 2012, 03:36:24 am »

~mix wouldn't be for this job. What it does is create a list of x number of files, with a percentage of those files matching parameter a, another percentage matching parameter b, another matching parameter c

I'm not near an MC installation at the moment so can't test, but, couldn't you:

Create a smartlist that includes all music in your library, but excludes any music in the "Recently Imported" list.

Create a second smartlist, the one that you would use for checking, that includes all tracks from the smartlist you made above, as well as the tracks from recently imported. Keep duplicates of [artist],[name] sort by [name],[artist],[date imported]

Make sure you have a "Date Imported" column in the list for your reference.
I'm sure the default "Recently Imported" smartlist behaviour is to remove old items on exit. Now, I cannot remember the specifics of what MC deems to be "old", but the theory here is that that side of the equation would be automatic. So, when they're no longer on "Recently Imported", they'll automagically appear in the "All Other Audio" list.

I reckon you could probably create a custom field to use for grouping this list, so that you force those files that are in "Recently Imported" into a group at the top of the list. You could already state with confidence that if they are in the list, they must have a duplicate in the other group. Without grouping though, you would see all the duplicates together in the list

Gotta be worth a punt :)

-marko

wig

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 750
Re: Test if a song allready exists in library
« Reply #7 on: March 05, 2012, 06:31:19 am »

This would be ok as a workaround. But it would not be the best way to tag all existing duplicates every time before I import new songs only to check if the new ones are duplicates. In addition, when some of the new files are duplicates of files which are already duplicated in my library MC wouldn't find them any more, because they are tagged as "duplicates" and so excluded from the list.

You only have to tag duplicates once, and only the duplicate file, not the original.

Let me give you an example. I have both 'The Smiths' and 'The Best of the Smiths' in my collection, each album containing a version of 'This Charming Man'. I click on my Smartlist:

[Media Type]=[Audio] -[Duplicate]=[Duplicate] ~dup=[Name],[Artist] ~sort=[Artist],[Name]

Both versions of 'This Charming Man' appear in the list. I select the version from 'The Best of the Smiths' and tag it as Duplicate in the Duplicate field.

When I refresh my smartlist, neither version of 'This Charming Man' appears.

Later on I add 'Singles' by The Smiths to my collection, which also contains a version of 'This Charming Man'. When I run the smartlist again, two versions appear; the ones from 'The Smiths' and 'Singles'. I select the version from 'Singles' and tag it as Duplicate.

When I refresh my smartlist, neither version appears.
Logged

StFeder

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 1493
  • Fight! You may win. If you don't, you already lost
Re: Test if a song allready exists in library
« Reply #8 on: March 05, 2012, 06:46:13 am »

@marco
Of course, why didn't I think of the recently imported list  ::) Nice hint. Recently Imported can be configured to be cleared completely at each restart of MC, so this works :)

This is how I did it now:

Smartlist 1:

Code: [Select]
[Media Type]=[Audio] -[Genre]=[Podcast] ~nodup=[Artist],[Name]
I modified Smartlist 1 in a way, that this contains no dups. So I have a clean list without any dubs that are already in my library.

Smartlist 2:

Code: [Select]
playlistid==-1003,=497252188 ~dup=[Name],[Artist]
The second one is exactly what you advised. I include files from Smartlist 1 (497252188) and Recently Imported Playlist (1003) and only let it show dups. I'm not sure about the sorting right now, but of course I'll have the "Date Imported" column visible ;)


One question left: is it possible to create an expression column which checks if a file is in specified playlist? I know, this already works for playing now, but I cannot see a way for other playlists...
Logged

StFeder

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 1493
  • Fight! You may win. If you don't, you already lost
Re: Test if a song allready exists in library
« Reply #9 on: March 05, 2012, 06:56:34 am »

@wig
I finally get it :)

I already use a very similar way to organize my dups. I don't use a special field I use a playlist. All files in my "allowed duplicates" playlist are excluded from my duplicate search. This is quiet the same like your system.

My current problem is, that my library contains far more than 500 pairs of dups. I don't have the time (and the delight) to look through all them and get them sorted. So I was looking for an easy way to just check if new files are already in my library without touching my current dup check system.

But thanks for your hints and help!!
Logged

wig

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 750
Re: Test if a song allready exists in library
« Reply #10 on: March 05, 2012, 09:30:47 am »

But thanks for your hints and help!!

It's all good  :)

I learn a lot through trying to help other folks. It's probably safe to ignore my posts once Mr.C or marko shows up, though.  ;D
Logged

StFeder

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 1493
  • Fight! You may win. If you don't, you already lost
Re: Test if a song allready exists in library
« Reply #11 on: March 05, 2012, 10:10:20 am »

It's probably safe to ignore my posts once Mr.C or marko shows up, though.  ;D

Believe me: I know how you feel ;)
Logged

Captor

  • Citizen of the Universe
  • *****
  • Posts: 540
Re: Test if a song allready exists in library
« Reply #12 on: March 05, 2012, 10:43:35 am »

It is far to complicated to look for duplicates. Look and learn from iTunes! That is really easy.
I even donīt need to think of it. I just get a popup window saying this song is already in the
playlist, do you want to keep or erase. Or something like that. Generally I hate iTunes but in this case
MC hasīsomething to learn from them. Maybe in MC 18?
Logged
JRiver for music

StFeder

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 1493
  • Fight! You may win. If you don't, you already lost
Re: Test if a song allready exists in library
« Reply #13 on: March 05, 2012, 11:57:15 am »

It is far to complicated to look for duplicates. [...]
I think it isn't. Basic duplicate management is very easy using the stock smartlist. It only gets complicated when it comes to individual wishes. And I'm happy to see again, again and again that MC can fulfill so many individual needs. Not sure if iTunes could do this to.

[...] Look and learn from iTunes! That is really easy.
I even donīt need to think of it. I just get a popup window [...]
A popup perhaps would be a nice additon. But what should MC look for? Tag Name & Artist? File Hash? Tag Name & Artist and Song length? Filename? All of them? Not a trivial decision.
Logged

Captor

  • Citizen of the Universe
  • *****
  • Posts: 540
Re: Test if a song allready exists in library
« Reply #14 on: March 05, 2012, 12:24:38 pm »

For the gifted, talented computer user maybe it is easy but not for the regular user.

And searching should be only for artist name and songtitle. Nothing fancy more than that.
Logged
JRiver for music

rick.ca

  • Citizen of the Universe
  • *****
  • Posts: 3729
Re: Test if a song allready exists in library
« Reply #15 on: March 05, 2012, 06:46:00 pm »

Quote
And searching should be only for artist name and songtitle. Nothing fancy more than that.

It seems you're trying to make the point MC is too complicated for the "regular user" while not paying attention to what's being discussed here. Displaying only duplicates of [Artist] [Name] is dirt simple in MC. The problem is how to refine and what to do with that information. Duplicates defined this way can be...

  • a different quality
  • a different version (e.g., single, extended, live, etc.)
  • a remastered version
  • necessary to maintain a complete album
  • some combination of the above

...and what one wants to do with them is a matter of personal preference. A popup that tells you a track being added to the library is a duplicate is next to useless.

Wig and marco have offered interesting suggestions, but I don't think this can be handled by one smartlist without being tied for an arbitrary way of handling duplicates and/or only working while tracks are in a recently added list. When checking duplicates, I always want to see all duplicates for the particular artist. I can't decide what to do with a new duplicate until I see those that already exist (that I've likely previously decided to retain). I rarely want to delete a duplicate, unless it makes sense to delete the whole album (e.g., I'm not particularly attached to the album, and most of the tracks are in a compilation of better quality). I'm more likely to replace lesser quality recordings with better ones, keeping identical duplicates. This is easy for me because there are few multiple artist compilations in my library. I can manage duplicates any way I please simply by displaying them for a particular artist.

This is obviously more challenging for multiple artist compilations, but I would still handle it in the same way. For the same reasons, I'm still going to need to see all the duplicates (new and existing) for each artist separately. This is not as difficult as it sounds—using a Panes View. Use or create one that includes: a search list pane for selecting duplicates, recent additions, and whatever else might be convenient; Artist; Album. If you have any fields that might be helpful in narrowing the scope of the duplicates to be considered, include those as well (e.g., I use a [a.Class] that allows me to choose original, live, compilation, multiple artist and soundtrack albums). Group by [Artist], [Name] (I find it useful to have use an expression field: [Artist] • [Name]). Sort inside groups in any manner that suits you (I sort by [a.Released], a custom album-related field).

Such a view will allow for the management of duplicates in any circumstances. The panes are simply used to first select the artist (e.g., one artist from a new mix album being added), then display all the duplicates for that artist. In most cases, it be easy enough to see the tracks from the album in question. If there are many duplicates for that artist, it may be necessary to restrict the number of album types (e.g., I might look at duplicates in original vs. compilation albums separately). When done with that artist, reset the Artist pane, select the album again, and then the next artist.
Logged

StFeder

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 1493
  • Fight! You may win. If you don't, you already lost
Re: Test if a song allready exists in library
« Reply #16 on: March 05, 2012, 07:03:38 pm »

Perhaps I may repeat my last question  ;)

One question left: is it possible to create an expression column which checks if a file is in specified playlist? I know, this already works for playing now, but I cannot see a way for other playlists...

Goal is to see in every view if a file does have dups. Especially useful for bigger import sessions. Without changing to a dup checking smartlist it would be possible to see if there may a duplicate. This would be nice (even for other management tasks!).
Logged

rick.ca

  • Citizen of the Universe
  • *****
  • Posts: 3729
Re: Test if a song allready exists in library
« Reply #17 on: March 05, 2012, 08:55:21 pm »

The [Playlists] pseudo-field will show all Playlists a track belongs to, but that doesn't include Smartlists (like one that shows only duplicates). It's easy enough to update a Duplicates playlist with a Duplicates smartlist. Just Send to the latter to the former, select the playlist and Remove Duplicates (which, in this context, means remove duplicate files from the playlist). Unfortunately, that doesn't help much if there are many playlists a track might belong to. [Playlists] isn't a real field, so it can't be tested (e.g., by an expression column) for the existence of a "Duplicates" playlist. :-\
Logged
Pages: [1]   Go Up