BaseTypes.h File Reference
#include <cstdint>
#include <complex>
#include <vector>
#include <bqvec/Allocators.h>
Include dependency graph for BaseTypes.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Typedefs

typedef int64_t sv_frame_t
 Frame index, the unit of our time axis. More...
 
typedef double sv_samplerate_t
 Sample rate. More...
 
typedef std::vector< float, breakfastquay::StlAllocator< float > > floatvec_t
 
typedef std::vector< std::complex< float >, breakfastquay::StlAllocator< std::complex< float > > > complexvec_t
 
typedef uint64_t sv_id_t
 

Enumerations

enum  { ID_NOTHING = 0 }
 

Functions

template<typename T , typename C >
bool in_range_for (const C &container, T i)
 Check whether an integer index is in range for a container, avoiding overflows and signed/unsigned comparison warnings. More...
 

Typedef Documentation

typedef int64_t sv_frame_t

Frame index, the unit of our time axis.

This is signed because the axis conceptually extends below zero: zero represents the start of the main loaded audio model, not the start of time; a windowed transform could legitimately produce results before then. We also use this for frame counts, simply to avoid error-prone arithmetic between signed and unsigned types.

Definition at line 31 of file BaseTypes.h.

typedef double sv_samplerate_t

Sample rate.

We have to deal with sample rates provided as float or (unsigned) int types, so we might as well have a type that can represent both. Storage size isn't an issue anyway.

Definition at line 51 of file BaseTypes.h.

typedef std::vector<float, breakfastquay::StlAllocator<float> > floatvec_t

Definition at line 53 of file BaseTypes.h.

typedef std::vector<std::complex<float>, breakfastquay::StlAllocator<std::complex<float> > > complexvec_t

Definition at line 56 of file BaseTypes.h.

typedef uint64_t sv_id_t

Definition at line 58 of file BaseTypes.h.

Enumeration Type Documentation

anonymous enum
Enumerator
ID_NOTHING 

Definition at line 60 of file BaseTypes.h.

Function Documentation

template<typename T , typename C >
bool in_range_for ( const C &  container,
i 
)

Check whether an integer index is in range for a container, avoiding overflows and signed/unsigned comparison warnings.

Definition at line 37 of file BaseTypes.h.

Referenced by RecentFiles::add(), FeatureExtractionModelTransformer::addFeature(), AggregateWaveModel::AggregateWaveModel(), Dense3DModelPeakCache::fillColumn(), FeatureExtractionModelTransformer::getAdditionalModel(), EditableDenseThreeDimensionalModel::getColumn(), BasicCompressedDenseThreeDimensionalModel::getColumn(), ModelTransformerFactory::getConfigurationForTransform(), LADSPAPluginInstance::getControlOutputValue(), DSSIPluginInstance::getControlOutputValue(), AggregateWaveModel::getData(), EventSeries::getEventByIndex(), FeatureExtractionModelTransformer::getFrames(), WavFileReader::getInterleavedFrames(), WaveformOversampler::getOversampledData(), DSSIPluginInstance::getParameter(), LADSPAPluginInstance::getParameterDefault(), DSSIPluginInstance::getParameterDefault(), DSSIPluginInstance::getParameterDescriptors(), LADSPAPluginInstance::getParameterDisplayHint(), DSSIPluginInstance::getParameterDisplayHint(), LADSPAPluginInstance::getParameterValue(), DSSIPluginInstance::getParameterValue(), ReadOnlyWaveFileModel::getSummaries(), EditableDenseThreeDimensionalModel::getValueAt(), BasicCompressedDenseThreeDimensionalModel::getValueAt(), Dense3DModelPeakCache::haveColumn(), FeatureExtractionModelTransformer::initialise(), ColumnOp::isPeak(), ColumnOp::peakPick(), TransformFactory::populateFeatureExtractionPlugins(), TransformFactory::populateRealTimePlugins(), FeatureExtractionModelTransformer::run(), EventSeries::seamsEqual(), EditableDenseThreeDimensionalModel::setColumn(), BasicCompressedDenseThreeDimensionalModel::setColumn(), CSVFormat::setColumnPurposes(), DSSIPluginInstance::setParameter(), LADSPAPluginInstance::setParameterValue(), DSSIPluginInstance::setParameterValue(), DSSIPluginInstance::setPortValueFromController(), EditableDenseThreeDimensionalModel::shouldUseLogValueScale(), BasicCompressedDenseThreeDimensionalModel::shouldUseLogValueScale(), DenseTimeValueModel::toStringExportRows(), EditableDenseThreeDimensionalModel::toStringExportRows(), BasicCompressedDenseThreeDimensionalModel::toStringExportRows(), EditableDenseThreeDimensionalModel::toXml(), BasicCompressedDenseThreeDimensionalModel::toXml(), ModelTransformerFactory::transformMultiple(), BasicCompressedDenseThreeDimensionalModel::truncateAndStore(), RecentFiles::write(), WavFileWriter::writeModel(), and DSSIPluginInstance::~DSSIPluginInstance().