The way the code currently works is that it returns as soon as it finds lyrics.
If --allow-plain is set, this means that as soon as it finds plaintext lyrics on one provider it stops looking, even though another provider might have a synced version available. This contradicts the description of the --allow-plain argument, which suggests that plaintext is only used when no synced version is found.
I suggest differentiating between 3 different cases:
plaintext: grab onlyplaintext lyrics
prefer synced: allows plaintext, but prefers synced. Only returns plaintext lyrics if no provider has synced lyrics available
synced only: don't return plaintext lyrics
I think "prefer synced" would be the "default" option, as I imagine that's what most people want.
I'm currently trying to implement this for myself, looking to submit it as a PR later
The way the code currently works is that it returns as soon as it finds lyrics. If
--allow-plain
is set, this means that as soon as it finds plaintext lyrics on one provider it stops looking, even though another provider might have a synced version available. This contradicts the description of the--allow-plain
argument, which suggests that plaintext is only used when no synced version is found.I suggest differentiating between 3 different cases:
I think "prefer synced" would be the "default" option, as I imagine that's what most people want.
I'm currently trying to implement this for myself, looking to submit it as a PR later