Right now it loads the track into memory in the first second it's playing. Actually it loads to memory before outputting any samples (but the previous track would still be playing).
Jim is keen on making it load tracks ahead so we load the full album, but we're still in the brain storming stages for that.
Ideally this would be based on the playlist and not albums so it would do something like "buffer X tracks ahead" or "keep a 2GB buffer of tracks full", not "buffer the rest of this album".
Whether it is constantly buffering new tracks (old track out = new track in) or doing batch operations (wait until X tracks remain, then fill the buffer) is something else that would ideally have a preference.
As discussed earlier in this topic, I think this is going to require quite a bit of fine-tuning to work well and balance I/O vs CPU usage.
At least while it's being worked on, opening up these parameters might be a good idea, though I still feel like it's never going to be an option which can be a simple on/off toggle.
Not all users have the same amount of RAM - or want to allocate the same amount to buffering tracks.
Different storage devices have very different access times and transfer rates - local ssd, local hdd, usb 2/3 storage, networked storage; gigabit lan vs 802.11g wifi, online storage/3G/4G connections etc.
And I'm still holding out hope for a 64-bit build so that we can access more than ~3.5GB of RAM without the player crashing. (really starting to become a problem for video playback with the prevalence of 4K)
I just tried a classical piece (24/192) with a 400KB movement followed by a 580KB movement, on a very slow system with a usb 2.0 drive. There was definitely a delay while loading the 580KB movement. The display switched to the new track with a timing of 0:00, but nothing played, then the display reset and started up in a second or two. So, it looks like the waiting to play until fully loaded is working, which is awesome. It would be nice if the header display did not reset, but that is a minor issue.
EDIT: I tried the same large files on a frightfully slow network connect to another system with a 2.0 USB drive and, after a significant delay, the tracks play fine, which is good news.
I did try using the new memory load with a TRemote Client and got a Playback error. I would like to be able to use this feature to make the loading of large files over a network to a client more reliable, but it is not a critical need.
Once it starts loading more than one track into memory at a time, I think this is going to be considerably better than things used to be when you're dealing with slow file access.