Skip to content

Dynamic Marquee Display Tool for RetroBat Arcade Systems: A Python-based solution for automatically updating secondary screen marquees in response to game and system selections.

Notifications You must be signed in to change notification settings

Nelfe80/RetroBat-Marquee-Manager

Repository files navigation

RetroBat Marquee Manager (V3.4) (python + ES + RetroArch + RetroAchivements + Mame Outputs + SuperModel3 Outputs + ZeDMD + libzedmd + dmdext... )

A Dynamic Marquees for RetroBat with Svg support / Auto-resizing / Dynamic Scraping / RetroAchievements (WIP)

This project enables dynamic display of marquees on a secondary topper screen for RetroBat users on Windows 8+, utilizing custom scripts to manage the display based on user interactions.

Thanks to Aynshe, Bob Morane and Retrobat's community testers.

Lien vers la vidéo YouTube Lien vers la vidéo YouTube

Install

To install the Marquee Manager in RetroBat, follow these steps:
- Access the Main Menu: Start by launching RetroBat. Once you're on the main screen, navigate to the Main Menu.
- Updates and Downloads: In the Main Menu, look for the Updates and Downloads section. Select it to proceed.
- Download Content: Within the Updates and Downloads menu, find and select the Download Content option.
- Media Tab: After selecting Download Content, switch to the Medias & Tools tab.
- Select Marquee Manager: In the Media & Tools tab, you will see a list of media options available for download. Look for and select Marquee Manager from the list to install it.
- Launch start.bat in the RetroBat/plugins/marqueemanager/ folder.
- Use BatGui for Configuration: Once the Marquee Manager is installed, you can use BatGui to further configure the settings. This includes selecting which screen to target for the marquee display and deciding whether to activate any additional modules.

Configuring config.ini File if needed

Configure config.ini ( in the folder /RetroBat/plugins/MarqueeManager/ ) to specify paths for your own marquees and other key settings like accepted formats, MPV path and ImageMagick path, etc. This file is crucial for the marquee system to function properly. (MarqueeRetroAchievements = true in config.ini file to activate RetroAchievements or MarqueeAutoScraping = true to scrap banners...)

ScreenNumber = 2

This parameter specifies which screen the marquee should be displayed on. If you have multiple monitors connected to your system, you can assign the marquee to a particular screen by setting this parameter.

Example: ScreenNumber = 2 directs the marquee display to the second monitor connected to your setup.
You can configure this setting manually by editing the config.ini file or through the BatGui interface, where you can select the appropriate screen number from a dropdown menu.

AcceptedFormats = mp4, gif, png, jpg

This parameter defines the types of media formats that the Marquee Manager will accept for generating marquees in this priority order.

mp4: Allows video files to be used as part of the marquee display.
png: Allows GIF image files. (and animated gif)
jpg: Allows JPEG image files.
png: Allows PNG image files.
By listing these formats, you ensure that the Marquee Manager can handle and display media in these file types, providing flexibility in the kinds of content you use for your marquees.

Language = fr

This setting specifies the language used by the Marquee Manager interface and any relevant text. Setting it to fr switches the language to French, ensuring that all instructions, menus, and notifications are displayed in French.

MarqueeWidth = 1920

This parameter sets the width of the marquee display in pixels.

Example: MarqueeWidth = 1920 configures the marquee to have a width of 1920 pixels, which is typically the width of a Full HD screen.

MarqueeHeight = 360

This parameter sets the height of the marquee display in pixels.

Example: MarqueeHeight = 360 configures the marquee to have a height of 360 pixels, which is a common height for a marquee display on a secondary screen or a custom display.

MarqueeAutoConvert = false

This parameter controls whether the Marquee Manager automatically converts existing images into a new image with specific marquee size (MarqueeWidth and MarqueeHeight) and svg to png. When set to false, it will not perform automatic conversions.

MarqueeRetroAchievements = false

When set to false, this option disables the integration of RetroAchievements into the marquee. If you want to display RetroAchievements on the marquee, you would set this to true. If it's a dmd screen, it doesn't work, sorry.

MarqueePinballDMD = false

This parameter, when set to false, disables the feature that would allow Visual Pinball DMD (Dot Matrix Display) data to be displayed on a LCD marquee. If you are using the Marquee Manager for pinball games, you would set this to true.

MarqueeAutoScraping = false

When set to false, this option prevents the Marquee Manager from automatically scraping (on ScreenScraper only, don't forget to set your ScreenScraper login and password in RetroBat) new media content to get marquees ("marquee" image but "screenmarquee" images are not downloaded) from ScreenScraper. Scraping refers to the process of gathering images and logos from the internet. Setting it to true would automate this process.

MarqueeCompose = false

When set to true, enables the automatic generation of a marquee. The marquee is composed using a combination of a fanart image and a scraped logo (Scrap games before the autogen please). This allows you to have a custom marquee display but speed depends of your cpu. No custom options to align logos with MarqueeCompose, sorry.

MarqueeAutoGeneration = true

This is a key parameter that, when set to true, enables the automatic generation of a marquee. The marquee is created using a combination of a fanart image and a scraped logo (Scrap games before the autogen please). This allows you to have a custom marquee display without manual intervention.

MarqueeAutoGeneration Options

When MarqueeAutoGeneration is enabled, you can customize the marquee's appearance using the following key commands:

F12: Aligns the logo to the right of the marquee.
F11: Centers the logo within the marquee.
F10: Aligns the logo to the left of the marquee.
F9: Moves the fanart background vertically.
F8: Slightly adjusts the fanart background vertically.
F7: Resizes the logo, either increasing or decreasing its size relative to its original dimensions.
F6: Adds a gradient background behind the logo. You can choose between a white, black, or no gradient at all.
These parameters and options allow you to tailor the marquee display to your preferences, ensuring that the visual presentation matches your setup and aesthetic choices.

Download and install marquees

You can download marquees here then install in the default folder "\RetroBat\plugins\MarqueeManager\images\" :
Use the format {system_name}-{game_name}.ext. For example, for Mario on NES, use nes-mario.jpg. (game_name = rom name without ext, system_name = system folder)
Launchbox Games Database : https://gamesdb.launchbox-app.com/
Pixelcade Forums : https://pixelcade.org/forum/art-exchange-lcd/a-few-lcd-marquees-links/#post-2071

Scrapping usage

If you're missing any marquee, you can activate dynamic scrapping (MarqueeAutoScraping = true in config.ini file), which allows the system to download marquee image (the real toppers, not the logos) of arcade machines directly if it detects that a marquee is missing, without having to go through the RetroBat scraper "screenscraper" (check your screenscraper id/password in Retrobat). Once scrapping is complete, a small message appears on your marquee's screen like "Metal Slug 3 topper successfully scraped!". If you reselect or play the game again, the marquee will be updated. If you don't see the marquee appear, there may be no marquee image for that game in the screenscraper image database. The "Screenmarquee" images are not downloaded if there is no "Marquee" image. If the scraperfailed option is enabled, failed scraping will be indicated in a scrapfailed.pool file. I encourage you to take part in the screenscraper visual enhancement if you want to see a marquee appear or put it manually in your marquee folder.

How to Scrape Marquees from RetroBat

If you plan to use scraped marquees or incorporate your own custom marquee images into the system, please be aware of an issue in the scraping process. Both logos and marquee images are currently saved with the same suffix -marquee at the end of the file name. This can lead to confusion and potential file conflicts within the system.

To scrape marquees directly within RetroBat:

  1. Access the scraping menu in RetroBat.
  2. Choose to scrape from SCREENSCRAPER, HFSDB or ARCADEDB in the scraper options.
  3. In the 'Logo Source' option, select 'Banner' to obtain real topper marquees.
This approach allows you to scrape specific marquee images that are more suited for use as toppers.

START

Launch Start.bat

Notes

For visual pinball, don't forget to update VPinMame

It is important to note that SVG files may require additional processing time during their first use. However, once they are converted to PNG format, you will experience smoother navigation and quicker access to these images within the system.

Ensure MPV and IMAGEMAGICK are installed in \RetroBat\plugins\MarqueeManager\ directory. Organize your marquee images according to the structure defined in config.ini.

New Feature: Real DMD Screen Support

With the latest update, Real DMD screen support is now available only for 5.1.7 ZeDMD firmware.
To enable this, you need to change ActiveDMD to true (ActiveDMD = true) in `config.ini' and adjust MarqueeWidth and MarqueeHeight. Create DMD : https://www.youtube.com/watch?v=hgdIUG90M0c
Install 5.1.7 fw : https://github.com/zesinger/ZeDMD_Updater2/releases ( with fw here https://github.com/PPUC/ZeDMD/releases/ )
Tips :
- Set USB Package to 512 and min refresh rate to 60 if 128x32 DMD.
- If you want to keep gif animation : MarqueeAutoGeneration = false, MarqueeCompose = false


To run a ZeDMD DMD with Visual Pinball, launch the Visual Pinball installation via RetroBat
1) Retrieve version 10.8 of Visual Pinball (if not yet stable) and place it in the folder emulators/vpinball :
https://github.com/vpinball/vpinball/releases
This will install VPinballX64.exe, which will then be launched by RetroBat with authorization (disable for auto launch).
2) Get dmdext-v2.3.1-x64.zip and dmdext-v2.3.1-x86.zip and unzip the files DmdDevice.ini, DmdDevice.dll and DmdDevice64.dll in emulators/vpinball/VPinMAME/
https://github.com/freezy/dmd-extensions/releases
3) Get libzedmd-0.9.6-win-x64.zip and libzedmd-0.9.6-win-x86.zip and unzip the zedmd.dll and zedmd64.dll files in emulators/vpinball/VPinMAME/
https://github.com/PPUC/libzedmd/releases
4) Go to DmdDevice.ini in the VPinMAME folder and change to zedmd , enabled = true :
[zedmd]
; if false, doesn't bother looking for a ZeDMD
enabled = true
-- You can also set the virtual dmd to false to avoid seeing it:
[virtualdmd]
enabled = false

About

Dynamic Marquee Display Tool for RetroBat Arcade Systems: A Python-based solution for automatically updating secondary screen marquees in response to game and system selections.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published