LMMS
Loading...
Searching...
No Matches
Steinberg::IBStream Class Referenceabstract

#include <ibstream.h>

Inheritance diagram for Steinberg::IBStream:
Steinberg::FUnknown Steinberg::MemoryStream Steinberg::Vst::BufferStream Steinberg::Vst::FileStream Steinberg::Vst::ReadOnlyBStream

Public Types

enum  IStreamSeekMode { kIBSeekSet = 0 , kIBSeekCur , kIBSeekEnd }

Public Member Functions

virtual tresult PLUGIN_API read (void *buffer, int32 numBytes, int32 *numBytesRead=nullptr)=0
virtual tresult PLUGIN_API write (void *buffer, int32 numBytes, int32 *numBytesWritten=nullptr)=0
virtual tresult PLUGIN_API seek (int64 pos, int32 mode, int64 *result=nullptr)=0
virtual tresult PLUGIN_API tell (int64 *pos)=0
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

Static Public Attributes

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

Detailed Description

Base class for streams.

  • read/write binary data from/to stream
  • get/set stream read-write position (read and write position is the same)

Member Enumeration Documentation

◆ IStreamSeekMode

Enumerator
kIBSeekSet 

set absolute seek position

kIBSeekCur 

set seek position relative to current position

kIBSeekEnd 

set seek position relative to stream end

Member Function Documentation

◆ read()

virtual tresult PLUGIN_API Steinberg::IBStream::read ( void * buffer,
int32 numBytes,
int32 * numBytesRead = nullptr )
pure 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)

Implemented in Steinberg::MemoryStream, Steinberg::Vst::BufferStream, Steinberg::Vst::FileStream, and Steinberg::Vst::ReadOnlyBStream.

◆ seek()

virtual tresult PLUGIN_API Steinberg::IBStream::seek ( int64 pos,
int32 mode,
int64 * result = nullptr )
pure 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)

Implemented in Steinberg::MemoryStream, Steinberg::Vst::BufferStream, Steinberg::Vst::FileStream, and Steinberg::Vst::ReadOnlyBStream.

◆ tell()

virtual tresult PLUGIN_API Steinberg::IBStream::tell ( int64 * pos)
pure virtual

Gets current stream read-write position.

Parameters
pos: is assigned the current position if function succeeds

Implemented in Steinberg::MemoryStream, Steinberg::Vst::BufferStream, Steinberg::Vst::FileStream, and Steinberg::Vst::ReadOnlyBStream.

◆ write()

virtual tresult PLUGIN_API Steinberg::IBStream::write ( void * buffer,
int32 numBytes,
int32 * numBytesWritten = nullptr )
pure 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)

Implemented in Steinberg::MemoryStream, Steinberg::Vst::BufferStream, Steinberg::Vst::FileStream, and Steinberg::Vst::ReadOnlyBStream.

Member Data Documentation

◆ iid

const FUID Steinberg::IBStream::iid
static

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