Notices
Scion xA/xB 1st-Gen ICE & Interior In-car entertainment and electronics...

Max limit of 255 tracks on MP3 CD?

Thread Tools
 
Search this Thread
 
Old Aug 21, 2006 | 02:48 AM
  #1  
xA56's Avatar
Thread Starter
Junior Member
5 Year Member
 
Joined: Aug 2006
Posts: 2
Default Max limit of 255 tracks on MP3 CD?

I was listening to an audio book that I had burned onto a CD-R and played in the factory Pioneer radio when the book started over from the beginning. I thought it was a strange ending to the book, so at home i investigated I found that it had stopped halfway through. I added up the number of files it played, it was the magic number 255 (2^8-1). The tracks were organized with around 20 per folder.

Any ideas on how to trick it to play the rest of the CD? Or am I going to have to burn another to hear the rest?
Old Aug 21, 2006 | 03:09 AM
  #2  
ladsonxb's Avatar
Senior Member
10 Year Member
5 Year Member
SL Member
Team ScioNRG
 
Joined: May 2006
Posts: 105
From: Ladson, SC
Default ...

put more files in a folder ? i only have 158 songs but i have 5 folders and 59 songs in one ? dont know if that helps ?
Old Aug 21, 2006 | 01:47 PM
  #3  
UV7's Avatar
UV7
Senior Member
10 Year Member
5 Year Member

SL Member
 
Joined: Jul 2005
Posts: 1,099
From: ...Lost Somewhere in Time
Default

The limitation has to do with the File Allocation Table/Numbering Scheme of 8-bit binary. When a CD is burned, each individual track receives its own unique 8-bit binary number by which the processor recognizes that particular file. This is its identifier. Unfortunately, 8-bit binary maxes out at 255. Here's why. In binary, each bit can either be 0 or 1. Since we are limited to 8 bits, we can only have a series of 8 0's or 1's to represent each track. 255 in binary is 11111111. In order to achieve 256 and beyond, you would need another placeholder or extra bit.
So... to answer your question... for now, you are stuck with 255 tracks per CD-R until the allocation process of files for burned CDs changes. This change may be a while, as all manufacturers would also have to update their internal processing of mp3's and other digital file formats in order to accomodate such a change.
...hope this helps.
Old Aug 21, 2006 | 01:59 PM
  #4  
midtowndesi's Avatar
Senior Member
10 Year Member
5 Year Member
SL Member
 
Joined: Oct 2005
Posts: 2,215
From: Cupertino, CA
Default

Do what I do and use a laptop as your "CD" lol... I don't have a single CD in my car - all of my music plays via laptop!

That's one option.

The other option is to recode all your audio so that the quality is less (a little less, maybe go from 190 to 128 when coding)... also, you can combine tracks meaning instead of having chapters 1 to 5 as different mp3s, combine them into a single mp3...

I'm just suggesting work-arounds. ;]
- sh00k
Old Aug 21, 2006 | 03:58 PM
  #5  
xA56's Avatar
Thread Starter
Junior Member
5 Year Member
 
Joined: Aug 2006
Posts: 2
Default

Thanks for all the responses. The CD-R itself has no problems holding more than 255 tracks. It just seems that the Scion won't play them.

Anyhow, I wrote a script to concatenate tracks so that there will be less than 255 and now everything is good.


Code:
#! /usr/bin/perl
my $outputdir="packed";
mkdir($outputdir);

foreach my $f (@ARGV) {
 push(@list,&findFiles($f));
}
my $pf = @list / 255;
die scalar(@list)." items less than 255" if ($pf<1);
print $pf,"\n";

my $bins = 0;
my $leftover = 0;
while(@list) {
 my $f =  $list[0];
 my @parts = split(/\//,$f);
 my $fn = pop @parts;
 my $folder = quotemeta join("/",@parts);
 my $dn = pop @parts;

 my $od = $outputdir."/".$dn;
 mkdir $od unless (-d $od);

 my $of = $od."/".$fn;
 open(OF,">$of") or die $of;

 my $c = scalar(grep(/$folder/,@list));

 if ($bins==0) {
    $bins=int($c/$pf);
    $leftover = $c % $bins;
  }
 my $bc = int($c/($bins--)) + ($leftover-->0?1:0);

 for(my $i=0;$i<$bc;$i++) {
    my $cf = shift @list;
    die "$cf $folder" unless ($cf=~/$folder/);
    print "copying $cf to $dn/$fn\n";
    &copy($cf);
 }
 close(OF);
}

sub copy {
 my $f = shift @_;
 open(INF,"<$f") || die;
 while(<INF>) { print OF $_; }
 close(INF);
}

sub findFiles {
 my $f = shift @_;
 my @fs;
 if (-d $f) {
   opendir(D,$f);
   my @sfs=sort(grep(!/^\.\.?$/,readdir(D)));
   foreach $sf (@sfs) {
      push(@fs, &findFiles($f."/".$sf));
   }
 }
 else { push(@fs,$f); }
 return @fs;
}
Old Aug 21, 2006 | 04:24 PM
  #6  
UV7's Avatar
UV7
Senior Member
10 Year Member
5 Year Member

SL Member
 
Joined: Jul 2005
Posts: 1,099
From: ...Lost Somewhere in Time
Default

...not just the Scion, but most other headunits as well. This is a common thing among mp3-equipped headunits. 8-bit FAT.
Old Aug 21, 2006 | 07:19 PM
  #7  
PaRaGoNViCtiM's Avatar
Senior Member
10 Year Member
5 Year Member
Scikotics
SL Member
 
Joined: Nov 2005
Posts: 438
From: PhiLLy SCikOtiCs
Default

Wow, I can never get more than 160 songs on my MP3 CDs.
Related Topics
Thread
Thread Starter
Forum
Replies
Last Post
Luna7ic
PPC: Suspension / Brakes
5
Sep 28, 2015 03:30 PM
JZA70
PPC: Interior / Electronics
0
Sep 12, 2015 09:44 PM
ScionLife Editor
Scion News Forum
0
Sep 8, 2015 07:10 PM
carid
Exclusive Sponsored Sales
0
Aug 31, 2015 11:17 AM
carid
Exclusive Sponsored Sales
0
Aug 7, 2015 11:32 AM




All times are GMT. The time now is 10:44 AM.