Lines Matching refs:track
46 resume, eject. Play_track ignores track info, because we can't
241 #ifdef STATISTICS /* keep track of errors in counters */
260 uch track, fsm[3], q0;
895 strategy. All track starts that happen to be found are stored in
900 for track# 0xaa, it'll get the wrong time back. Any other program
921 static inline uch normalize_track(uch track)
923 if (track < 1)
925 if (track > LAST_TRACK)
927 return track;
930 /* This function does a binary search for track start. It records all
931 * tracks seen in the process. Input $track$ must be between 1 and
934 static int get_toc_lba(uch track)
939 uch ct; /* current track */
943 for (i = track; i > 0; i--)
944 if (cd->toc[i].track) {
953 if (!cd->toc[ct].track) {
959 cd->toc[ct].track = q[1]; /* lead out still 0xaa */
962 if (ct == track)
967 if (ct < track)
973 if (ct < track)
986 static void update_toc_entry(uch track)
988 track = normalize_track(track);
989 if (!cd->toc[track].track)
990 get_toc_lba(track);
1002 /* fill in first track position */
1023 PLAY_TO.track = 0; /* say no track end */
1045 PLAY_TO.track = to;
1097 uch track = normalize_track(ep->cdte_track);
1098 update_toc_entry(track);
1099 ep->cdte_addr.msf.frame = cd->toc[track].fsm[0];
1100 ep->cdte_addr.msf.second = cd->toc[track].fsm[1];
1101 ep->cdte_addr.msf.minute = cd->toc[track].fsm[2];
1102 ep->cdte_adr = cd->toc[track].q0 & 0xf;
1103 ep->cdte_ctrl = cd->toc[track].q0 >> 4;