|
Jamba C++ API
6.3.0
|
Classes | |
| class | ExpiringDataCache |
| The purpose of this class is to implement a short live cache (time to live (or TTL) being a constructor parameter) for data. More... | |
| class | FastWriteMemoryStream |
This class is a copy of MemoryStream for the purpose of fixing the growing issue encountered on Windows 10 when writing a lot of data to it. More... | |
| class | ReadOnlyMemoryStream |
Functions | |
| template<typename T , typename... Args> | |
| std::shared_ptr< T > | make_sfo (Args &&...iArgs) |
The VST SDK uses the concept of FObject (which are self contained reference counted objects) but require to be manually managed (by calling addRef and release). More... | |
| template<typename... Args> | |
| VstString16 | printf16 (VstString16 const &iFormat, Args &&...iArgs) |
Equivalent to printf but for VstString16 More... | |
| std::string | toUT8String (VstString16 const &iString) |
Converts a VstString16 to a regular std::string that is properly utf-8 encoded. More... | |
| template<typename T > | |
| std::string | toUTF8String (T const &iValue, Steinberg::int32 iPrecision) |
This generic function will determine (at compilation time) whether T can be written to an ostream and if that is the case, will use this information to build the string. More... | |
| std::shared_ptr<T> pongasoft::VST::VstUtils::make_sfo | ( | Args &&... | iArgs | ) |
The VST SDK uses the concept of FObject (which are self contained reference counted objects) but require to be manually managed (by calling addRef and release).
In a few instances (GUIValParameter and GUIJmbParameter), Jamba creates and manages std::shared_ptr while using the underlying raw pointer with VST SDK classes. So in order to marry the 2 worlds, this util method creates a shared_ptr whose deleter simply delegates to the FObject::release method:
p->release() will destroy the objectFObjectCx still holds a reference) and the shared_ptr goes away, then p->release() only decrements the counter and whenever FObjectCx goes away, it will call p->release() which will then destroy the object | VstString16 pongasoft::VST::VstUtils::printf16 | ( | VstString16 const & | iFormat, |
| Args &&... | iArgs | ||
| ) |
Equivalent to printf but for VstString16
|
inline |
Converts a VstString16 to a regular std::string that is properly utf-8 encoded.
| std::string pongasoft::VST::VstUtils::toUTF8String | ( | T const & | iValue, |
| Steinberg::int32 | iPrecision | ||
| ) |
This generic function will determine (at compilation time) whether T can be written to an ostream and if that is the case, will use this information to build the string.
Otherwise returns an empty string.