Coder Social home page Coder Social logo

clrvpin's People

Contributors

stojy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

clrvpin's Issues

Windows 7 Ultimate

Doesnt start, doesnt show a window ..

After initial install it complained about not finding the framework and would I like to download. It wasnt clear (to me) which one to download so I downloaded a couple of things.

Now when I click the icon to start it just does nothing - but closes.
Any logs? anything I can check to see what is going on?

It works fine on my normal desktop (ie not by cab machine)

More flexible and simplified folder setup

As observed in #52, there are some folders assumptions that need to be cleaned up for a PinballY installation that doesn't use the PinballX folder setup.

Unlike PinballX, PinballY doesn't create it's media and database folders until they're needed. For example, the 'Media\Instruction Cards' folder isn't created until an instruction card is added to a table.

It's a very efficient design, but it causes a few related issues..

  1. Day zero setup - it's not possible to run Scanner or Rebuilder until the folders are created.
  2. Day n+1 setup - if certain features (e.g. instruction cards) are never used, then the folder won't be created.

The workaround is to create these folders manually (an empty directory is fine). The image below shows the required folders in purple.
image

Proposal..

  1. Simplify folder setup. Since the PinballX and PinballY folder structure is nearly identical, only require the top level folder to be specified. For example, "c:\PinballY\Media" and then automatically calculate the other folders.
  2. Cater for missing media sub-folders. Instead of disabling the entire Scanner/Rebuilder feature, just disable the relevant feature for the missing folder.

Unhandled Error - cleaner is unable to access the file path

Describe the bug
[A description of the bug]

To Reproduce
[Steps to reproduce the bug]

Expected behavior
[If applicable, what did you expect to happen]

Screenshots
[If applicable, add screenshots]

Logs
[If applicable, add the log file (or relevant snippet): c:\ProgramData\ClrVpin\logs\ClrVpin.log]

Unhandled Error Details

Message:       Could not find a part of the path.
Inner Message:
Assembly: ClrVpin, Version=7.0.1.0, Culture=neutral, PublicKeyToken=null
Sender: System.Windows.Threading.Dispatcher
Source: Application.Current.DispatcherUnhandledException
Stack:
at System.IO.FileSystem.MoveFile(String sourceFullPath, String destFullPath, Boolean overwrite)
at ClrVpin.Shared.FileUtils.Rename(String sourcePath, String destinationPath) in D:\a\ClrVpin\ClrVpin\ClrVpin\Shared\FileUtils.cs:line 290
at ClrVpin.Shared.FileUtils.Rename(Hit hit, LocalGame localGame, ICollection`1 supportedHitTypes, IEnumerable`1 kindredExtensions) in D:\a\ClrVpin\ClrVpin\ClrVpin\Shared\FileUtils.cs:line 86
at ClrVpin.Cleaner.CleanerUtils.FixOrderedHits(ICollection`1 orderedHits, List`1 gameFiles, LocalGame localGame) in D:\a\ClrVpin\ClrVpin\ClrVpin\Cleaner\CleanerUtils.cs:line 140
at ClrVpin.Cleaner.CleanerUtils.<>c__DisplayClass2_3.b__7(LocalGame fixableContentLocalGame) in D:\a\ClrVpin\ClrVpin\ClrVpin\Cleaner\CleanerUtils.cs:line 88
at System.Collections.Generic.List`1.ForEach(Action`1 action)
at ClrVpin.Cleaner.CleanerUtils.<>c__DisplayClass2_0.b__2(ContentType contentType) in D:\a\ClrVpin\ClrVpin\ClrVpin\Cleaner\CleanerUtils.cs:line 59
at System.Collections.Generic.List`1.ForEach(Action`1 action)
at ClrVpin.Cleaner.CleanerUtils.Fix(ICollection`1 localGames, String backupFolder, Action`2 updateProgress) in D:\a\ClrVpin\ClrVpin\ClrVpin\Cleaner\CleanerUtils.cs:line 48
at ClrVpin.Cleaner.CleanerUtils.<>c__DisplayClass1_0.b__0() in D:\a\ClrVpin\ClrVpin\ClrVpin\Cleaner\CleanerUtils.cs:line 22
at System.Threading.Tasks.Task`1.InnerInvoke()
at System.Threading.Tasks.Task.<>c.<.cctor>b__272_0(Object obj)
at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task

Unhandled Error - <add summary description here>

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

Unhandled Error - [add summary description here]

Describe the bug
[A description of the bug]

To Reproduce
[Steps to reproduce the bug]

Expected behavior
[If applicable, what did you expect to happen]

Screenshots
[If applicable, add screenshots]

Logs
[If applicable, add the log file (or relevant snippet): c:\ProgramData\ClrVpin\logs\ClrVpin.log]

Unhandled Error Details

Message:       Could not find a part of the path.
Inner Message:
Assembly: ClrVpin, Version=7.0.1.0, Culture=neutral, PublicKeyToken=null
Sender: System.Windows.Threading.Dispatcher
Source: Application.Current.DispatcherUnhandledException
Stack:
at System.IO.FileSystem.MoveFile(String sourceFullPath, String destFullPath, Boolean overwrite)
at System.IO.File.Move(String sourceFileName, String destFileName, Boolean overwrite)
at ClrVpin.Shared.FileUtils.Rename(String sourcePath, String destinationPath) in D:\a\ClrVpin\ClrVpin\ClrVpin\Shared\FileUtils.cs:line 298
at ClrVpin.Shared.FileUtils.Rename(String sourcePath, String newPath, HitTypeEnum hitTypeEnum, String contentType, Action`1 backupAction) in D:\a\ClrVpin\ClrVpin\ClrVpin\Shared\FileUtils.cs:line 179
at ClrVpin.Shared.FileUtils.Rename(Hit hit, LocalGame localGame, ICollection`1 supportedHitTypes, IEnumerable`1 kindredExtensions) in D:\a\ClrVpin\ClrVpin\ClrVpin\Shared\FileUtils.cs:line 80
at ClrVpin.Cleaner.CleanerUtils.FixOrderedHits(ICollection`1 orderedHits, List`1 gameFiles, LocalGame localGame) in D:\a\ClrVpin\ClrVpin\ClrVpin\Cleaner\CleanerUtils.cs:line 154
at ClrVpin.Cleaner.CleanerUtils.<>c__DisplayClass2_3.b__7(LocalGame fixableContentLocalGame) in D:\a\ClrVpin\ClrVpin\ClrVpin\Cleaner\CleanerUtils.cs:line 91
at System.Collections.Generic.List`1.ForEach(Action`1 action)
at ClrVpin.Cleaner.CleanerUtils.<>c__DisplayClass2_0.b__2(ContentType contentType) in D:\a\ClrVpin\ClrVpin\ClrVpin\Cleaner\CleanerUtils.cs:line 59
at System.Collections.Generic.List`1.ForEach(Action`1 action)
at ClrVpin.Cleaner.CleanerUtils.Fix(ICollection`1 localGames, String backupFolder, Action`2 updateProgress) in D:\a\ClrVpin\ClrVpin\ClrVpin\Cleaner\CleanerUtils.cs:line 48
at ClrVpin.Cleaner.CleanerUtils.<>c__DisplayClass1_0.b__0() in D:\a\ClrVpin\ClrVpin\ClrVpin\Cleaner\CleanerUtils.cs:line 22
at System.Threading.Tasks.Task`1.InnerInvoke()
at System.Threading.Tasks.Task.<>c.<.cctor>b__272_0(Object obj)
at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task

update local table pinballX/Y database file with online table information

Extension of #25 to add support for updating the local PinballX/Y database file.

  • Implement "Add" button to add a new local DB record. i.e. so after downloading the missing table (and associated content), rebuilder will be recognise the new content and merge into your collection.
  • Extend "View" button to optionally update exiting DB record. i.e. to allow corrections/updates to the local DB file with correctiosn from the online sources.

Cant scan etc

first time trying out this tool. Installed and run. Setup my folders in Settings. The Scanner and Builder buttons are greyed out. Run Importer works i think but it gives a warning "Reduced Funcionality becasue fuzzy matching was not emabled". I tried enabling in Importer start dialog but that checkbox is disabled too. Tried with and without "Training Wheels". My system was set up using Baller Installer, and then installing PinballY separately, into D:\vPinball\PinballY\ . I'm also new to PinballY and apparently a bunch of the folders you ask for arent created.

image

Incorrect mod date being used in the scanner?

Again a noob with your tool but going thru the logs and here is just one example of confusing dates/errors:

Fixed Game Created Time          index=0398 name='Elvira's House Of Horro' game.createdAt '21-08-21 18:00:00' < maxCreatedAt '15-03-22 07:16:10'  
Fixed Game Updated Time Too Low  index=0398 name='Elvira's House Of Horro' game.updatedAt '21-08-21 18:00:00' < maxUpdatedAt '15-03-22 07:16:15'  
Fixed Wrong Url                  index=0398 name='Elvira's House Of Horro' type=TableFiles url=https://vpuniverse.com/forums/files/file/7336-elvira-limited-edition/  

So from the log, it would appear that the file I have is out of date. I have '2021 and it says there is a new one from '2022
The file is found at vpuniverse. That file is '2021. So where is this '2022 date coming from that would be flagging the table to be out of date?

image

Looking at the vps - it would appear to be from the backglass? Is that the what is happening? Is the scanner checking against the wrong date?

image

default backup folder isn't accessible

Describe the bug
The default installation uses c:\program files\clrvpin\backup as the backup folder.. which isn't accessible due to protection rights.

Screenshots
image

downgrade doesn't work

Downgrading to an earlier version reports by windows as successful, but leaves the installation folder empty.

Various statistics enhancements

  1. Mark all items as either irreparable, fixable, fixed, removable, or removed
  2. Mark stats for unknown files
  3. All files (matched and unmatched) stats

Divide By Zero

Making progress (basically rebuilding my install base since it was so out of date)..
here is another divide by zero - even if you can point me to the cause I can remedy the fault without waiting on a code fix. thanks.

Doing a scan - works with table/bg/pov - but when I added in all the media choices I got this..

(is there a vid out there on the workflow you do to use this tool? Ie how do I run this to see what tables are out of date and/or missing?)

Scanner started, settings={"PinballFolder":"C:\VPinball","PinballTablesFolder":"C:\vp\tables\vpx","FrontendFolder":"C:\PinballX","AllContentTypes":[{"Enum":16,"Category":2,"Extensions":".vpx, .vpt","KindredExtensions":".vbs, .txt, .pdf","Tip":"Playfield table","ExtensionsList":[".vpx",".vpt"],"KindredExtensionsList":[".vbs",".txt",".pdf"],"Folder":"C:\VPinball\Tables","Description":"Tables"},{"Enum":17,"Category":2,"Extensions":".directb2s","KindredExtensions":"","Tip":"Image used for the backglass","ExtensionsList":[".directb2s"],"KindredExtensionsList":[""],"Folder":"C:\VPinball\Tables","Description":"Backglasses"},{"Enum":18,"Category":2,"Extensions":".pov","KindredExtensions":"","Tip":"3D camera configuration","ExtensionsList":[".pov"],"KindredExtensionsList":[""],"Folder":"C:\VPinball","Description":"Point Of Views"},{"Enum":0,"Category":0,"Extensions":".xml","KindredExtensions":"","Tip":"Pinball X or Pinball Y database file","ExtensionsList":[".xml"],"KindredExtensionsList":[""],"Folder":"C:\PinballX\Databases\Visual Pinball","Description":"Database"},{"Enum":1,"Category":1,"Extensions":".mp3, .wav","KindredExtensions":"","Tip":"Audio used when displaying a table","ExtensionsList":[".mp3",".wav"],"KindredExtensionsList":[""],"Folder":"C:\PinballX\Media\Visual Pinball\Table Audio","Description":"Table Audio"},{"Enum":2,"Category":1,"Extensions":".mp3, .wav","KindredExtensions":"","Tip":"Audio used when launching a table","ExtensionsList":[".mp3",".wav"],"KindredExtensionsList":[""],"Folder":"C:\PinballX\Media\Visual Pinball\Launch Audio","Description":"Launch Audio"},{"Enum":3,"Category":1,"Extensions":".f4v, .mp4, .mkv","KindredExtensions":"","Tip":"Video used when displaying a table","ExtensionsList":[".f4v",".mp4",".mkv"],"KindredExtensionsList":[""],"Folder":"C:\PinballX\Media\Visual Pinball\Table Videos","Description":"Table Videos"},{"Enum":4,"Category":1,"Extensions":".f4v, .mp4, .mkv","KindredExtensions":"","Tip":"Video used when displaying a table\u0027s backglass","ExtensionsList":[".f4v",".mp4",".mkv"],"KindredExtensionsList":[""],"Folder":"C:\PinballX\Media\Visual Pinball\Backglass Videos","Description":"Backglass Videos"},{"Enum":5,"Category":1,"Extensions":".png, .apng, .jpg","KindredExtensions":"","Tip":"Image used when displaying a table","ExtensionsList":[".png",".apng",".jpg"],"KindredExtensionsList":[""],"Folder":"C:\PinballX\Media\Visual Pinball\Wheel Images","Description":"Wheel Images"},{"Enum":6,"Category":1,"Extensions":".f4v, .mp4, .mkv","KindredExtensions":"","Tip":"Video used when displaying the topper","ExtensionsList":[".f4v",".mp4",".mkv"],"KindredExtensionsList":[""],"Folder":"C:\PinballX\Media\Visual Pinball\Topper Videos","Description":"Topper Videos"},{"Enum":7,"Category":1,"Extensions":".png, .jpg, .swf","KindredExtensions":"","Tip":"Image used when displaying instruction cards","ExtensionsList":[".png",".jpg",".swf"],"KindredExtensionsList":[""],"Folder":"C:\PinballX\Media\Instruction Cards","Description":"Instruction Cards"},{"Enum":8,"Category":1,"Extensions":".png, .jpg","KindredExtensions":"","Tip":"Image used when displaying flyer","ExtensionsList":[".png",".jpg"],"KindredExtensionsList":[""],"Folder":"C:\PinballX\Media\Flyer Images\Back","Description":"Flyer Images\Back"},{"Enum":9,"Category":1,"Extensions":".png, .jpg","KindredExtensions":"","Tip":"Image used when displaying flyer","ExtensionsList":[".png",".jpg"],"KindredExtensionsList":[""],"Folder":"C:\PinballX\Media\Flyer Images\Front","Description":"Flyer Images\Front"},{"Enum":10,"Category":1,"Extensions":".png, .jpg","KindredExtensions":"","Tip":"Image used when displaying flyer","ExtensionsList":[".png",".jpg"],"KindredExtensionsList":[""],"Folder":"C:\PinballX\Media\Flyer Images\Inside1","Description":"Flyer Images\Inside1"},{"Enum":11,"Category":1,"Extensions":".png, .jpg","KindredExtensions":"","Tip":"Image used when displaying flyer","ExtensionsList":[".png",".jpg"],"KindredExtensionsList":[""],"Folder":"C:\PinballX\Media\Flyer Images\Inside2","Description":"Flyer Images\Inside2"},{"Enum":12,"Category":1,"Extensions":".png, .jpg","KindredExtensions":"","Tip":"Image used when displaying flyer","ExtensionsList":[".png",".jpg"],"KindredExtensionsList":[""],"Folder":"C:\PinballX\Media\Flyer Images\Inside3","Description":"Flyer Images\Inside3"},{"Enum":13,"Category":1,"Extensions":".png, .jpg","KindredExtensions":"","Tip":"Image used when displaying flyer","ExtensionsList":[".png",".jpg"],"KindredExtensionsList":[""],"Folder":"C:\PinballX\Media\Flyer Images\Inside4","Description":"Flyer Images\Inside4"},{"Enum":14,"Category":1,"Extensions":".png, .jpg","KindredExtensions":"","Tip":"Image used when displaying flyer","ExtensionsList":[".png",".jpg"],"KindredExtensionsList":[""],"Folder":"C:\PinballX\Media\Flyer Images\Inside5","Description":"Flyer Images\Inside5"},{"Enum":15,"Category":1,"Extensions":".png, .jpg","KindredExtensions":"","Tip":"Image used when displaying flyer","ExtensionsList":[".png",".jpg"],"KindredExtensionsList":[""],"Folder":"C:\PinballX\Media\Flyer Images\Inside6","Description":"Flyer Images\Inside6"}],"BackupFolder":"C:\Users\daryl\Downloads\ClrVPinBackups","TrainerWheels":true,"MatchFuzzyMinimumPercentage":205,"Scanner":{"SelectedCheckContentTypes":["Point Of Views","Backglasses","Tables"],"SelectedCheckHitTypes":[0,1,5,6,2,3],"SelectedFixHitTypes":[0,1,2,3],"SelectedMultipleMatchOption":2,"MultipleMatchExceedSizeThresholdPercentage":85},"Rebuilder":{"SourceFolder":"C:\Users\daryl\Downloads\POV","DestinationContentType":"Point Of Views","IgnoreIfSmallerPercentage":75,"IgnoreIWords":["nude","adult","tba","original","orginal","b\u0026w"," bw ","2scr","2 screen"],"DeleteIgnoredFiles":false,"SelectedMatchTypes":[0,1,2,3],"SelectedMergeOptions":[0,1],"SelectedIgnoreOptions":[]},"Importer":{"IncludeOriginalTables":false,"UpdatedAtDateBegin":null,"UpdatedAtDateEnd":null},"Version":2}

Scanner started, settings={"PinballFolder":"C:\VPinball","PinballTablesFolder":"C:\vp\tables\vpx","FrontendFolder":"C:\PinballX","AllContentTypes":[{"Enum":16,"Category":2,"Extensions":".vpx, .vpt","KindredExtensions":".vbs, .txt, .pdf","Tip":"Playfield table","ExtensionsList":[".vpx",".vpt"],"KindredExtensionsList":[".vbs",".txt",".pdf"],"Folder":"C:\VPinball\Tables","Description":"Tables"},{"Enum":17,"Category":2,"Extensions":".directb2s","KindredExtensions":"","Tip":"Image used for the backglass","ExtensionsList":[".directb2s"],"KindredExtensionsList":[""],"Folder":"C:\VPinball\Tables","Description":"Backglasses"},{"Enum":18,"Category":2,"Extensions":".pov","KindredExtensions":"","Tip":"3D camera configuration","ExtensionsList":[".pov"],"KindredExtensionsList":[""],"Folder":"C:\VPinball","Description":"Point Of Views"},{"Enum":0,"Category":0,"Extensions":".xml","KindredExtensions":"","Tip":"Pinball X or Pinball Y database file","ExtensionsList":[".xml"],"KindredExtensionsList":[""],"Folder":"C:\PinballX\Databases\Visual Pinball","Description":"Database"},{"Enum":1,"Category":1,"Extensions":".mp3, .wav","KindredExtensions":"","Tip":"Audio used when displaying a table","ExtensionsList":[".mp3",".wav"],"KindredExtensionsList":[""],"Folder":"C:\PinballX\Media\Visual Pinball\Table Audio","Description":"Table Audio"},{"Enum":2,"Category":1,"Extensions":".mp3, .wav","KindredExtensions":"","Tip":"Audio used when launching a table","ExtensionsList":[".mp3",".wav"],"KindredExtensionsList":[""],"Folder":"C:\PinballX\Media\Visual Pinball\Launch Audio","Description":"Launch Audio"},{"Enum":3,"Category":1,"Extensions":".f4v, .mp4, .mkv","KindredExtensions":"","Tip":"Video used when displaying a table","ExtensionsList":[".f4v",".mp4",".mkv"],"KindredExtensionsList":[""],"Folder":"C:\PinballX\Media\Visual Pinball\Table Videos","Description":"Table Videos"},{"Enum":4,"Category":1,"Extensions":".f4v, .mp4, .mkv","KindredExtensions":"","Tip":"Video used when displaying a table\u0027s backglass","ExtensionsList":[".f4v",".mp4",".mkv"],"KindredExtensionsList":[""],"Folder":"C:\PinballX\Media\Visual Pinball\Backglass Videos","Description":"Backglass Videos"},{"Enum":5,"Category":1,"Extensions":".png, .apng, .jpg","KindredExtensions":"","Tip":"Image used when displaying a table","ExtensionsList":[".png",".apng",".jpg"],"KindredExtensionsList":[""],"Folder":"C:\PinballX\Media\Visual Pinball\Wheel Images","Description":"Wheel Images"},{"Enum":6,"Category":1,"Extensions":".f4v, .mp4, .mkv","KindredExtensions":"","Tip":"Video used when displaying the topper","ExtensionsList":[".f4v",".mp4",".mkv"],"KindredExtensionsList":[""],"Folder":"C:\PinballX\Media\Visual Pinball\Topper Videos","Description":"Topper Videos"},{"Enum":7,"Category":1,"Extensions":".png, .jpg, .swf","KindredExtensions":"","Tip":"Image used when displaying instruction cards","ExtensionsList":[".png",".jpg",".swf"],"KindredExtensionsList":[""],"Folder":"C:\PinballX\Media\Instruction Cards","Description":"Instruction Cards"},{"Enum":8,"Category":1,"Extensions":".png, .jpg","KindredExtensions":"","Tip":"Image used when displaying flyer","ExtensionsList":[".png",".jpg"],"KindredExtensionsList":[""],"Folder":"C:\PinballX\Media\Flyer Images\Back","Description":"Flyer Images\Back"},{"Enum":9,"Category":1,"Extensions":".png, .jpg","KindredExtensions":"","Tip":"Image used when displaying flyer","ExtensionsList":[".png",".jpg"],"KindredExtensionsList":[""],"Folder":"C:\PinballX\Media\Flyer Images\Front","Description":"Flyer Images\Front"},{"Enum":10,"Category":1,"Extensions":".png, .jpg","KindredExtensions":"","Tip":"Image used when displaying flyer","ExtensionsList":[".png",".jpg"],"KindredExtensionsList":[""],"Folder":"C:\PinballX\Media\Flyer Images\Inside1","Description":"Flyer Images\Inside1"},{"Enum":11,"Category":1,"Extensions":".png, .jpg","KindredExtensions":"","Tip":"Image used when displaying flyer","ExtensionsList":[".png",".jpg"],"KindredExtensionsList":[""],"Folder":"C:\PinballX\Media\Flyer Images\Inside2","Description":"Flyer Images\Inside2"},{"Enum":12,"Category":1,"Extensions":".png, .jpg","KindredExtensions":"","Tip":"Image used when displaying flyer","ExtensionsList":[".png",".jpg"],"KindredExtensionsList":[""],"Folder":"C:\PinballX\Media\Flyer Images\Inside3","Description":"Flyer Images\Inside3"},{"Enum":13,"Category":1,"Extensions":".png, .jpg","KindredExtensions":"","Tip":"Image used when displaying flyer","ExtensionsList":[".png",".jpg"],"KindredExtensionsList":[""],"Folder":"C:\PinballX\Media\Flyer Images\Inside4","Description":"Flyer Images\Inside4"},{"Enum":14,"Category":1,"Extensions":".png, .jpg","KindredExtensions":"","Tip":"Image used when displaying flyer","ExtensionsList":[".png",".jpg"],"KindredExtensionsList":[""],"Folder":"C:\PinballX\Media\Flyer Images\Inside5","Description":"Flyer Images\Inside5"},{"Enum":15,"Category":1,"Extensions":".png, .jpg","KindredExtensions":"","Tip":"Image used when displaying flyer","ExtensionsList":[".png",".jpg"],"KindredExtensionsList":[""],"Folder":"C:\PinballX\Media\Flyer Images\Inside6","Description":"Flyer Images\Inside6"}],"BackupFolder":"C:\Users\daryl\Downloads\ClrVPinBackups","TrainerWheels":true,"MatchFuzzyMinimumPercentage":205,"Scanner":{"SelectedCheckContentTypes":["Point Of Views","Backglasses","Tables","Table Audio","Launch Audio","Table Videos","Backglass Videos","Wheel Images","Topper Videos","Instruction Cards","Flyer Images\Back","Flyer Images\Front","Flyer Images\Inside1","Flyer Images\Inside2","Flyer Images\Inside3","Flyer Images\Inside4","Flyer Images\Inside5","Flyer Images\Inside6"],"SelectedCheckHitTypes":[0,1,5,6,2,3],"SelectedFixHitTypes":[0,1,2,3],"SelectedMultipleMatchOption":2,"MultipleMatchExceedSizeThresholdPercentage":85},"Rebuilder":{"SourceFolder":"C:\Users\daryl\Downloads\POV","DestinationContentType":"Point Of Views","IgnoreIfSmallerPercentage":75,"IgnoreIWords":["nude","adult","tba","original","orginal","b\u0026w"," bw ","2scr","2 screen"],"DeleteIgnoredFiles":false,"SelectedMatchTypes":[0,1,2,3],"SelectedMergeOptions":[0,1],"SelectedIgnoreOptions":[]},"Importer":{"IncludeOriginalTables":false,"UpdatedAtDateBegin":null,"UpdatedAtDateEnd":null},"Version":2}
Unhandled exception detected

Message: Attempted to divide by zero.
Assembly: ClrVpin, Version=2.3.1.0, Culture=neutral, PublicKeyToken=null
Sender: System.Windows.Threading.Dispatcher
Source: Application.Current.DispatcherUnhandledException
System.DivideByZeroException: Attempted to divide by zero.
at System.Decimal.DecCalc.VarDecDiv(DecCalc& d1, DecCalc& d2)
at ClrVpin.Scanner.ScannerUtils.<>c__DisplayClass4_4.b__14(Hit hit) in C:\code\ClrVpin\ClrVpin\Scanner\ScannerUtils.cs:line 137
at System.Linq.EnumerableSorter2.ComputeKeys(TElement[] elements, Int32 count) at System.Linq.OrderedEnumerable1.ToList()
at ClrVpin.Scanner.ScannerUtils.<>c__DisplayClass4_3.b__7(Game game) in C:\code\ClrVpin\ClrVpin\Scanner\ScannerUtils.cs:line 137
at System.Collections.Generic.List1.ForEach(Action1 action)
at System.Collections.Generic.List1.ForEach(Action1 action)
at ClrVpin.Scanner.ScannerUtils.Fix(ICollection1 games, String backupFolder, Action2 updateProgress) in C:\code\ClrVpin\ClrVpin\Scanner\ScannerUtils.cs:line 151
at System.Threading.Tasks.Task1.InnerInvoke() at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state) --- End of stack trace from previous location --- at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread) --- End of stack trace from previous location --- at ClrVpin.Scanner.ScannerUtils.FixAsync(List1 games, String backupFolder, Action`2 updateProgress) in C:\code\ClrVpin\ClrVpin\Scanner\ScannerUtils.cs:line 73
at ClrVpin.Scanner.ScannerViewModel.Start() in C:\code\ClrVpin\ClrVpin\Scanner\ScannerViewModel.cs:line 219
at System.Threading.Tasks.Task.<>c.b__128_0(Object state)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)

Automated version update management

Automate version update management..

  • Detect if a newer version is available during start up.
    • Configurable via settings..
  • Display changes (release notes
  • Optionally..
    • Open browser to release page and/or
    • Download and install update.

Detect installed applications and automatically assign folders

Proposal

  • Automatically detect the following installed products..
    • Visual Pinball X
    • PinballX (if applicable)
    • PinballY (if applicable)
  • Add an autofill option to automatically assign the relevantfolders.
  • Accommodate scenario whre both PBX and PBY are installed by allowing them to be set independently.

Related to #52 and #53.

Unhandled Error - The 'manufacturer' start tag on line 5 position 26 does not match the end tag of 'game'. Line 13, position 4.

Describe the bug
During launch of the application it crashes when Fuzzy search is checked
My assumption is that it cannot handle my XML file type

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
Program should start correctly ? Handle the XML file correctly

Screenshots
image

Additional context
see ClrVpin.log
ClrVpin.log

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.