code: public float time_tell(){
      // translate time to PCM position and call pcm_seek
  
      int link=-1;
      long pcm_total=0;
      float time_total=0.f;
  
      if(seekable){
        pcm_total=pcm_total(-1);
        time_total=time_total(-1);
  
        // which bitstream section does this time offset occur in?
        for(link=links-1; link>=0; link--){
          pcm_total-=pcmlengths[link];
          time_total-=time_total(link);
          if(pcm_offset>=pcm_total)
            break;
        }
      }
  
      return ((float)time_total+(float)(pcm_offset-pcm_total)/vi[link].rate);
    }
docs: return time offset (seconds) of next PCM sample to be read