Duplicate Movie Finder for Plex - (Windows)

wow great news!!! keep sharing more such plex news with daily users and readers.
if facing any router issue contact Belkin customer support

Looks like Plex did some updating to the newest build 1.13.0 causing db issues with 2018.01.15 aswell. If it ain’t one thing, it’s another… I really don’t know when I will have this finish from having the time/porting over/new(changed) db format, etc…

I’ll be following this my movie database is out of control who knows how many duplicates I have.

Awesome! Great work!

Are you willing to post the source?

I’m my worst critic until I release the source. Sorry. Maybe after I port it and clean it up…
To be honest I’m not sure when I will be done with the conversion. I just don’t have the time and stuff. I know that’s no much help but there are a few others tools that can find dups. And if you have one of the newer versions of PMS then you can find dups within PlexWeb(no external tool needed).

Hello have you given up on it now?The tool in plex is no good if you have content on multible hard drives.Your program was the only one that worked!!!
I wish that plex did not change the database it worked fine before all the updates.
Plex…If it not broke dont fix it!!

1 Like

Damn. That makes me feel bad. I’ll see what I can do. No promises though.

1 Like

sweet!!
its not your fault that they keep changing things.
I would use an early version but cannot change plex database back to an early version to a time when it worked.
Cheers Woz.

Would be epic if you could fix this, as mentioned earlier, built-in duplicate finder only works if movies is in same folder.

Updated version 2018.12.15 released.
Ported code to C#. Very basic design. Added a little speed to it. It’s about 50% faster…
More options may come BUT my only concern as of now is to keep it compatible with future versions of Plex… So… Options will trickle in when I have the time…
Enjoy.

I had an exception running it on my db. There was a movie that did not have a media_items record which upset the bit where you are reading from the media_parts table

Running this Gave me this Unhandled Exception.

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.Data.SQLite.SQLiteException (0x80004005): SQLite error
near ā€œ=ā€: syntax error
at System.Data.SQLite.SQLite3.Prepare(SQLiteConnection cnn, String strSql, SQLiteStatement previous, UInt32 timeoutMS, String& strRemain)
at System.Data.SQLite.SQLiteCommand.BuildNextCommand()
at System.Data.SQLite.SQLiteCommand.GetStatement(Int32 index)
at System.Data.SQLite.SQLiteDataReader.NextResult()
at System.Data.SQLite.SQLiteDataReader…ctor(SQLiteCommand cmd, CommandBehavior behave)
at System.Data.SQLite.SQLiteCommand.ExecuteReader(CommandBehavior behavior)
at System.Data.SQLite.SQLiteCommand.ExecuteReader()
at Duplicate_Movie_Finder_for_Plex.MainGUI.ButtonScanLibrary_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

************** Loaded Assemblies **************
mscorlib
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3362.0 built by: NET472REL1LAST_C
CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll

Duplicate Movie Finder for Plex
Assembly Version: 1.0.0.0
Win32 Version: 2018.12.15
CodeBase: file:///C:/Plex%20-%20Duplicate%20Movie%20Finder/Duplicate%20Movie%20Finder%20for%20Plex.exe

System.Windows.Forms
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3324.0 built by: NET472REL1LAST_C
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll

System
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3362.0 built by: NET472REL1LAST_C
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll

System.Drawing
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3056.0 built by: NET472REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll

System.Configuration
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3056.0 built by: NET472REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll

System.Core
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3362.0 built by: NET472REL1LAST_C
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll

System.Xml
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3056.0 built by: NET472REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll

System.Data.SQLite
Assembly Version: 1.0.79.0
Win32 Version: 1.0.79.0
CodeBase: file:///C:/Plex%20-%20Duplicate%20Movie%20Finder/System.Data.SQLite.DLL

System.Data
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3260.0 built by: NET472REL1LAST_C
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_32/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll

System.Transactions
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3221.0 built by: NET472REL1LAST_C
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_32/System.Transactions/v4.0_4.0.0.0__b77a5c561934e089/System.Transactions.dll

System.EnterpriseServices
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3056.0 built by: NET472REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_32/System.EnterpriseServices/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.EnterpriseServices.dll

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.

Updated. The exception fixed.

1 Like

It’s working much better,. thank you.
also its working for tv shows now? Even Better!

Thanks. this is gonna save me so much time.

Snap.I forgot I added/enabled the shows in my test build. Oh well. I was gonna add it sooner or later. Might as well be now. Truth be known I have so many ideas and so many features I want to add and completely redesign it but I always get blocked on the look. I swear I can create it and most of the backend is already completed… I just don’t have that creative eye. I got I think 17 designs and all look like crap… Someday I’ll get it done. I think I’m gonna bite the bullet and make it look like the PlexWeb interface…probably…

Haha i can’t wait. The layout design is usually difficult for me as well. At least with web pages. But I have Aphantasia. So I cabby visualize things in my head. I just have to keep messing with it until I stumble across something I like.

Oh I got another exception. But this one might be my fault. It says it ran out of memory. Yikes. I closed FF and it’s running again. It took like an hour to run out of memory on the last run. So I should know by morning if runs out again or not. Though I’d guess My library might be too big for it. Eep.

Yeah it had the out of memory exception again when I woke up. Darn it.

Well… Partly my fault I suppose. The method I use to gather the list is much faster than the previous method but is a memory hog. I’ll have to work on that to improve memory usage.

While I’m at the drawing board, can you give me some details.

  1. What library type? Movies or TVShows
  2. How many items are in that library? 10,000, 50,000, 100,000, 500,000, etc…
  3. What OS do you have? x86 or x64
  4. How much system memory(RAM) does your computer have?

Hey, Sorry I was at work. I"m hone now.
Library type: TVShows
Library Items: 58,000
OS: x64
Ram: 8GB

When I Ran it on the Movies, it took a bit but it did it. - that was about 14,000