Tag generator #21

Open
opened 2025-10-16 19:25:33 +02:00 by robin-mu · 0 comments
robin-mu commented 2025-10-16 19:25:33 +02:00 (Migrated from github.com)

Has to work even without calling the downloader or metadata generator before.

  • Has the metadata table as attribute
  • Has a collection as attribute

Methods:

  • generate_tags:
    • Generate tags by filling the format strings provided in the collection settings with values from the metadata table
      • If overwritten tags are saved in Track, use these instead of the format string
    • Return dataframe of tags
  • apply_tags:
    • Gets passed a dataframe with selected tags
    • If requested, cut the file and/or add silence by using a subclass of FfmpegPostProcessor and calling the concat_files method
      • If the file has been cut before, it has to be downloaded again
      • If timed data is added to the file, the timecodes have to be adjusted to respect cutting and adding silence
    • Embed metadata and images using a subclass of mutagen's EasyID3, EasyMP4, or just a File object, depending on the extension
    • Rename file and update file name in Track
      • Generated tags can be put in the filename by prepending tag_ to the tag name (but the generated tags are not saved in the metadata table)
      • Save overwritten tags in Track (as explained in #16 and #28 )
Has to work even without calling the downloader or metadata generator before. - [ ] Has the metadata table as attribute - [ ] Has a collection as attribute Methods: - `generate_tags`: - [ ] Generate tags by filling the format strings provided in the collection settings with values from the metadata table - [ ] If overwritten tags are saved in Track, use these instead of the format string - [ ] Return dataframe of tags - `apply_tags`: - [ ] Gets passed a dataframe with selected tags - [ ] If requested, cut the file and/or add silence by using a subclass of FfmpegPostProcessor and calling the [concat_files ](https://github.com/yt-dlp/yt-dlp/blob/master/yt_dlp/postprocessor/ffmpeg.py#L397) method - [ ] If the file has been cut before, it has to be downloaded again - [ ] If timed data is added to the file, the timecodes have to be adjusted to respect cutting and adding silence - [ ] Embed metadata and images using a subclass of mutagen's [EasyID3](https://mutagen.readthedocs.io/en/latest/api/id3.html#module-mutagen.easyid3), [EasyMP4](https://mutagen.readthedocs.io/en/latest/api/id3.html#module-mutagen.easyid3), or just a File object, depending on the extension - [ ] Use yt-dlp's [metadata](https://github.com/yt-dlp/yt-dlp/blob/master/yt_dlp/postprocessor/ffmpeg.py#L659) and [thumbnail ](https://github.com/yt-dlp/yt-dlp/blob/master/yt_dlp/postprocessor/embedthumbnail.py#L30) embedder if an unknown extension is passed - [ ] Rename file and update file name in Track - [ ] Generated tags can be put in the filename by prepending `tag_` to the tag name (but the generated tags are not saved in the metadata table) - [ ] Save overwritten tags in Track (as explained in #16 and #28 )
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
robin/MusicSync#21
No description provided.