Re: [Rhythmbox-devel] tagging hit GStreamer



Just a quick comment on first inspection, the composer tag might be nice
to have.  I know that the RB doesn't currently have a UI for this, but
believe me, anyone who as any reasonable amount of classical music will
appreciate this tag.

The id3v2 identifier is COMP, the name is Composer, it is a string.  It
would hold the name of the actual author of the work as opposed to the
performer.  This is mostly important in classical music where the
composer is and has been dead for quite a while, so probably isn't
performing anymore.  Also, there are many different performances of the
same work by different people.  

Thanks for the api.

John

On Mon, 2003-11-24 at 07:36, Benjamin Otte wrote:
> Hi people,
> 
> I finally (after 0.7.2 was out) committed the tagging stuff.
> Don't forget to rerun gst-register after updating your cvs!
> 
> If you want to get a feel how it works and what it does, I suggest the
> following ways:
> - Look at the code. gst/gsttag.h is the API.
> gst/gsttaginterface contains the GstTagSetter interface for
> elements that allow setting tags.
> - Look at example code. tools/gst-launch.c includes a new -t switch to
> output tags when they arrive. examples/retag contains simple example code
> for retagging and transcoding while extracting Artist and Title from the
> filename.
> - Look at plugins that already implement the shiny new stuff. In the
> plugins package look at ext/mad/gstmad.c for a decoding element,
> ext/vorbis/vorbisenc.c for an encoding element and gst/tags/vorbistag.c or
> ext/mad/gstid3tag.c for a retagging/extraction element. gst/tags/*.[ch]
> contains general code for common tag conversions.
> 
> What does work currently?
> - transcoding with supported plugins. gst-launch file:///path/to/file.mp3
> ! mad ! vorbisenc ! file:///path/to/file.ogg should preserve tags (at
> least ID3v2).
> - (reasonably fast) tag extraction using spider. gst-launch -t
> file:///path/to/file.{mp3|ogg} ! spider ! application/x-gst-metadata !
> fakesink should print out your tags.
> - The examples. (d'uh)
> 
> Some things that will probably become FAQs:
> Q: GStreamer tagging sucks. It doesn't extract tags from $format.
> A: That's because noone wrote/updated the plugin for it. It should be
> quite easy to write a simple tag retagging/extraction element for most
> formats. Look at gst/tags/vorbisfile.c. It's not that hard.
> This is also a call to all our hackers: Please adapt plugins to the new
> tagging system. I can't do them all myself as I only have so much time
> myself.
> 
> Q: Hey, my oh so important $something tag is not supported by
> GStreamer or its plugins.
> A: I only converted the Rhythmbox/monkey-media tags which in turn is more
> or less a copy of the vorbis comment suggestions. GStreamer should in
> general support a lot of tags. But I don't have a clue which one that
> would be. You probably know that better.
> If there is a tag you want included (or removed), please drop a mail and
> suggest a name (like "place"), a type (string) and a
> description (oneliner, like "place this media was recorded."). If you know
> them, please also add correct vorbiscomment, ID3v2 or other tagging system
> identifiers.
> If we reject some tag, you still have the option to register it yourself
> in your app/plugin. :)
> if (!gst_tag_exists ("mytag")) gst_element_register ("mytag", G_TYPE_MINE,
>         _("my tag"), _("my important and often misunderstood tag."));
> 
> Q: The API for tagging misses feature X.
> A: I only can imagine so much. While I think this API is quite cool myself
> (I already implemented 4 plugins using it, I did not just invent it) there
> might be something you are missing. If that's the case, please get
> in contact and suggest a change. The API is in no way frozen yet.
> 
> Q: Dude, there's no way to autoplug tag changing in Rh^H^Hmy tag editor.
> A: Sorry, I know. It's something that's not easy and I have to think
> about a bit more. It depends on a new autoplugger, too. For now I suggest
> hardcoding tag editing for common types and reject it for others.
> create a pipeline src ! typefind, wait for the have_type signal and
> continue connecting depending on type. Tag extraction should work with
> spider though.
> 
> So now it's your turn. I'm especially hoping for some people to fix
> existing plugins (like lame and vorbisfile), write more tag
> extractor/retagger, the Rhythmbox guys to implement tag reading/writing
> and someone to do a Sound Juicer patch to use the new TagSetter interface.
> 
> I hope it works. I rewrote that stuff 4 times since joinging the
> project and this time is the first time I think it's ok. :)
> 
> Benjamin
> 
> _______________________________________________
> rhythmbox-devel mailing list
> rhythmbox-devel@gnome.org
> http://mail.gnome.org/mailman/listinfo/rhythmbox-devel
-- 
If you're not part of the solution, you're part of the precipitate.




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]