Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

meta: Add support for id3v2 CHAP and CTOC frames #157

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

Tommoa
Copy link

@Tommoa Tommoa commented Oct 8, 2022

These were standardised in https://id3.org/id3v2-chapters-1.0.

Something I initially considered (and did) was to use Cues and CuePoints instead of creating new types, but decided against it because:

  • Cue is tied to the format, whereas these are tied to the metadata.
  • According to the spec, chapters can overlap, and so must have a duration.
  • It is unclear to me what the index should be.
  • CuePoints cannot have another CuePoint within them, which may be an issue for multi-level tables of content.
  • Chapters and tables of contents would end up mixed as Cues despite being different types.

Resolves: #16

These were standardised in https://id3.org/id3v2-chapters-1.0.

Something I initially considered (and did) was to use `Cue`s and
`CuePoint`s instead of creating new types, but decided against it
because:

- `Cue` is tied to the format, whereas these are tied to the metadata.
- According to the spec, chapters can overlap, and so must have a
  duration.
- It is unclear to me what the index should be.
- `CuePoint`s cannot have another `CuePoint` within them, which may be
  an issue for multi-level tables of content.
- Chapters and tables of contents would end up mixed as `Cue`s despite
  being different types.

Resolves: pdeljanov#16
These are also supported by the id3v2 specification, and so should be
supported.
@pdeljanov
Copy link
Owner

Hi @Tommoa,

Thank you for implementing this!

I think you touch on a larger point that cues/chapters should be part of the metadata and not the format. I generally agree with this line of thinking. It's also basically why I avoided this issue for the time being.

I'd like to use your code, but I also think those larger API issues should be addressed first. After the v0.5.2 release I hope to get started on v0.6 where we can start making breaking API changes. Hopefully we can land on something good.

Thanks for your patience!

@pdeljanov pdeljanov added this to the v0.6.0 milestone Dec 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

read_id3v2 cannot read chapter markers from file
2 participants