Page 1 of 1

VLC settings manager (save/load user preset adjustments)

Posted: 07 Feb 2023 06:32
by CO_Windler
One of the most annoying design flaws of VLC is that it can not save image and sound adjustments as individual user presets. Many people refuse to watch video on VLC, because it makes certain video formats unbearable. Switching between multiple copies of the vlcrc INI file often is not an option because there are too many other parameters to preserve and constantly modify (e.g. for video conversion). So I need to save and reload groups of only certain changed parameters into vlcrc while keeping the rest unchanged.

A related terrible flaw is that "effects & filters" sliders are too small and lack numerical markings, which makes it impossible to manually undo and repeat a setting. (It feels more like tweaking trimmers by screwdrivers inside an old TV set than operating user controls.) The easiest fix would be to display the numerical value of each slider during mouseover, or print them as text in an optional window (e.g. the "message" screen) by clicking a button. It also needs a simple method to return each slider to its default value and see if it is currently default.

As a collector and hardware researcher of music keyboards and soundtoys, for reference I keep on my harddisk tons of downloaded youtube tech info and tutorial videos. Hence I need VLC for quick sighting and conversion (file size reduction). But when I stream TV (currently the cable TV of the whole apartment block is broken), some TV station make terrible colours. E.g. some videos are oversaturated with reddish faces and/or strong cyan hue in any blue or green parts. Others are very pale (likely using dynamic range 16..235 from PAL TV instead of full 0..255).

These are e.g. vlcrc entries to fix the latter:

Code: Select all

[adjust] # Image properties filter # Image contrast (0-2) (float) contrast=1.210000 # Image brightness (0-2) (float) brightness=1.030000 # Image hue (-180..180) (float) hue=-4.000000 # Image saturation (0-3) (float) saturation=1.000000 # Image gamma (0-10) (float) #gamma=1.000000 # Brightness threshold (boolean) #brightness-threshold=0

My main PC has a Ryzen 2400G APU running Linux Mint with KDE Plasma 5.18.8 (modded with Vista theme), displaying on a 22'' Trinitron CRT monitor SGI GDM-5411 (with HDMI2VGA adapter). Unfortunately VLC completely ignores colour management, which theoretically can be mostly compensated by image adjust, which however is currently undemandable because depending on the displayed video format I would need to switch among about a dozen custom user presets, which is yet impossible.

:idea: feature request:

Please make it possible to save, load and reset individual settings pages of the vlc GUI.
I suggest to implement this in a generalized way by having template files containing each a different group of vlcrc parameters (those can e.g. correspond to a settings page), so by selecting a template, the parameters listed in the template can be saved (exported) from vlcrc into a TXT file (syntax like vlcrc) and loaded (imported) back into vlcrc. (A concept similar like regedit on Windows). But imported get only parameters listed in the corresponfing template file, so settings can be safely shared over the internet without risk of unwanted overwriting of other parameters.

E.g. a template "adjustImage.template" may contain:

Code: Select all

[template] adjustImage [adjust] contrast brightness hue #saturation gamma brightness-threshold

A corresponding saved setting "myAdjust1.vlcrc" may contain:

Code: Select all

[template] adjustImage [adjust] # Image properties filter # Image contrast (0-2) (float) contrast=1.210000 # Image brightness (0-2) (float) brightness=1.030000 # Image hue (-180..180) (float) hue=-4.000000 # Image saturation (0-3) (float) saturation=1.000000 # Image gamma (0-10) (float) #gamma=1.000000 # Brightness threshold (boolean) #brightness-threshold=0 # this does not belong here aWrongParameter=666

Loading "myAdjust1.vlcrc" will copy the parameter values listed in template "adjustImage.template" into the user's vlcrc INI file. So in this example the value aWrongParameter will be safely ignored because it is not listed in the template. The user may comment out lines in a template definition (here #saturation) to prevent them from getting overwritten.

VLC shall come with default templates corresponding to each settings page of its GUI, those can be overridden by additional user versions of those templates. The user can also define user templates to save and reload own parameter groups. As a simpler implementation (workaround) external batch scripts may be written to export and import user presets into vlcrc by the same rules.

The sliders in the effects & filters panel urgently need to display numerical values (e.g. by mouseover or in the "message" window) to permit precise adjustment, and a simple method (e.g. double click) to return any slider to its default value and see (e.g. by colour) if it is at default.