Struct thl::modulation::VoiceBuffers#

struct VoiceBuffers#

Collaboration diagram for thl::modulation::VoiceBuffers:

digraph { graph [bgcolor="#00000000"] node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2] edge [color="#1414CE"] "1" [label="thl::modulation::VoiceBuffers" tooltip="thl::modulation::VoiceBuffers" fillcolor="#BFBFBF"] "2" [label="std::vector< float >" tooltip="std::vector< float >"] "4" [label="std::vector< std::vector< uint32_t > >" tooltip="std::vector< std::vector< uint32_t > >"] "5" [label="std::vector< uint32_t >" tooltip="std::vector< uint32_t >"] "6" [label="std::vector< uint64_t >" tooltip="std::vector< uint64_t >"] "3" [label="std::vector< uint8_t >" tooltip="std::vector< uint8_t >"] "1" -> "2" [dir=forward tooltip="usage"] "1" -> "3" [dir=forward tooltip="usage"] "1" -> "4" [dir=forward tooltip="usage"] "1" -> "5" [dir=forward tooltip="usage"] "1" -> "6" [dir=forward tooltip="usage"] "4" -> "5" [dir=forward tooltip="usage"] }

Public Functions

VoiceBuffers() = default#
inline VoiceBuffers(uint32_t num_voices, size_t block_size, bool has_additive, bool has_replace, bool has_replace_priority)#
inline float *additive_voice(uint32_t v)#
inline const float *additive_voice(uint32_t v) const#
inline float *replace_voice(uint32_t v)#
inline const float *replace_voice(uint32_t v) const#
inline uint8_t *replace_active_voice(uint32_t v)#
inline const uint8_t *replace_active_voice(uint32_t v) const#
inline uint32_t *replace_priority_voice(uint32_t v)#
inline const uint32_t *replace_priority_voice(uint32_t v) const#
inline uint64_t *replace_freshness_voice(uint32_t v)#
inline const uint64_t *replace_freshness_voice(uint32_t v) const#
inline void clear_per_block()#
inline void build_change_points()#

Public Members

uint32_t m_num_voices = 0#
size_t m_block_size = 0#
bool m_has_additive = false#
std::vector<float> m_additive_storage#
std::vector<uint8_t> m_change_point_flags_storage#
std::vector<std::vector<uint32_t>> m_change_points#
bool m_has_replace = false#
std::vector<float> m_replace_storage#
std::vector<uint8_t> m_replace_active_storage#
bool m_has_replace_priority = false#
std::vector<uint32_t> m_replace_priority_storage#
std::vector<uint64_t> m_replace_freshness_storage#