PDA

View Full Version : Duplicate discs



sredmyer
07-02-2009, 08:48 AM
Ok here is the senario, I have a Powerfile changer. I just ran a batch of 124 discs. When looking at the results, in the Batch Ripper, it shows 98 discs ripped in the left pane and 26 discs rejected in the right pane. This is all good, 98 + 26 = 124. However when I look at the files created on the harddrive I only have 122 disc folders. This means to me that there must have been 2 discs which were given filenames identical to 2 other discs resulting in the a loss of the files for two discs.

Question I have then is this; is there any easy way to see a list of each disc ripped and the folder it was ripped to so that I can quickly scan that list to find the duplicates. I know I can get this info for each CD ripped by simply right clicking the CD in the Batch Ripper and selecting the appropriate menu item but this would be incredibly tedious. I also know that the batch results file (batchname.bin) contains this list but it is not in easily readable format.

Anybody got any ideas?

Steve

EliC
07-02-2009, 04:15 PM
Again, this brings up my request to have the ripper check a list of ripped discs and skip any duplicates (if the first was secure). The check can be based on CD TOC as spoon has stated there should be very low risk of collisions.

Spoon
07-03-2009, 03:19 AM
It is possible that two albums also have the same artist and album name.

There is no easy way to automatically parse the filenames.

EliC
07-03-2009, 06:14 AM
If dBpoweramp created a list of existing ripped discs by CD TOC, each time a disc was ripped it could be checked against this list, if already ripped and accurate the disc would be skipped.

Now that dBpoweramp knows that disc is not in the collection, dBpoweramp can look up the metadata, and if there is an exact match with existing existing folders/filenames, then they could be appended with an extension to put the disc in a different folder.

sredmyer
07-03-2009, 01:19 PM
It is possible that two albums also have the same artist and album name.

Wouldn't that be the definition of a duplicate? If you are referring to a case where the discs are duplicates but different pressings, then handling as described below would work fine.


There is no easy way to automatically parse the filenames.

I do not understand why it would be so difficult. CD Ripper does it. When CD Ripper attempts to rip a disc which has already been ripped a dialog is displayed asking the user if he/she wants to overwrite the existing files or not. I assume this is just done with simple file system tools.

Why couldn't this same type of thing be done in Batch Ripper? But instead of displaying the dialog, the program could allow the user (via configuration settings) to choose from multiple possible methods to handle the issue.

Some possible ways of handling duplicates that I would like to see would include:
1) Create a folder beneath the original called "Duplicate" (or let the user specify the folders name) and place the second copy of the files there.
2) Overwrite only if previous rip was not accurate*
3) Overwrite only if the previous rip was not secure*
4) Skip the disc (keeping the original rip)

*Options 2 and 3 should work on a file by file basis. IOW only re-rip tracks which were not accurate or secure in the original rip.

sredmyer
07-03-2009, 01:27 PM
If dBpoweramp created a list of existing ripped discs by CD TOC, each time a disc was ripped it could be checked against this list, if already ripped and accurate the disc would be skipped.

Now that dBpoweramp knows that disc is not in the collection, dBpoweramp can look up the metadata, and if there is an exact match with existing existing folders/filenames, then they could be appended with an extension to put the disc in a different folder.

I assume you are suggesting to use the CD TOC, instead of simple file system tools, to avoid paying for the second meta lookup. If one were to use the 1 day meta cache command line option for Batch Ripper, then the second lookup would not be an issue. Batch Ripper would simply pull the cached metadata and derive the folder/file names from that. Then using those filenames and simple file system tools just check if the file you want to write already exists.

Spoon
07-03-2009, 03:24 PM
You could use the DSP effect Run External to output the filename (with a vb.net script) to a text file.

EliC
07-03-2009, 04:49 PM
I assume you are suggesting to use the CD TOC, instead of simple file system tools, to avoid paying for the second meta lookup. If one were to use the 1 day meta cache command line option for Batch Ripper, then the second lookup would not be an issue. Batch Ripper would simply pull the cached metadata and derive the folder/file names from that. Then using those filenames and simple file system tools just check if the file you want to write already exists.

I rip for personal use, and to build my music/cd collection I try to buy large lots of used CDs from ebay or yard sales. This results in a lot of bad discs, dupes, and cd-rs. Ideally I would like dBpoweramp to

1. before ripping check to see if the disc is a cd-r or if the disc is already in the collection (by CD TOC) and if so skip the disc

2. separate discs into accurate directory when the whole disc (all tracks) is accurately/securely ripped, and an in-accurate directory for discs that have 1 or more insecure tracks

3. if a disc is cleaned, or different copy of the disc is ripped that is in the inaccurate directory, only tracks that are inaccurate are re-ripped, once all tracks are accurate, dBpoweramp moves the album to the accurate directory

Also, I know dBpoweramp is not allowed to cache the meta-data, but spoon has said that he would be able to write the meta-data to a txt file and put it in the album directory. This would be available for when re-ripping inaccurate discs without paying to look up the data again. Also, it could be used in a future meta-data editor, especially if the meta data from each provider were stored separately.

sredmyer
07-03-2009, 05:44 PM
I rip for personal use, and to build my music/cd collection I try to buy large lots of used CDs from ebay or yard sales. This results in a lot of bad discs, dupes, and cd-rs. Ideally I would like dBpoweramp to

1. before ripping check to see if the disc is a cd-r or if the disc is already in the collection (by CD TOC) and if so skip the disc

2. separate discs into accurate directory when the whole disc (all tracks) is accurately/securely ripped, and an in-accurate directory for discs that have 1 or more insecure tracks

3. if a disc is cleaned, or different copy of the disc is ripped that is in the inaccurate directory, only tracks that are inaccurate are re-ripped, once all tracks are accurate, dBpoweramp moves the album to the accurate directory

Also, I know dBpoweramp is not allowed to cache the meta-data, but spoon has said that he would be able to write the meta-data to a txt file and put it in the album directory. This would be available for when re-ripping inaccurate discs without paying to look up the data again. Also, it could be used in a future meta-data editor, especially if the meta data from each provider were stored separately.

Ah...I see. What you want is a rip database. The problem I see with that is that it kind of changes the focus of the Batch Ripper application from being a batch manager to being a collection manager.

That being said, it would seem to me that most of those things might be doable using the 'Run External' DSP as Spoon mentioned and a custom app to do the actual work.

EliC
07-03-2009, 06:05 PM
Ah...I see. What you want is a rip database. The problem I see with that is that it kind of changes the focus of the Batch Ripper application from being a batch manager to being a collection manager.

That being said, it would seem to me that most of those things might be doable using the 'Run External' DSP as Spoon mentioned and a custom app to do the actual work.


Spoon has said that the next version of the music player will have database functionality, hopefully the ripper and batch ripper will be able to access this and perform these functions.

Unfortunately I don't think the "run external" can influence what the ripper does.

dBpoweramp could easily create accurate and innaccurate directories and separate albums based on rip results.

sredmyer
07-03-2009, 06:57 PM
Unfortunately I don't think the "run external" can influence what the ripper does.

True. Its efforts would all be after the fact.

I suppose you could create a custom load.exe (the CLI app called by Batch Ripper to load up the next disc). In a solution such as this you could control whether or not Batch Ripper was allowed to rip a disc or not.

The idea is simple, simply replace the load.exe with one of your own. The custom load.exe app would load up a disc and read the TOC. Using that it would do a look up in the database to see if the disc has been previously ripped successfully. If it has, then simply unload the disc and move to the next disc. If the disc has not been previously ripped then just exit as normal.

This will work because BR simply calls load.exe passing in the drive (and in my case the changer) to load a disc into and then just waits for load.exe to exit. Once load.exe exits BR takes over and rips the disc. While a solution such as this could be made to work at the CD level (I think), it would not work at the track level. That is to say BR would either rip the entire CD or none of it. As far as I know there is no way to tell BR to skip tracks aside from the context menus within the BR app.

EliC
07-03-2009, 08:35 PM
I would do exactly that if I could. I have no programming know-how unfortunately.

EliC
07-04-2009, 06:25 AM
sredmyer, I had actually tried to take the approach before, but I needed spoon to release his code for reading/creating a CD TOC or release a small exe to do it. Unfortunately he never replied to the request.

sredmyer
07-04-2009, 03:38 PM
Elic, check your PM

worsel
04-16-2010, 10:21 PM
Elic, check your PM

Sredmyer, you seem to have some solution to EliC's issue. I also have the same or similar need. Have you or anyone thought of a way to handle or flag duplicates? Thanks.

worsel
04-20-2010, 12:58 AM
sredmyer, I had actually tried to take the approach before, but I needed spoon to release his code for reading/creating a CD TOC or release a small exe to do it. Unfortunately he never replied to the request.
Elic - I am curious if you got an answer to how to perform a database check for previously ripped discs. If you did could you share it? Thanks