Hi,

The Album-iD specs are somewhat finished, and I wrote a program to
generate AiD's and stick them in front of mp3's. (all+sources at
http://albumheader.cjb.net)

All seems to work as planned, even LAME decodes the AiD-mp3 without
problems at first sight:

RV> "Club System - Volume 16.mp3" already has a valid Album-iD with length 3764
RV>
RV> E:\test>>lame --decode "Club System - Volume 16.mp3"
RV> input:    Club System - Volume 16.mp3 44.1kHz MPEG1 2 channel LayerIII
RV> output:   Club System - Volume 16.mp3.wav (wav format)
RV> skipping initial 1104 samples (encoder + decoder delay)
RV> Frame# 3764 [ 183178]  160kbs

problem: I don't know how lame knows where to start decoding, but I have the
idea that if, by accident, the AiD should contain a certain string,
lame could start decoding halfway the header or so?

To avoid this, could someone please add a piece of (C preferrably :))
code like this:

RV> const header= 'AiD'+ #01;
RV>
RV> function checkaid (filenaam: string): word;
RV> var i, numread: word;
RV>   s: array [1..6] of char;
RV>   h: string [6];
RV>   f: file;
RV>
RV> begin
RV>   assign (f, filenaam);
RV>   reset (f);
RV>   seek (f, 0); {jump to fist byte in "filenaam"}
RV>   blockread (f, s, 1, numread);
RV>   h:= header;
RV>   if ( (numread= 1) and (s [1] = h [1] ) and (s [2] = h [2] ) and (s [3] = h [3] ) 
and (s [4] = h [4] ) ) then
RV>   begin
RV>     i:= Ord (s [5] );
RV>     inc (i, Ord (s [6] ) * 256);
RV>     checkaid:= i; {return the length of AiD}
RV>   end
RV>   else checkaid:= 0;  {no Album-iD found}
RV>   close (f);
RV> end;

to lame(CVS)? (excuse the pascal, but it's all I know)

"checkaid(mp3filename)" would return (0)d if no file found and
(the real startaddress)d if and AiD is there.

It'd be great to have "lame --decode" say "Album-iD found" if one is
there.  (that place could be used in future to call an AiD->CUE function)

many thanks!

-- 
Best regards,
 Roel                          mailto:[EMAIL PROTECTED]


--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )

Reply via email to