<DIV>
<DIV>
<DIV>thanks very much Ben, i stiil dont understand why footer and padding are mutually exclusive? if i have this situation, all sems to be OK?</DIV>
<DIV> </DIV>
<DIV><tag header></DIV>
<DIV><TIT1 header><TIT1 contents></DIV>
<DIV><TIT2 header><TIT2 contents></DIV>
<DIV><padding></DIV>
<DIV><mp3 audio data></DIV>
<DIV><tag footer></DIV>
<DIV><ID3v1 tag></DIV>
<DIV> </DIV>
<DIV>and second problem:</DIV>
<DIV> </DIV>
<DIV><STRONG>here is a simple tag:</STRONG></DIV>
<DIV> </DIV>
<DIV>
<DIV><tag header></DIV>
<DIV>
<DIV><"frame ID" header><"frame ID" content></DIV>
<DIV>
<DIV>
<DIV>...</DIV>
<DIV>
<DIV><"frame ID<EM><STRONG>i</STRONG></EM>" header><"frame ID<STRONG><EM>i</EM></STRONG>" content></DIV>
<DIV>...</DIV>
<DIV>
<DIV><"frame ID<EM><STRONG>n</STRONG></EM>" header><"frame ID<STRONG><EM>n</EM></STRONG>" content> (last frame (normal frame))</DIV></DIV>
<DIV>
<DIV><padding>                                                 (lets say 100%)</DIV>
<DIV>
<DIV><audio data></DIV>
<DIV><ID3v1></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV>
<DIV> </DIV>
<DIV><STRONG>Ben, way just not add two new frames like this?:</STRONG></DIV>
<DIV> </DIV>
<DIV>
<DIV><tag header></DIV>
<DIV>
<DIV><"frame ID" header><"frame ID" content></DIV>
<DIV>
<DIV>
<DIV>...</DIV>
<DIV>
<DIV><"frame ID<EM><STRONG>i</STRONG></EM>" header><"frame ID<STRONG><EM>i</EM></STRONG>" content></DIV>
<DIV>...</DIV>
<DIV>
<DIV><"frame ID<EM><STRONG>n</STRONG></EM>" header><"frame ID<STRONG><EM>n</EM></STRONG>" content></DIV></DIV>
<DIV>
<DIV>
<DIV><"frame ID<EM><STRONG>n+1</STRONG></EM>" content><"frame ID<EM><STRONG>n+1</STRONG></EM>" content> (added frame)</DIV></DIV>
<DIV>
<DIV><"frame ID<EM><STRONG>n+2</STRONG></EM>" content><"frame ID<EM><STRONG>n+2</STRONG></EM>" content> (added frame)                                 </DIV>
<DIV><padding>                                                          (after adding two frames padding = padding - <STRONG>x</STRONG> bytes)   </DIV>
<DIV><audio data></DIV>
<DIV><ID3v1></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV>
<DIV> </DIV>
<DIV><STRONG>but add like you say?:</STRONG></DIV>
<DIV> </DIV>
<DIV><tag header></DIV>
<DIV>
<DIV><"frame ID1" header></DIV>
<DIV>
<DIV><"frame ID2" header></DIV>
<DIV>
<DIV><"frame ID3" header><"frame ID3" content></DIV>
<DIV>...</DIV>
<DIV>
<DIV><"frame ID<EM><STRONG>i</STRONG></EM>" header><"frame ID<STRONG><EM>i</EM></STRONG>" content></DIV>
<DIV>...</DIV>
<DIV>
<DIV><"frame ID<EM><STRONG>n</STRONG></EM>" header><"frame ID<STRONG><EM>n</EM></STRONG>" content> (last frame (normal frame))</DIV></DIV>
<DIV>
<DIV><"frame ID1" content>          </DIV>
<DIV><"frame ID2" content>                                  </DIV>
<DIV>
<DIV><padding>                                                 (same situation) </DIV>
<DIV><audio data></DIV>
<DIV><ID3v1></DIV>
<DIV> </DIV>
<DIV><U>Thanks, again</U></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV><BR><BR><B><I>Ben Bennett <fiji@ayup.limey.net></I></B> wrote:
<BLOCKQUOTE class=replbq style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #1010ff 2px solid">On Tue, Aug 23, 2005 at 10:00:26PM +0100, Ion Todirel wrote:<BR>> If i use padding to add a new frame: let's say that i have a tag with TIT1 and TIT2: <BR>> <BR>> <TAG header><BR>> <TIT1 header><TIT1 contents><BR>> <TIT2 header><TIT2 contents><BR>> <END padding no tag, the of><BR>> <MP3 data audio><BR>> <TAG footer><BR>> <ID3V1 tag><BR><BR>Yes.<BR><BR>> <BR>> if i add a new frame (TALB) using padding tag will look like this?:<BR>> <BR>> <TAG header><BR>> <TALB header only><BR>> <TIT1 header><TIT1 contents><BR>> <TIT2 header><TIT2 contents><BR>> <END padding tag, the of start><BR>> <TALB contents padding frame) a enlarge to used is if enlargement, TALB (or><BR>> <MP3 data audio><BR>> <NO footer><BR>> <ID3V1 tag><BR><BR>No.<BR><BR>The TALB is a frame and MUST be inside the ID3 tag. The padding also<BR>falls inside the tag,
 (i.e. is included in the tag size) but MUST<BR>follow all frames. So it will look like:<BR><BR><TAG header><BR><TALB header only><BR><TIT1 header><TIT1 contents><BR><TIT2 header><TIT2 contents><BR><TALB contents padding frame) a enlarge to used is if enlargement, TALB (or><BR><PADDING><BR><END the of tag><BR><MP3 data audio><BR><NO footer><BR><ID3V1 tag><BR><BR>> if frame TALB already exists in the tag:<BR>> <BR>> <TAG header><BR>> <TALB header><TALB contents><BR>> <BR>> <TIT1 header><TIT1 contents><BR>> <TIT2 header><TIT2 contents><BR>> <END padding no tag, the of><BR>> <MP3 data audio><BR>> <TAG footer><BR>> <ID3V1 tag><BR><BR>Okay.<BR><BR>> and i extend it using padding:<BR>> <BR>> <TAG header><BR>> <TALB header><TALB contents><BR>> <BR>> <TIT1 header><TIT1 contents><BR>> <TIT2 header><TIT2 contents><BR>> <END padding tag, the of start><BR>> <TALB TALB (or enlargement) content aditional><BR>> <MP3 data audio><BR>>
 <NO footer><BR>> <ID3V1 tag><BR><BR>Again, no. You can not split the additional content from TALB. There<BR>can only be one TALB frame per tag. So it will look like:<BR><BR><TAG header><BR><TALB header><NEW contents TALB><BR><TIT1 header><TIT1 contents><BR><TIT2 header><TIT2 contents><BR><PADDING><BR><END the of tag><BR><MP3 data audio><BR><NO footer><BR><ID3V1 tag><BR><BR><BR>> But how to detect when padding starts? just before last frame, but how to detect when is last frame?<BR><BR>Padding falls after all frames. It is the last thing in the tag. So<BR>if you expect to see a frame header but read all nuls then you are<BR>into the padding.<BR><BR>The only point to padding is to prevent rewriting all of the content<BR>in the file if a tag grows. So if you have N bytes of padding at the<BR>end of a frame and you grow the content by N bytes or less, you can<BR>just rewrite the tag and shrink the padding. But if you need to grow<BR>something by more than N bytes then you need to
 fiddle with the<BR>remainder of the file as well.<BR><BR>Does that help?<BR><BR>-ben<BR><BR>---------------------------------------------------------------------<BR>To unsubscribe, e-mail: id3v2-unsubscribe@id3.org<BR>For additional commands, e-mail: id3v2-help@id3.org<BR><BR></BLOCKQUOTE></DIV><p>
                <hr size=1><font face="Arial" size="2">How much free photo storage do you get? Store your holiday snaps for FREE with Yahoo! Photos. <a href="http://us.rd.yahoo.com/mail/uk/taglines/default/photos/*http://uk.photos.yahoo.com/"><b>Get Yahoo! 
Photos</b></a></font>