Jamba C++ API  5.1.1
pongasoft::VST::GUI::Views Namespace Reference

Namespaces

 impl
 

Classes

class  CustomController
 Base class that a custom controller can inherit from. More...
 
class  CustomControlView
 Base class for custom views which are tied to one parameter only (similar to CControl). More...
 
class  CustomDiscreteControlView
 Specialization of TCustomControlView for discrete values. More...
 
class  CustomUIViewFactory
 Custom view factory to give access to vst parameters. More...
 
class  CustomView
 Class you should inherit from if you want to write a custom view. More...
 
class  CustomViewAdapter
 This class can be used to extend VSTGUI classes directly while still benefiting from the extensions added by Jamba. More...
 
class  CustomViewCreator
 Inherit from this class to provide the factory for a custom view. More...
 
class  DebugParamDisplayView
 This parameter simply extends ParamDisplayView to "highlight" the parameter for highlight-duration-ms milliseconds (by default 1s) when its value changes. More...
 
class  DiscreteButtonView
 A discrete button behaves like a toggle button except that it is on only if the control value (tied to a parameter) is equal to the step value (DiscreteButtonView::getStep() / step property in the xml). More...
 
class  GlobalKeyboardHook
 The CView class provides 2 methods to handle keyboard events (CView::onKeyDown and CView::onKeyUp) which only works as long as the view itself has focus. More...
 
class  ICustomViewLifecycle
 This interface defines some methods that are important in the lifecycle of a custom view. More...
 
class  ImageView
 This view simply renders an image (in addition to the background color). More...
 
struct  JambaViews
 Defines/Registers the views exported by the framework (since jamba is a static library defining the creators as global variables does not work). More...
 
class  MomentaryButtonView
 A momentary button is a button that lets you set the value of a parameter to its "on" value when pressed, otherwise its "off" value. More...
 
class  ParamDisplayView
 This view extends CParamDisplay to work for both Vst and Jmb parameters. More...
 
class  ParamImageView
 This view renders a param value as an image (the ParamDisplayView view renders a param value as a string). More...
 
class  PluginAccessor
 
class  PluginCustomController
 
class  PluginCustomView
 
class  PluginCustomViewAdapter
 
class  PluginView
 
class  ScrollbarView
 Generic scrollbar which handles scrolling and (optional) zooming via handles. More...
 
class  SelfContainedViewListener
 The purpose of this class is to implement a view listener that is "self-contained": More...
 
class  StateAware
 This class is used to get access to the GUI state and parameters of the plugin with their actual type. More...
 
class  StateAwareCustomController
 Override from this class if you need to implement a controller specific to a given plugin. More...
 
class  StateAwareCustomViewAdapter
 This class can be used to extend VST SDK classes directly while still benefiting from the extensions added by this framework (multiple param access and state access) More...
 
class  StateAwareView
 Override from this class if you need to implement a (custom) view specific to a given plugin. More...
 
class  StepButtonView
 A step button lets you step through the values of a parameter by repeatedly clicking on the button. More...
 
class  StepPadView
 A step pad lets you step through the values of a parameter by click dragging vertically or horizontally with the mouse. More...
 
class  SwitchViewContainer
 This view offers dynamic switching between multiple views. More...
 
class  TCustomControlView
 Base class which extends CustomControlView to provide the type (T) of the underlying parameter this view is managing. More...
 
class  TCustomViewCreator
 Generic custom view creator base class. More...
 
class  TextButtonView
 Extension of the CTextButton view to add more functionality. More...
 
class  TextEdit
 The purpose of this class is to adapt the constructor signature to a single element, required in the framework. More...
 
class  TextEditView
 Extends the CTextEdit view to tie it to a GUIJmbParam<UTF8String>. More...
 
class  ToggleButtonView
 A toggle button is a button that lets you toggle the value of a parameter between an "on" value and an "off" value. More...
 
class  ViewAttribute
 Base abstract class for an attribute of a view. More...
 

Typedefs

template<typename T >
using AttrValInitList = std::initializer_list< typename AttrValMap< T >::value_type >
 Defines the type to initialize an [AttrValMap], for an example check [TCustomViewCreator::registerListAttribute]. More...
 
template<typename T >
using AttrValMap = std::map< std::string, T >
 Defines a map of string to attribute value. More...
 
using RawCustomControlView = TCustomControlView< ParamValue >
 Specialization for raw parameter (ParamValue / no conversion). More...
 
template<typename TGUIState >
using StateAwareCustomView = StateAwareView< CustomView, TGUIState >
 Shortcut alias when implementing a StateAwareView where the view is a CustomView More...
 

Functions

template<typename TView >
TView * createCustomView (CRect const &iSize, const UIAttributes &iAttributes, const IUIDescription *)
 Factory method which creates the actual view. More...
 
template<>
SwitchViewContainercreateCustomView< SwitchViewContainer > (CRect const &iSize, const UIAttributes &iAttributes, const IUIDescription *iDescription)
 This specialization is required to inject the IUIDescription object used to dynamically create a view from a template name. More...
 
std::shared_ptr< GlobalKeyboardHookregisterGlobalKeyboardHook (CView *iView)
 This is the main entry point that you should use to register a global keyboard hook. More...
 

Typedef Documentation

◆ AttrValInitList

using AttrValInitList = std::initializer_list<typename AttrValMap<T>::value_type>

Defines the type to initialize an [AttrValMap], for an example check [TCustomViewCreator::registerListAttribute].

◆ AttrValMap

using AttrValMap = std::map<std::string, T>

Defines a map of string to attribute value.

◆ RawCustomControlView

Specialization for raw parameter (ParamValue / no conversion).

Note
Roughly speaking, this view is essentially the Jamba equivalent of CControl with all the bells and whistles added.

◆ StateAwareCustomView

Shortcut alias when implementing a StateAwareView where the view is a CustomView

See also
StateAwareView

Function Documentation

◆ createCustomView()

TView* pongasoft::VST::GUI::Views::createCustomView ( CRect const &  iSize,
const UIAttributes &  iAttributes,
const IUIDescription *   
)
inline

Factory method which creates the actual view.

Can be specialized for specific cases

Returns
the new view

◆ createCustomView< SwitchViewContainer >()

SwitchViewContainer * createCustomView< SwitchViewContainer > ( CRect const &  iSize,
const UIAttributes &  iAttributes,
const IUIDescription *  iDescription 
)

This specialization is required to inject the IUIDescription object used to dynamically create a view from a template name.

◆ registerGlobalKeyboardHook()

std::shared_ptr<GlobalKeyboardHook> pongasoft::VST::GUI::Views::registerGlobalKeyboardHook ( CView *  iView)
inline

This is the main entry point that you should use to register a global keyboard hook.

See GlobalKeyboardHook for an example.

Parameters
iViewthe view that becomes the target of key events even if it doesn't have the focus
Returns
the helper class on which you register the onKeyDown and onKeyUp callbacks