From 416cb1a8dd5bf3ed6f426048843c95c2e2550f27 Mon Sep 17 00:00:00 2001 From: davidovski Date: Sat, 4 May 2024 01:15:19 +0100 Subject: add more transparency --- config/cava/config | 187 +++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 147 insertions(+), 40 deletions(-) (limited to 'config/cava') diff --git a/config/cava/config b/config/cava/config index 2ddd926..f683ee5 100644 --- a/config/cava/config +++ b/config/cava/config @@ -1,4 +1,5 @@ -## Configuration file for CAVA. Default values are commented out. Use either ';' or '#' for commenting. +## Configuration file for CAVA. +# Remove the ; to change parameters. [general] @@ -12,18 +13,28 @@ # 'autosens' will attempt to decrease sensitivity if the bars peak. 1 = on, 0 = off # new as of 0.6.0 autosens of low values (dynamic range) # 'overshoot' allows bars to overshoot (in % of terminal height) without initiating autosens. DEPRECATED as of 0.6.0 -; autosens = 1 +autosens = 1 ; overshoot = 20 -# Manual sensitivity in %. Autosens must be turned off for this to take effect. +# Manual sensitivity in %. If autosens is enabled, this will only be the initial value. # 200 means double height. Accepts only non-negative values. -; sensitivity = 100 +sensitivity = 100 -# The number of bars (0-200). 0 sets it to auto (fill up console). +# The number of bars (0-512). 0 sets it to auto (fill up console). # Bars' width and space between bars in number of characters. ; bars = 0 ; bar_width = 2 ; bar_spacing = 1 +# bar_height is only used for output in "noritake" format +; bar_height = 32 + +# For SDL width and space between bars is in pixels, defaults are: +; bar_width = 20 +; bar_spacing = 5 + +# sdl_glsl have these default values, they are only used to calulate max number of bars. +; bar_width = 1 +; bar_spacing = 0 # Lower and higher cutoff frequencies for lowest and highest bars @@ -33,38 +44,52 @@ ; lower_cutoff_freq = 50 ; higher_cutoff_freq = 10000 -# FFT buffer is set in the exponent of 2 and must be between 8 - 16, 8 = 256, 16 = 65536 -# this is the audio buffer used to create the spectrum -# increasing the will improve the accuracy of the visualization, -# but will also make it slower and increase CPU usage -# anything below 10 and above 13 is considered experimental. -; FFTbufferSize = 12; +# Seconds with no input before cava goes to sleep mode. Cava will not perform FFT or drawing and +# only check for input once per second. Cava will wake up once input is detected. 0 = disable. +; sleep_timer = 0 [input] -# Audio capturing method. Possible methods are: 'pulse', 'alsa', 'fifo', 'sndio' or 'shmem' -# Defaults to 'pulse', 'alsa' or 'fifo', in that order, dependent on what support cava was built with. +# Audio capturing method. Possible methods are: 'fifo', 'portaudio', 'pipewire', 'alsa', 'pulse', 'sndio', 'oss', 'jack' or 'shmem' +# Defaults to 'oss', 'pipewire', 'sndio', 'jack', 'pulse', 'alsa', 'portaudio' or 'fifo', in that order, dependent on what support cava was built with. +# On Mac it defaults to 'portaudio' or 'fifo' +# On windows this is automatic and no input settings are needed. # # All input methods uses the same config variable 'source' # to define where it should get the audio. # -# For pulseaudio 'source' will be the source. Default: 'auto', which uses the monitor source of the default sink +# For pulseaudio and pipewire 'source' will be the source. Default: 'auto', which uses the monitor source of the default sink # (all pulseaudio sinks(outputs) have 'monitor' sources(inputs) associated with them). # +# For pipewire 'source' will be the object name or object.serial of the device to capture from. +# Both input and output devices are supported. +# # For alsa 'source' will be the capture device. # For fifo 'source' will be the path to fifo-file. # For shmem 'source' will be /squeezelite-AA:BB:CC:DD:EE:FF where 'AA:BB:CC:DD:EE:FF' will be squeezelite's MAC address +# +# For sndio 'source' will be a raw recording audio descriptor or a monitoring sub-device, e.g. 'rsnd/2' or 'snd/1'. Default: 'default'. +# README.md contains further information on how to setup CAVA for sndio. +# +# For oss 'source' will be the path to a audio device, e.g. '/dev/dsp2'. Default: '/dev/dsp', i.e. the default audio device. +# README.md contains further information on how to setup CAVA for OSS on FreeBSD. +# +# For jack 'source' will be the name of the JACK server to connect to, e.g. 'foobar'. Default: 'default'. +# README.md contains further information on how to setup CAVA for JACK. +# +method = pulse +source = auto + +; method = pipewire ; source = auto -method = alsa - source = hw:Loopback,1 +; method = alsa +; source = hw:Loopback,1 ; method = fifo ; source = /tmp/mpd.fifo -; sample_rate = 44100 -; sample_bits = 16 ; method = shmem ; source = /squeezelite-AA:BB:CC:DD:EE:FF @@ -72,30 +97,73 @@ method = alsa ; method = portaudio ; source = auto +; method = sndio +; source = default + +; method = oss +; source = /dev/dsp + +; method = jack +; source = default + +# The options 'sample_rate', 'sample_bits', 'channels' and 'autoconnect' can be configured for some input methods: +# sample_rate: fifo, pipewire, sndio, oss +# sample_bits: fifo, pipewire, sndio, oss +# channels: sndio, oss, jack +# autoconnect: jack +# Other methods ignore these settings. +# +# For 'sndio' and 'oss' they are only preferred values, i.e. if the values are not supported +# by the chosen audio device, the device will use other supported values instead. +# Example: 48000, 32 and 2, but the device only supports 44100, 16 and 1, then it +# will use 44100, 16 and 1. +# +; sample_rate = 44100 +; sample_bits = 16 +; channels = 2 +; autoconnect = 2 + [output] -# Output method. Can be 'ncurses', 'noncurses' or 'raw'. -# 'noncurses' uses a custom framebuffer technique and draws only changes -# from frame to frame. As of version 0.7.0 'noncurses' is default. +# Output method. Can be 'ncurses', 'noncurses', 'raw', 'noritake', 'sdl' +# or 'sdl_glsl'. +# 'noncurses' (default) uses a buffer and cursor movements to only print +# changes from frame to frame in the terminal. Uses less resources and is less +# prone to tearing (vsync issues) than 'ncurses'. # # 'raw' is an 8 or 16 bit (configurable via the 'bit_format' option) data # stream of the bar heights that can be used to send to other applications. # 'raw' defaults to 200 bars, which can be adjusted in the 'bars' option above. -; method = ncurses +# +# 'noritake' outputs a bitmap in the format expected by a Noritake VFD display +# in graphic mode. It only support the 3000 series graphical VFDs for now. +# +# 'sdl' uses the Simple DirectMedia Layer to render in a graphical context. +# 'sdl_glsl' uses SDL to create an OpenGL context. Write your own shaders or +# use one of the predefined ones. +method = noncurses + +# Orientation of the visualization. Can be 'bottom', 'top', 'left' or 'right'. +# Default is 'bottom'. Other orientations are only supported on sdl and ncruses +# output. Note: many fonts have weird glyphs for 'top' and 'right' characters, +# which can make ncurses not look right. +; orientation = bottom # Visual channels. Can be 'stereo' or 'mono'. # 'stereo' mirrors both channels with low frequencies in center. # 'mono' outputs left to right lowest to highest frequencies. # 'mono_option' set mono to either take input from 'left', 'right' or 'average'. +# set 'reverse' to 1 to display frequencies the other way around. ; channels = stereo ; mono_option = average +; reverse = 0 # Raw output target. A fifo will be created if target does not exist. ; raw_target = /dev/stdout # Raw data format. Can be 'binary' or 'ascii'. -; data_format = binary +data_format = ascii # Binary bit format, can be '8bit' (0-255) or '16bit' (0-65530). ; bit_format = 16bit @@ -108,30 +176,61 @@ method = alsa ; bar_delimiter = 59 ; frame_delimiter = 10 +# sdl window size and position. -1,-1 is centered. +; sdl_width = 1000 +; sdl_height = 500 +; sdl_x = -1 +; sdl_y= -1 +; sdl_full_screen = 0 +# set label on bars on the x-axis. Can be 'frequency' or 'none'. Default: 'none' +# 'frequency' displays the lower cut off frequency of the bar above. +# Only supported on ncurses and noncurses output. +; xaxis = none + +# enable alacritty synchronized updates. 1 = on, 0 = off +# removes flickering in alacritty terminal emulator. +# defaults to off since the behaviour in other terminal emulators is unknown +; alacritty_sync = 0 + +# Shaders for sdl_glsl, located in $HOME/.config/cava/shaders +; vertex_shader = pass_through.vert +; fragment_shader = bar_spectrum.frag + +; for glsl output mode, keep rendering even if no audio +; continuous_rendering = 0 + +# disable console blank (screen saver) in tty +# (Not supported on FreeBSD) +; disable_blanking = 0 [color] # Colors can be one of seven predefined: black, blue, cyan, green, magenta, red, white, yellow. # Or defined by hex code '#xxxxxx' (hex code must be within ''). User defined colors requires -# ncurses output method and a terminal that can change color definitions such as Gnome-terminal or rxvt. +# a terminal that can change color definitions such as Gnome-terminal or rxvt. # default is to keep current terminal color ; background = default ; foreground = default -# Gradient mode, only hex defined colors (and thereby ncurses mode) are supported, -# background must also be defined in hex or remain commented out. 1 = on, 0 = off. +# SDL and sdl_glsl only support hex code colors, these are the default: +; background = '#111111' +; foreground = '#33ffff' + + +# Gradient mode, only hex defined colors are supported, +# background must also be defined in hex or remain commented out. 1 = on, 0 = off. # You can define as many as 8 different colors. They range from bottom to top of screen -; gradient = 1 -; gradient_count = 8 -; gradient_color_1 = '#59cc33' -; gradient_color_2 = '#80cc33' -; gradient_color_3 = '#a6cc33' -; gradient_color_4 = '#cccc33' -; gradient_color_5 = '#cca633' -; gradient_color_6 = '#cc8033' -; gradient_color_7 = '#cc5933' -; gradient_color_8 = '#cc3333' +gradient = 0 +gradient_count = 8 +gradient_color_1 = '#59cc33' +gradient_color_2 = '#80cc33' +gradient_color_3 = '#a6cc33' +gradient_color_4 = '#cccc33' +gradient_color_5 = '#cca633' +gradient_color_6 = '#cc8033' +gradient_color_7 = '#cc5933' +gradient_color_8 = '#cc3333' @@ -139,25 +238,33 @@ method = alsa # Percentage value for integral smoothing. Takes values from 0 - 100. # Higher values means smoother, but less precise. 0 to disable. -; integral = 76 +# DEPRECATED as of 0.8.0, use noise_reduction instead +; integral = 77 # Disables or enables the so-called "Monstercat smoothing" with or without "waves". Set to 0 to disable. -monstercat = 1 -; waves = 0 +monstercat = 0 +waves = 0 # Set gravity percentage for "drop off". Higher values means bars will drop faster. # Accepts only non-negative values. 50 means half gravity, 200 means double. Set to 0 to disable "drop off". +# DEPRECATED as of 0.8.0, use noise_reduction instead ; gravity = 100 # In bar height, bars that would have been lower that this will not be drawn. +# DEPRECATED as of 0.8.0 ; ignore = 0 +# Noise reduction, int 0 - 100. default 77 +# the raw visualization is very noisy, this factor adjusts the integral and gravity filters to keep the signal smooth +# 100 will be very slow and smooth, 0 will be fast but noisy. +noise_reduction = 50 + [eq] # This one is tricky. You can have as much keys as you want. -# Remember to uncomment more then one key! More keys = more precision. +# Remember to uncomment more than one key! More keys = more precision. # Look at readme.md on github for further explanations and examples. ; 1 = 1 # bass ; 2 = 1 -- cgit v1.2.1