A companion application to Pinup Popper that allows you to browse the available games from another device.
This is an application powered by Node.js with Express to provide a view into your Pinup Popper system from any web browser on your internal network. It works by querying the PuP database to load the details of the games that have been configured, and presents them in a format that can be easily scrolled, filtered, or searched. The selected game can also be launched remotely from the app, which is enabled through the use of the Web Remote Control for Pinup Popper.
Main View - Displays the Wheel images for all games in the Pinup Popper menu. Clicking on a wheel will go to the Game View for that game.
Game View - Displays the details for a single game
Features with an asterisk above require the following steps:
Add the following line of code inside the GameLaunch(pMsg) method inside the PuPMenuScript.pup file (needed for the Current Game feature to work after game is launched):
if (useWEB && WEBStatus) { PuPWebServer.MenuUpdate(pMsg); }
Example:
If you already have Node installed, you can download the source code and run the following commands:
npm install
node .
The advantage to this approach is that you have the ability to customize the code.
The application is also packaged as a standalone executable. Simply download and extract the contents of the latest PinUpBrowser.zip file from the Releases tab, and run the PinUpBrowser.exe executable.
The config.yml file contains settings that can be modified to support your setup and adjust preferences. Changes will take effect after the application is restarted.
pupServer.url
Specify the URL for the PuPServer.
pupServer.db.path
Specify the full path to the Pinup database.
pupServer.db.filter
An optional condition used in the WHERE clause to filter the initial load of games.
httpServer.port
Specify the port number for this web host.
httpServer.logFormat
Format for debug logging (see https://github.com/expressjs/morgan#predefined-formats)
httpServer.logLevel
Set to 'error' to only log failed requests, or 'info' to log all requests.
options.filters
The filter menu options can be enabled/disabled individually. The drop-downs are populated from unique values in the respective fields in the database, so you may need to do some cleanup in the Pinup Games Manager, or just disable the filter option if you don't want to display it.
options.game
The Info, Help, and Playfield menu options can be enabled/disabled individually.
media.useThumbs
Indicates whether to use the thumbnail images created by Pinup Popper for display. Turning this off will load the full sized Wheel media, which may slow the load time and browser responsiveness, but will not require the games to have been viewed in the Pinup Popper menu first.
media.cacheInMinutes
The number of minutes the browser should cache the media files.
media.playfieldRotation
Indicates whether Playfield media is rotated or not.
Bugs reports and enhancement requests can be submitted by creating an issue.
This project is a contribution to the virtual pinball community, and is completely free to use. However, if you still feel the need to show your appreciation for my efforts, you can click the button below:
This project is licensed under the terms of the GPL-3.0 license.