deepjyoti30 / ytmdl

A simple app to get songs from YouTube in mp3 format with artist name, album name etc from sources like iTunes, Spotify, LastFM, Deezer, Gaana etc.
https://ytmdl.deepjyoti30.dev
MIT License
3.21k stars 164 forks source link

File naming issues #86

Closed ArcherN9 closed 4 years ago

ArcherN9 commented 4 years ago

ytmdl downloads the file and renames it to the search query. Neither does it allow custom naming nor use the title on YT. Manual naming under Music folder is an overhead.

$ ytmdl --skip-meta --song "Attention" --artist "Charlie Puth" Charlie Puth jada alex
...
...
==> Moved to /Users/xxx/Music...
 ==> Done
...
...
~/Music
$ lsa
...
-rw-r--r--    1 xxx  xxx   7.7M Jul 10 19:52 Charlie Puth jada alex.mp3
...
deepjyoti30 commented 4 years ago

@ArcherN9 That's default behaviour.

Since you're passing the option to skip-meta it will be renamed to the query passed by the user. Had the meta been added, it would've been renamed to the name of the song fetched from the meta.

ArcherN9 commented 4 years ago

And there lies the issue. As mentioned in one odd bug report, the application seeks input from gaana primarily/only. In case meta is not found for the music file, the app crashes (Check Reddit). In case the meta provided by gaana/itunes is not accurate, the file names the file to the search query.

That's not convenient IMO. A nifty param to custom name the file would be a good fix.

deepjyoti30 commented 4 years ago

@ArcherN9

As mentioned in one odd bug report, the application seeks input from gaana primarily/only

That is not the case yet. I have been testing ytmdl and I have not faced this issue that a few users have pointed out about the songs being Indian. More importantly even if they are Indian, it does not indicate that gaana is being used as the primary source.

I understand that #84 points out the issue lies in my code but I have checked the sources myself and have not faced any issues regarding that so we cannot just infer that gaana is the 'primary/only' as you said.

In case meta is not found for the music file, the app crashes (Check Reddit)

Please be kind enough to point me to that Reddit post. However, the app should not crash even if no meta is found, it will show the user gracefully that no meta was found and exit peacefully, it is far from 'crashing'.

In case the meta provided by gaana/itunes is not accurate, the file names the file to the search query.

This is not how ytmdl works. Even if the data is not accurate, it's upto the user to select an option and according to that the song name is changed

However, as I pointed out, you've particularly passed --skip-meta and that is why it is using the query as the song name.

With all due respect, I have coded each one of these features and I know exactly how they work.

This is how the exec of ytmdl happens. After the song is downloaded and trimmed (optional)

1.

It is checked if manual metadata is suppposed to be added as you can check here. If manual is present then it's taken from the user and entered accordingly.

2.

If manual is not passed and skip meta is not passed, then a search is initiated to get the song details. (here).

If no data was found it exists peacefully by showing the user a message, check here else the user is asked for an option and the selected data is written.

3.

Once the above is done, the song is now moved to the directory as setup in the config or the default directory. While moving the song name is changed. If the metadata was selected than the name is changed to the name present in the metadata else it is changed to the query passed by the user. Check here

I understand that you want a new feature but please don't just point out and say that it is an issue with the app, especially when you do not have any solid proof to back what you say.

ArcherN9 commented 4 years ago

That is not the case yet.

Okay. It’s just that in my 10 minute experience with the CLI, not once any international name came up as a suggestion from Meta data engines. I did read however it uses iTunes. It did not work in my favour.

even if they are Indian, it does not indicate that gaana is being used as the primary source.

I concur with that.

we cannot just infer that gaana is the 'primary/only'

Same.

Please be kind enough to point me to that Reddit post. However, the app should not crash even if no meta is found, it will show the user gracefully that no meta was found and exit peacefully, it is far from 'crashing'.

You need to accept that what works for you may not work for me. I’ll post the stack trace at the end of this post. Blatantly denying a crash doesn’t help.

Even if the data is not accurate, it's upto the user to select an option and according to that the song name is changed

This is precisely the issue report is about. A parameter that accepts a file name alleviates the issue. I understand you’ve termed this as the default behaviour but does that imply it’s like that by design and choice? If there’s an option that I can use to rename the file if meta is not found/ I decide to skip it. Let me know. I suspect you’re referring to manual meta. I’ll have to check how that’s used.

For footer, I never said you don’t know how the application works. That’s your interpretation. There are technical issues which mean a functionality may not be working as intended and there are usability issues that cater to behavioural precedures. This would be the latter. Calm down, take a deep breath and take the criticism. If it is indeed an issue that’s already alleviated by a different param, point me in the right direction and close the issue. Let’s not take it personally.

Stack trace to the crash reported on Reddit.

stale[bot] commented 4 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs for another 7 days. Thank you for your contributions.