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

Dealing with metadata #15

Open
Drakulix opened this issue Mar 12, 2017 · 4 comments
Open

Dealing with metadata #15

Drakulix opened this issue Mar 12, 2017 · 4 comments

Comments

@Drakulix
Copy link

Hello everyone,

I am currently planning to start an audio player project and wanted to ask what the plans of handling metadata (tags) with this library are?

This looks like a very nice collection of whats available, but I will need to handle at least reading tags
and in the long run also write tags for audio files.

Using audrey seems like a waste of time, if I still need to depend on the decoders or even other decoders (I see claxon, does not expose the internals of the VorbisComment header, like the flac crate does for example) to handle metadata.

If audrey's goal is only to de/encode samples that is totally fine, but the readme does not really tell that.

@est31
Copy link
Member

est31 commented Apr 11, 2017

To be honest, for one of my projects audrey does not provide enough functionality yet either, and I'm currently binding the decoders myself as well. Its functionality should certainly be expanded, including metadata.

I think before switching to the flac crate we should ask @ruuda to expose the vorbis comment header, or maybe you can do a PR yourself.

I personally would welcome any PR to add metadata functionality to audrey.

@mitchmindtree
Copy link
Member

Agreed, I'd also welcome better support for metadata 👍

I wonder how we should go about exposing this metadata in a friendly way?

Perhaps before diving in, it would be worth looking at the similarities between metadata that is available from all currently supported formats (as well as formats we hope to support in the future like mp3) and go from there.

Also, @Drakulix @est31 what kind of metadata exactly did you both need to retrieve that required you to use the decoders manually? Music-related metadata like track/album/artist strings? Or something else?

@ruuda
Copy link

ruuda commented Apr 11, 2017

About flac, metadata support in Claxon hasn’t gotten a lot of love yet. It does not expose the Vorbis comments because it cannot read them at the moment. I do intend to implement this, it just hasn’t been a priority. I think my next step will be to implement seektable reading and then seeking. Adding support for Vorbis comments and the other metadata blocks is not difficult, only a bit tedious. The spec is clear. It’s a matter of reading the bytes and putting them in a struct. Pull requests would be accepted :)

In the mean time, there is the metaflac crate. It would require reading the header twice, which is a bit wasteful, but reading the header is not the expensive part anyway. I haven’t used it myself, but judging from the docs it seems complete, and it also offers write support.

@Drakulix
Copy link
Author

@mitchmindtree only music related, like artist/album.

I am basically trying to evaluate what crates I can use to build a basic music player and although this project seems to be in some very early stage (not seeking, no metadata), it is good to see, that it is very much alive and PRs are welcome.

This is encouraging, once I finally get to start on this project, I will most likely dedicate some work to fix up some missing parts of audrey.

I rather would use a crate that I can throw any file at then manually rebuilding, what audrey has already done with different decoders.

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

No branches or pull requests

4 participants