OrfiTeam / OrpheusDL

563 stars 71 forks source link

Config options missing documentation #60

Open hell001 opened 1 month ago

hell001 commented 1 month ago

Can you elaborate on these?

  1. main_compression

It seems that this can only be low or high. What if we want no compression? Can compression be disabled?

  1. advanced_login_system

What is this exactly? What are the different types of login systems?

  1. codec_conversions

If I want no codec conversions, can I simply remove the default config options and leave it empty {}? Does enable_undesirable_conversions disable this regardless of what is in codec_conversions or is enable_undesirable_conversions for something else? If it's for something else, what is enable_undesirable_conversions for?

  1. compression_level

What is this, where is it used and what are its possible values? This doesn't appear to be used in the code unless I'm missing it?

  1. cover_variance_threshold

What is this?

  1. enable_undesirable_conversions

See # 3 above.

  1. ignore_existing_files

Is it just me or does this behave the opposite way? A snapshot of the code:

        if os.path.isfile(check_location) and not self.global_settings['advanced']['ignore_existing_files']:
            self.print('Track file already exists')
            # ...
            self.print(f'=== Track {track_id} skipped ===', drop_level=1)
            return

Why are files skipped when ignore_existing_files is false? Don't we want to ignore/skip files when it is true?

  1. ignore_different_artists

What is a "different" artist? What is this setting?

  1. extensions

What are extensions? How can I create one and how are they different from modules?

OrfiDev commented 1 month ago

1) isn't that for cover images? Anyway, compression can be "disabled" by using PNG instead of JPG on supported cover modules, since that does lossless compression, whereas I'm pretty sure you physically can't not lose any data with JPG. Though I have no clue why you'd want to have such a massive file be embedded in the FLAC/whatever file itself, it can cause issues and that's what the external cover system is for. 2) ignore it, the advanced login system was supposed to add a feature from RedSea that was missing in OrpheusDL, but was never completed 3) yes, it's automatic based on the conversions you list out. Undesirable conversions are lossy-to-lossy and even worse, lossy-to-lossless. 4) it's an ffmpeg flag https://stackoverflow.com/a/44839083 5) when you use a separate cover module to the one you're downloading with for better or even original quality (or even with the Apple Music module, downloading the actual original file), it compares it to the cover from the original module, and if the difference found by the algorithm is greater than the threshold, the candidate cover is rejected. 6) see # 3 above. 7) in hindsight, a better name for it is probably skip existing file check, I never even thought about it being misleading 8) during artist downloads, in albums by other artists, this will skip all the songs not by the artist you are downloading 9) there are no public extensions iirc, but they're kinda like modules for modules lol

hell001 commented 1 month ago

@OrfiDev All great answers TY. Regarding ignore_existing_files part, maybe a better name would be redownload_existing_files or overwrite_existing_files?