Jump to content
LaunchBox Community Forums

Visual Pinball - more than one instance? Best way to import?


Pineappleking

Recommended Posts

Hello everyone, I have loaded a huge package of Pinball tables (more than 6000) and would like to import them into Launchbox.

Now the tables always have to be loaded with a special version of the emulator in order for them to work. I have files that are named like this: "Empire Strikes Back, The [VP8]". Would mean I would have to start this table with "Visual Pinball Version 8" for it to work without any problems.

If I add up all the versions, there would be 14 versions for which I would probably have to create my own emulator in Launchbox. I would also have to create a separate Pinball category or playlist for each version so that the different emulator versions work, right?

Is there perhaps a better way?

Then something about the image data. Each table is in its own folder. In each of these folders there is a JPG file that is named exactly like the table. The JPGs are screenshots of the tables. I would like to use this as a cover, but I don't know how to do it.

Can someone help me?

Link to comment
Share on other sites

7 hours ago, Pineappleking said:

If I add up all the versions, there would be 14 versions for which I would probably have to create my own emulator in Launchbox.

14 versions of vpinballxxx.exe?  I can see maybe up to 5 or possibly 6 as many are, to a degree, are backwards compatible.  Or are you talking pinball emulation in general (including Future Pinball etc.)?

 

One Option:

Setup your 14 variants of vpinballxxx.exe emulators.  Import the tables into 14 platforms using the 14 respective emulators.  (you can go to your Tables folder in Windows Explorer, then filter-search i.e. *[vp8].vp?  then drag/drop the results on LaunchBox)

After all are imported, you should be able to bulk edit the 14 platforms of tables and change their Platform (combine them all into) to "Visual Pinball".  You probably need to do it 14 times, but they should all maintain the respective emulator.

 

Another option (which would be a lot cleaner):

Such as you illuded towards, create one emulator.  That 'emulator' can be a batch file, AHK script, Python, C# app  ...whatever you're comfortable with coding in.  Then just pass the table to the 'emu' and parse the filename for whatever's between the brackets (i.e. [vp8]) and then use 14 if/then statements (or a switch/case statement) to start the respective emulator.

Then you can just dump all 6k+ tables in, all at once, into one platform, using one emulator.

 

8 hours ago, Pineappleking said:

Then something about the image data. Each table is in its own folder. In each of these folders there is a JPG file that is named exactly like the table. The JPGs are screenshots of the tables. I would like to use this as a cover, but I don't know how to do it.

Since they're named the exact same as the table, you can just copy those into /Images/Visual Pinball/[image_type_of_your_choosing]/ folder.

Like in 'one option' above, go to your Tables folder in Windows Explorer, then filter-search *.jpg, then copy the results into the folder.

  • Like 1
Link to comment
Share on other sites

On 10/15/2024 at 3:10 PM, JoeViking245 said:

...
Another option (which would be a lot cleaner):

Such as you illuded towards, create one emulator.  That 'emulator' can be a batch file, AHK script, Python, C# app  ...whatever you're comfortable with coding in.  Then just pass the table to the 'emu' and parse the filename for whatever's between the brackets (i.e. [vp8]) and then use 14 if/then statements (or a switch/case statement) to start the respective emulator.

Then you can just dump all 6k+ tables in, all at once, into one platform, using one emulator.

 

Since they're named the exact same as the table, you can just copy those into /Images/Visual Pinball/[image_type_of_your_choosing]/ folder.

Like in 'one option' above, go to your Tables folder in Windows Explorer, then filter-search *.jpg, then copy the results into the folder.

Thank you very much 😊
I think I'd love to use a batch or AHK version, but I can't code 😒
Do you perhaps have a script at hand for me that I would only have to adapt to the exe files?

Because there are now 33 emulator instances 🤷‍♂️

Screenshot 2024-10-17 162041.png

Link to comment
Share on other sites

51 minutes ago, Pineappleking said:

...there are now 33 emulator instances

First off, that's just sick.  And I don't mean in the slang conventions of "cool/neat/awesome...".  ;)

Many of the Visual Pinball exe's are backwards compatible.  vpinball-9.95.exe should work for any table created in the vp 9.xx series.  Possibly also for the older vp 6.x and 8.x series'.

VPX-6.2 should work for everything down to VPX. 

VPX 7.xx and VPX 8.xx should work in their respective series.  Some VPX-7 tables work in VPX-8. Others don't.

Myself, any table I had that was created for vp9, there's a VPX version.  So I've gotten rid of anything vp9 and prior.  But that's just me.

 

1 hour ago, Pineappleking said:

I think I'd love to use a batch or AHK version, but I can't code

Wait... you mean to tell me you've set up Visual Pinball, have tables from all those versions, got them all working in your setup... all on your own?  Without knowing how to code?  Well done!

I'm not saying you need to know code to be able to setup VP.  But it'd seem to me, someone with the wherewithal to setup something that extreme would at least know a little bit of coding. ;)

 

In all seriousness, you really should whittle down the # of exe's you have.  If nothing else, for your own sanity.  Then also, update tables that were recreated in newer versions of VP.  Because if you're going to play them, play something that looks and plays good.  Just sayin'. 😎

Link to comment
Share on other sites

A long time ago I loaded a Visual Pinball X set with around 50 tables.  I simply imported these into Launchbox, previously set up the emulator and everything worked.  Then about a year ago I loaded up a large package of pinball tables.  Everything was preconfigured there, except that the package was not intended for Launchbox.  I tested many tables with the corresponding emulator versions and found that although the emulators were partially backwards compatible, the tables usually had errors if I didn't use the correct version of the emulator.  Therefore I would like the emulators to remain in your version.  This is the only way I can be sure that every table really works.

Link to comment
Share on other sites

1 hour ago, Pineappleking said:

A long time ago I loaded a Visual Pinball X set with around 50 tables.  I simply imported these into Launchbox, previously set up the emulator and everything worked.  Then about a year ago I loaded up a large package of pinball tables.  Everything was preconfigured there, except that the package was not intended for Launchbox.  I tested many tables with the corresponding emulator versions and found that although the emulators were partially backwards compatible, the tables usually had errors if I didn't use the correct version of the emulator.  Therefore I would like the emulators to remain in your version.  This is the only way I can be sure that every table really works.

Ahhh.... preconfigured.  That's cheating. :) 

This script will help you get started.  You'll need to change the pathToVP to the root folder your exe's are located in.  VPversion will give you whatever's between the [brackets].  i.e. vp6.1 and vp8.  If your table filenames have more than one set of [brackets] in them, (not to be confused with parenthesis), that'll probably mess the script up and it won't work.    Next you need to add the other 31 if statements (2 of the 33 are shown for examples).  I don't know if the older versions use/have the same command line parameters (-minimized -exit -play).  If they don't, then some finagling will need to be done.

 

#SingleInstance Force

pathToVP = D:\Emulators\Visual Pinball

fullFile=%1%
SplitPath,fullFile,filename,dir,ext,fileNoext,drive

StringSplit,VP,fileNoExt,[]
VPversion = VP2

if (VPversion = "vp6.1")
   exe := "VPinball-6.1.exe"
if (VPversion = "vp8")
   exe := "VPinball-8.0.exe"
;do this 31 more times

Run, "%pathToVP%/%exe%" -minimized -exit -play %fullFile%
  • Like 1
  • Thanks 1
Link to comment
Share on other sites

On 10/17/2024 at 10:01 PM, JoeViking245 said:

Ahhh.... preconfigured.  That's cheating. :) 

This script will help you get started.  You'll need to change the pathToVP to the root folder your exe's are located in.  VPversion will give you whatever's between the [brackets].  i.e. vp6.1 and vp8.  If your table filenames have more than one set of [brackets] in them, (not to be confused with parenthesis), that'll probably mess the script up and it won't work.    Next you need to add the other 31 if statements (2 of the 33 are shown for examples).  I don't know if the older versions use/have the same command line parameters (-minimized -exit -play).  If they don't, then some finagling will need to be done.

 

Hello JoeViking,

can you help me again? I adjusted the paths in the script - but haven't added all the emulator instances yet - just for testing purposes.
I stored the script in my Visual Pinball Emulators folder and set up AHK as the new emulator. Unfortunately, something isn't working. When I try to start a table, I only get a black screen for a very short time. No error message or anything else from which I could deduce my error.

Could you help me again?

My adapted script follows here

VPinball.ahk

Screenshot 2024-10-21 103649.png

Edited by Pineappleking
Link to comment
Share on other sites

3 hours ago, Pineappleking said:

can you help me again? I adjusted the paths in the script - but haven't added all the emulator instances yet - just for testing purposes.
I stored the script in my Visual Pinball Emulators folder and set up AHK as the new emulator. Unfortunately, something isn't working. When I try to start a table, I only get a black screen for a very short time. No error message or anything else from which I could deduce my error.

Could you help me again?

My adapted script follows here

You added quotes around you pathToVP path.  Don't do that. ;) 

I forgot a % symbol on the VPversion line.  Oops. 😊

Though probably doesn't matter, I changed the direction of the slash ( / ) on the Run line.

Lastly, I added quotes around fullFile on the Run line to account for spaces in the table path_to_table.

#SingleInstance Force

pathToVP = Z:\LaunchBox\Emulators\Visual Pinball

fullFile=%1%
SplitPath,fullFile,filename,dir,ext,fileNoext,drive

StringSplit,VP,fileNoExt,[]
VPversion = % VP2

if (VPversion = "VP6")
   exe := "VPinball-6.1.exe"
if (VPversion = "VP7")
   exe := "VPinball-8.0.exe"
if (VPversion = "VP8")
   exe := "VPinball-8.1.exe"
if (VPversion = "VP9.0")
   exe := "VPinball-9.08.exe"
if (VPversion = "VP9.1")
   exe := "VPinball-9.14.exe"
if (VPversion = "VP9.2")
   exe := "VPinball-9.21.exe"
if (VPversion = "VP9.9")
   exe := "VPinball-9.95.exe"
if (VPversion = "PhysioMod")
   exe := "VPinball-9.9-PhysMod5-Updated.exe"
if (VPversion = "VPX6")
   exe := "VPinball-X-6.2.exe"
if (VPversion = "VPX7")
   exe := "VPinball-X-7.3.exe"
if (VPversion = "VPX8")
   exe := "VPinball-X-7.3.exe"

Run, "%pathToVP%\%exe%" -minimized -exit -play "%fullFile%"

 

Link to comment
Share on other sites

21 minutes ago, JoeViking245 said:

You added quotes around you pathToVP path.  Don't do that. ;) 

I forgot a % symbol on the VPversion line.  Oops. 😊

Though probably doesn't matter, I changed the direction of the slash ( / ) on the Run line.

Lastly, I added quotes around fullFile on the Run line to account for spaces in the table path_to_table.

#SingleInstance Force

pathToVP = Z:\LaunchBox\Emulators\Visual Pinball

fullFile=%1%
SplitPath,fullFile,filename,dir,ext,fileNoext,drive

StringSplit,VP,fileNoExt,[]
VPversion = % VP2

if (VPversion = "VP6")
   exe := "VPinball-6.1.exe"
if (VPversion = "VP7")
   exe := "VPinball-8.0.exe"
if (VPversion = "VP8")
   exe := "VPinball-8.1.exe"
if (VPversion = "VP9.0")
   exe := "VPinball-9.08.exe"
if (VPversion = "VP9.1")
   exe := "VPinball-9.14.exe"
if (VPversion = "VP9.2")
   exe := "VPinball-9.21.exe"
if (VPversion = "VP9.9")
   exe := "VPinball-9.95.exe"
if (VPversion = "PhysioMod")
   exe := "VPinball-9.9-PhysMod5-Updated.exe"
if (VPversion = "VPX6")
   exe := "VPinball-X-6.2.exe"
if (VPversion = "VPX7")
   exe := "VPinball-X-7.3.exe"
if (VPversion = "VPX8")
   exe := "VPinball-X-7.3.exe"

Run, "%pathToVP%\%exe%" -minimized -exit -play "%fullFile%"

 

It works, it works!!!!

Thanks a lot.

Really.... THANKS A LOT!

  • Game On 1
Link to comment
Share on other sites

@JoeViking245

I don't want to take advantage of your politeness, but could you help me again?
It would once again be about Autohotkey, but my concern is very specific.

The tables are all running - so far so good. And thanks again to your help, I was able to assign all the images to the files, so my collection looks very good in Launchbox. But there are still a lot of tables that have no pictures or have incorrect pictures. Since all of the tables in my pinball collection are shown as screenshots, I'm currently doing the following:

I start a table that is missing the image. Take a screenshot using "🪟-Key + Print" which will place a PNG file in the "Screenshots" folder. I then name this after the table that I opened previously and move the file to the Launchbox image folder.

Do you think this could be somewhat automated so that if I just start a table and take a screenshot, the file is automatically renamed and moved to the correct folder?

Link to comment
Share on other sites

9 minutes ago, Pineappleking said:

Do you think this could be somewhat automated so that if I just start a table and take a screenshot, the file is automatically renamed and moved to the correct folder?

LaunchBox has already thought of that....

Tools < Options < Gameplay - Screen Capture  

  • Assign a Screen Capture key
  • Start the table
  • Press the key
  • Exit the table
  • You will be prompted with something like 'Do you want to save the screenshot for this game?'

Being nostalgic for the real deal, for the main image I use the actual cabinet itself.  If the LB Games Database or EmuMovies doesn't have the cab image, I then look at https://www.ipdb.org/.  Then as a backup for ones I can't find, I'll use the tables Advertisement flyer, which looks really good also.

 

Being presumptuous, your next request may be for video clips ('video snaps') of the table in action.  EmuMovies will have many of those available (incorporated in with the Metadata and Media download in LaunchBox).  For those they don't have, there's a plugin for that to create your own.

 

Enjoy! 😎

  • Thanks 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...