Tiny quibble: the 13.5 hour problem


Juce can’t play a file for longer than 13.5 hours because of the casts to (int) in juce_AudioFormatReaderSource.cpp.

Now, all my audio file are greater than 13.5 hours. Wait, I meant that NONE of my audio files are greater than 13.5 hours, so it isn’t a real issue for me, but I don’t really see the need for such casts there…?


My apologies! Didn’t know that code was in there, and it looks like a bit of historical cruft that got accidentally left behind from years ago when dinosaurs roamed the earth and audio files were shorter… Have corrected it to use int64s now!


Don’t worry - I didn’t run into it. I was just reading through the code.

My first computer had a 20MB hard drive - that would have been about 20 minutes of audio (8-bit, 20Khz)… I remember when I got a new one and was agonizing between the 80MB drive and the 120MB drive - “What could I possibly do with all that disk space?”


Am I wrong in noticing that the conversion to int64 that has been performed as a result of this discussion in the following commit:

has now been reverted back to int in this later commit (with the purpose of silencing a MSVC warning, I suppose)?


I don’t think so unless you’re planning to read more than 13.5 hours in a single block.


Yes, don’t worry. The casts I added make no difference at all, they’re just to avoid compiler warnings in VC.