JUCE-7.0.12-0-g4f43011b96 JUCE-7.0.12-0-g4f43011b96
JUCE — C++ application framework with suport for VST, VST3, LV2 audio plug-ins

« « « Anklang Documentation
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Attributes | List of all members
Steinberg::Vst::IProgress Class Referenceabstract

Extended host callback interface for an edit controller: Vst::IProgress. More...

#include "ivsteditcontroller.h"

Inheritance diagram for Steinberg::Vst::IProgress:
Steinberg::FUnknown

Public Types

enum  ProgressType : uint32 { AsyncStateRestoration , UIBackgroundTask }
 
using ID = uint64
 

Public Member Functions

virtual tresult PLUGIN_API start (ProgressType type, const tchar *optionalDescription, ID &outID)=0
 Start a new progress of a given type and optional Description.
 
virtual tresult PLUGIN_API update (ID id, ParamValue normValue)=0
 Update the progress value (normValue between [0, 1]) associated to the given id.
 
virtual tresult PLUGIN_API finish (ID id)=0
 Finish the progress associated to the given id.
 
- Public Member Functions inherited from Steinberg::FUnknown
virtual tresult PLUGIN_API queryInterface (const TUID _iid, void **obj)=0
 Query for a pointer to the specified interface.
 
virtual uint32 PLUGIN_API addRef ()=0
 Adds a reference and returns the new reference count.
 
virtual uint32 PLUGIN_API release ()=0
 Releases a reference and returns the new reference count.
 

Static Public Attributes

static const FUID iid
 
- Static Public Attributes inherited from Steinberg::FUnknown
static const FUID iid
 

Detailed Description

Extended host callback interface for an edit controller: Vst::IProgress.

Allows the plug-in to request the host to create a progress for some specific tasks which take some time. The host can visualize the progress as read-only UI elements. For example, after loading a project where a plug-in needs to load extra data (e.g. samples) in a background thread, this enables the host to get and visualize the current status of the loading progress and to inform the user when the loading is finished. Note: During the progress, the host can unload the plug-in at any time. Make sure that the plug-in supports this use case.

Example

//--------------------------------------
// we are in the editcontroller:
// as member: IProgress::ID mProgressID;
FUnknownPtr<IProgress> progress (componentHandler);
if (progress)
progress->start (IProgress::ProgressType::UIBackgroundTask, STR ("Load Samples..."), mProgressID);
// ...
myProgressValue += incProgressStep;
FUnknownPtr<IProgress> progress (componentHandler);
if (progress)
progress->update (mProgressID, myProgressValue);
// ...
FUnknownPtr<IProgress> progress (componentHandler);
if (progress)
progress->finish (mProgressID);
FUnknownPtr - automatic interface conversion and smart pointer in one.
Definition funknown.h:417
@ UIBackgroundTask
a plug-in task triggered by a UI action
See also
IComponentHandler

Definition at line 361 of file ivsteditcontroller.h.

Member Typedef Documentation

◆ ID

using Steinberg::Vst::IProgress::ID = uint64

Definition at line 371 of file ivsteditcontroller.h.

Member Enumeration Documentation

◆ ProgressType

Enumerator
AsyncStateRestoration 

plug-in state is restored async (in a background Thread)

UIBackgroundTask 

a plug-in task triggered by a UI action

Definition at line 365 of file ivsteditcontroller.h.

Member Function Documentation

◆ start()

virtual tresult PLUGIN_API Steinberg::Vst::IProgress::start ( ProgressType  type,
const tchar *  optionalDescription,
ID &  outID 
)
pure virtual

Start a new progress of a given type and optional Description.

outID is as ID created by the host to identify this newly created progress (for update and finish method)

Member Data Documentation

◆ iid

const FUID Steinberg::Vst::IProgress::iid
static

Definition at line 383 of file ivsteditcontroller.h.


The documentation for this class was generated from the following file: