Usage:
fmedia [OPTIONS] [INPUT...]

The default action is to play input files one by one.
Typical track chain: QUEUE -> INPUT -> FILTERS -> ENCODING -> OUTPUT

INPUT              Input file, directory, URL or a wildcard
                   @stdin.EXT: read from standard input.

OPTIONS:

QUEUE:
--track=N1[,N2...] Select specific track numbers in playlist
--repeat-all       Repeat all
--random           Choose the next track randomly

AUDIO DEVICES:
--list-dev          List available sound devices and exit
--dev=DEVNO         Use playback device
--dev-capture=DEVNO Use capture device
--dev-loopback=DEVNO
                    Use playback device in a loopback mode (record from playback) (WASAPI only).
                    If used together with --dev-capture, 2 recording streams from both devices will run in parallel.

AUDIO FORMAT:
By default these settings are used for output.  When recording, they apply for input.
--format=STR       Set audio format (int8 | int16 | int24 | int32 | float32)
--rate=INT         Set sample rate
                   Note: some settings may not work together with sample rate conversion.
--channels=STR     Set channels number
                   Can convert stereo to mono:
                    --channels=mono: mix all channels together
                    --channels=left: use left channel only
                    --channels=right: use right channel only

INPUT:
--record           Capture audio.  Set default audio format in fmedia.conf::record_format.
--capture-buffer   Length (in msec) of the capture buffer (See also fmedia.conf::*.in.buffer_length)
--mix              Play input files simultaneously.  Set audio format in fmedia.conf::mod_conf "mixer.out".
                   Note: all inputs must have channels number and sample rate equal to the output.
--flist=FILE       Read filenames from FILE
--include='WILDCARD[;WILDCARD]'
                   Only include files matching a wildcard (case-insensitive)
--exclude='WILDCARD[;WILDCARD]'
                   Exclude files & directories matching a wildcard (case-insensitive)
--seek=TIME        Seek to time: [[HH:]MM:]SS[:MSC]
--until=TIME       Stop at time
                   Special values:
                     'playback-end': stop recording when the last playback track is finished
--fseek=BYTE       Set input file offset
-i, --info         Don't play but show media information
--tags             Print all meta tags
--meta='[clear;]NAME=STR;...'
                   Set meta data
                   If "clear;" is specified, skip all meta from input file.
                   .mp3 supports: album, albumartist, artist, comment, date, genre, picture, publisher, title, tracknumber, tracktotal.
                   .mp4 supports: album, albumartist, artist, comment, composer, copyright, date, discnumber, genre, lyrics, title, tracknumber.
                   .flac, .ogg support tags of any name.
                   Value may be read from file (e.g. album cover picture):
                     "--meta=picture=@file:FILENAME"

FILTERS:
--volume=INT       Set volume (0% .. 125%)
--gain=FLOAT       Set gain/attenuation in dB
--auto-attenuate=FLOAT
                   Set ceiling audio level in dB (always negative value) for loud tracks
--prebuffer=TIME   Start writing the recorded audio to a file by user's command, saving some previously recorded data (before the command is issued)
--start-dblevel=DB Skip initial audio until input signal level goes above DB (-100dB..0dB)
--stop-dblevel=DB[;TIME][;MINTIME]
                   Stop processing if input signal level goes below DB for TIME time (default: 5 sec).
                   If MINTIME is specified, stop only after MINTIME time has passed.
--split=TIME       Split audio by equal time intervals
--dynanorm         Use Dynamic Audio Normalizer filter.
                   Set parameters in section `mod_conf dynanorm.filter` in fmedia.conf.

--pcm-peaks        Analyze PCM and print some details
--pcm-crc          Print CRC of PCM data (must be used with --pcm-peaks)
                   Useful for checking the results of lossless audio conversion.

ENCODING:
--vorbis.quality=FLOAT
                   Vorbis encoding quality: -1.0 .. 10.0
--opus.bitrate=INT Opus encoding bitrate: 6..510 (VBR)
--mpeg-quality=INT MPEG encoding quality: 9..0 (VBR) or 64..320 (CBR)
--aac-quality=INT  AAC encoding quality: 1..5 (VBR) or 8..800 (CBR, kbit/s)
--aac-profile=STR  Set AAC profile: LC | HE | HEv2
--flac-compression=INT
                   FLAC compression level: 0..8
--stream-copy      Copy audio data without re-encoding.  Supported formats: OGG, MPEG.

OUTPUT:
-o, --out=[NAME].EXT
                   Don't play but write output to a file (i.e. convert audio)
                   If NAME is "@stdout", write to standard output.
                   Output format is chosen by "EXT" (see fmedia.conf::output_ext).
                   Supported variables:
                     $filepath: path to input file
                     $filename: name (without extension) of the input file
                     $date: current date
                     $time: current time
                     $timems: current time with milliseconds
                     $counter: sequentially incrementing counter (starts from 1)
                   --out=.ogg is a short for --out='./$filename.ogg'
                   Filename may be generated automatically using meta info,
                     e.g.: --out '$tracknumber. $artist - $title.flac'
-y, --overwrite    Overwrite output file
--preserve-date    Set output file date/time equal to input file.
--out-copy[=STR]   Play AND copy data to output file specified by "--out" switch.
                   Supported by modules: net.icy.
                   Value:
                     all: save all tracks (default)
                     cmd: save each track only by user's command

OTHER OPTIONS:
--parallel         Process input files in parallel (fmedia.conf::workers).
                   Must be used with '--out'.
--background       Create a new process that will run in background
--globcmd=STR      Send commands to another running fmedia process.
                   Supported commands:
                     listen: Start listening for incoming commands
                     play INPUT... : Add items to queue and start playing the first added
                     add INPUT... : Add items to queue
                     clear: Clear the current queue
                     next: Play next track in the current queue
                     stop: Stop all active tracks
                     pause: Pause all active tracks
                     unpause: Unpause all paused tracks
                     quit: Close fmedia process
--globcmd.pipe-name=STR
                   Set name of the pipe for communication between fmedia instances

--conf=FN          Set configuration file (default: "fmedia.conf" from the program directory)
--gui              Run in graphical UI mode (Windows,Linux only)
--notui            Don't use terminal UI
--print-time       Show the time spent for processing each track
--debug            Print debug info to stdout
-h, --help         Print help info and exit

--cue-gaps=INT     Control track pregaps
                   0: skip pregaps:
                     track01.index01 .. track02.index00
                   1: (default), gap is added to the previous track:
                     track01.index01 .. track02.index01
                   2: gap is added to the previous track (but track01's pregap is preserved):
                     track01.index00 .. track02.index01
                     track02.index01 .. track03.index01
                   3: gap is added to the beginning of the current track:
                     track01.index00 .. track02.index00

INSTALL:
--install          Windows: add fmedia directory into user's environment and create a desktop shortcut
--uninstall        Undo changes made by '--install'
