Jump to content
Sign in to follow this  

[PLUGIN] PinballX Loading Video & Image Changer (de-randomiser) V2

Recommended Posts

Following the release of PinballX V3.60 Loading Videos are now supported and the support for Loading GIFs has been removed (except if using PinballX inbuilt playfield image loading media with GIF overlay from V3.76). This is Version 2 of the Loading Image Plugin to mainly reflect these changes. Other changes include code clean up, config options removed (logging is now always on), ini file no longer used and the file extensions used by the plugin are changed (to allow for more types). 

*** Note - Use Version 1 if you are using an older version of PinballX (Pre V3.60) ***

What Does It Do?
By default PinballX will use random videos from Pinballx\Media\Loading Videos (and if no videos then a random image from Pinballx\Media\Loading Images) as a loading screen after table selection during load. The plugin removes the random selection by limiting the available choices for PinballX to use by changing file extensions on table selection (and back on exit). 

The file(s) used as a loading image(s) follow these prioritised matching steps;

  1. Table Name Video(s) 
  2. Table Description Video(s)
  3. Table Name Image(s)
  4. Table Description Image(s) 
  5. System Name Video(s)  
  6. System Name Image(s) 
  7. Loading.xxx Video(s) 
  8. Loading.xxx Image(s)

So a match on table name in Loading Videos is the top priority, if no match is found there it will move to the next step and carry on through the process until file(s) matching the table name/description or system name are found (either Video or Image). If no matches are found then a Loading.xxx video file will be used, with Loading.png as a last resort catch all (for this reason it is recommended that you leave the PinballX\Media\Loading Images\Loading.PNG file [installed with PinballX] in place).

Note, you can use different formats of videos or images at any step to introduce some randomness to the file used by PinballX (e.g. you can have TableName.AVI & TableName.MP4 - both would be available to PinballX when launching that table, with one being chosen randomly). 

The valid file formats that can be used are; 
Loading Images - PNG, JPG
Loading Videos - AVI, MP4, FLV, F4V, MKV, MPG, MPEG

Extract the contents of the zip file into your PinballX\Plugins folder, unblock the dll file if required (https://www.limilabs.com/blog/unblock-dll-file) and then enable the Loading Image Changer plugin in plugin manager.
If updating from the previous version you can also delete the now unused PBXLoadingImage.ini in the PinballX\Plugins folder, and also remove (or convert to video) any loading GIF files in the Loading Images folder.

Any Issues
Please attach your PinballX.ini, Log.txt and PBXLoadingImage_log.txt files along with a brief decrioption of the problem.


Thanks to cherga and simbamame for help testing the plugin V1 and Mike_da_Spike testing V2 on their systems. Also thanks to Tom Speirs and Adultery for PinballX and the plugin template used.


PBXLoadingImage V2_1.zip

  • Thanks 2

Share this post

Link to post
Share on other sites

been this testing this, along with the loading video's i created with your overlay image. I did had troubles with the ffmpeg commands, had to change them kept giving me an error with the commands you had given. but managed to get it going in the end (i also run full HD res not 4k, so i left out the scaling part as the overlay image already seemed 1920x1080 but did leave in the positioning just in case). All my playfield video's are 1920x1080 anyway. It's all been working great as far as i tested it so thanks for this plugin and the idea :)

I think i will try to change the ffmpeg commands to try and generate a png picture if that's at all possible instead of video's with the overlay. I don't have much room anymore on my cabinet (small disk and not easy to switch disk) and use loading images instead of videos

This is my batch file for extracting 1 frame at second 7 in my playfield videos with the overlay included. Do note you might need the scale command as in scutters other command and i'm no ffmpeg expert, but this seemed to work fine for me. also note i'm not using the general pinballx directories as i convert them on my main pc which is much faster and i use *.* to list files as i have both *.f4v and *.mp4 files. but it can give an idea on how to extract 1 frame from the video and add the overlay, the important bit is "ss 00:00:07.000 -vframes 1 <filename>.png" to get one frame out of a video. 

CD "C:\Game Recordings\visual pinball recording ffmpeg\Table Videos"
for /R %%f in (*.*) do (
"C:\Game Recordings\visual pinball recording ffmpeg\ffmpeg" -i "%%f" -i "C:\Game Recordings\visual pinball recording ffmpeg\LoadingOverlayTrans.png" -filter_complex "[0]overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2,transpose=2" -ss 00:00:07.000 -vframes 1 "C:\Game Recordings\visual pinball recording ffmpeg\Loading Videos\%%~nf.png" -y 


  • Like 1

Share this post

Link to post
Share on other sites

@joyrider3774 Nice, and glad it's working for you.

I use PBX recorder for table videos / images... my videos actually take up less space than the images (edit: png format), but i only use 5sec recordings. Worth a thought.

Not sure what the ffmpeg issue was, probably just a version diff or extra plugin i loaded and forgot. You're correct the overlay is 1080*1920, but the scaling option might still be handy if you want to stretch or shrink it for personal taste. Just wish i'd thought about ffmpeg when i was doing my original loading images now, could have saved me a lot of pain.  (for others, we're referring to https://www.gameex.info/forums/topic/23114-loading-videos/?do=findComment&comment=189378 here)


Share this post

Link to post
Share on other sites

it kept giving me an error saying "Cannot find a matching stream for unlabeled input pad 1 on filter Parsed_overlay_1" could be ffmpeg.exe version difference but i managed to get it going eventually but can't remember how and if it was correct. It was then i noticed it seemed to scale to 4k size, and i'm using hd and the overlay was hd as are my table video's so did not need the scaling part

I will try jpeg images first instead of png, but indeed 4 tot 5 seconds video's might work also will try both. Btw i also used ffmpeg and the overlay for screenshots of playfields i had of bingo game room, i just removed the ss part then and it seemed to work also

425 jpg images -> 80mb
425 5 second videos -> around 850 mb. i took the 5 second video's. Thanks for the tip

Share this post

Link to post
Share on other sites

Plugin updated to V2.1 in first post following PinballX 3.76 release that has inbuilt support for playfield image capture and gif overlay during loading - see release note https://www.gameex.info/forums/topic/23261-news-pinballx-376/

If using PinballX loading media mode the plugin will do no processing (so no overhead if you forget to disable it after changing modes), if using loading videos/images it will process as before but also rename gif files at startup and exit to prevent them being picked up by pinballx in error.

Also changed from .net 2.0 to .net 4.0

  • Like 1

Share this post

Link to post
Share on other sites

I installed the latest version and am using Loading images (png) that I created through PinballX recorder.  I have activated PBXLoadingImage in the PBX plugin manager.  I still am getting random table image displays while loading.  I have attached the two logs.  Any suggestions greatly appreciated.



Edit:  I got it fixed.  I had "use loading images" in the general settings when i really needed "use loading folder" selected.  As a side note the new "use loading images" selection was giving me random table images.  I would have thought that new setting would use the table image for the table that was loading at the time.  O well.  Your plug in is working great.  I just need to teach myself how to layer a gif on top of the table image and merge them.  


PBXLoadingImage_log.txt log.txt

Edited by bushav
fixed problem
  • Like 1

Share this post

Link to post
Share on other sites

Cool, thanks for updating the post :)

26 minutes ago, bushav said:

As a side note the new "use loading images" selection was giving me random table images.  I would have thought that new setting would use the table image for the table that was loading at the time

Sounds a bit weird and not what i'd expect, might be worth posting in the general forum if still the case after updating to the latest pinballx version (3.78 at time of writing)

26 minutes ago, bushav said:

.  I just need to teach myself how to layer a gif on top of the table image and merge them.  

I did write something up a while ago, https://www.gameex.info/forums/topic/17919-new-loading-images-ongoing-thread/?do=findComment&comment=185642 for layering a png (not gif) on top of a table image - but it was a very manual process with no automation.

Or have a look at loading videos with some animated sequences ready to go;

@Mike_da_Spike wrote an excellent tool to automate adding those image sequences to playfield videos converting them to loading videos;

You might need to record playfield videos for that though if you don't use them already.


Share this post

Link to post
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.

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.

Sign in to follow this  

  • Create New...