LMMS
Loading...
Searching...
No Matches
Steinberg::Vst::ReadOnlyBStream Class Reference

#include <vstpresetfile.h>

Inheritance diagram for Steinberg::Vst::ReadOnlyBStream:
Steinberg::IBStream Steinberg::FUnknown

Public Member Functions

 ReadOnlyBStream (IBStream *sourceStream, TSize sourceOffset, TSize sectionSize)
virtual ~ReadOnlyBStream ()
DECLARE_FUNKNOWN_METHODS tresult PLUGIN_API read (void *buffer, int32 numBytes, int32 *numBytesRead=nullptr) SMTG_OVERRIDE
tresult PLUGIN_API write (void *buffer, int32 numBytes, int32 *numBytesWritten=nullptr) SMTG_OVERRIDE
tresult PLUGIN_API seek (int64 pos, int32 mode, int64 *result=nullptr) SMTG_OVERRIDE
tresult PLUGIN_API tell (int64 *pos) SMTG_OVERRIDE
Public Member Functions inherited from Steinberg::FUnknown
virtual tresult PLUGIN_API queryInterface (const TUID _iid, void **obj)=0
virtual uint32 PLUGIN_API addRef ()=0
virtual uint32 PLUGIN_API release ()=0

Protected Attributes

IBStreamsourceStream
TSize sourceOffset
TSize sectionSize
TSize seekPosition

Additional Inherited Members

Public Types inherited from Steinberg::IBStream
enum  IStreamSeekMode { kIBSeekSet = 0 , kIBSeekCur , kIBSeekEnd }
Static Public Attributes inherited from Steinberg::IBStream
static const FUID iid
Static Public Attributes inherited from Steinberg::FUnknown
static const FUID iid

Detailed Description

Stream representing a Read-Only subsection of its source stream.

Constructor & Destructor Documentation

◆ ReadOnlyBStream()

Steinberg::Vst::ReadOnlyBStream::ReadOnlyBStream ( IBStream * sourceStream,
TSize sourceOffset,
TSize sectionSize )

◆ ~ReadOnlyBStream()

Steinberg::Vst::ReadOnlyBStream::~ReadOnlyBStream ( )
virtual

Member Function Documentation

◆ read()

tresult PLUGIN_API Steinberg::Vst::ReadOnlyBStream::read ( void * buffer,
int32 numBytes,
int32 * numBytesRead = nullptr )
virtual

Reads binary data from stream.

Parameters
buffer: destination buffer
numBytes: amount of bytes to be read
numBytesRead: result - how many bytes have been read from stream (set to 0 if this is of no interest)

Implements Steinberg::IBStream.

◆ seek()

tresult PLUGIN_API Steinberg::Vst::ReadOnlyBStream::seek ( int64 pos,
int32 mode,
int64 * result = nullptr )
virtual

Sets stream read-write position.

Parameters
pos: new stream position (dependent on mode)
mode: value of enum IStreamSeekMode
result: new seek position (set to 0 if this is of no interest)

Implements Steinberg::IBStream.

◆ tell()

tresult PLUGIN_API Steinberg::Vst::ReadOnlyBStream::tell ( int64 * pos)
virtual

Gets current stream read-write position.

Parameters
pos: is assigned the current position if function succeeds

Implements Steinberg::IBStream.

◆ write()

tresult PLUGIN_API Steinberg::Vst::ReadOnlyBStream::write ( void * buffer,
int32 numBytes,
int32 * numBytesWritten = nullptr )
virtual

Writes binary data to stream.

Parameters
buffer: source buffer
numBytes: amount of bytes to write
numBytesWritten: result - how many bytes have been written to stream (set to 0 if this is of no interest)

Implements Steinberg::IBStream.

Member Data Documentation

◆ sectionSize

TSize Steinberg::Vst::ReadOnlyBStream::sectionSize
protected

◆ seekPosition

TSize Steinberg::Vst::ReadOnlyBStream::seekPosition
protected

◆ sourceOffset

TSize Steinberg::Vst::ReadOnlyBStream::sourceOffset
protected

◆ sourceStream

IBStream* Steinberg::Vst::ReadOnlyBStream::sourceStream
protected

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