24 May '13 - 01:07 *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
 
   Home   Help Search Login Register  
Pages: [1]
  Reply  |  Print  
Author Topic: BASSCD only one track playing  (Read 2549 times)
Irrational86
Posts: 960


« on: 27 Jul '03 - 20:38 »
Reply with quoteQuote

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 » Logged
Ian @ un4seen
Administrator
Posts: 15270


« Reply #1 on: 28 Jul '03 - 18:00 »
Reply with quoteQuote

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...
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 Smiley
« Last Edit: 28 Jul '03 - 18:05 by Ian @ un4seen » Logged
Irrational86
Posts: 960


« Reply #2 on: 28 Jul '03 - 22:17 »
Reply with quoteQuote

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 Smiley
yup, it would be great if you added one Grin
« Last Edit: 28 Jul '03 - 22:26 by XMinioNX » Logged
Ian @ un4seen
Administrator
Posts: 15270


« Reply #3 on: 29 Jul '03 - 23:12 »
Reply with quoteQuote

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 Grin

I'll send you an update to try.
Logged
Irrational86
Posts: 960


« Reply #4 on: 30 Jul '03 - 03:36 »
Reply with quoteQuote

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 » Logged
Pages: [1]
  Reply  |  Print  
 
Jump to:  

Powered by SMF 1.1.18 | SMF © 2013, Simple Machines