From 42ade06d784e09db9e795b7cd80f1069c082e1f2 Mon Sep 17 00:00:00 2001 From: jules Date: Wed, 27 Feb 2013 17:54:45 +0000 Subject: [PATCH] Added method AudioThumbnailCache::removeThumb(). --- .../juce_audio_utils/gui/juce_AudioThumbnailCache.cpp | 9 +++++++++ modules/juce_audio_utils/gui/juce_AudioThumbnailCache.h | 3 +++ 2 files changed, 12 insertions(+) diff --git a/modules/juce_audio_utils/gui/juce_AudioThumbnailCache.cpp b/modules/juce_audio_utils/gui/juce_AudioThumbnailCache.cpp index 292ff5dfa9..56c907eb5e 100644 --- a/modules/juce_audio_utils/gui/juce_AudioThumbnailCache.cpp +++ b/modules/juce_audio_utils/gui/juce_AudioThumbnailCache.cpp @@ -140,6 +140,15 @@ void AudioThumbnailCache::clear() thumbs.clear(); } +void AudioThumbnailCache::removeThumb (const int64 hashCode) +{ + const ScopedLock sl (lock); + + for (int i = thumbs.size(); --i >= 0;) + if (thumbs.getUnchecked(i)->hash == hashCode) + thumbs.remove (i); +} + static inline int getThumbnailCacheFileMagicHeader() noexcept { return (int) ByteOrder::littleEndianInt ("ThmC"); diff --git a/modules/juce_audio_utils/gui/juce_AudioThumbnailCache.h b/modules/juce_audio_utils/gui/juce_AudioThumbnailCache.h index 0e79aca1e3..10cd9f8ca0 100644 --- a/modules/juce_audio_utils/gui/juce_AudioThumbnailCache.h +++ b/modules/juce_audio_utils/gui/juce_AudioThumbnailCache.h @@ -72,6 +72,9 @@ public: */ void storeThumb (const AudioThumbnailBase& thumb, int64 hashCode); + /** Tells the cache to forget about the thumb with the given hashcode. */ + void removeThumb (int64 hashCode); + //============================================================================== /** Attempts to re-load a saved cache of thumbnails from a stream. The cache data must have been written by the writeToStream() method.