Good Book
The user manual for the Good Form audio player.

Usage Guide
Quick start
Drag and drop a directory or file onto the window to open it!
Transport and playhead
- Press
Spaceor click thePlay/Pause Buttonin the top bar to play/pause - Press the
Stop Buttonin the top bar to stop and move the playhead to the start Left-clickorLeft-draganywhere around the waveform to reposition the playhead- Press
Arrow RightandArrow Leftto jump forward/backward, additionally holdCtrlto make larger jumps - Press
HomeandEndto jump to the start/end - Hold
Tab, move the mouse in some direction and releaseTabto reposition the playheadLeft-> Last play pointRight-> Last pause pointUp-> StartDown-> End
Play/Pause Points
- A play point marker is automatically placed whenever you start playback
- A pause point marker is automatically placed Whenever you pause playback
Left-draga play or pause point marker to reposition itDouble-clicka play or pause point marker to play from its position
Selections
Shift+Left-dragto define a selection rangeLeft-dragthe selection end markers ([/]) to adjust the selection- Press
Rto play the selected range on repeat (loop)- If there is no selection range one is set automatically based on the play/pause points
- If there are no play/pause points the entire time range is selected
Double-clickselection end markers to play from their positionShift+Left-clickanywhere to discard an existing selection
Exporting selections
Define a selection, then press Ctrl + E to export it to a 24bit WAV file in the same folder
Navigation and Queue
- Use
⬇and⬆to select a directory or file in the filetree - Use
Alt+⬆/⬇to ascend/descend in the filetree - Press
Enterto play the selected file or open the selected directory - Press
Shift+Enterto play the selected file and queue all that follow in the directory - Press
Qto queue the currently selected file
Playback Engine
- Press
F5to toggle the sound playback engine on or off - Press
Shift+F5to revert to the default audio device and restart the engine
Theme
- Press
Tto toggle between the dark and light theme
Experimental Features
Interface Scaling
Note that this is not yet fully implemented and will currently just look weird for the most part.
- Press
Ctrl++to increase the size of all user interface elements - Press
Ctrl+-to decrease the size of all user interface elements
Commandline arguments
Help
Run this to print available flags and options to the console:
good-form --help
Opening a file or folder
Just pass a single positional argument to open Good Form with a specific file or directory:
good-form path/to/my/file.wav
Listing audio hosts and devices
Run this to list available hosts (ALSA, CoreAudio, WASAPI, etc.):
good-form --list-hosts
Run this to list available devices (Sound cards, Screens, etc.):
good-form --list-devices
Configuring audio hosts and devices
With the output --list-hosts and/or --list-devices gives you, you can instruct Good Form to start with a specific playback configuration, utilizing the indices displayed in the listing output. Let's say for instance --list-devices gave us this listing:
[0] default
[1] pulse
[2] sysdefault:CARD=Pro71992192
[3] sysdefault:CARD=PCH
[4] front:CARD=PCH,DEV=0
Then we can use the following argument to use the pulse device:
good-form --device 1
Similarly if we query the hosts with --list-hosts and get this listing:
[0] ALSA
[1] EXAMPLE
Then we can the following argument to use the ALSA device:
good-form --host 0
Factory reset
Use this flag to purge all previously persisted user settings and start with factory defaults:
good-form --factory-reset
Supported Formats
At present Good Form supports the following formats:
- Free Lossless Audio Codec –
flac - MPEG-1/2 Audio Layer III –
mp3 - Ogg Vorbis –
ogg - Waveform Audio File Format –
wav
Within these formats all common bit depth/sample rate combinations should work. You might encounter issues with uncommon sample formats, you can help to correct those by submitting a detailed report on the issue tracker.
Here's to you!
Thank you for taking the time to check out Good Form.
If you liked what you saw I invite you to check back some time to see who things are progressing, this is only the start of the journey.
— The author and developer, Simon