Current Version: 1.6
Ren'Py-Universal-Player or (Ren'Py UOST-Player) is a enhanced music room for Ren'Py projects that allows users to play tracks outside the game's story along with sideloaded songs.
- Nikso - Original DDLC Music Player Developer
- Sam Kujo#9403 - Original DDLC Music Player Design and Beta Tester
- Staryxz#3613 - Original DDLC Music Player Beta Tester
- Tom Rothamel - Feedback
- RyzekNoavek#0624 - Adjustable Play Bar Code
- khaase (Pixabay) - Refresh Icon (UOST-Player 1.0 - 1.2)
- eugenialcala (Pixabay) - Replay Icon (UOST-Player 1.0 - 1.2)
- raphaelsilva (Pixabay) - Shuffle Icon (UOST-Player 1.0 - 1.2)
- Josy_Dom_Alexis (Pixabay) - Volume Icon (UOST-Player 1.0 - 1.2)
- Google - Noto Sans SC Font (Author/Description Tag) and Icons (UOST-Player 1.3 onwards)
- Ren'Py Discord - Feedback on Ren'Py Universal Player Features
- Weiss Schnee - Support (Weiss :D)
- MP3, OGG/OPUS, and WMA Playback from a folder or inside a RPA/APK file.
- Metadata support for tracks.
- Music player controls.
- Dynamic Font Scaling for Titles (some-what).
- Sorting support.
- Based off the Ren'Py auto-generated template screen.
- Music unlock support.
- RPA/APK Playback and Metadata Support
You will need to enable Developer Mode in order to make the metadata of songs in the track RPA folder generate for distribution.
- Android Support!
- A Ren’Py project (new or existing).
- The recent version of Ren'Py UOST-Player.
- Drop all the contents in this ZIP file to your projects' game folder.
- Open screens.rpy and add this line somewhere after line
291
under the screen navigation(): block.
textbutton _("Music Room") action [ShowMenu("music_room"), Function(ost.get_music_channel_info),
Stop('music', fadeout=2.0), Function(ost.refresh_list)]
- (Optional) Add some music to the track folder.
- Run your project and enter the Music Room!
Pretty much anything. This is based off the auto-generated Ren'Py template so everything is good for you to use as-is. Just change the settings under music_screen.rpy.
manualtracks.rpy has a small template to define songs manually if you need to do so. You have the following options to define these tracks.
name | Name of the track
path | File path to the track from the game folder
priority | Priortization of track on the list.
author | Artist of the song
description | Track description, comments, etc.
cover_art | Path to the track's cover art (JPG/PNG Only)
unlocked | Allows a song to be shown to the player or not.
Enable the numbered list icon in the music room and set the song priority by a value. 0 is the highest priority you can make a song be while 1, 2, etc. will be prioritzed lower in the list. i.e. 0 > 1 > 2 > ...
You may also enable this by setting organizePriority to True within ost.py.
As of now, the way to make a song unlock is by manually defining a song in manualtracks.rpy. You can see a example on how this works in within the RPY file and under the How do I manually define a song? section of this Readme.
Right-click your song, Select Properties, go to Details, and fill the blank boxes you can. Alternatively, use MusicBee or a similar music player, or MusicBrainz Picard and find your song.
- For MusicBee: Right-Click your song within the player, select Edit and edit away the info you want, then click Apply then OK.
- For MusicBrainz Picard: Add your song to Picard, select it, right-click the rectangle box that has 3 columns, select Add New Tag, select the tags you want to add like Title, Artist, Comment, Album, etc. There should be a blank box in the box area below, double-click it and edit away the info you want to add, then click Save and press the Save button near Info.
I wanted to expand the original project I made with (DDLC-OSTPlayer) to everyone else in Ren'Py. Originally made to see RWBY songs play within the Ren'Py engine. (Yang :P)