# fmedia v1.30 configuration # Maximum number of worker threads # 0: use all CPUs # workers 0 # 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 # Store user configuration files inside fmedia directory. # If this option is "false", user configuration files are stored inside "%APPDATA%\fmedia" (Windows) # or "$HOME/.config/fmedia" (Linux) directory. # portable_conf false # mod_conf "#globcmd.globcmd" { # pipe_name fmedia # } # mod_conf "#file.in" { # buffer_size 64k # buffers 3 # align 4k # Offload read operations to another thread # use_thread_pool true # Read from file using the system's asynchronous I/O # direct_io false # } # mod_conf "#file.out" { # buffer_size 64k # preallocate 1m # Offload write operations to another thread # Asynchronous writing may help utilizing more CPU resources # use_thread_pool true # } # mod_conf "#file.stdout" { # buffer_size 64k # } # 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 # Connect via a proxy server # proxy "127.0.0.1:8080" # } # mod_conf "net.icy" { # Support dynamic titles # meta true # } # mod_conf "afilter.mixer-out" { # format int16 # channels 2 # rate 44100 # buffer size (in msec) # buffer 1000 # } # mod_conf "#queue.track" { # Start the next track in list after an error has occurred with the current track # next_if_error true # Auto-remove playlist item if source doesn't exist # remove_if_no_source false # Auto-remove playlist item if the file format is not supported # remove_if_unknown_format true # } # Dynamic Audio Normalizer # mod_conf "dynanorm.filter" { # frame_len_msec 500 # filter_size 31 # peak_value 0.95 # max_amplification 10.0 # target_rms 0.0 # compress_factor 0.0 # channels_coupled true # enable_dc_correction false # alt_boundary_mode false # } # mod_conf "plist.dir" { # Expand sub-directories # expand true # } # 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 # "Delete From Disk" job: # . default: move to trash # . rename: rename a file to ".deleted" # file_delete_method default } mod_conf "gui.gui" { # 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 # "Delete From Disk" job: # . default: move to trash # . rename: rename a file to ".deleted" # file_delete_method default # Executable for showing/editing a text file (Linux-GTK only) # editor_path "/usr/bin/kwrite" # File explorer tab (Linux-GTK only) # explorer { # disable false # path "" # } record { # output "%APPDATA%\\fmedia\\rec-$date-$time.flac" } convert { # output "$filepath/$tracknumber. $artist - $title.ogg" "$filepath/$filename.m4a" } # 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" # } } # CONTAINERS: # mod_conf "fmt.mp3-write" { # min_meta_size 1000 # } # mod_conf "fmt.ogg" { # seekable true # } # mod_conf "fmt.ogg-write" { # Maximum page duration (in msec) # max_page_duration 1000 # } # mod_conf "fmt.flac-write" { # 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 # } # AUDIO CODECS: # mod_conf "mpeg.encode" { # VBR quality: 9..0 or CBR bitrate: 64..320 # quality 2 # } # 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_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_conf "flac.encode" { # compression level: 0..8 # compression 6 # generate MD5 checksum of uncompressed data # md5 true # } # 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 # } # AUDIO I/O: # mod_conf "wasapi.out" { # device_index 0 # 0: disabled, 1: allowed, 2: always # 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 250 # 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 (use the first one found) output "wasapi.out" output "direct-sound.out" output "pulse.out" output "alsa.out" output "oss.out" output "coreaudio.out" # Module for audio recording (use the first one found) input "wasapi.in" input "direct-sound.in" input "alsa.in" input "pulse.in" input "jack.in" input "oss.in" 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 # } # The table we use for finding an input module by file extension # (either from file name or by first few bytes of file data) input_ext { # mod ext... "fmt.wav" wav "fmt.raw" raw "fmt.mp3" mp3 "fmt.mpc" mpc "fmt.aac" aac "fmt.flac" flac "fmt.caf" caf "fmt.wv" wv "fmt.ape" ape "fmt.avi" avi "fmt.mkv" mkv "fmt.mp4" mp4 "fmt.ogg" ogg "plist.m3u" m3u m3u8 m3uz "plist.pls" pls "plist.cue" cue } output_ext { # mod ext... "fmt.wav-write" wav "fmt.ogg-write" ogg opus "fmt.mp4-write" m4a "fmt.mp3-write" mp3 "fmt.aac-write" aac "fmt.flac-write" flac "plist.m3u-out" m3u m3u8 } # Additional configuration files: include "fmedia-ext.conf" # Per-user configuration: # Portable mode: "./fmedia-user.conf" # Windows: %APPDATA%/fmedia/fmedia-user.conf # Linux: $HOME/.config/fmedia/fmedia-user.conf include_user "fmedia-user.conf"