Jump to content




Photo
* * * * * 2 votes

Table Manager for Pincab


  • Please log in to reply
52 replies to this topic

#1 CloudHead

CloudHead

    Enthusiast

  • Members
  • PipPipPip
  • 72 posts
  • Location:Paris, France

  • Flag: France

  • Favorite Pinball: Addam's Family / TOTAN / MM / Funhouse

Posted 22 September 2017 - 12:58 PM

Hi,

A few weeks backs I started an experiment which aim was to produce High Scores inserts displayed on top of the backglass image within the PinballX frontend.

 

It then got out of hand and grew on me - and became what turned out to be a Table Manager application for my own Pincab.

 

GUIf1433.md.png

I would pretty much consider it as Alpha version but it's working great overall.

FYI it's written in Python and it is compiled to windows executable using nuitka/MinGW64

 

What it can do already:

-display media (video playback is working too but still unoptimal)

-audit media files (single table+global audit for selected system)

-list and edit tables for every PinballX installed systems (VPX, PM5, etc)<-auto renaming present media files WIP

-manage a custom group of Favorites tables <- mostly why I started the frontend in the first place

-add new tables to pinballX (select table file from a list of detected uninstalled tables, select a game description from a list, etc)

-import media from disk (file picker, no web/ftp import yet) <- I don't have a gameex account anyway

-scoreboard generator (can be automated when exiting a table in pinballX)

-auto splitting databases by type/manufacturer/years

-managing a custom group of Favorites tables <- mostly why I started the frontend in the first place

-fetching informations from IPDB

-launch and test a table

 

I'm up to the point where I might be interested in looking further into the vpdb.io API for fetching infos and potentially missing media/b2s/etc. Maybe even installing new tables from there, if that's something that can be done...

Something else I'd like to do is be able to trigger video recording, a bit like PBXRecorder does (which is what I'm using today to record my video previews). I'll see.

 

Now I'm standing at kind of a crossroad : do I want to push it further and polish it in order for it to be 'releasable' to the public, or do I keep on filling my own needs and curiosity.

That's where I need you guys.

 

Do you need such a tool, or are you fullfilled by the available tools already ?

Can you think of any special feature that you are missing in the tools you are currently using ?

 

Any feedback welcome !

 

Thanks for reading,

CloudHead.


Edited by CloudHead, 22 September 2017 - 02:51 PM.

My Band : VOPARiS - some nice live videos : https://www.youtube....h?v=Jg-bchjNuRM

 

#2 hlr53

hlr53

    Pinball Fan

  • Members
  • PipPipPipPip
  • 653 posts
  • Location:Cincinnati OH area

  • Flag: United States of America

  • Favorite Pinball: 1964 Williams Palooka Joe

Posted 22 September 2017 - 11:47 PM

Without question, keep rocking it! Any chance we can download when you're ready? It's hard for me to visualize without playing with it.

Cab: 40" Haier, 28" I-INC, v3DMD, 4D7 solenoids. Altec-Lansing speakers and sub. Artwork by Stuzza. Printing by Bowman. Need to add lighting. VR: HP Reverb 


#3 32assassin

32assassin

    Pinball Fan

  • VIP
  • 852 posts

  • Flag: United States of America

  • Favorite Pinball: terminator 2

Posted 23 September 2017 - 12:15 AM

here is some features you can add

 

I don't use them

but some people use an alt exe to launch the various VP exes.

 

add this to the XML (per game entry)

<exe></exe>

	<game name="Agents 777 (Game Plan 1984)">
		<description>Agents 777 (Game Plan 1984)</description>
		<rom></rom>
		<manufacturer>Game Plan</manufacturer>
		<year>1984</year>
		<type>SS</type>
		<hidedmd>False</hidedmd>
		<hidebackglass>True</hidebackglass>
		<enabled>True</enabled>
		<rating>0</rating>
		<exe>VPinballX</exe>
	</game>

add a  text box to your GUI so that the end user can insert what exe they like to use for each table

 

 

this is something that is missing from the game-manager in PinballX

 

 

 

 

Second

I use the "Other Systems" in PinballX 

I have 5 separate VP XMLs,   

when I update a table from one version to another, 

I have to open 2 XMLs in notepad and copy the game entry from one XML to another.

 

it would be nice if you could do that in your manager

 

-Open 2 XMLs in the GUI

-move one game entry from one XML to another with one mouse click


My Files
http://www.vpforums....4de64a621eccd40
My Table List
www.youtube.com/watch?v=DlaxLrXlPOU

See a table you like, help me complete it by finding the missing resources

https://www.dropbox....xTzKtGHTHa?dl=0


#4 tttttwii

tttttwii

    Enthusiast

  • Platinum Supporter
  • 300 posts

  • Flag: Germany

  • Favorite Pinball: Attack from Mars

Posted 23 September 2017 - 09:10 AM

The scoreboard idea is sweet. I am looking forward to the release of your tool!



#5 CloudHead

CloudHead

    Enthusiast

  • Members
  • PipPipPip
  • 72 posts
  • Location:Paris, France

  • Flag: France

  • Favorite Pinball: Addam's Family / TOTAN / MM / Funhouse

Posted 23 September 2017 - 11:22 PM

add a  text box to your GUI so that the end user can insert what exe they like to use for each table
 
this is something that is missing from the game-manager in PinballX

Second
I use the "Other Systems" in PinballX 
I have 5 separate VP XMLs,   
when I update a table from one version to another, 
I have to open 2 XMLs in notepad and copy the game entry from one XML to another.

it would be nice if you could do that in your manager

Thanks for the suggestions, keep them rolling !
->First is done already. I added the field, with an option for toggling it off in the config file.
->I implemented the second suggestion in the form of a right-click context menu in the list - allowing to copy or move a table to another existing children XML for the current system. It still needs some work but it's there.
Would something like this do the job ?
GUI8b021ac3d04841a8.md.png

Edited by CloudHead, 24 September 2017 - 01:04 AM.

My Band : VOPARiS - some nice live videos : https://www.youtube....h?v=Jg-bchjNuRM

 

#6 yagesz

yagesz

    Enthusiast

  • Platinum Supporter
  • 303 posts
  • Location:Wyoming

  • Flag: United States of America

  • Favorite Pinball: TAF, TSPP, Metallica, CV

Posted 24 September 2017 - 03:17 AM

OMG. Just found this. This is fantastic. 

I love 32A's recommendation.   The altExe is nice.

For option 2 this is a much needed option. I like how you implimented it.  I will use this greatly as well. 

 

My recommendations:

1. Can this be used over a network?  I edit 95% of my machine from a laptop and its a total PIA. 

     1.1 Use drag and drop to place and rename files. So if i drag a new wheel image from my laptop of the wheel logo on the top right it will rename and move appropratily.

 

2. If its not there already a way to rename a file set to the same. So if you change Table (Company Year) to Table2 (Company Year)  everything can change that has that first file name.

 

3. I would love an audit tool to tell me all the files that are extras. Keep a predetermined list that won't trip aka ScreenRes, B2S.xml. But extra vpts, pngs, txt files you name it.)

 

4. Pickup on 32's idea. Can you prompt to transfer all files if its from one VP version to the next VP version. I like to keep a SINGLE version of a table on hand. So when for example Jokerz is released in VPX I can move from VP9 to VPX. Move all the media files I want.... Mainly the wheels and delete all the old. I think this is way overthought now but i would make my life better and I can't be the only one doing it this way.

 

If you need coding help I know my way around python some and can assist.


Edited by yagesz, 24 September 2017 - 03:20 AM.


#7 Thalamus

Thalamus

    Pinball Wizard

  • Platinum Supporter
  • 4,114 posts

  • Flag: Norway

  • Favorite Pinball: GOT, Alien Star, LOTR, TOM

Posted 24 September 2017 - 08:51 AM

 

 

My recommendations:
 

 

2. If its not there already a way to rename a file set to the same. So if you change Table (Company Year) to Table2 (Company Year)  everything can change that has that first file name.

 

 

Hmm. There are a quite a lot of tables out there that has the same first name. Harley Davidson, Star Trek/Wars ... etc.

 

Just saying.



#8 Rajo Joey

Rajo Joey

    Pinball Fan

  • Silver Supporter
  • 1,324 posts
  • Location:Niedersachsen

  • Flag: Germany

  • Favorite Pinball: Attack from Mars, Abra Ca Dabra and many old EM-Tables

Posted 24 September 2017 - 12:01 PM

My file extensions for the physmod 5 tables is .vp5.

This tables can't be found in the program PinXCheck, which I use t the moment.

So it would be nice, if those table can be found.


Rajo Joey - My front-end-files; Hundreds of Audio- and Videorecordings in high quality for Playfield (4k/60FPS) and Backglass (HD), Wheels & POV-Files: The Media-Post

https://www.facebook...02697096474910/

https://www.facebook...oups/VPAddicts/

https://www.facebook...oups/VPjunkies/


#9 yagesz

yagesz

    Enthusiast

  • Platinum Supporter
  • 303 posts
  • Location:Wyoming

  • Flag: United States of America

  • Favorite Pinball: TAF, TSPP, Metallica, CV

Posted 24 September 2017 - 03:50 PM

 

 

 

My recommendations:
 

 

2. If its not there already a way to rename a file set to the same. So if you change Table (Company Year) to Table2 (Company Year)  everything can change that has that first file name.

 

 

Hmm. There are a quite a lot of tables out there that has the same first name. Harley Davidson, Star Trek/Wars ... etc.

 

Just saying.

 

 

Are you supporting this idea or against it? 



#10 Thalamus

Thalamus

    Pinball Wizard

  • Platinum Supporter
  • 4,114 posts

  • Flag: Norway

  • Favorite Pinball: GOT, Alien Star, LOTR, TOM

Posted 24 September 2017 - 06:32 PM

Guess I'm just warning that doing anything automatic based on just names will fail.



#11 CloudHead

CloudHead

    Enthusiast

  • Members
  • PipPipPip
  • 72 posts
  • Location:Paris, France

  • Flag: France

  • Favorite Pinball: Addam's Family / TOTAN / MM / Funhouse

Posted 25 September 2017 - 12:23 AM

Guess I'm just warning that doing anything automatic based on just na
 

My recommendations:
 
 
2. If its not there already a way to rename a file set to the same. So if you change Table (Company Year) to Table2 (Company Year)  everything can change that has that first file name.

 
Hmm. There are a quite a lot of tables out there that has the same first name. Harley Davidson, Star Trek/Wars ... etc.
 
Just saying.

 
Renaming a file set :
What I'm planning is to push you to use some common naming convention. It'd be nice if we all use the same (especially in regard of the description, i.e (Bally, 1979) vs (Bally 1979) vs (Bally-Midway 1979)...
Double clicking the description of a table will pop up a selection list, based of the standard IPDB naming, with a pre selected item that would match the table filename (fuzzy logic matching, working pretty great so far).
Then selecting a row in that list would rename all media already associated with that game to the new naming.
It is also possible to rename manually any field, and changing the description would trigger a media renaming too.
 
I know I'm not overly clear, but bear with me since english is not my native language.

My file extensions for the physmod 5 tables is .vp5.
This tables can't be found in the program PinXCheck, which I use t the moment.
So it would be nice, if those table can be found.

Okay. Let's make additional table extensions user defined in the config file then :P.

1. Can this be used over a network?  I edit 95% of my machine from a laptop and its a total PIA. 
     1.1 Use drag and drop to place and rename files. So if i drag a new wheel image from my laptop of the wheel logo on the top right it will rename and move appropratily.


1.I think this should'nt be a problem if you are using a mounted windows network share. I'll be testing this.
1.1 pretty much that, yes. For now, it is a file selection dialog, but drag'n'drop is on my todo list now :P

3. I would love an audit tool to tell me all the files that are extras. Keep a predetermined list that won't trip aka ScreenRes, B2S.xml. But extra vpts, pngs, txt files you name it.)


3. Well, I didn't even think about that. I have no idea what kind of filesize overhead I have on my pincab media SSD... Okay, not high priority, but I'll be considering this.

If you need coding help I know my way around python some and can assist.

When the classes are a bit cleaned up and properly documented (if ever, haha), I'll open up my Gitlab repos, sure. For now, code is a bit of mess. But at some point I'm pretty sure any help will be a welcome addition.

Edited by CloudHead, 25 September 2017 - 12:23 AM.

My Band : VOPARiS - some nice live videos : https://www.youtube....h?v=Jg-bchjNuRM

 

#12 32assassin

32assassin

    Pinball Fan

  • VIP
  • 852 posts

  • Flag: United States of America

  • Favorite Pinball: terminator 2

Posted 25 September 2017 - 03:30 AM

great job so far  

 

 

 

 

Thanks for the suggestions, keep them rolling !
->First is done already. I added the field, with an option for toggling it off in the config file.
->I implemented the second suggestion in the form of a right-click context menu in the list - allowing to copy or move a table to another existing children XML for the current system. It still needs some work but it's there.
Would something like this do the job ?

 

 

 

I want a listed table  remove from  Parent XML1 and pasted on Parent XML 2

I do not have any children XMLs similar to what you have in your pop up window

 

I have

5 Parent Visual Pinball XMLs

 

Attached File  Capture.PNG   66.9KB   14 downloads

 

 

Example

 

If I have TAble1 PHY5 version and its. listed in the parent XML found in the folder Visual Pinball Physics 5

if

Table1  is released as a VPX table, I will delete the PHY5 version and replace it with the VPX version.

 

 

I have to remove Table 1 from the Parent XML in the  folder Visual Pinball Physics 5

and past it on the parent XML found in folder Visual Pinball X

 

I do not want to create a children XML in the folder Visual Pinball Physics 5

 

 

 

 

 

 

 

 

I want Table 1 remove from  Parent XML1 and pasted on Parent XML 2


My Files
http://www.vpforums....4de64a621eccd40
My Table List
www.youtube.com/watch?v=DlaxLrXlPOU

See a table you like, help me complete it by finding the missing resources

https://www.dropbox....xTzKtGHTHa?dl=0


#13 chepas

chepas

    Donald HorsePin Init

  • Members
  • PipPipPipPip
  • 1,620 posts

  • Flag: England

  • Favorite Pinball: BSD 2.0 - Gashville 2020

Posted 25 September 2017 - 04:31 AM

My file extensions for the physmod 5 tables is .vp5.

This tables can't be found in the program PinXCheck, which I use t the moment.

So it would be nice, if those table can be found.

 

I never understood this, creating your own VP extension. I suppose it's kind of wise to imagine up new extensions for future proofing. Ie. B2S plugin server sends through a hard coded .vpt into plugins.

 

If you've gone and renamed all the extensions from .vpt to .vp5, move these to a folder and add all from unused tables creating a Physmod xml and move the tables back into your main folder. As long as you keep hold of the Xml, like even backing up in the cloud you'll never lose it. Are physmods being made anymore? I don't think it would take you long, you've probably done all the work for that already.

 

32Assasin wants what sounds to me like the "Multi System Creator" in Hypermint. This is just a spare collection that you can pass selected table entries into and save as a new xml. In hypermint this also gave you the option to copy all the media or copy the media as symbolic links saving you all that space.


Bump maps are the new auto-tune :BDH:


#14 CloudHead

CloudHead

    Enthusiast

  • Members
  • PipPipPip
  • 72 posts
  • Location:Paris, France

  • Flag: France

  • Favorite Pinball: Addam's Family / TOTAN / MM / Funhouse

Posted 25 September 2017 - 09:55 PM

I want a listed table  remove from  Parent XML1 and pasted on Parent XML 2
I do not have any children XMLs similar to what you have in your pop up window
 
I have
5 Parent Visual Pinball XMLs
 
attachicon.gifCapture.PNG
 
 
Example
 
If I have TAble1 PHY5 version and its. listed in the parent XML found in the folder Visual Pinball Physics 5
if
Table1  is released as a VPX table, I will delete the PHY5 version and replace it with the VPX version.
 
 
I have to remove Table 1 from the Parent XML in the  folder Visual Pinball Physics 5
and past it on the parent XML found in folder Visual Pinball X
 
I do not want to create a children XML in the folder Visual Pinball Physics 5
 
I want Table 1 remove from  Parent XML1 and pasted on Parent XML 2


Okay then, I guess this is the kind of depth you're looking for:
GUI2d117925b52c14a5.md.png
(last level is XMLs for the system)
Tricky, but definetely doable.

My Band : VOPARiS - some nice live videos : https://www.youtube....h?v=Jg-bchjNuRM

 

#15 Thalamus

Thalamus

    Pinball Wizard

  • Platinum Supporter
  • 4,114 posts

  • Flag: Norway

  • Favorite Pinball: GOT, Alien Star, LOTR, TOM

Posted 26 September 2017 - 12:46 AM

Well - I agree that a common naming convention would be great ... if only everyone followed what I use ;)

( I don't find any of those most common ones - to my liking )



#16 Stevo1911

Stevo1911

    Hobbyist

  • Members
  • PipPip
  • 27 posts

  • Flag: United States of America

  • Favorite Pinball: No Fear, High Speed Getaway 2, Cactus Canyon

Posted 27 September 2017 - 01:12 AM

Cloudhead, This looks fantastic. I have VP9, PM5 and VPX versions of VP configured within Pinballx with custom xml files.  Creating the separate xml files has been time consuming. Your table manager looks really cool.  I am also very interested in identifying orphaned table and media files as well.

 

Looking forward to your big release.  :otvclap:

 

Thanks



#17 JustAnotherRat

JustAnotherRat

    Hobbyist

  • Members
  • PipPip
  • 18 posts

  • Flag: Australia

  • Favorite Pinball: Fish Tales / Last Action Hero / World Cup 94 / Who Dunnit

  • 360 Gamer Tag: JustAnotherRat

Posted 27 September 2017 - 05:29 AM

I don't fully understand what this tool is for, I do however like the idea of showing high score tables.



#18 ViriiGuy

ViriiGuy

    Enthusiast

  • Silver Supporter
  • 125 posts
  • Location:Knoxville TN

  • Flag: United States of America

  • Favorite Pinball: Pinbot, Indiana Jones, Adams Family

Posted 27 September 2017 - 09:23 AM

This is sweet! Now if you could find a way to get it to check this spreadsheet for missing tables.. and download them.. It would be the penultimate app!
https://docs.google....#gid=2143924347



#19 subdisturb

subdisturb

    Hobbyist

  • Platinum Supporter
  • 27 posts

  • Flag: ---------

  • Favorite Pinball: All

Posted 27 September 2017 - 01:51 PM

I'm curious on how you're pulling the high scores.  I've got some friends who come over quite regularly for pinball/beer and we are all very competitive, so I created a scoreboard intranet website that runs on my server in my house that allows us to keep track of our wins on each table and total wins against each other.  I set up a Raspberry Pi3 with a 7 inch touch screen that displays the website and lets us log the scores.  One of the features I wanted to add was the ability to display the high scores of each table (the actual table, not just between us), so we wouldn't have to wait to see it scroll after the game how close we might have been to adding a new high score.  There's a folder (in the pinmame folder I believe, created by PinHiMem maybe, it's been a while since I've looked at this due to my frustration with the naming conventions), that keeps a list of most of the high scores.  I wrote a small batch application that scans that folder on table exit in PinballX for any updated files and then pushes them over to my web server.  So, if you're getting the high scores in some other method, I'd been very keen to know how to see if I can improve my set up.

 

Here's the actual Pi (Don't mind the second logo.  Since I built the web app, my friends don't get to choose their own logos  :tongue3: ) :

bzcwiVF.png

 

Here's the game log from Popeye when it actually can match on the high scores from the cabinet:

I3U250n.png



#20 CloudHead

CloudHead

    Enthusiast

  • Members
  • PipPipPip
  • 72 posts
  • Location:Paris, France

  • Flag: France

  • Favorite Pinball: Addam's Family / TOTAN / MM / Funhouse

Posted 27 September 2017 - 07:06 PM

This is sweet! Now if you could find a way to get it to check this spreadsheet for missing tables.. and download them.. It would be the penultimate app!
https://docs.google....#gid=2143924347

Holly Molly ! Didn't even know that this existed ! Will check it out !


I'm curious on how you're pulling the high scores.  I've got some friends who come over quite regularly for pinball/beer and we are all very competitive, so I created a scoreboard intranet website that runs on my server in my house that allows us to keep track of our wins on each table and total wins against each other.  I set up a Raspberry Pi3 with a 7 inch touch screen that displays the website and lets us log the scores.  One of the features I wanted to add was the ability to display the high scores of each table (the actual table, not just between us), so we wouldn't have to wait to see it scroll after the game how close we might have been to adding a new high score.  There's a folder (in the pinmame folder I believe, created by PinHiMem maybe, it's been a while since I've looked at this due to my frustration with the naming conventions), that keeps a list of most of the high scores.  I wrote a small batch application that scans that folder on table exit in PinballX for any updated files and then pushes them over to my web server.  So, if you're getting the high scores in some other method, I'd been very keen to know how to see if I can improve my set up.

 

Here's the actual Pi (Don't mind the second logo.  Since I built the web app, my friends don't get to choose their own logos  :tongue3: ) :

 

 

Here's the game log from Popeye when it actually can match on the high scores from the cabinet:

 

 

I'm taking the high scores either from:

-PinballX high score txts

-then running Pinemhi if not found

-I have modified some EMs table to record their score in the same dir too.

 

Then I generate an image file by overlaying the text in a frame with portion of the backglass (config.ini configured), and using Topper to display it over the backglass. It looks cool ! You can change parameter for the font to use too. The scores are either generated on table exit, or globally too.


My Band : VOPARiS - some nice live videos : https://www.youtube....h?v=Jg-bchjNuRM