[ID3 Dev] $xx (xx ...)

Mitchell S. Honnert mitch at honnert.com
Sun Dec 31 15:18:20 PST 2006


OK.  I give up.  It's probably that I'm just not seeing it, but I can't find
any definition of this format.

   $xx (xx ...)

I've found this pattern in the following frames...

Event timing codes			ETCO
Synchronised lyrics/text		SYLT
Equalisation				EQUA
Position synchronisation frame	POSS

...and it relates to the Time Stamp or the Adjustment numeric field of the
respective tag.

The format appears to translate to "a number consisting of one or more
bytes".  But how are you supposed to know *how many* bytes more than one?

At first I thought there might be some kind of flag in the frame that would
tell you how many bytes each TimeStamp/Adjustment number used, but I
couldn't find it.  Then I thought that perhaps I could deduce the byte count
by using some pattern matching, but I couldn't come up with anything
definition.

I even reversed engineered the Synchronized Lyrics frame created by Windows
Media Player to see how they did it, but they appear just to have hard-coded
the Time Stamp to four bytes.

I'm going to feel pretty silly if I've just overlooked this, but I honestly
can't find it.  So, wow are you supposed to know how many bytes are
represented by the "(xx ...)"?

 - Mitchell S. Honnert

PS: This is yet another example of where we could make tweaks to current ID3
versions (ID3v2.3 and ID3v2.4).  Specifically, if most ID3 developers were
forced to interpret "$xx (xx ...)" as "$xx xx xx xx" because of ambiguous or
missing ID3 documentation, then we should just accept that this is the new
standard and document it accordingly.  (And even if this is in the
documentation somewhere -- which is entirely possible -- we could at least
tweak the standards to make it more prominent.)



---------------------------------------------------------------------
To unsubscribe, e-mail: id3v2-unsubscribe at id3.org
For additional commands, e-mail: id3v2-help at id3.org



More information about the ID3v2 mailing list