Closed LoganJFisher closed 7 months ago
Hey there! Thanks for the report (:
This is technically possible already through yt-dlp
, but in testing it out it's a bit of a pain for end-users to get going. I'll make a change that should improve that and get back to you on how to implement what you're looking for 🤙
I don't plan to ever support this natively in-app, but this will be possible in the next version of Pinchflat by way of custom yt-dlp
options (docs). Please read that page carefully because there are support implications from using this advanced feature!
I'm sure there's a better way to handle this, but I believe adding this to the applicable yt-dlp
config file will do what you want:
--parse-metadata "title:(?P<title>.+?)(\s?-\s?OverSimplified.*)"
This will remove - Oversimplified
and any characters after it from the {{ title }}
output template placeholder
For your second point, this is not something I plan to implement since it's so open-ended and up to personal preference. You could likely achieve something acceptable using a combination of yt-dlp
custom options and output syntax if you have firm constraints (like removing hashtags and data within parentheses)
This will be in a release either later today or tomorrow!
If I may, I think there's a more elegant way to go about this.
In creating a Pinchflat source, there could be a text field and a check box.
The text field allows you to modify the titles of all videos downloaded with that source. It could use the same formatting as yt-dlp. Basically, for my case I would enter "\s?-\s?OverSimplified" which would remove ever instance of "- OverSimplified" from the title of every video.
The check box (or better yet, a series of check boxes like you provide for Sponsorblock in Media Profiles) would enable a system that automatically filters out common spammy title elements like hashtags.
Allowing the user to do this through Pinchflat instead of through config makes it much more accessible and I think makes perfect sense.
I appreciate the idea, but the issue always comes back to maintenance burden for a relatively niche feature.
Every time I change something to do with media indexing or downloading I'm also increasing the surface area for bugs, regressions, and issues from yt-dlp
. Even then, making a half-attempt at this feature would work for some people, but others would want to, for example, provide much more advanced pattern matching on the title + description for normalizing their music library. So I've increased my workload and maintenance burden for a feature that serves a very niche use case but doesn't go far enough as to serve all instances of that use case.
The reason I say it's niche is because, as I see it, there are two main users of an app like this:
Of course there are exceptions to these rules (and you may be one of them!), but this is the vast majority. So given the options to either:
yt-dlp
functionality, but take the training wheels offI figured 3 is the best option.
I want to make it clear that I genuinely appreciate the input! Comments like this make the app better for me and for everyone 💪
But I also want to be clear that I'm not being flippant in my choices. I may not paint the full picture in all my replies, but there is honest thought that goes into the implementation vs. impact vs. burden that comes with a feature (:
That's a very fair perspective. Thank you for your consideration.
I'd like to request tools to do two things to video titles:
Remove a fixed part of titles from a particular source. For example, videos from the channel "OverSimplified" have "- OverSimplified" as part of every title, which I'd like to remove.
Remove "fluff" from titles. This is probably harder to implement. It involves automatically detecting parts of titles that aren't actually relevant to understanding what the video is about. This likely includes hashtags, the channel's own name, and some other things like information in parantheses.