I suggest considering changing the interface to solve the problem of some settings not being obvious. Namely, what exactly needs to be downloaded.
As I understand it, yt-dlp basically allows you to download the video itself, audio, subtitles, description and cover. Each content type has its own settings, some types can be represented by more than one object (different resolutions and video formats, different bitrates and audio formats, different subtitle languages). That is, logically, the GUI-settings should represent four levels:
selecting content types to download;
selecting objects of the selected types (and only them, other types should be unavailable)
selecting the saving method (separate or gluing)
selecting the gluing format (available only if gluing is selected in the previous paragraph)
I do not suggest using the wizard. It seems to me that it is better to implement this on one page, as it is now. Or make it look like the foobar2000 converter:
Replace Output format with What to download, Destination with Select languages, resolutions, etc., Processing with Separate or merged? and Other with Save formats and you'll get an idea of what I mean.
These changes will make the interface more logical and remove some inconsistencies when, for example, the user can change download settings that are not applicable to the current download or the settings set. For example, they can set video formats with the Download clean audio, without converting to any format option checked (which should make all video settings unavailable). Or configure the processing of playlists even though the link is not to the playlist.
I suggest considering changing the interface to solve the problem of some settings not being obvious. Namely, what exactly needs to be downloaded.
As I understand it, yt-dlp basically allows you to download the video itself, audio, subtitles, description and cover. Each content type has its own settings, some types can be represented by more than one object (different resolutions and video formats, different bitrates and audio formats, different subtitle languages). That is, logically, the GUI-settings should represent four levels:
I do not suggest using the wizard. It seems to me that it is better to implement this on one page, as it is now. Or make it look like the foobar2000 converter:
Replace
Output format
withWhat to download
,Destination
withSelect languages, resolutions, etc.
,Processing
withSeparate or merged?
andOther
withSave formats
and you'll get an idea of what I mean.These changes will make the interface more logical and remove some inconsistencies when, for example, the user can change download settings that are not applicable to the current download or the settings set. For example, they can set video formats with the
Download clean audio, without converting to any format
option checked (which should make all video settings unavailable). Or configure the processing of playlists even though the link is not to the playlist.Related issues: #113 and #295.