Good Book

The user manual for the Good Form audio player.

A screenshot of Good Form's interface

Usage Guide

Quick start

Drag and drop a directory or file onto the window to open it!

Transport and playhead

  • Press Space or click the Play/Pause Button in the top bar to play/pause
  • Press the Stop Button in the top bar to stop and move the playhead to the start
  • Left-click or Left-drag anywhere around the waveform to reposition the playhead
  • Press Arrow Right and Arrow Left to jump forward/backward, additionally hold Ctrl to make larger jumps
  • Press Home and End to jump to the start/end
  • Hold Tab, move the mouse in some direction and release Tab to reposition the playhead
    • Left -> Last play point
    • Right -> Last pause point
    • Up -> Start
    • Down -> 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-drag a play or pause point marker to reposition it
  • Double-click a play or pause point marker to play from its position

Selections

  • Shift + Left-drag to define a selection range
  • Left-drag the selection end markers ([/]) to adjust the selection
  • Press R to 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-click selection end markers to play from their position
  • Shift + Left-click anywhere 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 Enter to play the selected file or open the selected directory
  • Press Shift + Enter to play the selected file and queue all that follow in the directory
  • Press Q to queue the currently selected file

Playback Engine

  • Press F5 to toggle the sound playback engine on or off
  • Press Shift + F5 to revert to the default audio device and restart the engine

Theme

  • Press T to 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