| TracktionEngine
    | 
SmartThumnail automatically tracks changes to an AudioFile and will update its cache if the file changes. More...
#include <tracktion_SmartThumbnail.h>
Inherits juce::AudioThumbnailBase, and juce::Timer.
| Public Member Functions | |
| SmartThumbnail (Engine &, const AudioFile &, juce::Component &componentToRepaint, Edit *) | |
| Creates a SmartThumbnail for an AudioFile which will automatically repaint a Component as it it loaded. | |
| SmartThumbnail (Engine &, const AudioFile &, juce::Component &componentToRepaint, Edit *, std::unique_ptr< juce::AudioThumbnailBase > thumbnailToUse) | |
| Creates a SmartThumbnail for an AudioFile which will automatically repaint a Component as it it loaded. | |
| ~SmartThumbnail () override | |
| Destructor. | |
| void | setNewFile (const AudioFile &) | 
| Sets a new file to display. | |
| bool | isGeneratingProxy () const noexcept | 
| Returns true if this is a proxy file being generated by the AudioProxyGenerator. | |
| float | getProxyProgress () const noexcept | 
| Returns the progress of the current proxy file creation. | |
| bool | isOutOfDate () const noexcept | 
| Returns true if the file has been changed and a new thumbnail has not yet been generated. | |
| void | drawChannel (juce::Graphics &, juce::Rectangle< int >, TimeRange, int channelNum, float verticalZoomFactor) | 
| Draws one of the channels, optionally using a hi-res algorithm. | |
| void | drawChannels (juce::Graphics &, juce::Rectangle< int >, TimeRange, float verticalZoomFactor) | 
| Draws all of the channels, optionally using a hi-res algorithm. | |
| double | getProportionComplete () const noexcept | 
| Returns the proportion of the thumbnail that has been generated. | |
| void | clear () override | 
| bool | setSource (juce::InputSource *) override | 
| void | setReader (juce::AudioFormatReader *, juce::int64 hashCode) override | 
| bool | loadFrom (juce::InputStream &) override | 
| void | saveTo (juce::OutputStream &) const override | 
| int | getNumChannels () const noexcept override | 
| double | getTotalLength () const noexcept override | 
| bool | isFullyLoaded () const noexcept override | 
| juce::int64 | getNumSamplesFinished () const noexcept override | 
| float | getApproximatePeak () const override | 
| void | getApproximateMinMax (double startTime, double endTime, int channelIndex, float &minValue, float &maxValue) const noexcept override | 
| juce::int64 | getHashCode () const override | 
| void | reset (int numChannels, double sampleRate, juce::int64 totalSamplesInSource) override | 
| void | addBlock (juce::int64 sampleNumberInSource, const juce::AudioBuffer< float > &, int startOffsetInBuffer, int numSamples) override | 
| void | audioFileChanged () | 
| void | releaseFile () | 
| Static Public Member Functions | |
| static void | setEnabled (bool e) | 
| Enable/disable all smart thumbnail generation. | |
| static bool | areThumbnailsFullyLoaded (Engine &) | 
| Returns true if any thumbnails are currently being generated for the given Edit. | |
| Public Attributes | |
| AudioFile | file | 
| Engine & | engine | 
| Edit *const | edit = nullptr | 
SmartThumnail automatically tracks changes to an AudioFile and will update its cache if the file changes.
Additionally, if this file is a wav proxy file that's being generated, you can use this to find out about its progress.
| tracktion::engine::SmartThumbnail::SmartThumbnail | ( | Engine & | , | 
| const AudioFile & | , | ||
| juce::Component & | componentToRepaint, | ||
| Edit * | |||
| ) | 
Creates a SmartThumbnail for an AudioFile which will automatically repaint a Component as it it loaded.
You can optionally supply an Edit to use its temporary directory for the thumbnail file storage.
| tracktion::engine::SmartThumbnail::SmartThumbnail | ( | Engine & | , | 
| const AudioFile & | , | ||
| juce::Component & | componentToRepaint, | ||
| Edit * | , | ||
| std::unique_ptr< juce::AudioThumbnailBase > | thumbnailToUse | ||
| ) | 
Creates a SmartThumbnail for an AudioFile which will automatically repaint a Component as it it loaded.
You can optionally supply an Edit to use its temporary directory for the thumbnail file storage.
| thumbnailToUse | The thumbnail instance to use if you want custom thumbs | 
| 
 | override | 
Destructor.
| 
 | static | 
Enable/disable all smart thumbnail generation.
| 
 | static | 
Returns true if any thumbnails are currently being generated for the given Edit.
| void tracktion::engine::SmartThumbnail::setNewFile | ( | const AudioFile & | ) | 
Sets a new file to display.
| 
 | noexcept | 
Returns true if this is a proxy file being generated by the AudioProxyGenerator.
| 
 | noexcept | 
Returns the progress of the current proxy file creation.
| 
 | noexcept | 
Returns true if the file has been changed and a new thumbnail has not yet been generated.
| void tracktion::engine::SmartThumbnail::drawChannel | ( | juce::Graphics & | , | 
| juce::Rectangle< int > | , | ||
| TimeRange | , | ||
| int | channelNum, | ||
| float | verticalZoomFactor | ||
| ) | 
Draws one of the channels, optionally using a hi-res algorithm.
| void tracktion::engine::SmartThumbnail::drawChannels | ( | juce::Graphics & | , | 
| juce::Rectangle< int > | , | ||
| TimeRange | , | ||
| float | verticalZoomFactor | ||
| ) | 
Draws all of the channels, optionally using a hi-res algorithm.
| 
 | noexcept | 
Returns the proportion of the thumbnail that has been generated.
| 
 | override | 
.
| 
 | override | 
.
| 
 | override | 
.
| 
 | override | 
.
| 
 | override | 
.
| 
 | overridenoexcept | 
.
| 
 | overridenoexcept | 
.
| 
 | overridenoexcept | 
.
| 
 | overridenoexcept | 
.
| 
 | override | 
.
| 
 | overridenoexcept | 
.
| 
 | override | 
.
| 
 | override | 
.
| 
 | override | 
.
| void tracktion::engine::SmartThumbnail::audioFileChanged | ( | ) | 
| void tracktion::engine::SmartThumbnail::releaseFile | ( | ) | 
| AudioFile tracktion::engine::SmartThumbnail::file | 
| Engine& tracktion::engine::SmartThumbnail::engine | 
| Edit* const tracktion::engine::SmartThumbnail::edit = nullptr |