Permalink
Fetching contributors…
Cannot retrieve contributors at this time
455 lines (331 sloc) 7.03 KB
# fmedia v1.1 configuration
# codepage for non-Unicode text: win1251 | win1252
codepage win1252
# single instance mode for fmedia-gui:
# . off: allow multiple instances
# . add: add files to the currently active queue
# . play: add files and start playback of the first added track
# . clear_play: clear the active queue, add files and start playback
instance_mode play
# Don't allow the system to put itself to sleep after some time of inactivity
prevent_sleep true
mod_conf "#globcmd.globcmd" {
pipe_name fmedia
}
mod_conf "#file.in" {
buffer_size 64k
buffers 3
# align 4k
# use direct I/O
direct_io true
}
mod_conf "#file.out" {
buffer_size 64k
preallocate 1m
}
mod "#file.stdin"
mod "#file.stdout"
mod_conf "net.http" {
# Buffer size and the number of buffers. Larger values result in longer audio preload time.
bufsize 16k
buffers 2
# Minimum number of bytes in buffer before processing it: 1..bufsize
buffer_lowat 4k
# Connect timeout (msec)
connect_timeout 1500
# Network I/O timeout (msec)
timeout 5000
# Maximum number of tries to reconnect on I/O error
max_reconnect 3
# HTTP header User-Agent: off | name_only | full
user_agent off
# Maximum number of HTTP redirects
max_redirect 10
}
mod "net.httpif"
mod_conf "net.icy" {
# Support dynamic titles
meta true
}
mod "net.in"
mod "mixer.in"
mod_conf "mixer.out" {
format int16
channels 2
rate 44100
# buffer size (in msec)
buffer 1000
}
mod "#soundmod.autoconv"
mod "#soundmod.conv"
mod "#soundmod.gain"
mod "#soundmod.until"
mod "#soundmod.silgen"
mod "#soundmod.startlevel"
mod "#soundmod.stoplevel"
mod "#soundmod.membuf"
mod "#soundmod.peaks"
# analyze PCM peaks in real-time
mod "#soundmod.rtpeak"
mod_conf "#queue.track" {
# Start the next track in list after an error has occurred with the current track
next_if_error true
}
mod "soxr.conv"
# Dynamic Audio Normalizer
mod_conf "dynanorm.filter" {
# frame_len_msec 0
# filter_size 0
# peak_value 0
# max_amplification 0
# target_rms 0
# compress_factor 0
# channels_coupled 0
# enable_dc_correction 0
# alt_boundary_mode 0
}
mod_conf "plist.dir" {
# Expand sub-directories
expand true
}
mod "plist.m3u"
mod "plist.pls"
mod "plist.cue"
# UI:
mod_conf "tui.tui" {
# Disable terminal input echo on Linux.
# Set to "false" if you experience problems when terminal echo isn't restored after fmedia process was killed.
echo_off true
}
mod_conf "gui.gui" {
# Save GUI configuration files inside fmedia directory.
# If this option is "false", configuration files are saved inside "%APPDATA%\fmedia" directory.
portable_conf false
# Always minimize to tray, not taskbar
minimize_to_tray false
# Show tray icon while recording
status_tray true
# Seeking deltas (in sec)
seek_step 5
seek_leap 60
# Save/load playlists on exit/start
autosave_playlists true
# Set theme index on startup (see theme.conf)
theme 0
record {
output "%APPDATA%\\fmedia\\rec-$date-$time.flac"
# loopback_device 0
capture_device 0
gain 0
vorbis_quality 5.0
opus_bitrate 128
mpeg_quality 2
aac_quality 192
flac_complevel 6
}
convert {
output "$filepath\\$tracknumber. $artist - $title.ogg"
vorbis_quality 5.0
opus_bitrate 128
mpeg_quality 2
aac_quality 192
# aac_bandwidth 0
flac_complevel 6
# pcm_rate 0
gain 0
overwrite 0
preserve_date 1
}
# Register global hotkeys.
# Note: these hotkeys may still be blocked or overwritten by other applications.
global_hotkeys {
# Usage: CMD "hotkey"
# See available commands in fmedia.gui
# NEXT "Ctrl+Shift+Alt+N"
# STOP "Ctrl+Shift+Alt+S"
# REC "Ctrl+Shift+Alt+R"
}
}
mod "gui.rec-nfy"
# CONTAINERS:
mod "mp4.input"
mod "mp4.output"
mod "avi.in"
mod "mkv.in"
mod_conf "ogg.input" {
seekable true
}
mod_conf "ogg.output" {
# Maximum page duration (in msec)
max_page_duration 1000
}
mod "aac.in"
# AUDIO CODECS:
mod "wav.in"
mod "wav.rawin"
mod "wav.out"
mod "mpeg.in"
mod "mpeg.decode"
mod_conf "mpeg.encode" {
# VBR quality: 9..0 or CBR bitrate: 64..320
quality 2
}
mod_conf "mpeg.out" {
min_meta_size 1000
}
mod "mpeg.copy"
mod "mpc.in"
mod "mpc.decode"
mod "vorbis.decode"
mod_conf "vorbis.encode" {
# minimum size of Vorbis comments (add padding if necessary)
min_tag_size 1000
# -1.0 .. 10.0
quality "5.0"
}
mod "opus.decode"
mod_conf "opus.encode" {
# Minimum size of Vorbis comments (add padding if necessary)
min_tag_size 1000
bitrate 192
# (in msec)
frame_size 40
# 0..10
# complexity 10
# (in kHz)
# bandwidth 20
}
mod "flac.decode"
mod_conf "flac.encode" {
# compression level: 0..8
compression 6
# generate MD5 checksum of uncompressed data
md5 true
}
mod "flac.in"
mod_conf "flac.out" {
# audio interval (in seconds) for seek table (0=disable)
seektable_interval 1
# minimum size of meta data (add padding block if needed)
min_meta_size 1000
}
mod "alac.decode"
mod "aac.decode"
mod_conf "aac.encode" {
# LC | HE | HEv2
profile LC
# AAC encoding quality: 1..5 (VBR) or 8..800 (CBR, kbit/s)
quality 256
# Better quality at the cost of additional encoding time
afterburner 1
# Frequency cut-off (max. 20000Hz); 0: default setting.
bandwidth 0
}
mod "wavpack.decode"
mod "ape.decode"
# AUDIO I/O:
mod_conf "wasapi.out" {
device_index 0
exclusive_mode 0
buffer_length 500
}
mod_conf "wasapi.in" {
device_index 0
# 0: disabled, 1: allowed, 2: always
exclusive_mode 0
# in msec
buffer_length 100
latency_autocorrect false
}
mod_conf "direct-sound.in" {
device_index 0
buffer_length 500
}
mod_conf "direct-sound.out" {
device_index 0
buffer_length 500
}
mod_conf "alsa.out" {
device_index 0
buffer_length 500
notify_rate 0
}
mod_conf "alsa.in" {
device_index 0
buffer_length 500
}
mod_conf "pulse.out" {
device_index 0
buffer_length 500
notify_rate 0
}
mod_conf "coreaudio.out" {
device_index 0
}
mod_conf "coreaudio.in" {
device_index 0
buffer_length 1000
}
mod_conf "oss.out" {
device_index 0
# buffer_length 500
}
# Module for audio playback
# Windows:
output "wasapi.out"
# output "direct-sound.out"
# Linux:
output "alsa.out"
# output "pulse.out"
# FreeBSD:
output "oss.out"
# macOS:
output "coreaudio.out"
# Module for audio recording
# Windows:
input "wasapi.in"
# input "direct-sound.in"
# Linux:
input "alsa.in"
# macOS:
input "coreaudio.in"
# Default audio format for recording
record_format {
# Audio format: int8 | int16 | int24 | int32 | float32
format int16
# Channels number: 2 (stereo) | 1 (mono) | left | right
channels 2
rate 44100
}
input_ext {
# mod ext...
"wav.in" wav
"wav.rawin" raw
"mpeg.in" mp3
"mpc.in" mpc
"aac.in" aac
"flac.in" flac
"wavpack.decode" wv
"ape.decode" ape
"avi.in" avi
"mkv.in" mka mkv
"mp4.input" m4a mp4
"ogg.input" ogg opus
"plist.m3u" m3u m3u8
"plist.pls" pls
"plist.cue" cue
}
output_ext {
# mod ext...
"wav.out" wav
"ogg.output" ogg opus
"mp4.output" m4a
"mpeg.out" mp3
"flac.out" flac
}
# Additional configuration files:
include "fmedia-ext.conf"
# Per-user configuration:
# Windows: %APPDATA%/fmedia/fmedia-user.conf
# Linux: $HOME/.config/fmedia/fmedia-user.conf
include_user "fmedia-user.conf"