<< Pinscape Resources Home

Latest version is 1.1.0 Beta 6, July 16, 2022 - Download

PinballY is a game browser and launcher for your virtual pinball cabinet. This sort of program is often called a "front end" on the forums, because it's the first thing you see when you walk up to your machine. The goal is to hide the normal Windows desktop and replace it with something that looks and feels more like an arcade machine than a PC. Since the focus is on pin cabs, we also want to eliminate the need for a mouse, and minimize the number of keys/buttons needed for browsing and launching games, so that you can perform all of the basic arcade operations with a minimal set of pin cab buttons.

PinballY is fast and efficient, it has extensive media type support, and it's easy to set up. It's fully open-source, with published source code on GitHub that you can view and modify as you please.

It's also extremely customizable. In addition to many option settings and numerous places where you can insert custom media files, the system features a full, modern Javascript engine, which allows you to take over virtually all of the UI. An extensive Javascript API lets you add your own custom windows, change system menus, create your own game filters, call native Windows API functions, and much more. The help files provide a number of worked examples that illustrate some of the things you can do. And of course the C++ code is open-source, so you truly can change anything about the system when even the Javascript engine isn't enough.

Downloads

Windows Setup and plain ZIP packages are available. The Setup version is recommended, but both packages contain the same files, so you can use the ZIP if you prefer. (How to choose?)

Updating from an older version

To update an existing PinballY installation to a new version, simply download and install the new version, choosing the same folder where the existing copy is installed. There's no need to uninstall the old version first. Your option settings and media will be preserved.

Latest 32-bit version

Use this version if you have a 32-bit Windows system. This isn't recommended for 4K (Ultra High-Def) video media.

Latest 64-bit version

Works only on 64-bit Windows systems. This version runs faster than the 32-bit version and is more or less required for 4K (Ultra High-Def) video media.

Update Notes

Early adopter alert!

Please note that this is a Beta version, which means that not many people have used it yet, so it might have some obvious bugs that we missed. If you're comfortable with that, you can help us out by using this version and letting us know how it goes. If you run into any bugs so serious that they make the new version unusable, you can always switch back to an older, stabler version from the list below. Versions labeled "Release" are considered the most stable.

Older Releases

System requirements

Windows 7 or later, with Direct3D 11. Both 32-bit and 64-bit Windows are both supported.

Windows 7 users might need to get the final Direct3D 11 update from Microsoft. This might be necessary even if you already have Direct3D 11 installed, because Microsoft released several updates to D3D 11 after Windows 7 was released. If PinballY displays an error message saying that you need an update, you probably really do need the update. The Microsoft site has instructions and download links:

https://support.microsoft.com/en-gb/help/179113/how-to-install-the-latest-version-of-directx

Source code

PinballY is 100% open source. The complete source code is available on GitHub.

Installation

If you selected the Windows Setup version, double-click the .msi file and follow the prompts to choose a folder and install. If you selected a ZIP version, unpack the files from the ZIP into a folder on your hard disk.

Folder location: We recommend something simple like C:\PinballY. But you can install the program in almost any folder you like, except don't put it anywhere within "Program Files" or other special Windows folders. (Why?Why: PinballY tries to be as self-contained as possible, so it keeps its settings files in its own install folder. Windows doesn't allow ordinary programs to write to files within the Program Files tree, as an anti-malware measure. This is at odds with keeping the program self-contained, so we require installing in a writable folder outside of the Program Files tree.)

Some additional steps are recommended if you're using any of the programs or devices listed below:

DOF (DirectOutput Framework): If you're using DOF for feedback devices, check the following:

  • For the 64-bit version of PinballY, make sure your DOF software is one of my DOF R3++ releases dated 2018-09-04 or later.
  • Go to your Direct Output install folder, and open the Config folder. Make a copy of the file GlobalConfig_B2SServer.xml and name it GlobalConfig_PinballY.xml.
  • If you haven't refreshed your DOF config files lately, it would be a good idea to update them now, to be sure you have the latest effects definitions for PinballY. Log in to the DOF Config Tool in your Web browser, generate a fresh set of .ini files, download them, and install them in your main DirectOutput folder.

PinVol users: Please update to a July 2018 release (or later), since we added PinballY as a recognized front-end system, and added some coordination features between the two programs.

PinAffinity users: Add PinballY.exe and ffmpeg.exe to the "Pinball" process group. (Not required, but this will improve performance.)

Real DMD users: You may need to update the DLL that interfaces with your DMD hardware. Please see Real DMD DLL update alert! below.

VLC Player users: No action is required. It's fine if you have a VLC Player installed, any version, and it's fine if you don't. PinballY doesn't care whether or not VLC Player is installed, and it'll happily coexist with any VLC version(s) you already have. We only mention this because some other pinball-related programs have compatibility issues with VLC Player, so if you've run into that with other programs, you might be worried about going through the same mess again with PinballY. You won't; PinballY doesn't have any dependencies on VLC Player at all. PinballY only uses libvlc, which sounds like it's part of VLC Player, but isn't; it's just a separate technical layer providing video decoding services, and PinballY uses it in an entirely self-contained way that doesn't involve any DLL or COM or any other interaction with your VLC Player installation.

64-bit Install Notes

If you're installing the 64-bit version, some additional third-party software updates might be necessary:

  • If you're using DOF, make sure you have one of my DOF R3++ versions dated 2018-09-04 or later. Earlier versions won't work in 64-bit mode. You can download updates from my DOF R3++ page.
  • If you're using Freezy's dmd-extensions DLL to control a real DMD device or virtual DMD window, you need a 64-bit version of the DLL. You can install that alongside the 32-bit version of the DLL, which you'll also need to keep if you're using it with Visual Pinball or other 32-bit software. See Real DMD DLL update alert below for details.

Documentation

The program comes with documentation that it installs locally on your system. You can view it by right-clicking in any window and selecting "Help" from the context menu. In addition, in the Settings dialog, you can click the "?" icon at the top of the window to go directly to the help section for the current settings page you're viewing.

If you'd like to view the documentation without installing the program, it's all online here:

PinballY Documentation

There's also a repository on github for Javascript code extensions for PinballY. This site is meant to be a central location to collect useful Javascript code. Contributions are welcome - if you've created a Javascript extension that you'd like to share, get in touch with one of the site administrators, and we can set you up with access to add your project.

  • PinballY Add-ons and Examples on Github

  • Attention "Real DMD" users!

    PinballY works with physical DMD devices (dot matrix displays, like the PinDMD products or the DIY Pin2DMD). To enable DMD support, open the Options dialog, go to the Real DMD page, and select "Auto".

    PinballY's DMD support depends upon a third-party DLL called DmdDevice.dll. That DLL comes bundled with the Visual Pinball installer, so you probably already have a copy installed. The only snag is that the copy that comes with the VP installer might be out of date, even if you installed the very latest VP, because the two projects are on their own separate development schedules and aren't always in sync. For best results, I recommend updating DmdDevice.dll to one of the following:

    Version 1.7.2 has a known bug that prevents it from working with ROM colorizations, so some people are still using my 1.7.1 patch for the time being, until that bug is fixed in the official release branch. (My patched 1.7.2 doesn't have a fix for the colorization bug, so if you want to use colorization, stick with 1.7.1 for now.)

    If you're not sure which version you have installed, open the file properties (from the Windows desktop) for the file DmdDevice.dll, normally found in your Visual Pinball\VPinMAME folder. Check the Product Version under the Details tab as shown at right.

    Attention 64-bit PinballY users! 64-bit PinballY requires the 64-bit version of DmdDevice.dll. It's safe to install both the 32-bit and 64-bit versions of the DLL. The trick is to make sure the 64-bit version is named DmdDevice64.dll, so that it can coexist with the regular 32-bit DmdDevice.dll without creating a file naming conflict.

    Getting Started

    PinballY is designed to require minimal setup work, so you should be able to run it immediately after installing. Here are some tips for getting things arranged to your liking when you first run it.

    Migrating from PinballX

    You can run PinballY alongside PinballX, to try it out and see what you prefer. There's no need to "migrate" anything; you can just switch back and forth as you wish. If PinballX is already installed on your system, and you've already set up games and media files for it, PinballY should use those files automatically without any further setup. PinballY can share PinballX game lists and media files directly without moving or copying any files.

    Window layout

    When you first run PinballY, it'll show all of its windows: playfield, backglass, DMD, topper, and instruction card. You can position and size these using the normal Windows mouse gestures. The DMD and instruction card windows are "borderless", but you can still size and move them like regular windows: just click and drag near an edge to resize, and drag anywhere in the middle of the window to move it.

    On a pin cab, you'll normally want the playfield and backglass windows to run in "full screen mode", so that they each completely fill their respective monitors. To do this, just position each window within the appropriate monitor, then right click in the window and select "Full Screen" from the context menu. You can switch back to regular windowed mode the same way.

    You can also rotate any of the windows in 90° increments, and mirror them vertically or horizontally. Those commands are in the right-click context menu as well.

    Once things look the way you want, you're all set. No need to manually "save" anything; PinballY saves the layout automatically whenever you change anything, and restores it each time you start the program.

    If you want to hide any of the windows, simply close them. (Except for the playfield window; closing that quits the whole program.) The DMD and instruction card windows don't have title bars with close boxes, but you can close them by right-clicking in them and selecting "Hide" from the context menu. If you want to reinstate any hidden windows, right-click in the main playfield window and select the "Show xxx" command corresponding to the window.

    What are the "topper" and "instruction card" windows for?

    The topper window is designed for rare pin cabs that have an extra backbox monitor - in addition to the normal complement of backglass TV and DMD. Some people build their cabs this way so that they can use a real pinball DMD plus a video monitor to replicate additional backglass graphics in the speaker panel area. This window can display additional graphics of your choice per game. If you have a more typical two- or three-monitor pin cab, you'll probably want to just close this window.

    The Instruction Card window is another pin cab extra, for cabs with a dedicated small monitor in the apron area, in the same place the instruction card would be on a real machine. You can position the PinballY instruction card window in this area; it always shows the current selected game's instruction card. If you don't have this extra apron monitor (most cabs don't), you can just close this window. Even without this window open, you can still display the instruction card at any time using the "Instruction Card" command on the main menu. That will make the card appear as an overlay on the backglass or playfield area.

    Settings and options

    PinballY is designed to be fully functional using only the default settings, so that you're not forced to muck around in config files and option dialogs before you can try it out. But there are still lots of options that you can configure. You can customize the keyboard assignments, file locations, connections to pinball player programs, on-screen messages, and more.

    Many basic settings can be controlled via the keyboard menus. If you have a coin door with service buttons, press the "Enter/Select" button on the service panel to bring up the Operator Menu. This has options for common actions like muting audio and enabling or disabling video playback. If you don't have the coin door service buttons, you can still reach the Operator Menu via the Exit Menu; press the Exit/Cancel button to bring that up.

    To access the full set of options, you'll have to get out your mouse - but you won't have to exit the program. Right-click on the main playfield window and select "Options" from the context menu. This displays a dialog showing the available settings. The dialog is divided into several pages to keep things organized; use the list of topics on the left to navigate through the pages. Click OK to save changes and return to the main program. Changes aren't save until you click OK, so you can click Cancel at any time to scrub changes and go back to your existing configuration.

    If you need help with any of the settings, click the little "?" icon at the top of the dialog. That will show help specific to the options page you're on.

    Keyboard setup

    PinballY comes pre-configured for the "standard" pin cab key assignments, but of course those aren't universal. If you're not using the standard keys, you can customize the key assignments through the options dialog (see above). All commands can be reassigned to any keyboard keys or joystick buttons.

    Usage Tips

    The whole point of a program like this is to be so easy to use that you don't need a manual, so anything I have to write down here is kind of a failure on that score. My hope is that you'll be able to find everything yourself by exploring the UI. But it's worth mentioning a few things that might not jump out at you the first few times you use the program...

    Right-click: Some of the more frequently accessed window layout and setup options are available as right-click menu options. Try right-clicking in each window to see the available commands.

    Main Menu: When you're browsing games, you can access the Main Menu at any time by pressing the Start button (the "1" key by default, but you can of course change this in the options). The Main Menu has commands to launch the game in its pinball player program, view the game's full details, show the game's instruction cards and promotional flyers, give the game a "star" rating, add it to your favorites, and select various "filters".

    Filters: The Main Menu provides options for a whole bunch of filters, which let you select a subset of games to display in the wheel. This can make it easier to find games if you have a large collection. The filters let you select games by era, manufacturer, player system, star ratings, how long it's been since you last played them, how long it's been since you installed them, and by any category tags you create yourself.

    Operator Menu: PinballY makes many of the basic game setup functions and global program options available through the "Operator Menu", which you can access by pressing the "Service Enter" button on your coin door service button panel, if you have one. If you don't, you can access this menu via the Exit menu, which you can reach by pressing the Exit/Cancel button.

    Categories: The Operator Menu lets you set up categories, which are essentially "tags" that you can apply to each game. Edit a game's categories by going to the Operator Menu > Game Setup > Select Categories. You can add your own categories from there via the Edit Category Names command. You can assign any number of categories to each game. Once you've set up a category, it'll appear under the category filter menu, which you can reach from the Main Menu via the Filter by Category command.

    Unconfigured table files: By default, the list of games shown in the "wheel" includes all table files that PinballY finds in the "tables" folders for your installed systems, even if they haven't been set up with titles, media, and other details yet. You'll be able to spot these easily because they'll be shown with default background images, and the raw filename will be used in place of a title.

    This notion of including configured and unconfigured games side-by-side probably won't appeal to everyone's tastes. I like it because it makes it easy to see everything on my cab. I don't have to go hunting through my table folders to see what's there and what needs my attention. And giving it the needed attention is easy: just select Game Setup from the Operator Menu and you can enter details, download media, and capture videos, right from the keyboard menus. Setting up new games was a bit of a chore in the older systems; I find this new way to be a lot easier and faster. But if you think this is stupid, no problem. Open up the Options dialog; go to the Game Wheel page; check the box for "Hide unconfigured games".

    You probably have some tables that you never intend to add to the game list, such as backup copies or test games. Don't worry - you can easily kick these out of the list. Just bring up the Operator Menu and select "Hide Game". That will relegate the game to a separate Hidden list that will never show up - unless you specifically ask to see the hidden games by selecting "Show Hidden Games" from the Operator Menu.

    Startup audio/video: You can make PinballY play a custom video and/or audio file each time the program starts up.

    • To show a custom startup video, place a file called Startup Video.mp4 in the Media folder within your main PinballY install folder. It has to have exactly that base file name, including the space, but you can use any of the other supported video format suffixes instead of .mp4 (.mpg, .f4v, .mkv, .wmv, .m4v, .avi). If this video file is present, PinballY will play it back in the main playfield window at startup, then display the selected game as usual.
    • To play back a custom audio track, place a file called Startup Audio.mp3 in the Media folder within your main PinballY install folder. Use that exact name, including the space, but you can change the suffix to .wav or .ogg if you use one of those formats instead of mp3. If startup audio and video files are both present, they'll be played concurrently, so you'll probably want to use a silent video.

    Admin mode: A lot of pin cab users are accustomed to having to run some or all of their software in "Administrator Mode", meaning that you give the software full system privileges as though it were a core operating system component. It's best to minimize this, since Admin Mode opens up your system to more risks from malware and program bugs, but many pin cab users just give up and run everything in Admin mode to work around weird problems.

    PinballY has some features can will help you at least reduce Admin mode usage. Ideally, you should be able to eliminate Admin mode entirely, but you might have some programs that really do require it for one reason or another.

    The big thing that you shouldn't do with PinballY is to run the main PinballY.exe program in Admin mode. You might be used to doing that with other front ends, but don't do it with PinballY. Instead, if you find that you must use Admin mode, run the separate PinballY Admin Mode.exe program instead. That program identifies itself to Windows as requiring Admin privileges, so you don't have to explicitly set the "Run as Admin" checkbox in the properties and you don't have to use the "Run as Admin" command from the desktop. Just run it like a normal program and it'll automatically use Admin mode. (You'll still see a User Access Control [UAC] warning from Windows asking for your permission to do this, so this isn't some kind of end run around the Windows security system.)

    The PinballY Admin Mode.exe program splits up the system into two parts: a small Admin mode part that runs in the background, and the main PinballY user interface program that runs in regular user mode. This allows PinballY to launch most games in regular user mode as well. User mode is preferable whenever possible because it provides a degree of protection against system damage from malicious code or just accidental bugs. If you do try to launch any games that require Admin mode, the Admin mode background task lets PinballY launch those Admin mode games without any UAC prompts, and allows PinballY to interact with them even though they're running with elevated privileges. The idea is to allow you to use Admin mode when it's truly necessary, without forcing you to use it all the time, and without constant permissions prompts from Windows.

    If you've personally added the "Run as Administrator" setting to any of your pinball software (such as one of the Visual Pinball programs), you might want to review those settings and see if they're really necessary. They probably aren't. A lot of pin cab users try "Run as Administrator" as a basic troubleshooting step, but in most cases it won't help - and when it doesn't help, it's actively harmful, because of the complications it creates for interactions with other programs.

    New Table Setup

    First off, forget everything you know about PinballX and HyperPin. With PinballY, you won't be hand-editing any XML files and you won't be running any separate "table editor" programs. The process with PinballY is more streamlined. You do everything from within the main PinballY program, and you never even have to exit the program and restart it.

    Step one: download the table. The first step, obviously, is to obtain the new table. PinballY doesn't change anything about this part. Just do this like you always did. Go to your favorite download site, such as VP Forums or VP Universe, and grab the new table you're looking for. Unpack it into the "Tables" folder for Visual Pinball or whichever system it uses. Note that there's no need to exit PinballY while you do this; you can leave it running in the background.

    Step two: find the new file in the PinballY wheel. As described above under Unconfigured table files, PinballY normally shows new, unconfigured tables in its game wheel, right alongside configured games. The new game will be displayed under its filename, since PinballY doesn't know its title yet (that's kind of what "unconfigured" means). PinballY sorts the wheel in alphabetical order, so just navigate through the wheel to the spot where the filename sorts in.

    You don't have to exit and restart PinballY during this part, by the way! You can just leave it in the background while you browse the download sites and grab files. PinballY looks for new table files every time it switches back into the foreground, so the new tables will show up immediately in the wheel.

    If you don't see the new file immediately, make sure that you're viewing the "All Tables" filter rather than some more selective filter. And if you checked the box for "Hide unconfigured games" in the options dialog, that will obviously prevent the new table from showing up in the normal list. In this case, you'll have to specifically select the "Show Unconfigured Games" filter from the Operator Menu.

    Step three: enter the game's details. Once you've found the new file in the game wheel, press Start/Enter to bring up the main menu. There'll be a new command near the top, "Game Setup". The main menu adds this command whenever an unconfigured game is selected. (This command isn't in the main menu for games that have already been configured, but it's always available in the Operator Menu, so you can always go back and further edit a game's details any time after setting it up.)

    "Game Setup" will bring up another menu with commands for editing the game. On this menu, select "Edit game details". This will bring up a dialog box.

    This is one of the points in PinballY where you'll need to reach for the regular mouse and keyboard. Much as I like the media-rich, button-only UI style for game playing functions, it's just not the right interface when you have to enter a bunch of text. On-screen keyboards with two-button navigation are just way too tedious. So PinballY resorts to an ordinary dialog box here. Note that if you've rotated your playfield, the dialog box won't rotate with it; it'll appear in the normal Windows desktop orientation for the monitor.

    Now we get to one of my favorite parts. You can see that the Title field has a little drop-list arrow at the right. Click it. This will bring up a list of likely matches from a giant master list (derived from IPDB) of just about all of the pinballs ever made. The dialog tries to make a guess about which game this is based on the filename, using a "fuzzy matching" procedure. The best guess is listed first, then a few other possible matches. If you see the right title in the drop list, just pick it. This will automatically fill in the rest of the dialog with the appropriate values for the selected game, taken from the IPDB data.

    The one other detail you might have to set manually is the System. If you have multiple versions of Visual Pinball installed (which most people do), you'll have to select the one to use with this game. PinballY can't always figure that out on its own because several VP versions use exactly the same file types, even though they're not really compatible with each other.

    Once you're satisfied with the game's details, click OK to save changes.

    Step four: download media. Bring up the Game Setup menu again. This time, select "Find game media online", then select "Search". This will bring up your Web browser and navigate to a Google search for a "HyperPin Media Pack" for this game.

    At this point, you'll have to rely on your Web savvy to find the right HP Media Pack file. Fortunately, this is usually really easy because the Web search usually works like magic. The top result is almost always the right file from VP Forums. If the Web search doesn't turn up a good result, though, I'd recommend as a fallback that you manually browse for the file in the "Frontend Media and Backglass" section on VP Forums.

    Once you find the file on VP Forums or elsewhere, click through the links to download the file. You should end up with a downloaded ZIP file (or perhaps another archive format like RAR or 7z).

    Now simply drag and drop the downloaded ZIP file onto the PinballY playfield window. Assuming that the downloaded file is a valid HP Media Pack file, PinballY will show you a list of the media files it contains, giving you a chance to select the individual items to include or skip. Make your selections and select "Add Media" from the menu.

    The new media will appear on-screen immediately. Again, there's no need to reboot PinballY.

    By the way, if you find any individual media items for a game that you want to add separately, that's easy, too. For example, suppose you find a video of the backglass that you want to install. Just download the video and drop the file onto the backglass window. If you find a DMD video, download it and drop it onto the DMD window. PinballY will install the file in the appropriate location for the window where you drop it. You can do this with still graphics or videos for any of the windows. You can also drop an audio file (.wav or .mp3) onto the playfield to install a "Launch Audio" file, which is played automatically each time you launch the game.

    Step five: capture videos (optional). The HP Media Packs usually have static graphics for the playfield and backglass, but they almost never include any video. PinballY can display animated video graphics in all windows, which makes for a livelier browsing experience.

    Videos for some games are available online, but coverage is spotty, and they're not as easy to find as the Media Packs. Fortunately, PinballY makes it easy to create your own videos for all windows by capturing screen shots of the live game actually running.

    To capture media, go back to the Game Setup menu. (Remember that you can always reach Game Setup through the Operator Menu, even if the command no longer appears on the main menu after completing the initial setup.) This time, select "Capture images & video". This will bring up another menu that lets you select which images and videos to capture. This menu offers media types for visible windows only, so it you want to capture screen shots for any windows you normally leave closed, you'll have to temporarily open them before starting a capture.

    Select the items you'd like to capture on this run. You can also adjust the initial delay time if necessary (as some games take longer to start up than others). Select "Begin Capture" when you're ready.

    Now just stand back and let PinballY run through the automatic capture process. PinballY will launch the game and capture screen images and/or videos for each window. The captured screen area for each media type will exactly match your PinballY window layout for that item. Once the capture process is completed, PinballY will automatically terminate the game and return to its normal display. The newly captured items will all be automatically installed and you should see them immediately.

    The capture process uses the popular FFMPEG program. By default, FFMPEG will capture and compress video at the same time. This requires a pretty fast CPU, though; the resulting videos can look choppy on a slower machine, because FFMPEG has to reduce the frame rate if the compression can't keep up with real time. If your captured videos do look choppy, try the "Two-pass encoding" option in the settings dialog. That tells FFMPEG to perform the capture and compression steps separately, which requires a lot less CPU power.

    Troubleshooting tips: If you run a capture, and the resulting playfield video or image shows a gray or black background with the text "Capturing Media", or shows the capture status box, you might need to increase the startup delay time. FFMPEG might have started recording the screen image before the game actually started, making it capture PinballY loading screens instead of the game. You might need a longer startup delay, which you can configure in the PinballY Capture options.

    Another possibility is that the game is running in "Exclusive Full-Screen" mode. Visual Pinball and some other systems offer this option, which sends graphics directly to the video card, bypassing Windows. FFMPEG captures from the Windows display drivers, so it can't capture games running in Exclusive mode. If possible, change the game options to use "Windowed Full-Screen" mode. (That's an option you have to set in the game player program itself, not PinballY.)

    Media compatibility

    PinballY uses the same "media pack" format used by HyperPin and PinballX, and also reads the XML table list files used by those systems. If you already have PinballX installed, PinballY will require practically no additional setup, as it should read your existing table lists and media files directly. You won't need to move or copy the files.

    PinballY uses all of the following media types from HyperPin/PinballX: table images and videos; backglass images and videos; DMD images and videos; real DMD images and videos, monochrome and full color; topper images and videos; instruction cards; flyers; launch audio. All of the folder structures are the same as in PinballX and HyperPin.

    PinballY is compatible with practically all common media types. It uses an integrated version of libvlc for video playback. Libvlc is the core engine of the popular VLC video player, and it supports practically every video file and format around, natively, without the need for any external codecs. (Even though libvlc is also part of the VLC Video Player, you don't need to install the VLC Player itself. PinballY's video system is entirely self-contained and doesn't require any separate download, and it won't interact in any way with your existing VLC Player if you already have that installed.)

    PinballY can also display simple SWF (Shockwave Flash) files. That's the format traditionally used in the HyperPin Media Packs for instruction cards. PinballY handles SWF files with its own built-in renderer - there's no need for Flash Player or any other plug-ins.

    Pinball player compatibility

    You should be able to launch games in almost any pinball player system from PinballY. The default settings come pre-configured for Visual Pinball (versions 10, 9.9, 9.2), Future Pinball, and The Pinball Arcade. But the launcher is designed to handle just about anything that you can launch via the Windows shell, and there's no practical limit to the number of different systems you can add.

    Special features

    The paramount "special feature" of PinballY, the one that motivated its creation in the first place, is that it's open-source. I was tired of being stuck with a closed-source launcher that I couldn't customize and couldn't fix when I encountered bugs or annoyances. So to a first approximation, PinballY just replicates what the other launchers do, but with a published and well-documented source code base that anyone can download, build, modify, and reuse. I think it has pretty thorough coverage of the basic features, as outlined above. But PinballY doesn't entirely stop there; it has a few nifty new features of its own...

    Easy setup. Most of the other "front-ends" and launchers take a bit of work to set up. I tried to make PinballY's setup process as automatic and seamless as possible, and when manual intervention is unavoidable, to keep things simple. For example, you set the window layout in PinballY using the normal Windows mouse gestures, rather than typing numbers into a dialog box. PinballY figures out where Visual Pinball and other programs are installed by reading the same registry information that the Windows desktop uses, so you don't have to type all of those paths into yet another config file. (That's not only easier, it also makes the config file less brittle, since it won't break on simple changes like reinstalling VP in a new folder.) PINemHi, DOF, real DMD, and Pinscape Controller support are built-in and are pretty much automatic and zero-config. For the settings you do want or need to configure manually, you can adjust settings right in the running program; no need to exit out of the program and run a separate setup tool every time you want to tweak something.

    Javascript customization. Starting with the Beta 2 version, PinballY lets you write custom Javascript code to modify and extend the program's standard features. This offers extensive new customization capabilities that let you go way beyond what you can do with simple option settings, but without the need to get into the C++ source code. Javascript is an extremely powerful and expressive programming language that's also easy to learn and use. PinballY's Javascript API gives your scripting code access to a lot of the program's functionality, to make a wide range of customizations possible.

    Star ratings. You can enter a star rating for every game right in the UI, in half-star steps from 0 to 5. And of course there's a filter that lets you select the games at any star rating level for display.

    Zero stars. Have you ever noticed how many Amazon reviewers say "I wish I could give this POS zero stars!?" Well, with PinballY, you can! "Zero stars" and "no rating" are distinct, valid ratings. You can finally give your least favorite tables the ratings they deserve.

    Category tags. PinballY lets you create your own category tags and assign them to games, and then filter games to display only games from a particular category. This is all done from the in-UI menus, not in some separate table list editor program. You can assign any number of categories to each game, too; no need to pick just one.

    High-score display on the DMD. PinballY automatically displays the latest high scores for the selected game on the DMD (using simulated DMD-style graphics in the video DMD window, or directly on your real DMD if you have one). The display alternates between the high scores and the game's DMD video or still image every few seconds, to approximate the normal "attract mode" DMD display you see when you're actually running the table's ROM. If there's a DMD video for the game, the high scores are displayed between each full loop of the video.

    In-UI game setup. You can set up a game's metadata from within the UI - no need to edit an XML file by hand or exit the program and run a separate "table editor" program. If you see something wrong in the UI, you can fix it in place with a few keystrokes. If there's a new table that hasn't been set up yet, you can set it up with a few keystrokes.

    New table discovery. PinballY automatically scans each pinball player system's table folders for new table files that haven't been set up yet, and includes them in the table list. You can launch a newly discovered table without even bothering to set it up, or you can hide it if it's just an old file that you're keeping around as a backup, or you can enter its details immediately using the in-UI game setup feature. PinballY even scans for tables when you switch to another program and back, so you can download and install a new table without even exiting the program: PinballY will find the new table as soon as you download it.

    Drag-and-drop media installation. Just as you can set up a game's bibliographic details within the UI, you can add media within the UI. Simply download the game's "HyperPin Media Pack" from your favorite forum site, and drag-and-drop the Media Pack ZIP file onto a PinballY window. PinballY will examine the file and offer to unpack it into the correct folder tree for the currently selected game, fixing up the file names as needed. There's even a menu command that runs a Web search for the appropriate media pack, so it only takes a few steps to find and install media for a new game.

    In-UI media capture. The HyperPin Media Packs are great for wheel images, flyers, instruction cards, and basic static table images, but they don't usually include video. PinballY makes it easy to capture live video from your installed games. The game setup menu lets you run an automated capture process that launches the current game and captures selected videos and/or images. Setup is simple because PinballY already knows exactly where all of the images should appear: it uses its own window positions to determine where the running windows will appear. Newly captured videos and images appear in the UI immediately after capture.

    Starting with the Alpha 20 release, you can capture media from a whole list of games in one operation via "Batch Capture". This lets you set up a new system or fill in missing media for newly added games more automatically, without having to go through the capture process for each game individually.

    Built-in DOF support: DOF is supported natively; there are no plugins to install and no settings to configure. PinballY should connect to DOF automatically if it's installed.

    DOF attract mode integration. PinballY generates DOF events while in "attract mode" that can put on a light show when the machine is idling, with no need for an external program like LedBlinky. ("Attract mode" is the screen saver-like mode that PinballY enter if you don't touch the controls for a while.) You can configure attract mode lighting effects entirely within the DOF config tool.

    Pinscape Controller support: The Operator Menu includes an option to switch Night Mode on and off if you have a Pinscape Controller attached. The option won't appear if you don't.

    Broad media suport. PinballY uses libvlc for video format support. Libvlc is the core engine of the popular VLC media player, and it has excellent support for just about every format out there, including full HD and 4K videos, without the need for any added codecs or plugins. (The 64-bit version of PinballY is recommended for 4K videos, since 4K video playback requires very large amounts of memory that can overwhelm a 32-bit system.) PinballY also has built-in support for the SWF format, which is used for many of the instruction card scans in the HyperPin Media Packs, so you can continue using those files even though Adobe has discontinued Flash Player.

    Monitor startup coordination. Windows doesn't always recognize all monitors immediately at startup on a multi-monitor system. This can make it difficult for a program that launches at system startup (like PinballY) to properly restore its window layout, since some parts of the desktop may be "missing" until all of the monitors finish coming on-line. If this is a problem on your system, you can fix it by telling PinballY to wait for a given number of monitors to come online before PinballY starts running. This setting can be found in the Startup page of the options dialog.

    High-performance C++ and Direct3D 11. PinballY is written entirely in C++ for low overhead and high performance, directly on the Win32 API and the modern Direct3D 11 graphics system.

    Low-overhead background operation. Whenever you launch a game, PinballY automatically unloads all media to reduce its memory footprint, shuts off most of its Windows UI elements, and reduces its own process priority to minimize its CPU usage while in the background. The point is to hand over control of system resources to the launched pinball program as much as possible so that it gives you the smoothest playing experience.

    Safer Admin mode support. A few older pinball player programs are bad actors in terms of Windows security, by forcing you to run them in Admin Mode. This is enough of a pain that a lot of cab users either turn off the Windows security controls (such as UAC) or just run everything in Admin Mode, to work around weird bugs or just to stop getting harassed by permissions dialogs. PinballY offers a better way to handle this. It has an Admin Mode version that lets you launch player programs in Admin Mode only when necessary. And in reality, it's hardly ever necessary. Even when running this way, PinballY itself run in regular user mode, and it launches all of the the normal, well-behaved pinball player programs in user mode as well; the only things that run in Admin mode are the programs that truly require it. If you've been running PinballX in Admin Mode because that was the only way you could get it working reliably, you should try PinballY in regular user mode. It'll probably fix your problems and let you reinstate safe and sane security settings on your system.

    PinVol coordination. PinballY sends game title information to PinVol (if it's running) that lets PinVol show the title of the current running game instead of just the filename.

    Coin simulation. It's just pointless fun, but if you have coin acceptors installed on your cab, you can amuse yourself by amassing credits on the PinballY display. The settings file lets you set up just about any coin and pricing scheme, to simulate any era of real pinballs.