Say i have an audio filter like the following:
lavfi=[compand=attacks=0:decays=15:soft-knee=15:points=0/-0.1|1000/-0.1]
...and i want to change/add/multiply/cycle one of the filter parameters like attacks or even "points".
Is it possible/supported to do that by editing input.conf?
Thanks and sorry if this has been already explained.
Only if the corresponding filter has a command for that (with af-command). Compand doesn't seem to have any.
Use the af command (you can use labels to overwrite existing filter entries), or just set the af property.
Thanks for answering, i think i found a workaround by exploiting the property expansion feature:
#1> mkfifo /tmp/fifo
#1> mpv mediafile --input-file=/tmp/fifo --af-add=@v1:lavfi=[volume=0]
#2> echo "set xv-adaptor 0 ; add xv-adaptor 5 ; af add @v1:lavfi=[volume=\${xv-adaptor}] ; " >/tmp/fifo
#2 >(mpv output) -> lavfi [graph=volume=5]
By using that logic, any filter parameter could be easilly increased(decreased) with just one(two) keybinding.
Of course an unused rw property (xv-adaptor in my case) has to be available for that to work.
Hence my request:
provide a set of "free to use" variables (integer,float... else?) that holds user values.
Are you really asking to add a hack to make another hack work better?
The right way is to use some form of scripting. mpv provides Lua scripting for this.
I love this hack. Thanks!
I really wish something like cycle-values vf "@label:filter=val1" "@label:filter=val2" "@label:filter=val3" only worked on filters in the vf list with the @label name. Right now you can cycle through only one filter state. Can't independently cycle multiple vf filters without writing lua script. Such joy!)
Most helpful comment
Thanks for answering, i think i found a workaround by exploiting the property expansion feature:
By using that logic, any filter parameter could be easilly increased(decreased) with just one(two) keybinding.
Of course an unused rw property (xv-adaptor in my case) has to be available for that to work.
Hence my request:
provide a set of "free to use" variables (integer,float... else?) that holds user values.