Code Monkey home page Code Monkey logo

pinbally-addons-and-examples's Introduction

PinballY Addons and Examples

Welcome! This repository was created as a place to collect and share extensions for PinballY. PinballY is a game launcher program for people who enjoy virtual pinball on a PC, especially people who build dedicated "virtual pin cabs" (a video game PC built into a real pinball machine body).

PinballY can be customized and extended via its built-in Javascript engine, so we expect that most of the items in this repository will be Javascript code. PinballY's Javascript engine can also access native code via DLLs, so native code extensions are also welcome here.

We expect that the collection here will be a mix of ready-to-use add-ons that you can just drop into your PinballY environment to add new features, and examples that you can use as starting points for your own customizations. Javascript is such an approachable language that there needn't be a hard line between the two, though. Anything that's presented here as an add-on can also serve as starting point for something more or something different that you have in mind.

Index

script description difficulty of installation
BatchCategoryTagging Command to category-tag multiple games at once easy
CategoryButtons Turns the Control keys into Next/Previous Category navigation buttons easy
FLEXdmd shows animated manufacturer images, stats, ... easy
command_example How to add commands to the main menu (e.g. Table Setup) very easy
seamless-launch overlay while table is loading very easy
seamless-launch-spinner overlay while table is loading, with animation very easy
two-tables-one-wheel choose alternate version of same table easy - read the docu
start_random_table starts a random table from the current GameWheel very easy
additional_filters adds several filters to the "filter by rating" menu easy
show_instruction_card shows the instruction card window while playing a table medium
auto_shutdown shuts down your PC after 60 min "Attract Mode" / inactivity very easy
menu_submenu_batch_file example script how to create own menu items and how to start a batch file medium
meta_filter adds additional MetaFilters to narrow existing selection to additional criterias very easy
MissingMediaFilter adds a filter to show games with missing media items medium
sleep_computer adds "Sleep Computer" to system menu to allow sleeping rather than power off easy

NOTE: For the moment projects that are linked here are works-in-progress and may not be ready for general use. If you see one that looks like wheel-actions @ 2cdb718 with the @ symbol, that is a linked project. The projects that are directly included here, and listed above, are reasonably complete and are for general use.

How to use Javascript in PinballY

To use one of the Javascript files you find here in PinballY:

  • Download the script's .js file(s) and place them in the Scripts folder within your main PinballY program folder
  • If you don't already have a file in your Scripts folder called Main.js, create one, using Notepad or any other plain-text editor you prefer
  • Open Main.js (from the Scripts folder) in Notepad or your preferred editor, and add a line like this: import "xxx.js" (replacing xxx with the actual name of the script file)

If a particular add-on consists of multiple .js files, you might or might not have to add an import command for each one - it depends on how the add-on is designed. Hopefully the code will include instructions explaining what to do in this case.

For full details on using Javascript in PinballY, see the Javascript section in the Help files that accompany the program. You can also view the PinballY help online.

Copyright and License

The items in this repository are copyrighted by their respective authors. Unless otherwise stated for a particular folder or script, everything is released under the MIT license.

Collaborators welcome!

If you've created your own PinballY scripts that you'd like to include here, get in touch and we'd be happy to add you as a contributor so that you can check your code into a folder here. We ask that code contributions be provided under an open-source license so that users can share and customize them; the default license unless you state otherwise (by placing a notice in a script file, for example) is the MIT License (see above).

pinbally-addons-and-examples's People

Contributors

mjrgh avatar stephenhouser avatar worksasdesigned avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

pinbally-addons-and-examples's Issues

Two Tables One Wheel Not Saving View Settings

Normally, when I open PinballY it automatically goes to whatever my view was the last time I had it open. So if I was looking at my Favorites list when I shut it down, it opens to my Favorites when I launch it again.

But with Two Tables One Wheel, it's always opening with "Show Alternate Tables" selected. I deselect it, close PBY, reopen, and Show Alt Tables is selected again.

Is that just me or is it happening for anyone else?

I wouldn't mind it defaulting to one state or the other. But if it has to do that, I'd prefer it not show alternate tables by default.

Music Controls Addon

I've developed a music-controls addon which might be of interest to the group. I've only been able to test it on my Windows 10 cab so not sure how it will perform on other versions.

  • Create a new folder "Jukebox" under your PinballY "Media" folder
  • Place music files into this Jukebox folder directly or organise your music into Artist/Albums using sub-folders to replicate your iTunes library.
  • Optionally place an iTunes "library.xml" file into the Jukebox folder to display album/artist/song data
  • Optionally include a "cover.jpg" in the same folder as your song file to display album cover art in the "Now Playing" popup and Media Window

It also works well with "wheel-actions" to create a jukebox feel to your cab. Simply create a new .js (jukebox.js) file, import showMusicMenu and pathJukeBox and call showMusicMenu(pathJukeBox)

music-controls.zip

Should we include code directly or as submodules

I have made two example example projects, one where the code is directly in this repository and the other is a submodule that is also hosted on GitHub. This issue poses, which should we use going forward to include these add-ons and examples into this central repository.

dispatchEvent example request

Can anyone help with an example of 'dispatchEvent' syntax please?

Context
I'm trying to fire gameInfo filterSelect when programatically changing the filter with gameinfo.setCurFilter elsewhere.
gameInfo.dispatchEvent("filterselect") doesn't do it.

Overall context
I want to know which filter was selected before a new one is selected - so I can filter the filter.
(i.e. if I have 1990s filter selected. i.e. my code for top 10 would use gameList.getFilterInfo(LAST FILTER).getGames() as the basis for the new filtering rather than gameList.GetAllGames().

LAST FILTER having been set by hooking gameList filterselect.

Referencing this documentation:
http://mjrnet.org/pinscape/downloads/PinballY/Help/EventTarget.html

many thanks;

PinballY Loading Videos

Is it possible to create a script for PinballY that uses Loading videos for each game like PinballX currently can do?

Double Wheel Graphics on Table Start

4K playfield, real DMD, 1K backglass.

When I start a table, "Loading ..." appears and a second copy of the wheel graphic appears below the current wheel graphic. The two copies remain on screen, one below the other, while loading.

Start a specific table when PinballY loads

Saw a request on the PinballY facebook group for a script that would launch a specific table after PinballY loads. This would give the machine a "featured" table that would start after powering up. The user could exit back to PinballY to play other tables, but the default one would be auto-started.

All-in-one installer

Along the lines of the Baller Installer, I think PBY needs it's own all-in-one installer. Something that would walk a user through installing VPX, FP, Freezy, Future DMD, Pinup Player and of course PBY.

Having the option of installing PinAffinity would be a nice touch.

Giving users the option to choose their front-end (Popper, PBX, PBY) would be even better.

I'm sure this is a big ask and probably goes well beyond an "add-on." But it would be awesome. @

Feature Request

Is it possible that when the tables have a alternative version that a menu pops up when you launch a game from the main PinballY wheel. Perhaps an option to turn on or off this feature for those that may just want to launch direct in to their default table. I would prefer a menu pop up so I do not have to remember what tables have alternative versions and then have to go in to the main menu to choose.

Thank you

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.