Author Topic: BASSCD only one track playing  (Read 4968 times)

Irrational86

  • Posts: 960
BASSCD only one track playing
« on: 27 Jul '03 - 20:38 »
Quote
While it's technically possible to read different parts of the CD "at the same time", it is not practically possible. The problem is the seek-time involved in all the jumping back and forth... I tried playing 2 tracks from the same CD at the same time, and even with a fast drive (48x), both streams were constantly stalling.
Ian, could it be possible to allow multiple decoding tracks to be loaded at the same time, but if its not decoding then to prevent it??

What i mean is, only one playing track, but be able to have extra tracks loaded as Decoding channels??



Another small questions, using the BASS_CD_GetId, how do i retrieve the ID used in cdplayer.ini??
« Last Edit: 27 Jul '03 - 21:24 by XMinioNX »

Ian @ un4seen

  • Administrator
  • Posts: 23386
Re: BASSCD only one track playing
« Reply #1 on: 28 Jul '03 - 18:00 »
Quote
Ian, could it be possible to allow multiple decoding tracks to be loaded at the same time, but if its not decoding then to prevent it??

What i mean is, only one playing track, but be able to have extra tracks loaded as Decoding channels??

Creating a CD stream/channel is very fast, so there's no real need to have multiple tracks "loaded" - you can quickly switch tracks when you want to play/decode another.

Quote
Another small questions, using the BASS_CD_GetId, how do i retrieve the ID used in cdplayer.ini??

You can calculate the "cdplayer.ini" ID from either the CDDB or CDDB2 ID. Here's how you could do it in C...
Code: [Select]
void GetCDPlayerID(DWORD drive, char *idbuf)
{
     DWORD id=0;
     char *cddb2=BASS_CD_GetID(drive,BASS_CDID_CDDB2);
     int t,tracks=BASS_CD_GetTracks(drive);
     for (t=0;t<tracks;t++) {
           DWORD s=atoi(cddb2);
           id+=((s/75)/60)<<16;
           id+=((s/75)%60)<<8;
           id+=s%75;
           cddb2=strchr(cddb2,' ')+1; // move onto next value
     }
     sprintf(idbuf,"%X",id); // convert id to hex string
}


I guess a new "CDID" option to do this could be added in the next BASSCD release :)
« Last Edit: 28 Jul '03 - 18:05 by Ian @ un4seen »

Irrational86

  • Posts: 960
Re: BASSCD only one track playing
« Reply #2 on: 28 Jul '03 - 22:17 »
Quote
Creating a CD stream/channel is very fast, so there's no real need to have multiple tracks "loaded" - you can quickly switch tracks when you want to play/decode another.
Its not to play another, but instead to get track info

Quote
I guess a new "CDID" option to do this could be added in the next BASSCD release :)
yup, it would be great if you added one ;D
« Last Edit: 28 Jul '03 - 22:26 by XMinioNX »

Ian @ un4seen

  • Administrator
  • Posts: 23386
Re: BASSCD only one track playing
« Reply #3 on: 29 Jul '03 - 23:12 »
Quote
Its not to play another, but instead to get track info

You don't need to create a stream to get track info - all the CD info functions take drive and track number parameters.

Quote
yup, it would be great if you added one ;D

I'll send you an update to try.

Irrational86

  • Posts: 960
Re: BASSCD only one track playing
« Reply #4 on: 30 Jul '03 - 03:36 »
Quote
I'll send you an update to try.
Thank you...and yup, works 100%...thansk a lot, Ian
« Last Edit: 30 Jul '03 - 03:37 by XMinioNX »