Stores wave thumbnail data and sonogram thumbnail data from an audio file at the same time

I’m making an Audio Editor, which import a single file and renders both its wave thumb and its sonogram thumb.
User can select which to draw(maybe both).

I made SonogramThumbnail and SmartSonogramThumbnail class, referring AudioThumbnail and SmartAudioThumbnail class.
Inheritance is… SmartSonogramThumnail : SonogramThumbnail : AudioThumbnailBase
I pass AudioThumbnailCache instance to the SonogramThumb class by calling edit.getAudioFileManager().getAudioThumbnailCache() at SmartSonogramThumbnail’s constructor.

My problem is, there should be two types of thumbnail data stored to the disk at the same time from an AudioThumbnailCache class.
Because those two have the same hash, SonogramThumbnail sometimes fetches wrong file from disk e.g. when I delete a certain region, new clips are created, and AudioThumbnailCache::loadThumb() is called.

I want to ask a good strategy to manage thumb cache datas in such a case.
Should stop storing wave thumb(which is smaller and takes less cost than making FFT datas)?
Should make another AudioThumbnailCache instance?

I think you probably should use your own cache if you have multiple thumbnails for a single file.
Tracktion Engine tries to take care of a lot of common use cases but there’s a point where you go off-piste for us to add functionality to do what you need would complicate the API for others.

Thanks for your reply!

Tracktion Engine tries to take care of…

Yeah, I totally agree with you. It’s not a thing to change APIs.
Just wondering I missed some features or not.
So please don’t mind!