Topic: Track does not change from time to time
This applies to newly invented CUE and APL file support: sometimes track does not change and underlying file continues to play beyond track (to next track in image...).
Noticed corellation: when track is played trough chances for bug are higher, when same track is scrolled to near end it changes properly.
Proposal: do you use floating point addition and comparison by '=='?
Try this little demonstration:
#include <iostream>
int main (int argc, char * const argv[]) {
float a = 0.0;
for (int i = 0; i < 1000000; i++) a += 0.000001;
if (a == 1.0) std::cout << "you're very lucky\n";
else std::cout << "la-la-la! 1 !=" << a << "\n";
std::cout << "You think doubles are solution?\n";
double d = 0.0;
for (int i = 0; i < 1000000; i++) d += 0.000001;
if (d == 1.0) std::cout << "you're very lucky\n";
else std::cout << "la-la-la! 1 !=" << d << "\n";
return 0;
}
it outputs things like this:
[Session started at 2007-10-19 01:27:57 +0400.]
la-la-la! 1 !=1.00904
You think doubles are solution?
la-la-la! 1 !=1
test has exited with status 0.