1
0
Fork 0

Replace MSF_TO_FRAMES, FRAMES_TO_MSF macros

Also, add some style adjustments for readability.
This commit is contained in:
Patryk Obara 2019-09-27 18:59:40 +02:00 committed by Patryk Obara
parent fce61e33bb
commit 4af8459e80
4 changed files with 30 additions and 23 deletions

View file

@ -73,14 +73,14 @@ bool CDROM_Interface_SDL::GetAudioTracks(int& stTrack, int& end, TMSF& leadOut)
if (CD_INDRIVE(SDL_CDStatus(cd))) {
stTrack = 1;
end = cd->numtracks;
FRAMES_TO_MSF(cd->track[cd->numtracks].offset,&leadOut.min,&leadOut.sec,&leadOut.fr);
frames_to_msf(cd->track[cd->numtracks].offset, &leadOut.min, &leadOut.sec, &leadOut.fr);
}
return CD_INDRIVE(SDL_CDStatus(cd));
}
bool CDROM_Interface_SDL::GetAudioTrackInfo(int track, TMSF& start, unsigned char& attr) {
if (CD_INDRIVE(SDL_CDStatus(cd))) {
FRAMES_TO_MSF(cd->track[track-1].offset,&start.min,&start.sec,&start.fr);
frames_to_msf(cd->track[track-1].offset, &start.min, &start.sec, &start.fr);
attr = cd->track[track-1].type<<4;//sdl uses 0 for audio and 4 for data. instead of 0x00 and 0x40
}
return CD_INDRIVE(SDL_CDStatus(cd));
@ -91,8 +91,8 @@ bool CDROM_Interface_SDL::GetAudioSub(unsigned char& attr, unsigned char& track,
track = cd->cur_track;
index = cd->cur_track;
attr = cd->track[track].type<<4;
FRAMES_TO_MSF(cd->cur_frame,&relPos.min,&relPos.sec,&relPos.fr);
FRAMES_TO_MSF(cd->cur_frame+cd->track[track].offset,&absPos.min,&absPos.sec,&absPos.fr);
frames_to_msf(cd->cur_frame, &relPos.min, &relPos.sec, &relPos.fr);
frames_to_msf(cd->cur_frame+cd->track[track].offset, &absPos.min, &absPos.sec, &absPos.fr);
}
return CD_INDRIVE(SDL_CDStatus(cd));
}

View file

@ -187,14 +187,14 @@ bool CDROM_Interface_Image::GetAudioTracks(int& stTrack, int& end, TMSF& leadOut
{
stTrack = 1;
end = (int)(tracks.size() - 1);
FRAMES_TO_MSF(tracks[tracks.size() - 1].start + 150, &leadOut.min, &leadOut.sec, &leadOut.fr);
frames_to_msf(tracks[tracks.size() - 1].start + 150, &leadOut.min, &leadOut.sec, &leadOut.fr);
return true;
}
bool CDROM_Interface_Image::GetAudioTrackInfo(int track, TMSF& start, unsigned char& attr)
{
if (track < 1 || track > (int)tracks.size()) return false;
FRAMES_TO_MSF(tracks[track - 1].start + 150, &start.min, &start.sec, &start.fr);
frames_to_msf(tracks[track - 1].start + 150, &start.min, &start.sec, &start.fr);
attr = tracks[track - 1].attr;
return true;
}
@ -206,8 +206,8 @@ bool CDROM_Interface_Image::GetAudioSub(unsigned char& attr, unsigned char& trac
track = (unsigned char)cur_track;
attr = tracks[track - 1].attr;
index = 1;
FRAMES_TO_MSF(player.currFrame + 150, &absPos.min, &absPos.sec, &absPos.fr);
FRAMES_TO_MSF(player.currFrame - tracks[track - 1].start, &relPos.min, &relPos.sec, &relPos.fr);
frames_to_msf(player.currFrame + 150, &absPos.min, &absPos.sec, &absPos.fr);
frames_to_msf(player.currFrame - tracks[track - 1].start, &relPos.min, &relPos.sec, &relPos.fr);
return true;
}
@ -704,8 +704,7 @@ bool CDROM_Interface_Image::GetCueFrame(int &frames, istream &in)
in >> msf;
int min, sec, fr;
bool success = sscanf(msf.c_str(), "%d:%d:%d", &min, &sec, &fr) == 3;
frames = MSF_TO_FRAMES(min, sec, fr);
frames = msf_to_frames(min, sec, fr);
return success;
}

View file

@ -90,10 +90,10 @@ bool CDROM_Interface_Ioctl::mci_CDPlay(int start, int length) {
mci_play.dwCallback = 0;
int m, s, f;
FRAMES_TO_MSF(start, &m, &s, &f);
frames_to_msf(start, &m, &s, &f);
mci_play.dwFrom = MCI_MAKE_MSF(m, s, f);
FRAMES_TO_MSF(start+length, &m, &s, &f);
frames_to_msf(start+length, &m, &s, &f);
mci_play.dwTo = MCI_MAKE_MSF(m, s, f);
return mci_CDioctl(MCI_PLAY, flags, &mci_play);
@ -160,7 +160,7 @@ bool CDROM_Interface_Ioctl::mci_CDPosition(int *position) {
case MCI_MODE_PAUSE:
mci_status.dwItem = MCI_STATUS_POSITION;
if (!mci_CDioctl(MCI_STATUS, flags, &mci_status)) {
*position = MSF_TO_FRAMES(
*position = msf_to_frames(
MCI_MSF_MINUTE(mci_status.dwReturn),
MCI_MSF_SECOND(mci_status.dwReturn),
MCI_MSF_FRAME(mci_status.dwReturn));
@ -213,8 +213,10 @@ bool CDROM_Interface_Ioctl::GetAudioTracks(int& stTrack, int& endTrack, TMSF& le
// get track start address of all tracks
for (Bits i=toc.FirstTrack; i<=toc.LastTrack+1; i++) {
if (((toc.TrackData[i].Control&1)==0) || (i==toc.LastTrack+1)) {
track_start[track_num] = MSF_TO_FRAMES(toc.TrackData[track_num].Address[1],toc.TrackData[track_num].Address[2],toc.TrackData[track_num].Address[3])-150;
track_start[track_num] += 150;
track_start[track_num] = msf_to_frames(
toc.TrackData[track_num].Address[1],
toc.TrackData[track_num].Address[2],
toc.TrackData[track_num].Address[3]);
track_num++;
}
}
@ -253,8 +255,10 @@ bool CDROM_Interface_Ioctl::GetAudioTracksAll(void) {
// get track start address of all tracks
for (Bits i=toc.FirstTrack; i<=toc.LastTrack+1; i++) {
if (((toc.TrackData[i].Control&1)==0) || (i==toc.LastTrack+1)) {
track_start[track_num] = MSF_TO_FRAMES(toc.TrackData[track_num].Address[1],toc.TrackData[track_num].Address[2],toc.TrackData[track_num].Address[3])-150;
track_start[track_num] += 150;
track_start[track_num] = msf_to_frames(
toc.TrackData[track_num].Address[1],
toc.TrackData[track_num].Address[2],
toc.TrackData[track_num].Address[3]);
track_num++;
}
}
@ -267,8 +271,8 @@ bool CDROM_Interface_Ioctl::GetAudioTracksAll(void) {
bool CDROM_Interface_Ioctl::GetAudioSub(unsigned char& attr, unsigned char& track, unsigned char& index, TMSF& relPos, TMSF& absPos) {
if (use_dxplay) {
track = 1;
FRAMES_TO_MSF(player.currFrame + 150, &absPos.min, &absPos.sec, &absPos.fr);
FRAMES_TO_MSF(player.currFrame + 150, &relPos.min, &relPos.sec, &relPos.fr);
frames_to_msf(player.currFrame + 150, &absPos.min, &absPos.sec, &absPos.fr);
frames_to_msf(player.currFrame + 150, &relPos.min, &relPos.sec, &relPos.fr);
if (GetAudioTracksAll()) {
// get track number from current frame
@ -276,7 +280,11 @@ bool CDROM_Interface_Ioctl::GetAudioSub(unsigned char& attr, unsigned char& trac
if ((player.currFrame + 150<track_start[i+1]) && (player.currFrame + 150>=track_start[i])) {
// track found, calculate relative position
track = i;
FRAMES_TO_MSF(player.currFrame + 150-track_start[i],&relPos.min,&relPos.sec,&relPos.fr);
frames_to_msf(
player.currFrame + 150 - track_start[i],
&relPos.min,
&relPos.sec,
&relPos.fr);
break;
}
}
@ -313,12 +321,12 @@ bool CDROM_Interface_Ioctl::GetAudioSub(unsigned char& attr, unsigned char& trac
for (int i=track_start_first; i<=track_start_last; i++) {
if ((cur_pos<track_start[i+1]) && (cur_pos>=track_start[i])) {
// track found, calculate relative position
FRAMES_TO_MSF(cur_pos-track_start[i],&relPos.min,&relPos.sec,&relPos.fr);
frames_to_msf(cur_pos-track_start[i], &relPos.min, &relPos.sec, &relPos.fr);
break;
}
}
}
FRAMES_TO_MSF(cur_pos,&absPos.min,&absPos.sec,&absPos.fr);
frames_to_msf(cur_pos, &absPos.min, &absPos.sec, &absPos.fr);
}
}

View file

@ -910,7 +910,7 @@ static Bit16u MSCDEX_IOCTL_Input(PhysPt buffer,Bit8u drive_unit) {
mscdex->GetCurrentPos(drive_unit,pos);
Bit8u addr_mode = mem_readb(buffer+1);
if (addr_mode==0) { // HSG
Bit32u frames=MSF_TO_FRAMES(pos.min, pos.sec, pos.fr);
Bit32u frames = msf_to_frames(pos.min, pos.sec, pos.fr);
if (frames<150) MSCDEX_LOG("MSCDEX: Get position: invalid position %d:%d:%d", pos.min, pos.sec, pos.fr);
else frames-=150;
mem_writed(buffer+2,frames);