synthclone  0.3.0
synthclone::SampleStream Class Reference

Base class for reading/writing Sample files. More...

#include <synthclone/samplestream.h>

Inheritance diagram for synthclone::SampleStream:
Collaboration diagram for synthclone::SampleStream:

Public Types

enum  EndianType { ENDIANTYPE_FILE = 0, ENDIANTYPE_LITTLE, ENDIANTYPE_BIG, ENDIANTYPE_CPU }
 Contains format endian types supported by sample streams. More...
 
enum  Offset { OFFSET_CURRENT = 0, OFFSET_END = 1, OFFSET_START = 2 }
 Offsets are used to set the position of the stream using the seek() call. More...
 
enum  SubType {
  SUBTYPE_UNKNOWN = -1, SUBTYPE_PCM_S8 = 0, SUBTYPE_PCM_U8, SUBTYPE_PCM_16,
  SUBTYPE_PCM_24, SUBTYPE_PCM_32, SUBTYPE_FLOAT, SUBTYPE_DOUBLE,
  SUBTYPE_ULAW, SUBTYPE_ALAW, SUBTYPE_IMA_ADPCM, SUBTYPE_MS_ADPCM,
  SUBTYPE_GSM610, SUBTYPE_VOX_ADPCM, SUBTYPE_G721_32, SUBTYPE_G723_24,
  SUBTYPE_G723_40, SUBTYPE_DWVW_12, SUBTYPE_DWVW_16, SUBTYPE_DWVW_24,
  SUBTYPE_DWVW_N, SUBTYPE_DPCM_8, SUBTYPE_DPCM_16, SUBTYPE_VORBIS
}
 Contains format sub-types supported by sample streams. More...
 
enum  Type {
  TYPE_UNKNOWN = -1, TYPE_AIFF = 0, TYPE_AU, TYPE_AVR,
  TYPE_CAF, TYPE_FLAC, TYPE_HTK, TYPE_IRCAM,
  TYPE_MAT4, TYPE_MAT5, TYPE_MPC2K, TYPE_NIST,
  TYPE_OGG, TYPE_PAF, TYPE_PVF, TYPE_RAW,
  TYPE_RF64, TYPE_SD2, TYPE_SDS, TYPE_SVX,
  TYPE_VOC, TYPE_W64, TYPE_WAV, TYPE_WAVEX,
  TYPE_WVE, TYPE_XI
}
 Contains format types supported by sample streams. More...
 

Public Member Functions

void close ()
 Closes the sample stream, which causes any unwritten data to be written to the sample. More...
 
SampleChannelCount getChannels () const
 Gets the channel count for the sample. More...
 
EndianType getEndianType () const
 Gets the format endian type of the underlying sample. More...
 
SampleFrameCount getFrames ()
 Gets the total number of frames in this sample. More...
 
SampleRate getSampleRate () const
 Gets the sample rate for this sample. More...
 
SubType getSubType () const
 Gets the format sub-type of the underlying sample. More...
 
Type getType () const
 Gets the format type of the underlying sample. More...
 
bool isClosed () const
 Gets a boolean indicating whether or not the stream is closed. More...
 
SampleFrameCount seek (SampleFrameCount frames, Offset offset)
 Sets the position of the stream in the sample file. More...
 

Protected Member Functions

 SampleStream (QObject *parent=0)
 
virtual ~SampleStream ()
 

Protected Attributes

SampleFile * file
 

Detailed Description

Base class for reading/writing Sample files.

See also
SampleInputStream, SampleOutputStream

Member Enumeration Documentation

◆ EndianType

Contains format endian types supported by sample streams.

Enumerator
ENDIANTYPE_FILE 
ENDIANTYPE_LITTLE 
ENDIANTYPE_BIG 
ENDIANTYPE_CPU 

◆ Offset

Offsets are used to set the position of the stream using the seek() call.

Enumerator
OFFSET_CURRENT 
OFFSET_END 
OFFSET_START 

◆ SubType

Contains format sub-types supported by sample streams.

Enumerator
SUBTYPE_UNKNOWN 
SUBTYPE_PCM_S8 
SUBTYPE_PCM_U8 
SUBTYPE_PCM_16 
SUBTYPE_PCM_24 
SUBTYPE_PCM_32 
SUBTYPE_FLOAT 
SUBTYPE_DOUBLE 
SUBTYPE_ULAW 
SUBTYPE_ALAW 
SUBTYPE_IMA_ADPCM 
SUBTYPE_MS_ADPCM 
SUBTYPE_GSM610 
SUBTYPE_VOX_ADPCM 
SUBTYPE_G721_32 
SUBTYPE_G723_24 
SUBTYPE_G723_40 
SUBTYPE_DWVW_12 
SUBTYPE_DWVW_16 
SUBTYPE_DWVW_24 
SUBTYPE_DWVW_N 
SUBTYPE_DPCM_8 
SUBTYPE_DPCM_16 
SUBTYPE_VORBIS 

◆ Type

Contains format types supported by sample streams.

Enumerator
TYPE_UNKNOWN 
TYPE_AIFF 
TYPE_AU 
TYPE_AVR 
TYPE_CAF 
TYPE_FLAC 
TYPE_HTK 
TYPE_IRCAM 
TYPE_MAT4 
TYPE_MAT5 
TYPE_MPC2K 
TYPE_NIST 
TYPE_OGG 
TYPE_PAF 
TYPE_PVF 
TYPE_RAW 
TYPE_RF64 
TYPE_SD2 
TYPE_SDS 
TYPE_SVX 
TYPE_VOC 
TYPE_W64 
TYPE_WAV 
TYPE_WAVEX 
TYPE_WVE 
TYPE_XI 

Constructor & Destructor Documentation

◆ SampleStream()

synthclone::SampleStream::SampleStream ( QObject *  parent = 0)
explicitprotected

◆ ~SampleStream()

virtual synthclone::SampleStream::~SampleStream ( )
protectedvirtual

Member Function Documentation

◆ close()

void synthclone::SampleStream::close ( )

Closes the sample stream, which causes any unwritten data to be written to the sample.

This is automatically called by the destructor.

◆ getChannels()

SampleChannelCount synthclone::SampleStream::getChannels ( ) const

Gets the channel count for the sample.

Returns
The channel count.

◆ getEndianType()

EndianType synthclone::SampleStream::getEndianType ( ) const

Gets the format endian type of the underlying sample.

Returns
The format endian type.

◆ getFrames()

SampleFrameCount synthclone::SampleStream::getFrames ( )

Gets the total number of frames in this sample.

Returns
The frame count.

◆ getSampleRate()

SampleRate synthclone::SampleStream::getSampleRate ( ) const

Gets the sample rate for this sample.

Returns
The sample rate.

◆ getSubType()

SubType synthclone::SampleStream::getSubType ( ) const

Gets the format sub-type of the underlying sample.

Returns
The format sub-type.

◆ getType()

Type synthclone::SampleStream::getType ( ) const

Gets the format type of the underlying sample.

Returns
The format type.

◆ isClosed()

bool synthclone::SampleStream::isClosed ( ) const

Gets a boolean indicating whether or not the stream is closed.

Returns
The boolean.

◆ seek()

SampleFrameCount synthclone::SampleStream::seek ( SampleFrameCount  frames,
Offset  offset 
)

Sets the position of the stream in the sample file.

Parameters
framesThe absolute frame count from the offset where the stream should be positioned.
offsetThe offset for stream positioning.
Returns
The new position.

Member Data Documentation

◆ file

SampleFile* synthclone::SampleStream::file
protected

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