I’m using an AudioThumbnail, and calling setSource(file) on it. After that returns, I refresh a graph view by calling drawContents() on that in my component. But it seems that it only draws a small portion of the graph when I do that. I see that setReader() describes the fact that it takes place in a background thread, and I would receive listener notifications about the progress of loading the data. However, setSource() does not have those comments. But, in my case at least, it behaves as if it does execute asynchronously. Is that in fact the case? Do I need to listen for the completion of the thumbnail generation before drawing with it?
(By the way, I’m doing this from my own background thread, so I don’t really need another thread to do the work. But if setSource() does do this asynchronously, then I need to account for that.)
Well, I added my class as a listener, and sure enough, the setSource() returns immediately but the thumbnail takes time to generate. I’m using a listener now and it’s refreshing my graph as it progresses.
It would help if the header file comments for setSource were modified to include that information, so that it’s obvious that this is the case.