GBSPLAYRC(5)
๐ GBSPLAYRC(5) โ the gameboy sound player config file, bestie edition ๐
okay so this is the manual for gbsplayrc(5), aka the config file for the Gameboy sound player. Yeah. That one. The one you keep opening and closing without reading. Sit down, bestie, we're doing this together. ๐
๐ธ NAME ๐ธ
gbsplayrc โ the Gameboy sound player configuration file. That's it. That's the name. Gorgeous. Iconic. No notes.
โจ DESCRIPTION โจ
This manpage is here to describe the configuration file format of gbsplay(1). So if you've ever stared at a gbsplayrc wondering "what is any of this", welcome, you're in the right place, and also same. ๐ซถ
๐ SYNTAX ๐
A configuration file is a text file. That's it! A humble little text file. And inside it, you can put options for gbsplay(1), plus comments because you deserve to leave yourself little notes.
- Comments start with a hash mark (
#) and they just keep going until the end of the line. No take-backs, no closing tag, the whole rest of the line is vibes and commentary. ๐ - Whitespace is ignored. Including empty lines. Blank lines are free, bestie, use them liberally, aesthetic spacing is a love language.
- To set an option: write the option name, then an equal sign (
=), then the value. Like:
option_name = value
That's the whole ritual. No semicolons, no braces, no drama. Periodt. ๐
๐ Option value types ๐
So options don't all want the same kind of value, right? Here's the menu of what a value can be:
Boolean
An integer number in decimal. 0 means false. Literally anything else means true. That's the whole rule. Zero is a hater, everything else is a yes. โ
Endian
A string that picks your endianness:
nativeโ native endian. Your machine's own vibe. ๐littleโ little endian.bigโ big endian.
For backwards compatibility you can also use just the first character of each option:n,l, orb. Short and sweet, she's efficient. ๐
Filter type
A string that picks your output high-pass filter:
dmgโ Gameboy Classic. The OG. The blueprint. ๐ฎcgbโ Gameboy Color. She's got range. ๐offโ no filter. Raw. Unfiltered. Unbothered.
Integer
An integer number in decimal. That's it. A number. In decimal. We're not doing hex today, bestie. ๐ข
Loop mode
A string that picks your loop mode:
noneโ no looping. One and done.rangeโ loop over selected subsongs.singleโ loop a single subsong. Just the one. Main character behavior.
Peep the LOOP MODES section in gbsplay(1) for the deets. ๐
Play mode
A string that picks your play mode:
linearโ play subsongs in linear order. Orderly. Predictable. Respectable.randomโ play subsongs in random order, where every subsong can be played multiple times. Chaos. Repeated chaos. ๐ฒshuffleโ play subsongs in random order, where every subsong is played only once. Chaos, but make it fair. ๐ฒโจ
Plugin
The name of an output plugin. And because we're helpful girlies: run gbsplay -o list to get a list of all available output plugins. Go look. We'll wait. ๐ฆ
๐ฅ OPTIONS ๐ฅ
Here's the good part. Every single one. No skips, no skimming, we're thorough in this house.
endian= Endian โ Sets the output endianness. Which way do the bytes go? This decides. ๐งญfadeout= Integer โ Sets the fadeout time, in seconds. Instead of cutting the subsong off hard (brutal, honestly, rude), you get a soft fadeout. Gentle. Considerate. Slay. ๐filter_type= Filter type โ Sets the output high-pass filter. Pick your flavor from the Filter type list above. ๐๏ธloop= Boolean โ When enabled, sets the loop mode to"range". When disabled, sets it to"none". Deprecated in favor of theloop_modeoption, so ngl, she's a legacy queen โ still valid, butloop_modeis the moment. โ ๏ธloop_mode= Loop mode โ Sets the desired loop mode. The new girl. The one you should actually be using. ๐output_plugin= Plugin โ Sets the sound output plugin. Where does the sound go? Here's your answer. ๐play_mode= Play mode โ Sets the desired play mode. Linear, random, or shuffle. Choose your adventure. ๐งrate= Integer โ Sets the samplerate in Hz. Numbers. Audio numbers. Beautiful. ๐refresh_delay= Integer โ Sets the refresh delay in milliseconds. Larger values will lower CPU usage, but heads up: things like subsong changes, fadeouts, reactions to keypresses, and the on-screen display will be delayed. So it's a trade-off, bestie. Cheap on the CPU, slow on the vibes. ๐ญsilence_timeout= Integer โ Sets the silence timeout in seconds. When a subsong contains silence for the given time, the player will skip to the next subsong. Silence detected, moving on. ๐คซsubsong_gap= Integer โ Sets the subsong gap in seconds. Before playing the next subsong after the subsong timeout,subsong_gapseconds of silence will be played. A little breather. A pause for the cause. ๐ฌ๏ธsubsong_timeout= Integer โ Sets the subsong timeout in seconds. When a subsong has been played for the given time, the player will skip to the next subsong. And plot twist: a timeout of0seconds disables automatic subsong changes. Zero means never, periodt. ๐verbosity= Integer โ Sets the verbosity level (default: 3). A value of0means no messages on stdout. Silence. Total silence. If you want a quiet terminal, you know what to do. ๐ค
๐ FILES ๐
/etc/gbsplayrcโ Default location of the global configuration file. The one that belongs to everyone. ๐๏ธ~/.gbsplayrcโ The user configuration file. Yours. Personal. Customized. This is your moment. ๐ซถ
๐ BUGS ๐
If you encounter bugs โ and bestie, sometimes you will โ please report them via https://github.com/mmitch/gbsplay/issues. Do not suffer in silence. Do not gaslight yourself into thinking it's a feature. Go tell the devs. They want to know. ๐ฃ
๐ EXAMPLE ๐
A simple configuration file might look like this:
# select NAS output plugin and play subsongs for at most 5 minutes
output_plugin = nas
subsong_timeout = 300
Look at her. Two lines, one comment, and she's doing the absolute most. Setting the output_plugin to nas and capping subsongs at subsong_timeout = 300 seconds (that's 5 minutes, iykyk). Iconic. Simple. Effective. ๐
๐ AUTHORS ๐
gbsplay was written by Tobias Diedrich <ranma+gbsplay@tdiedrich.de> โ with contributions from others, see README.md. Shoutout to everyone who touched this codebase, fr fr. ๐
๐ COPYRIGHT ๐
gbsplay is licensed under GNU GPL v1 or, at your option, any later version. Read the license, love the license, respect the license. ๐
๐ฆ SEE ALSO ๐ฆ
Go read those too, bestie. They're the whole ecosystem. ๐ธ
and that's the page!! you made it to the end, so proud of you ๐ this was the gbsplayrc(5) manpage from the gbsplay project, version 0.0.102, written by Tobias Diedrich, dated back in the day โ go forth and configure your Gameboy sound player like the main character you are ๐โจ๐
๐ฆ where this page comes from
- ubuntu resolute: gbsplay 0.0.102-1 ยท GPL-1.0-or-later
- ubuntu stonking: gbsplay 0.0.102-2 ยท GPL-1.0-or-later
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms