After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 705999 - taglist: handle publisher, interpreted-by and key tags
taglist: handle publisher, interpreted-by and key tags
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
git master
Other Linux
: Normal enhancement
: 1.1.4
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2013-08-14 15:26 UTC by Matthieu Bouron
Modified: 2013-08-20 12:46 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
taglist: handle publisher, interpreted-by and key tags (2.18 KB, patch)
2013-08-14 15:27 UTC, Matthieu Bouron
needs-work Details | Review
tag: handle publisher, interpreted-by and key tags (791 bytes, patch)
2013-08-14 15:28 UTC, Matthieu Bouron
reviewed Details | Review
taglist: handle publisher and interpreted-by tags (1.83 KB, patch)
2013-08-15 12:17 UTC, Matthieu Bouron
needs-work Details | Review
tag: add musical-key tag (1.56 KB, patch)
2013-08-15 12:18 UTC, Matthieu Bouron
needs-work Details | Review
tag: id3: handle publisher, interpreted-by and musical-key tags (817 bytes, patch)
2013-08-15 12:18 UTC, Matthieu Bouron
committed Details | Review
id3mux: handle publisher, interpreted-by and musical-key tags (878 bytes, patch)
2013-08-15 12:19 UTC, Matthieu Bouron
committed Details | Review
taglist: handle publisher and interpreted-by tags (1.88 KB, patch)
2013-08-16 09:39 UTC, Matthieu Bouron
committed Details | Review
tag: add musical-key tag (1.58 KB, patch)
2013-08-16 09:47 UTC, Matthieu Bouron
needs-work Details | Review
251809: tag: add musical-key tag (1.67 KB, patch)
2013-08-20 12:21 UTC, Matthieu Bouron
committed Details | Review

Description Matthieu Bouron 2013-08-14 15:26:13 UTC
First patch add support for publisher, interpreted-by and key tags.
Second patch (related to gst-plugins-base) add support for these tags inside the id3 demuxer.
Comment 1 Matthieu Bouron 2013-08-14 15:27:28 UTC
Created attachment 251620 [details] [review]
taglist: handle publisher, interpreted-by and key tags
Comment 2 Matthieu Bouron 2013-08-14 15:28:05 UTC
Created attachment 251621 [details] [review]
tag: handle publisher, interpreted-by and key tags
Comment 3 Sebastian Dröge (slomo) 2013-08-15 08:02:42 UTC
Review of attachment 251620 [details] [review]:

There seems to be some overlap between composer, performer and interpreted-by somehow. Not sure

::: gst/gsttaglist.h
@@ +1062,3 @@
+ * Musical key in which the sound starts (string with maximum length of 3)
+ */
+#define GST_TAG_KEY                               "key"

This one should be in libgsttag in gst-plugins-base as it's media specific. Also just calling it KEY is a bit too generic. Also list examples of how it should look like or reference a standard. I assume this is something like "C3", "C#3", ie http://en.wikipedia.org/wiki/Scientific_pitch_notation?
Comment 4 Sebastian Dröge (slomo) 2013-08-15 08:05:17 UTC
Review of attachment 251621 [details] [review]:

Looks good. Maybe also add to qtdemux, matroskademux, apedemux and others? :)
Comment 5 Matthieu Bouron 2013-08-15 12:17:21 UTC
Created attachment 251720 [details] [review]
taglist: handle publisher and interpreted-by tags
Comment 6 Matthieu Bouron 2013-08-15 12:18:21 UTC
Created attachment 251721 [details] [review]
tag: add musical-key tag
Comment 7 Matthieu Bouron 2013-08-15 12:18:50 UTC
Created attachment 251722 [details] [review]
tag: id3: handle publisher, interpreted-by and musical-key tags
Comment 8 Matthieu Bouron 2013-08-15 12:19:37 UTC
Created attachment 251723 [details] [review]
id3mux: handle publisher, interpreted-by and musical-key tags
Comment 9 Matthieu Bouron 2013-08-15 12:33:07 UTC
Thanks for the review.

New patches attached:

GST_TAG_KEY renamed to GST_TAG_MUSICAL_KEY to gst-plugin-base/libgsttag whith better documentation.

Composer, interpreted-by, and performer should not overlap since they are different (but close) as far as i understand:
  - interpreted-by refers to a remixer for example,
  - composer the person who wrote the song,
  - performer may refer to the artist who performed the orginal song (might be the same as the artist).

I also added a patch to handle those new tags in id3mux.

I will also add support for those new tags in the other demuxers/muxers.
Comment 10 Sebastian Dröge (slomo) 2013-08-16 07:40:35 UTC
Review of attachment 251720 [details] [review]:

::: gst/gsttaglist.h
@@ +1055,3 @@
+ * Information about the people behind a remix and similar
+   interpretations of another existing piece (string)
+ */

Add Since: 1.2 markers to both new tags
Comment 11 Sebastian Dröge (slomo) 2013-08-16 07:43:59 UTC
Review of attachment 251721 [details] [review]:

::: gst-libs/gst/tag/tag.h
@@ +85,3 @@
+ * GST_TAG_MUSICAL_KEY:
+ *
+ * Musical key in which the sound starts. It is represented as a string

Should it be the key in which the song (sound?) starts or the main key of the song?

@@ +88,3 @@
+ * with a maximum length of three characters. The ground keys are
+ * represented with "A","B","C","D","E", "F" and "G" and halfkeys
+ * represented with "b" and "#". Minor is represented as "m" (e.g. "Dbm" $00).

What's the %00 here? :)

@@ +89,3 @@
+ * represented with "A","B","C","D","E", "F" and "G" and halfkeys
+ * represented with "b" and "#". Minor is represented as "m" (e.g. "Dbm" $00).
+ * Off key is represented with an "o" only.

What about non-major/minor keys? Keys that are not on any of the half keys but between? Thinking about non-western music here.

@@ +90,3 @@
+ * represented with "b" and "#". Minor is represented as "m" (e.g. "Dbm" $00).
+ * Off key is represented with an "o" only.
+ */

Add Since: 1.2 marker her
Comment 12 Sebastian Dröge (slomo) 2013-08-16 07:47:06 UTC
Review of attachment 251722 [details] [review]:

Looks good
Comment 13 Sebastian Dröge (slomo) 2013-08-16 07:48:01 UTC
Review of attachment 251723 [details] [review]:

::: gst/id3tag/id3tag.c
@@ +1081,3 @@
+  GST_TAG_PUBLISHER, add_text_tag, "TPUB"}, {
+  GST_TAG_INTERPRETED_BY, add_text_tag, "TPE4"}, {
+  GST_TAG_MUSICAL_KEY, add_text_tag, "TKEY"}, {

Just curious but do we handle all tags here now that are also handled by libgsttag/id3?
Comment 14 Sebastian Dröge (slomo) 2013-08-16 07:50:06 UTC
(In reply to comment #11)

> @@ +89,3 @@
> + * represented with "A","B","C","D","E", "F" and "G" and halfkeys
> + * represented with "b" and "#". Minor is represented as "m" (e.g. "Dbm" $00).
> + * Off key is represented with an "o" only.
> 
> What about non-major/minor keys? Keys that are not on any of the half keys but
> between? Thinking about non-western music here.

Or let's say all music that is not modern, popular European/western music :) In Europe there non-major/minor scales were rather popular in the past too.
Comment 15 Matthieu Bouron 2013-08-16 09:31:38 UTC
(In reply to comment #14)
> (In reply to comment #11)
> 
> > @@ +89,3 @@
> > + * represented with "A","B","C","D","E", "F" and "G" and halfkeys
> > + * represented with "b" and "#". Minor is represented as "m" (e.g. "Dbm" $00).
> > + * Off key is represented with an "o" only.
> > 
> > What about non-major/minor keys? Keys that are not on any of the half keys but
> > between? Thinking about non-western music here.
> 
> Or let's say all music that is not modern, popular European/western music :) In
> Europe there non-major/minor scales were rather popular in the past too.

I used the description from the id3v2 documentation (might not be the best one) and I don't know if this notation is supposed to handle non major-minor keys. I only encountered this tag and used it on modern european/western music.
Comment 16 Matthieu Bouron 2013-08-16 09:39:27 UTC
Created attachment 251806 [details] [review]
taglist: handle publisher and interpreted-by tags
Comment 17 Matthieu Bouron 2013-08-16 09:42:21 UTC
(In reply to comment #11)
> Review of attachment 251721 [details] [review]:
> 
> ::: gst-libs/gst/tag/tag.h
> @@ +85,3 @@
> + * GST_TAG_MUSICAL_KEY:
> + *
> + * Musical key in which the sound starts. It is represented as a string
> 
> Should it be the key in which the song (sound?) starts or the main key of the
> song?
> 
> @@ +88,3 @@
> + * with a maximum length of three characters. The ground keys are
> + * represented with "A","B","C","D","E", "F" and "G" and halfkeys
> + * represented with "b" and "#". Minor is represented as "m" (e.g. "Dbm" $00).
> 
> What's the %00 here? :)

Null byte as specified in the id3 documentation, I guess i should not mention it.

> 
> @@ +89,3 @@
> + * represented with "A","B","C","D","E", "F" and "G" and halfkeys
> + * represented with "b" and "#". Minor is represented as "m" (e.g. "Dbm" $00).
> + * Off key is represented with an "o" only.
> 
> What about non-major/minor keys? Keys that are not on any of the half keys but
> between? Thinking about non-western music here.
> 
> @@ +90,3 @@
> + * represented with "b" and "#". Minor is represented as "m" (e.g. "Dbm" $00).
> + * Off key is represented with an "o" only.
> + */
> 
> Add Since: 1.2 marker her
Comment 18 Matthieu Bouron 2013-08-16 09:47:48 UTC
Created attachment 251809 [details] [review]
tag: add musical-key tag
Comment 19 Sebastian Dröge (slomo) 2013-08-19 08:45:20 UTC
Comment on attachment 251809 [details] [review]
tag: add musical-key tag

Maybe add that this might be extended in the future to also handle non-major/minor keys

And is it really the key in which the song starts or the main key of the song? These can be different.
Comment 20 Matthieu Bouron 2013-08-19 10:17:05 UTC
The documentation specify it is the key at which the sound starts however in pratice it can be the main key of the whole song (I personnaly use it as the main key of the song since it helps harmonic mixing of two songs).

I guess some comparaison should be made on different samples to figure how people use this tag. Unfortunately I have no "harmonic ears" so it could take some time.
Comment 21 Sebastian Dröge (slomo) 2013-08-19 11:25:27 UTC
Ok, so let's keep it as is but please add a documentation comment about extending this in the future to non-major/minor keys :)
Comment 22 Matthieu Bouron 2013-08-20 12:21:22 UTC
Created attachment 252405 [details] [review]
251809: tag: add musical-key tag
Comment 23 Sebastian Dröge (slomo) 2013-08-20 12:46:14 UTC
commit d10dab0884ef07264e47ca57392f81c686051221
Author: Matthieu Bouron <matthieu.bouron@collabora.com>
Date:   Wed Aug 14 16:18:59 2013 +0100

    taglist: handle publisher and interpreted-by tags
    
    https://bugzilla.gnome.org/show_bug.cgi?id=705999


commit 45edbacd239b7a89a27966eb5d93b03562cea8b5
Author: Matthieu Bouron <matthieu.bouron@collabora.com>
Date:   Wed Aug 14 16:20:45 2013 +0100

    tag: id3: handle publisher, interpreted-by and musical-key tags
    
    https://bugzilla.gnome.org/show_bug.cgi?id=705999

commit 541c061ee81c07b1f36869e897cb2cbe4b34effc
Author: Matthieu Bouron <matthieu.bouron@collabora.com>
Date:   Thu Aug 15 11:03:47 2013 +0100

    tag: add musical-key tag
    
    https://bugzilla.gnome.org/show_bug.cgi?id=705999


commit f0eda4b54c4d9d11b3826c921f11251e30633474
Author: Matthieu Bouron <matthieu.bouron@collabora.com>
Date:   Thu Aug 15 11:45:34 2013 +0100

    id3mux: handle publisher, interpreted-by and musical-key tags
    
    https://bugzilla.gnome.org/show_bug.cgi?id=705999