GithubHelp home page GithubHelp logo

xantari / pincab.configurator Goto Github PK

View Code? Open in Web Editor NEW
14.0 3.0 1.0 5.11 MB

PinCab Configurator - A Game and System Manager for Virtual Pinball Cabinet and Desktop users

License: GNU General Public License v3.0

C# 99.97% Batchfile 0.03%
dmd pinball backglass topper monitors virtual-pinball pinup-popper pincab-configurator pinballx pinbally

pincab.configurator's People

Contributors

dependabot[bot] avatar xantari avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

jockejarre

pincab.configurator's Issues

The width setting of the grid is not adopted.

Describe the bug
The width setting of the grid is not adopted.

To Reproduce

  1. I start the PinCab.Configurator.exe
  2. I start the Databasebrowser
  3. I maximize the Databasebrowserwindow (3840x2160)
  4. I change the width of the grid for DatabaseGridColumnWidths and RelatedGridColumnWidths to
    "DatabaseGridColumnWidths": [
    539,
    770,
    402,
    74,
    100,
    126,
    140,
    331
    ],
    "RelatedGridColumnWidths": [
    539,
    770,
    402,
    74,
    100,
    126,
    140,
    331
    ]
  5. I close the Databasebrowser and the Pincab.Configurator.
  6. The databasebrowserprefs.json were correctly written.
  7. I begin again with step 1, the grid was reset and the new settings were not applied. As I exit the program the settings are back to
    "DatabaseGridColumnWidths": [
    194,
    57,
    338,
    53,
    67,
    92,
    56,
    59
    ],
    "RelatedGridColumnWidths": [
    52,
    37,
    45,
    53,
    67,
    73,
    56,
    47
    ]

It's the same, when I start the program as admin.
I use Windows 10 Pro 20H2 with all actual updates (Build: 19042.746).

Screenshots
PIC1 - After set the width.
PIC1
PIC2 - After new start.
PIC2

Attach the Log.txt
log-20210203.txt

Normally I have set my monitor to 150% scaling (Work-PC). But I tested it also with 100% setting. The same issue happened.

Can start, get Unhandled Exception

Stumbled upon this app, which seems useful, but can't start it.

2020-07-13 10:51:14.057 -04:00 [INF] Application Started. Version: 1.0.7499.19285
2020-07-13 10:51:14.973 -04:00 [ERR] Unhandled Exception occurred. System.NullReferenceException: Object reference not set to an instance of an object.
   at PinCab.ScreenUtil.DisplayDetailsExtensions.<>c.<ValidateDisplayConfiguration>b__8_1(DisplayDetail p) in C:\Users\myuser\Downloads\PinCabScreenConfigurator-master\PinCab.ScreenUtil\Extensions\DisplayDetailsExtensions.cs:line 162
   at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source, Func`2 predicate)
   at PinCab.ScreenUtil.DisplayDetailsExtensions.ValidateDisplayConfiguration(List`1 displayDetails) in C:\Users\myuser\Downloads\PinCabScreenConfigurator-master\PinCab.ScreenUtil\Extensions\DisplayDetailsExtensions.cs:line 162
   at PinCab.Configurator.MainForm.ValidateMonitorConfiguration() in C:\Users\myuser\Downloads\PinCabScreenConfigurator-master\PinCab.Configurator\MainForm.cs:line 141
   at PinCab.Configurator.MainForm..ctor() in C:\Users\myuser\Downloads\PinCabScreenConfigurator-master\PinCab.Configurator\MainForm.cs:line 55
   at PinCab.Configurator.Program.Main() in C:\Users\myuser\Downloads\PinCabScreenConfigurator-master\PinCab.Configurator\Program.cs:line 36

Add Fill From Database Manager Option

The database manager has some useful information such as Author and sometimes better table descriptions and data we could put into the comments field.

Implement the auto fill feature similar to the Ipdb Fill Function in the Add/Edit Game screen.

Perhaps hinge on the source url to be filled in to get the data as that could be the key to lookup the table information. For instance if a table came from vpinball.com and the vpinball.com/downloads/... was filled in, we could look it up in the database from that url key to fill in missing fields.

Provide a popup window to select which field data to keep, and to save those preferences.

Implement Record Media

Implement the record an individual table

  • Turn off exclusive full screen for the user automatically
  • Run FFMPEG commands automatically for the defined screen layouts
  • Option to run the front end's capture mechanism (if a command line switch is available for the front end) instead of ffmpeg
  • Move the resulting files automatically to the appropriate front end media folder with the table name as the file name

Implement Launch Game Link

Implement the Launch Game feature

  • Option dialog to go into the F6 Camera/Light/Orientation edit mode right away that lets you change the screen orientation
  • Option to go into launch table mode (F5)
  • Option to launch using the front end if it supports it (for instance pinball X supports commandline switch driven launching)

Database Outside Editor warning notification

Notify user if the game database was edited outside of the program.

Only valid for PinballX / PinballY

Perhaps a better choice is to add all extra metadata to external .json files instead of piggybacking on the database.xml files in PinballX/PinballY

Implement Find Media Feature

  1. Hook into GameEx FTP if the user is a member (must have GamEx subscription)
  2. Hook into user defined list of mega links
  3. Option to right click a missing media cell and it will automatically popup a browser to search for that media in google or the database manager

Add Rename Table feature

Add function to rename a table, and have it rename all corresponding files (All media, Backglass directB2s file) so that when you name your tables with the version # of the table all the media comes along with it.

Scenario:

  1. You have version 1.1 of a table. Example "Tales of the Crypt (Data East) 1993 v1.1.vpx"
  2. Game manager notices newer version is available (1.2 for instance).
  3. We want to rename Tales of the Crypt (Data East) 1993 v1.1 to Tales of the Crypt (Data East) 1993 v1.2 and have all media and backglass rename with that change.
  4. Then we would download the new version and overwrite the V1.1 version with the V1.2.vpx file.

There may be a better workflow for updating tables, but this is the initial workflow I was planning on.

Feature should popup a window asking you to checkmark (or check all is the default) of all the media, b2s that it found that it will rename to make it more flexible.

Import media-files from other sources

At the moment only mediafiles from vpforums are insert in the database.
It would be nice, if other ressources would be added like Popper-mediadatabase or MEGA-accounts from different users.
I upload my mediafiles (at the moment nearly 9.000 files) to MEGA and Popper.
So if it is possible, ask David Paiva (nailbuster) to import links from Popper. And I can give you the links to my MEGA-account.

Filemanager in Popper
[REDACTED, screenshot is from a private server]

Quick add new games via Add Game

Detect games that have not been added by detecting the type of system you are adding a game from (Future Pinball, Virtual Pinball) so that you don't have to browse the entire folder list when adding new games

Add Clone Game Entry Option

Add a clone game entry option to the game manager that does the following:

  1. Creates a new entry into the game database
  2. Copies the B2S if there is one (VP only)
  3. Copys any media attached to the game

Idea is if you want to keep multiple similar variants of a game on the system (same wheel image, etc) that it allows for easy setup of the clone. For instance you maybe want to keep two different versions of the same table (1.1 and 1.2 versions for instance).

Add Table Audit Feature

Table Audit Feature:

  1. Show games with updates
  2. Show .vpt / .fpt / .vpx files in the folders but not present in the selected database selection (games not yet added to the database)

Implement Outdated table notifications (Show Games With Updates option)

Implement the outdated table notifications based off of tracked download Url compared to the database's create date timestamp marker

Maintain an install time of the table in a local database (extra fields in PinballY/PinballX XML, and already a field in PinUpPoppers Games table), so you can compare the last updated date/time stamp in the pinball game database to see if updates to a table are available.

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.