source2sdk/sdk/soundsystem.hpp

1252 lines
34 KiB
C++
Raw Normal View History

2023-03-15 15:20:35 +00:00
#pragma once
#include <cstdint>
#include "!GlobalTypes.hpp"
2023-03-23 14:05:13 +00:00
// /////////////////////////////////////////////////////////////
2023-03-15 15:20:35 +00:00
// Binary: soundsystem.dll
2024-02-12 00:06:50 +00:00
// Classes count: 51
2023-03-23 14:05:13 +00:00
// Enums count: 13
// Created using source2gen - github.com/neverlosecc/source2gen
// /////////////////////////////////////////////////////////////
2023-03-15 15:20:35 +00:00
// Registered binary: soundsystem.dll (project 'soundsystem')
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x1e
2023-03-15 15:20:35 +00:00
enum class soundlevel_t : uint32_t
{
SNDLVL_NONE = 0x0,
SNDLVL_20dB = 0x14,
SNDLVL_25dB = 0x19,
SNDLVL_30dB = 0x1e,
SNDLVL_35dB = 0x23,
SNDLVL_40dB = 0x28,
SNDLVL_45dB = 0x2d,
SNDLVL_50dB = 0x32,
SNDLVL_55dB = 0x37,
SNDLVL_IDLE = 0x3c,
SNDLVL_60dB = 0x3c,
SNDLVL_65dB = 0x41,
SNDLVL_STATIC = 0x42,
SNDLVL_70dB = 0x46,
SNDLVL_NORM = 0x4b,
SNDLVL_75dB = 0x4b,
SNDLVL_80dB = 0x50,
SNDLVL_TALKING = 0x50,
SNDLVL_85dB = 0x55,
SNDLVL_90dB = 0x5a,
SNDLVL_95dB = 0x5f,
SNDLVL_100dB = 0x64,
SNDLVL_105dB = 0x69,
SNDLVL_110dB = 0x6e,
SNDLVL_120dB = 0x78,
SNDLVL_130dB = 0x82,
SNDLVL_GUNFIRE = 0x8c,
SNDLVL_140dB = 0x8c,
SNDLVL_150dB = 0x96,
SNDLVL_180dB = 0xb4,
};
// Registered binary: soundsystem.dll (project 'soundsystem')
2023-03-23 14:05:13 +00:00
// Alignment: 4
2024-02-12 00:06:50 +00:00
// Size: 0x6
2023-03-15 15:20:35 +00:00
enum class ActionType_t : uint32_t
{
// MPropertyFriendlyName "None"
2023-03-15 15:20:35 +00:00
SOS_ACTION_NONE = 0x0,
// MPropertyFriendlyName "Limiter"
2023-03-15 15:20:35 +00:00
SOS_ACTION_LIMITER = 0x1,
// MPropertyFriendlyName "Time Limiter"
2023-03-15 15:20:35 +00:00
SOS_ACTION_TIME_LIMIT = 0x2,
2024-02-12 00:06:50 +00:00
// MPropertyFriendlyName "Timed Block Limiter"
SOS_ACTION_TIME_BLOCK_LIMITER = 0x3,
// MPropertyFriendlyName "Set Sound Event Parameter"
2024-02-12 00:06:50 +00:00
SOS_ACTION_SET_SOUNDEVENT_PARAM = 0x4,
// MPropertyFriendlyName "Soundevent Cluster"
SOS_ACTION_SOUNDEVENT_CLUSTER = 0x5,
2023-03-15 15:20:35 +00:00
};
// Registered binary: soundsystem.dll (project 'soundsystem')
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x3
2023-03-15 15:20:35 +00:00
enum class SosActionStopType_t : uint32_t
{
// MPropertyFriendlyName "None"
2023-03-15 15:20:35 +00:00
SOS_STOPTYPE_NONE = 0x0,
// MPropertyFriendlyName "Elapsed Time"
2023-03-15 15:20:35 +00:00
SOS_STOPTYPE_TIME = 0x1,
// MPropertyFriendlyName "Opvar"
2023-03-15 15:20:35 +00:00
SOS_STOPTYPE_OPVAR = 0x2,
};
// Registered binary: soundsystem.dll (project 'soundsystem')
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x2
2023-03-15 15:20:35 +00:00
enum class SosActionSortType_t : uint32_t
{
// MPropertyFriendlyName "Highest"
2023-03-15 15:20:35 +00:00
SOS_SORTTYPE_HIGHEST = 0x0,
// MPropertyFriendlyName "Lowest"
2023-03-15 15:20:35 +00:00
SOS_SORTTYPE_LOWEST = 0x1,
};
// Registered binary: soundsystem.dll (project 'soundsystem')
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x2
2023-03-15 15:20:35 +00:00
enum class SosGroupType_t : uint32_t
{
// MPropertyFriendlyName "Dynamic"
2023-03-15 15:20:35 +00:00
SOS_GROUPTYPE_DYNAMIC = 0x0,
// MPropertyFriendlyName "Static"
2023-03-15 15:20:35 +00:00
SOS_GROUPTYPE_STATIC = 0x1,
};
// Registered binary: soundsystem.dll (project 'soundsystem')
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x6
2023-03-15 15:20:35 +00:00
enum class SosEditItemType_t : uint32_t
{
SOS_EDIT_ITEM_TYPE_SOUNDEVENTS = 0x0,
SOS_EDIT_ITEM_TYPE_SOUNDEVENT = 0x1,
SOS_EDIT_ITEM_TYPE_LIBRARYSTACKS = 0x2,
SOS_EDIT_ITEM_TYPE_STACK = 0x3,
SOS_EDIT_ITEM_TYPE_OPERATOR = 0x4,
SOS_EDIT_ITEM_TYPE_FIELD = 0x5,
};
// Registered binary: soundsystem.dll (project 'soundsystem_lowlevel')
2023-03-23 14:05:13 +00:00
// Alignment: 2
// Size: 0xa
2023-03-15 15:20:35 +00:00
enum class VMixFilterType_t : uint16_t
{
2023-03-23 14:05:13 +00:00
FILTER_UNKNOWN = 0xffffffffffffffff,
FILTER_LOWPASS = 0x0,
FILTER_HIGHPASS = 0x1,
FILTER_BANDPASS = 0x2,
FILTER_NOTCH = 0x3,
FILTER_PEAKING_EQ = 0x4,
FILTER_LOW_SHELF = 0x5,
FILTER_HIGH_SHELF = 0x6,
FILTER_ALLPASS = 0x7,
FILTER_PASSTHROUGH = 0x8,
2023-03-15 15:20:35 +00:00
};
// Registered binary: soundsystem.dll (project 'soundsystem_lowlevel')
2023-03-23 14:05:13 +00:00
// Alignment: 1
// Size: 0x9
2023-03-15 15:20:35 +00:00
enum class VMixFilterSlope_t : uint8_t
{
2023-03-23 14:05:13 +00:00
FILTER_SLOPE_1POLE_6dB = 0x0,
FILTER_SLOPE_1POLE_12dB = 0x1,
FILTER_SLOPE_1POLE_18dB = 0x2,
FILTER_SLOPE_1POLE_24dB = 0x3,
FILTER_SLOPE_12dB = 0x4,
FILTER_SLOPE_24dB = 0x5,
FILTER_SLOPE_36dB = 0x6,
FILTER_SLOPE_48dB = 0x7,
FILTER_SLOPE_MAX = 0x7,
2023-03-15 15:20:35 +00:00
};
// Registered binary: soundsystem.dll (project 'soundsystem_lowlevel')
2023-03-23 14:05:13 +00:00
// Alignment: 2
// Size: 0x1e
2023-03-15 15:20:35 +00:00
enum class VMixProcessorType_t : uint16_t
{
2023-03-23 14:05:13 +00:00
VPROCESSOR_UNKNOWN = 0x0,
VPROCESSOR_STEAMAUDIO_REVERB = 0x1,
VPROCESSOR_RT_PITCH = 0x2,
VPROCESSOR_STEAMAUDIO_HRTF = 0x3,
VPROCESSOR_DYNAMICS = 0x4,
VPROCESSOR_PRESETDSP = 0x5,
VPROCESSOR_DELAY = 0x6,
VPROCESSOR_MOD_DELAY = 0x7,
VPROCESSOR_DIFFUSOR = 0x8,
VPROCESSOR_BOXVERB = 0x9,
VPROCESSOR_FREEVERB = 0xa,
VPROCESSOR_PLATEVERB = 0xb,
VPROCESSOR_FULLWAVE_INTEGRATOR = 0xc,
VPROCESSOR_FILTER = 0xd,
VPROCESSOR_STEAMAUDIO_PATHING = 0xe,
VPROCESSOR_EQ8 = 0xf,
VPROCESSOR_ENVELOPE = 0x10,
VPROCESSOR_VOCODER = 0x11,
VPROCESSOR_CONVOLUTION = 0x12,
VPROCESSOR_DYNAMICS_3BAND = 0x13,
VPROCESSOR_DYNAMICS_COMPRESSOR = 0x14,
VPROCESSOR_SHAPER = 0x15,
VPROCESSOR_PANNER = 0x16,
VPROCESSOR_UTILITY = 0x17,
VPROCESSOR_AUTOFILTER = 0x18,
VPROCESSOR_OSC = 0x19,
VPROCESSOR_STEREODELAY = 0x1a,
VPROCESSOR_EFFECT_CHAIN = 0x1b,
VPROCESSOR_SUBGRAPH_SWITCH = 0x1c,
VPROCESSOR_STEAMAUDIO_DIRECT = 0x1d,
};
// Registered binary: soundsystem.dll (project 'soundsystem_lowlevel')
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x5
2023-03-15 15:20:35 +00:00
enum class VMixLFOShape_t : uint32_t
{
LFO_SHAPE_SINE = 0x0,
LFO_SHAPE_SQUARE = 0x1,
LFO_SHAPE_TRI = 0x2,
LFO_SHAPE_SAW = 0x3,
LFO_SHAPE_NOISE = 0x4,
};
// Registered binary: soundsystem.dll (project 'soundsystem_lowlevel')
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x2
2023-03-15 15:20:35 +00:00
enum class VMixPannerType_t : uint32_t
{
PANNER_TYPE_LINEAR = 0x0,
PANNER_TYPE_EQUAL_POWER = 0x1,
};
// Registered binary: soundsystem.dll (project 'soundsystem_lowlevel')
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x3
2023-03-15 15:20:35 +00:00
enum class VMixSubgraphSwitchInterpolationType_t : uint32_t
{
SUBGRAPH_INTERPOLATION_TEMPORAL_CROSSFADE = 0x0,
SUBGRAPH_INTERPOLATION_TEMPORAL_FADE_OUT = 0x1,
SUBGRAPH_INTERPOLATION_KEEP_LAST_SUBGRAPH_RUNNING = 0x2,
};
// Registered binary: soundsystem.dll (project 'soundsystem_lowlevel')
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x6
2023-03-15 15:20:35 +00:00
enum class VMixChannelOperation_t : uint32_t
{
VMIX_CHAN_STEREO = 0x0,
VMIX_CHAN_LEFT = 0x1,
VMIX_CHAN_RIGHT = 0x2,
VMIX_CHAN_SWAP = 0x3,
VMIX_CHAN_MONO = 0x4,
VMIX_CHAN_MID_SIDE = 0x5,
};
2023-03-23 14:05:13 +00:00
struct CSosGroupMatchPattern;
struct CSosGroupBranchPattern;
struct VMixFilterDesc_t;
// Registered binary: soundsystem.dll (project 'soundsystem')
// Alignment: 8
2023-03-23 14:05:13 +00:00
// Size: 0x18
// Has VTable
//
// MGetKV3ClassDefaults
// MPropertyElementNameFn
2023-03-15 15:20:35 +00:00
class CSosGroupActionSchema
{
2023-03-25 17:14:12 +00:00
private:
[[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0
2023-03-15 15:20:35 +00:00
public:
// MPropertyFriendlyName "Name"
2023-03-23 14:05:13 +00:00
CUtlString m_name; // 0x8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Action Type"
2023-03-23 14:05:13 +00:00
ActionType_t m_actionType; // 0x10
2023-03-15 15:20:35 +00:00
// MPropertySuppressField
2023-03-23 14:05:13 +00:00
ActionType_t m_actionInstanceType; // 0x14
2023-03-15 15:20:35 +00:00
};
// Registered binary: soundsystem.dll (project 'soundsystem')
// Alignment: 8
2023-03-23 14:05:13 +00:00
// Size: 0x28
// Has VTable
//
// MGetKV3ClassDefaults
2023-03-15 15:20:35 +00:00
class CSosGroupActionLimitSchema : public CSosGroupActionSchema
{
public:
// MPropertyFriendlyName "Max Count"
2023-03-23 14:05:13 +00:00
int32_t m_nMaxCount; // 0x18
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Stop Type"
2023-03-23 14:05:13 +00:00
SosActionStopType_t m_nStopType; // 0x1c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Sort Type"
2023-03-23 14:05:13 +00:00
SosActionSortType_t m_nSortType; // 0x20
2023-03-15 15:20:35 +00:00
};
// Registered binary: soundsystem.dll (project 'soundsystem')
// Alignment: 8
2023-03-23 14:05:13 +00:00
// Size: 0x20
// Has VTable
//
// MGetKV3ClassDefaults
2023-03-15 15:20:35 +00:00
class CSosGroupActionTimeLimitSchema : public CSosGroupActionSchema
{
public:
// MPropertyFriendlyName "Max Time"
2023-03-23 14:05:13 +00:00
float m_flMaxDuration; // 0x18
2023-03-15 15:20:35 +00:00
};
2024-02-12 00:06:50 +00:00
// Registered binary: soundsystem.dll (project 'soundsystem')
// Alignment: 8
// Size: 0x20
// Has VTable
//
// MGetKV3ClassDefaults
class CSosGroupActionTimeBlockLimitSchema : public CSosGroupActionSchema
{
public:
// MPropertyFriendlyName "Max Count"
int32_t m_nMaxCount; // 0x18
// MPropertyFriendlyName "Max Time"
float m_flMaxDuration; // 0x1c
};
// Registered binary: soundsystem.dll (project 'soundsystem')
// Alignment: 8
2023-08-31 01:50:54 +00:00
// Size: 0x38
// Has VTable
//
// MGetKV3ClassDefaults
2023-08-31 01:50:54 +00:00
class CSosGroupActionSetSoundeventParameterSchema : public CSosGroupActionSchema
{
public:
// MPropertyFriendlyName "Max Count"
int32_t m_nMaxCount; // 0x18
// MPropertyFriendlyName "Minimum Value"
float m_flMinValue; // 0x1c
// MPropertyFriendlyName "Maximum Value"
float m_flMaxValue; // 0x20
private:
[[maybe_unused]] uint8_t __pad0024[0x4]; // 0x24
public:
// MPropertyFriendlyName "Parameter Name"
CUtlString m_opvarName; // 0x28
// MPropertyFriendlyName "Sort Type"
SosActionSortType_t m_nSortType; // 0x30
};
2024-02-12 00:06:50 +00:00
// Registered binary: soundsystem.dll (project 'soundsystem')
// Alignment: 8
// Size: 0x48
// Has VTable
//
// MGetKV3ClassDefaults
class CSosGroupActionSoundeventClusterSchema : public CSosGroupActionSchema
{
public:
// MPropertyFriendlyName "Minimum Nearby Soundevents"
int32_t m_nMinNearby; // 0x18
// MPropertyFriendlyName "Search Radius to Cluster Soundevents"
float m_flClusterEpsilon; // 0x1c
// MPropertyFriendlyName "'Should Play' Opvar Name"
CUtlString m_shouldPlayOpvar; // 0x20
// MPropertyFriendlyName "'Should Play Cluster Child' Opvar Name"
CUtlString m_shouldPlayClusterChild; // 0x28
// MPropertyFriendlyName "Cluster Size Opvar Name"
CUtlString m_clusterSizeOpvar; // 0x30
// MPropertyFriendlyName "'Group Box Mins' Opvar Name"
CUtlString m_groupBoundingBoxMinsOpvar; // 0x38
// MPropertyFriendlyName "'Group Box Maxs' Opvar Name"
CUtlString m_groupBoundingBoxMaxsOpvar; // 0x40
};
// Registered binary: soundsystem.dll (project 'soundsystem')
// Alignment: 8
2023-03-23 14:05:13 +00:00
// Size: 0x10
// Has VTable
// Has Trivial Destructor
//
// MGetKV3ClassDefaults
2023-03-15 15:20:35 +00:00
class CSosGroupBranchPattern
{
2023-03-25 17:14:12 +00:00
private:
[[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0
2023-03-15 15:20:35 +00:00
public:
// MPropertyFriendlyName "Event Name"
2023-03-23 14:05:13 +00:00
bool m_bMatchEventName; // 0x8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Sub-String"
2023-03-23 14:05:13 +00:00
bool m_bMatchEventSubString; // 0x9
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Source Entity Index"
2023-03-23 14:05:13 +00:00
bool m_bMatchEntIndex; // 0xa
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Operator Variable"
2023-03-23 14:05:13 +00:00
bool m_bMatchOpvar; // 0xb
2023-03-15 15:20:35 +00:00
};
// Registered binary: soundsystem.dll (project 'soundsystem')
// Alignment: 8
2023-03-23 14:05:13 +00:00
// Size: 0x28
// Has VTable
//
// MGetKV3ClassDefaults
2023-03-15 15:20:35 +00:00
class CSosGroupMatchPattern : public CSosGroupBranchPattern
{
public:
// MPropertyFriendlyName "Event Name"
2023-03-23 14:05:13 +00:00
CUtlString m_matchSoundEventName; // 0x10
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Sub-String"
2023-03-23 14:05:13 +00:00
CUtlString m_matchSoundEventSubString; // 0x18
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Entity Index"
2023-03-23 14:05:13 +00:00
float m_flEntIndex; // 0x20
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Operator Variable Value"
2023-03-23 14:05:13 +00:00
float m_flOpvar; // 0x24
2023-03-15 15:20:35 +00:00
};
// Registered binary: soundsystem.dll (project 'soundsystem')
2023-03-23 14:05:13 +00:00
// Alignment: 8
// Size: 0xd0
//
// MGetKV3ClassDefaults
// MPropertyElementNameFn
2023-03-15 15:20:35 +00:00
class CSosSoundEventGroupSchema
{
public:
// MPropertyFriendlyName "Group Name"
2023-03-23 14:05:13 +00:00
CUtlString m_name; // 0x0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Group Type"
2023-03-23 14:05:13 +00:00
SosGroupType_t m_nType; // 0x8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Blocks Events"
2023-03-23 14:05:13 +00:00
bool m_bIsBlocking; // 0xc
private:
2023-03-24 22:01:31 +00:00
[[maybe_unused]] uint8_t __pad000d[0x3]; // 0xd
2023-03-23 14:05:13 +00:00
public:
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Block Max Count"
2023-03-23 14:05:13 +00:00
int32_t m_nBlockMaxCount; // 0x10
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Invert Match"
2023-03-23 14:05:13 +00:00
bool m_bInvertMatch; // 0x14
private:
2023-03-24 22:01:31 +00:00
[[maybe_unused]] uint8_t __pad0015[0x3]; // 0x15
2023-03-23 14:05:13 +00:00
public:
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Match Rules"
2024-02-12 00:06:50 +00:00
// -> m_matchSoundEventName - 0x28
// -> m_matchSoundEventSubString - 0x30
// -> m_flEntIndex - 0x38
// -> m_flOpvar - 0x3c
2023-03-23 14:05:13 +00:00
CSosGroupMatchPattern m_matchPattern; // 0x18
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Branch Rules"
2024-02-12 00:06:50 +00:00
// -> m_bMatchEventName - 0x48
// -> m_bMatchEventSubString - 0x49
// -> m_bMatchEntIndex - 0x4a
// -> m_bMatchOpvar - 0x4b
2023-03-23 14:05:13 +00:00
CSosGroupBranchPattern m_branchPattern; // 0x40
private:
2023-03-24 22:01:31 +00:00
[[maybe_unused]] uint8_t __pad0050[0x60]; // 0x50
2023-03-23 14:05:13 +00:00
public:
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Actions"
2023-03-23 14:05:13 +00:00
CSosGroupActionSchema* m_vActions[4]; // 0xb0
2023-03-15 15:20:35 +00:00
};
// Registered binary: soundsystem.dll (project 'soundsystem')
// Alignment: 8
2023-03-23 14:05:13 +00:00
// Size: 0x18
//
// MGetKV3ClassDefaults
2023-03-15 15:20:35 +00:00
class CSosSoundEventGroupListSchema
{
public:
// MPropertyAutoExpandSelf
// MPropertyFriendlyName "Groups"
2023-03-23 14:05:13 +00:00
CUtlVector< CSosSoundEventGroupSchema > m_groupList; // 0x0
2023-03-15 15:20:35 +00:00
};
// Registered binary: soundsystem.dll (project 'soundsystem')
// Alignment: 8
2023-03-23 14:05:13 +00:00
// Size: 0x30
//
// MGetKV3ClassDefaults
2023-03-15 15:20:35 +00:00
struct SosEditItemInfo_t
{
public:
2023-03-23 14:05:13 +00:00
SosEditItemType_t itemType; // 0x0
CUtlString itemName; // 0x8
CUtlString itemTypeName; // 0x10
private:
2023-03-24 22:01:31 +00:00
[[maybe_unused]] uint8_t __pad0018[0x8]; // 0x18
2023-03-23 14:05:13 +00:00
public:
CUtlString itemKVString; // 0x20
Vector2D itemPos; // 0x28
2023-03-15 15:20:35 +00:00
};
// Registered binary: soundsystem.dll (project 'soundsystem')
// Alignment: 8
2023-03-23 14:05:13 +00:00
// Size: 0x18
//
// MGetKV3ClassDefaults
2023-03-15 15:20:35 +00:00
struct SelectedEditItemInfo_t
{
public:
2023-03-23 14:05:13 +00:00
CUtlVector< SosEditItemInfo_t > m_EditItems; // 0x0
2023-03-15 15:20:35 +00:00
};
// Registered binary: soundsystem.dll (project 'soundsystem')
// Alignment: 8
2023-03-23 14:05:13 +00:00
// Size: 0x8
//
// MGetKV3ClassDefaults
2023-03-15 15:20:35 +00:00
class CSoundEventMetaData
{
public:
2023-03-23 14:05:13 +00:00
CStrongHandle< InfoForResourceTypeCVMixListResource > m_soundEventVMix; // 0x0
2023-03-15 15:20:35 +00:00
};
// Registered binary: soundsystem.dll (project 'soundsystem')
// Alignment: 8
2023-03-23 14:05:13 +00:00
// Size: 0x20
//
// MGetKV3ClassDefaults
2023-03-15 15:20:35 +00:00
class CDSPMixgroupModifier
{
public:
// MPropertyDescription "Name of the mixgroup. TODO: needs to be autopopulated with mixgroups."
// MPropertyFriendlyName "Mixgroup Name"
2023-03-23 14:05:13 +00:00
CUtlString m_mixgroup; // 0x0
2023-03-15 15:20:35 +00:00
// MPropertyDescription "The amount to multiply the volume of the non-spatialized reverb/dsp by when at the max reverb blend distance. 1.0 leaves the volume unchanged."
// MPropertyFriendlyName "Max reverb gain amount for listener DSP."
2023-03-23 14:05:13 +00:00
float m_flModifier; // 0x8
2023-03-15 15:20:35 +00:00
// MPropertyDescription "The amount to multiply the volume of the non-spatialized reverb/dsp by when at the min reverb blend distance. 1.0 leaves the volume unchanged."
// MPropertyFriendlyName "Min reverb gain amount amount for listener DSP."
2023-03-23 14:05:13 +00:00
float m_flModifierMin; // 0xc
2023-03-15 15:20:35 +00:00
// MPropertyDescription "If set to >= 0, we will use this mix modifier for source-specific DSP effects. Otherwise we will use the listener DSP value."
// MPropertyFriendlyName "Max reverb gain amount for source-specific DSP."
2023-03-23 14:05:13 +00:00
float m_flSourceModifier; // 0x10
2023-03-15 15:20:35 +00:00
// MPropertyDescription "If set to >= 0, we will use this mix modifier for source-specific DSP effects. Otherwise we will use the listener DSP value."
// MPropertyFriendlyName "Min reverb gain amount for source-specific DSP."
2023-03-23 14:05:13 +00:00
float m_flSourceModifierMin; // 0x14
2023-03-15 15:20:35 +00:00
// MPropertyDescription "When a source has source-specific DSP, this can be used as an additional mix stage for the listener reverb amount."
// MPropertyFriendlyName "Modification amount for listener DSP when source DSP is used."
2023-03-23 14:05:13 +00:00
float m_flListenerReverbModifierWhenSourceReverbIsActive; // 0x18
2023-03-15 15:20:35 +00:00
};
// Registered binary: soundsystem.dll (project 'soundsystem')
// Alignment: 8
2023-03-23 14:05:13 +00:00
// Size: 0x20
//
// MGetKV3ClassDefaults
2023-03-15 15:20:35 +00:00
class CDspPresetModifierList
{
public:
// MPropertyDescription "Name of the DSP effect / subgraph used."
// MPropertyFriendlyName "DSP Effect Name"
2023-03-23 14:05:13 +00:00
CUtlString m_dspName; // 0x0
2023-03-15 15:20:35 +00:00
// MPropertyDescription "Set of modifiers for individual mix groups"
// MPropertyFriendlyName "Mixgroup Modifiers"
2023-03-23 14:05:13 +00:00
CUtlVector< CDSPMixgroupModifier > m_modifiers; // 0x8
2023-03-15 15:20:35 +00:00
};
// Registered binary: soundsystem.dll (project 'soundsystem')
// Alignment: 8
2023-03-23 14:05:13 +00:00
// Size: 0x18
//
// MGetKV3ClassDefaults
// MVDataRoot
// MVDataNodeType
2023-03-15 15:20:35 +00:00
class CDSPPresetMixgroupModifierTable
{
public:
// MPropertyDescription "Table of mixgroup modifiers for effect names."
// MPropertyFriendlyName "Modifier Table"
2023-03-23 14:05:13 +00:00
CUtlVector< CDspPresetModifierList > m_table; // 0x0
2023-03-15 15:20:35 +00:00
};
2024-02-12 00:06:50 +00:00
// Registered binary: soundsystem.dll (project 'soundsystem_voicecontainers')
// Alignment: 8
// Size: 0x68
// Has VTable
//
// MGetKV3ClassDefaults
class CVoiceContainerBase
{
private:
[[maybe_unused]] uint8_t __pad0000[0x28]; // 0x0
public:
CUtlDict< CPiecewiseCurve, F( size=1 ) > m_curves; // 0x28
// Static fields:
static bool &Get_bAudioFinishedPlaying(){return *reinterpret_cast<bool*>(interfaces::g_schema->FindTypeScopeForModule("soundsystem.dll")->FindDeclaredClass("CVoiceContainerBase")->m_static_fields[0]->m_instance);};
static bool &Get_bAudioStillPlaying(){return *reinterpret_cast<bool*>(interfaces::g_schema->FindTypeScopeForModule("soundsystem.dll")->FindDeclaredClass("CVoiceContainerBase")->m_static_fields[1]->m_instance);};
};
// Registered binary: soundsystem.dll (project 'soundsystem_voicecontainers')
// Alignment: 8
// Size: 0x68
// Has VTable
//
// MGetKV3ClassDefaults
class CVoiceContainerDefault : public CVoiceContainerBase
{
public:
};
// Registered binary: soundsystem.dll (project 'soundsystem_voicecontainers')
// Alignment: 8
// Size: 0x70
// Has VTable
//
// MGetKV3ClassDefaults
class CVoiceContainerWavFileReader : public CVoiceContainerBase
{
public:
// MPropertyFriendlyName "Wav File Path"
// MPropertyDescription "The wav we're gonna play when we play this sound. "
// MVSndPropertyGuaranteeConstant
CUtlString m_wavFilePath; // 0x68
};
// Registered binary: soundsystem.dll (project 'soundsystem_voicecontainers')
// Alignment: 8
// Size: 0x78
// Has VTable
//
// MGetKV3ClassDefaults
class CVoiceContainerTestConstant : public CVoiceContainerWavFileReader
{
public:
// MPropertyFriendlyName "Is Muted"
// MPropertyDescription "This can be set on the vsound container, but is baked in at compile time."
bool m_flTestConstantParam; // 0x70
};
// Registered binary: soundsystem.dll (project 'soundsystem_voicecontainers')
// Alignment: 8
// Size: 0x78
// Has VTable
//
// MGetKV3ClassDefaults
class CVoiceContainerTestNestedDynamic : public CVoiceContainerBase
{
public:
// MPropertyFriendlyName "Sound To Play"
// MPropertyDescription "The sound we're gonna play when we play this sound. "
CStrongHandle< InfoForResourceTypeCVoiceContainerBase > m_SoundToPlay; // 0x68
// MPropertyFriendlyName "Filter Cutoff"
// MPropertyDescription "This can be set on the vsound container, but is baked in at resource compile time."
float m_flTestConstantParam; // 0x70
};
// Registered binary: soundsystem.dll (project 'soundsystem_voicecontainers')
// Alignment: 8
// Size: 0x70
// Has VTable
//
// MGetKV3ClassDefaults
class CVoiceContainerDecayingSineWave : public CVoiceContainerBase
{
public:
// MPropertyFriendlyName "Frequency (Hz)"
// MPropertyDescription "The frequency of this sine tone."
float m_flFrequency; // 0x68
// MPropertyFriendlyName "Decay Time (Seconds)"
// MPropertyDescription "The frequency of this sine tone."
float m_flDecayTime; // 0x6c
};
// Registered binary: soundsystem.dll (project 'soundsystem_voicecontainers')
// Alignment: 8
// Size: 0x78
// Has VTable
//
// MGetKV3ClassDefaults
class CVoiceContainerAmpedDecayingSineWave : public CVoiceContainerDecayingSineWave
{
public:
// MPropertyFriendlyName "Attenuation Amount (dB)"
// MPropertyDescription "The amount of attenuation ."
// MVSndPropertyControlledAtRuntime
float m_flGainAmount; // 0x70
};
// Registered binary: soundsystem.dll (project 'soundsystem_voicecontainers')
// Alignment: 8
// Size: 0x78
// Has VTable
//
// MGetKV3ClassDefaults
class CVoiceContainerRealtimeFMSineWave : public CVoiceContainerBase
{
public:
// MPropertyFriendlyName "Frequency (Hz)"
// MPropertyDescription "The frequency of this sine tone."
// MVSndPropertyControlledAtRuntime
float m_flCarrierFrequency; // 0x68
// MPropertyFriendlyName "Mod Frequency (Hz)"
// MPropertyDescription "The frequency of the sine tone modulating this sine tone."
// MVSndPropertyControlledAtRuntime
float m_flModulatorFrequency; // 0x6c
// MPropertyFriendlyName "Mod Amount (Hz)"
// MPropertyDescription "The amount the modulating sine tone modulates this sine tone."
// MVSndPropertyControlledAtRuntime
float m_flModulatorAmount; // 0x70
};
// Registered binary: soundsystem.dll (project 'soundsystem_voicecontainers')
// Alignment: 8
// Size: 0x80
// Has VTable
//
// MGetKV3ClassDefaults
class CVoiceContainerBlend : public CVoiceContainerBase
{
public:
// MPropertyFriendlyName "First Sound"
CStrongHandle< InfoForResourceTypeCVoiceContainerBase > m_hSoundOne; // 0x68
// MPropertyFriendlyName "Second Sound"
CStrongHandle< InfoForResourceTypeCVoiceContainerBase > m_hSoundTwo; // 0x70
// MPropertyFriendlyName "Blend Amount (0-1)"
// MPropertyDescription "When set to zero, Only play First Sound. When set to 1, only play Second Sound. In between, we linearly mix the two."
// MVSndPropertyControlledAtRuntime
float m_flBlendAmount; // 0x78
};
// Registered binary: soundsystem.dll (project 'soundsystem_voicecontainers')
// Alignment: 8
// Size: 0x80
// Has VTable
//
// MGetKV3ClassDefaults
class CVoiceContainerEngineSound : public CVoiceContainerBase
{
public:
// MPropertyFriendlyName "Sound To Play"
// MPropertyDescription "The sound we're gonna play when we play this sound. "
// MVSndPropertyGuaranteeConstant
CStrongHandle< InfoForResourceTypeCVoiceContainerBase > m_SoundToPlay; // 0x68
// MPropertyFriendlyName "Loudness Target"
// MPropertyDescription "This can be set on the vsound container, but is baked in at resource compile time."
float m_flTestConstantParam; // 0x70
// MPropertyFriendlyName "Wobble Amount"
// MPropertyDescription "This is settable via some kinda operator, and through that can be exposed to sound events. These make a vsnd container dynamic."
// MVSndPropertyExposeToSoundEvents
float m_flTestSoundEventBoundParam; // 0x74
// MPropertyFriendlyName "Engine RPM Amount"
// MVSndPropertyControlledAtRuntime
// MPropertyDescription "This isn't editable in any prop editor, but can be modified in engine code."
float m_flEngineRPM; // 0x78
};
// Registered binary: soundsystem.dll (project 'soundsystem_voicecontainers')
// Alignment: 8
// Size: 0x88
// Has VTable
//
// MGetKV3ClassDefaults
class CVoiceContainerEnvelopeAnalyzer : public CVoiceContainerWavFileReader
{
public:
// MPropertyFriendlyName "Env Buffer"
CUtlVector< float32 > m_envBuffer; // 0x70
};
// Registered binary: soundsystem.dll (project 'soundsystem_voicecontainers')
// Alignment: 8
// Size: 0x198
// Has VTable
//
// MGetKV3ClassDefaults
class CVoiceContainerRandomSampler : public CVoiceContainerBase
{
public:
float m_flLoudAmplitude; // 0x68
float m_flLoudAmplitudeJitter; // 0x6c
float m_flSoftAmplitude; // 0x70
float m_flSoftAmplitudeJitter; // 0x74
float m_flLoudTimeJitter; // 0x78
float m_flSoftTimeJitter; // 0x7c
float m_flMaxLength; // 0x80
int32_t m_nNumDelayVariations; // 0x84
CUtlVector< CStrongHandle< InfoForResourceTypeCVoiceContainerBase > > m_grainResources; // 0x88
// Static fields:
static int32_t &Get_nInstancesFixed(){return *reinterpret_cast<int32_t*>(interfaces::g_schema->FindTypeScopeForModule("soundsystem.dll")->FindDeclaredClass("CVoiceContainerRandomSampler")->m_static_fields[0]->m_instance);};
};
// Registered binary: soundsystem.dll (project 'soundsystem_lowlevel')
// Alignment: 4
2023-03-23 14:05:13 +00:00
// Size: 0x10
// Has Trivial Destructor
//
// MGetKV3ClassDefaults
2023-03-15 15:20:35 +00:00
struct VMixFilterDesc_t
{
public:
2023-03-23 14:05:13 +00:00
VMixFilterType_t m_nFilterType; // 0x0
VMixFilterSlope_t m_nFilterSlope; // 0x2
bool m_bEnabled; // 0x3
float m_fldbGain; // 0x4
float m_flCutoffFreq; // 0x8
float m_flQ; // 0xc
2023-03-15 15:20:35 +00:00
};
// Registered binary: soundsystem.dll (project 'soundsystem_lowlevel')
// Alignment: 4
2023-03-23 14:05:13 +00:00
// Size: 0x80
// Has Trivial Destructor
//
// MGetKV3ClassDefaults
2023-03-15 15:20:35 +00:00
struct VMixEQ8Desc_t
{
public:
2023-03-23 14:05:13 +00:00
VMixFilterDesc_t m_stages[8]; // 0x0
2023-03-15 15:20:35 +00:00
};
// Registered binary: soundsystem.dll (project 'soundsystem_lowlevel')
// Alignment: 4
2023-03-23 14:05:13 +00:00
// Size: 0x28
// Has Trivial Destructor
//
// MGetKV3ClassDefaults
2023-03-15 15:20:35 +00:00
struct VMixDelayDesc_t
{
public:
2023-03-23 14:05:13 +00:00
VMixFilterDesc_t m_feedbackFilter; // 0x0
bool m_bEnableFilter; // 0x10
private:
2023-03-24 22:01:31 +00:00
[[maybe_unused]] uint8_t __pad0011[0x3]; // 0x11
2023-03-23 14:05:13 +00:00
public:
float m_flDelay; // 0x14
float m_flDirectGain; // 0x18
float m_flDelayGain; // 0x1c
float m_flFeedbackGain; // 0x20
float m_flWidth; // 0x24
2023-03-15 15:20:35 +00:00
};
// Registered binary: soundsystem.dll (project 'soundsystem_lowlevel')
// Alignment: 4
2023-03-23 14:05:13 +00:00
// Size: 0x8
// Has Trivial Constructor
// Has Trivial Destructor
//
// MGetKV3ClassDefaults
2023-03-15 15:20:35 +00:00
struct VMixPannerDesc_t
{
public:
2023-03-23 14:05:13 +00:00
VMixPannerType_t m_type; // 0x0
float m_flStrength; // 0x4
2023-03-15 15:20:35 +00:00
};
// Registered binary: soundsystem.dll (project 'soundsystem_lowlevel')
// Alignment: 4
2023-03-23 14:05:13 +00:00
// Size: 0x30
// Has Trivial Destructor
//
// MGetKV3ClassDefaults
2023-03-15 15:20:35 +00:00
struct VMixModDelayDesc_t
{
public:
2023-03-23 14:05:13 +00:00
VMixFilterDesc_t m_feedbackFilter; // 0x0
bool m_bPhaseInvert; // 0x10
private:
2023-03-24 22:01:31 +00:00
[[maybe_unused]] uint8_t __pad0011[0x3]; // 0x11
2023-03-23 14:05:13 +00:00
public:
float m_flGlideTime; // 0x14
float m_flDelay; // 0x18
float m_flOutputGain; // 0x1c
float m_flFeedbackGain; // 0x20
float m_flModRate; // 0x24
float m_flModDepth; // 0x28
bool m_bApplyAntialiasing; // 0x2c
2023-03-15 15:20:35 +00:00
};
// Registered binary: soundsystem.dll (project 'soundsystem_lowlevel')
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x10
// Has Trivial Constructor
// Has Trivial Destructor
//
// MGetKV3ClassDefaults
2023-03-15 15:20:35 +00:00
struct VMixDiffusorDesc_t
{
public:
2023-03-23 14:05:13 +00:00
float m_flSize; // 0x0
float m_flComplexity; // 0x4
float m_flFeedback; // 0x8
float m_flOutputGain; // 0xc
2023-03-15 15:20:35 +00:00
};
// Registered binary: soundsystem.dll (project 'soundsystem_lowlevel')
// Alignment: 4
2023-03-23 14:05:13 +00:00
// Size: 0x50
// Has Trivial Destructor
//
// MGetKV3ClassDefaults
2023-03-15 15:20:35 +00:00
struct VMixBoxverbDesc_t
{
public:
2023-03-23 14:05:13 +00:00
float m_flSizeMax; // 0x0
float m_flSizeMin; // 0x4
float m_flComplexity; // 0x8
float m_flDiffusion; // 0xc
float m_flModDepth; // 0x10
float m_flModRate; // 0x14
bool m_bParallel; // 0x18
private:
2023-03-24 22:01:31 +00:00
[[maybe_unused]] uint8_t __pad0019[0x3]; // 0x19
2023-03-23 14:05:13 +00:00
public:
VMixFilterDesc_t m_filterType; // 0x1c
float m_flWidth; // 0x2c
float m_flHeight; // 0x30
float m_flDepth; // 0x34
float m_flFeedbackScale; // 0x38
float m_flFeedbackWidth; // 0x3c
float m_flFeedbackHeight; // 0x40
float m_flFeedbackDepth; // 0x44
float m_flOutputGain; // 0x48
float m_flTaps; // 0x4c
};
// Registered binary: soundsystem.dll (project 'soundsystem_lowlevel')
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x10
// Has Trivial Constructor
// Has Trivial Destructor
//
// MGetKV3ClassDefaults
2023-03-15 15:20:35 +00:00
struct VMixFreeverbDesc_t
{
public:
2023-03-23 14:05:13 +00:00
float m_flRoomSize; // 0x0
float m_flDamp; // 0x4
float m_flWidth; // 0x8
float m_flLateReflections; // 0xc
2023-03-15 15:20:35 +00:00
};
// Registered binary: soundsystem.dll (project 'soundsystem_lowlevel')
// Alignment: 4
2023-03-23 14:05:13 +00:00
// Size: 0x1c
// Has Trivial Constructor
// Has Trivial Destructor
//
// MGetKV3ClassDefaults
2023-03-15 15:20:35 +00:00
struct VMixPlateverbDesc_t
{
public:
2023-03-23 14:05:13 +00:00
float m_flPrefilter; // 0x0
float m_flInputDiffusion1; // 0x4
float m_flInputDiffusion2; // 0x8
float m_flDecay; // 0xc
float m_flDamp; // 0x10
float m_flFeedbackDiffusion1; // 0x14
float m_flFeedbackDiffusion2; // 0x18
2023-03-15 15:20:35 +00:00
};
// Registered binary: soundsystem.dll (project 'soundsystem_lowlevel')
// Alignment: 4
2023-03-23 14:05:13 +00:00
// Size: 0x30
// Has Trivial Constructor
// Has Trivial Destructor
//
// MGetKV3ClassDefaults
2023-03-15 15:20:35 +00:00
struct VMixDynamicsDesc_t
{
public:
2023-03-23 14:05:13 +00:00
float m_fldbGain; // 0x0
float m_fldbNoiseGateThreshold; // 0x4
float m_fldbCompressionThreshold; // 0x8
float m_fldbLimiterThreshold; // 0xc
float m_fldbKneeWidth; // 0x10
float m_flRatio; // 0x14
float m_flLimiterRatio; // 0x18
float m_flAttackTimeMS; // 0x1c
float m_flReleaseTimeMS; // 0x20
float m_flRMSTimeMS; // 0x24
float m_flWetMix; // 0x28
bool m_bPeakMode; // 0x2c
2023-03-15 15:20:35 +00:00
};
// Registered binary: soundsystem.dll (project 'soundsystem_lowlevel')
// Alignment: 4
2023-03-23 14:05:13 +00:00
// Size: 0x24
// Has Trivial Constructor
// Has Trivial Destructor
//
// MGetKV3ClassDefaults
2023-03-15 15:20:35 +00:00
struct VMixDynamicsCompressorDesc_t
{
public:
// MPropertyFriendlyName "Output Gain (dB)"
2023-03-23 14:05:13 +00:00
float m_fldbOutputGain; // 0x0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Threshold (dB)"
2023-03-23 14:05:13 +00:00
float m_fldbCompressionThreshold; // 0x4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Knee Width (dB)"
2023-03-23 14:05:13 +00:00
float m_fldbKneeWidth; // 0x8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Compression Ratio"
2023-03-23 14:05:13 +00:00
float m_flCompressionRatio; // 0xc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Attack time (ms)"
2023-03-23 14:05:13 +00:00
float m_flAttackTimeMS; // 0x10
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Release time (ms)"
2023-03-23 14:05:13 +00:00
float m_flReleaseTimeMS; // 0x14
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Threshold detection time (ms)"
2023-03-23 14:05:13 +00:00
float m_flRMSTimeMS; // 0x18
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Dry/Wet"
2023-03-23 14:05:13 +00:00
float m_flWetMix; // 0x1c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Peak mode"
2023-03-23 14:05:13 +00:00
bool m_bPeakMode; // 0x20
2023-03-15 15:20:35 +00:00
};
// Registered binary: soundsystem.dll (project 'soundsystem_lowlevel')
// Alignment: 4
2023-03-23 14:05:13 +00:00
// Size: 0x24
// Has Trivial Constructor
// Has Trivial Destructor
//
// MGetKV3ClassDefaults
2023-03-15 15:20:35 +00:00
struct VMixDynamicsBand_t
{
public:
// MPropertyFriendlyName "Input Gain (dB)"
2023-03-23 14:05:13 +00:00
float m_fldbGainInput; // 0x0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Output Gain (dB)"
2023-03-23 14:05:13 +00:00
float m_fldbGainOutput; // 0x4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Below Threshold(dB)"
2023-03-23 14:05:13 +00:00
float m_fldbThresholdBelow; // 0x8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Above Threshold(dB)"
2023-03-23 14:05:13 +00:00
float m_fldbThresholdAbove; // 0xc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Upward Ratio"
2023-03-23 14:05:13 +00:00
float m_flRatioBelow; // 0x10
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Downward Ratio"
2023-03-23 14:05:13 +00:00
float m_flRatioAbove; // 0x14
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Attack time (ms)"
2023-03-23 14:05:13 +00:00
float m_flAttackTimeMS; // 0x18
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Release time (ms)"
2023-03-23 14:05:13 +00:00
float m_flReleaseTimeMS; // 0x1c
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Enabled"
2023-03-23 14:05:13 +00:00
bool m_bEnable; // 0x20
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Solo"
2023-03-23 14:05:13 +00:00
bool m_bSolo; // 0x21
2023-03-15 15:20:35 +00:00
};
// Registered binary: soundsystem.dll (project 'soundsystem_lowlevel')
// Alignment: 4
2023-03-23 14:05:13 +00:00
// Size: 0x90
// Has Trivial Constructor
// Has Trivial Destructor
//
// MGetKV3ClassDefaults
2023-03-15 15:20:35 +00:00
struct VMixDynamics3BandDesc_t
{
public:
2023-03-23 14:05:13 +00:00
float m_fldbGainOutput; // 0x0
float m_flRMSTimeMS; // 0x4
float m_fldbKneeWidth; // 0x8
float m_flDepth; // 0xc
float m_flWetMix; // 0x10
float m_flTimeScale; // 0x14
float m_flLowCutoffFreq; // 0x18
float m_flHighCutoffFreq; // 0x1c
bool m_bPeakMode; // 0x20
private:
2023-03-24 22:01:31 +00:00
[[maybe_unused]] uint8_t __pad0021[0x3]; // 0x21
2023-03-23 14:05:13 +00:00
public:
2024-02-12 00:06:50 +00:00
// -> m_fldbGainInput - 0x24
// -> m_fldbGainOutput - 0x28
// -> m_fldbThresholdBelow - 0x2c
// -> m_fldbThresholdAbove - 0x30
// -> m_flRatioBelow - 0x34
// -> m_flRatioAbove - 0x38
// -> m_flAttackTimeMS - 0x3c
// -> m_flReleaseTimeMS - 0x40
// -> m_bEnable - 0x44
// -> m_bSolo - 0x45
2023-03-23 14:05:13 +00:00
VMixDynamicsBand_t m_bandDesc[3]; // 0x24
2023-03-15 15:20:35 +00:00
};
// Registered binary: soundsystem.dll (project 'soundsystem_lowlevel')
// Alignment: 4
2023-03-23 14:05:13 +00:00
// Size: 0xc
// Has Trivial Constructor
// Has Trivial Destructor
//
// MGetKV3ClassDefaults
2023-03-15 15:20:35 +00:00
struct VMixEnvelopeDesc_t
{
public:
2023-03-23 14:05:13 +00:00
float m_flAttackTimeMS; // 0x0
float m_flHoldTimeMS; // 0x4
float m_flReleaseTimeMS; // 0x8
2023-03-15 15:20:35 +00:00
};
// Registered binary: soundsystem.dll (project 'soundsystem_lowlevel')
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x10
// Has Trivial Constructor
// Has Trivial Destructor
//
// MGetKV3ClassDefaults
2023-03-15 15:20:35 +00:00
struct VMixPitchShiftDesc_t
{
public:
2023-03-23 14:05:13 +00:00
int32_t m_nGrainSampleCount; // 0x0
float m_flPitchShift; // 0x4
int32_t m_nQuality; // 0x8
int32_t m_nProcType; // 0xc
2023-03-15 15:20:35 +00:00
};
// Registered binary: soundsystem.dll (project 'soundsystem_lowlevel')
// Alignment: 4
2023-03-23 14:05:13 +00:00
// Size: 0x20
// Has Trivial Constructor
// Has Trivial Destructor
//
// MGetKV3ClassDefaults
2023-03-15 15:20:35 +00:00
struct VMixConvolutionDesc_t
{
public:
// MPropertyFriendlyName "gain of wet signal (dB)"
// MPropertyAttributeRange "-36 3"
2023-03-23 14:05:13 +00:00
float m_fldbGain; // 0x0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Pre-delay (ms)"
2023-03-23 14:05:13 +00:00
float m_flPreDelayMS; // 0x4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Dry/Wet"
2023-03-23 14:05:13 +00:00
float m_flWetMix; // 0x8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Low EQ gain (dB)"
// MPropertyAttributeRange "-24 24"
2023-03-23 14:05:13 +00:00
float m_fldbLow; // 0xc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Mid EQ gain (dB)"
// MPropertyAttributeRange "-24 24"
2023-03-23 14:05:13 +00:00
float m_fldbMid; // 0x10
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "High EQ gain (dB)"
// MPropertyAttributeRange "-24 24"
2023-03-23 14:05:13 +00:00
float m_fldbHigh; // 0x14
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Low Cutoff Freq (Hz)"
2023-03-23 14:05:13 +00:00
float m_flLowCutoffFreq; // 0x18
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "High Cutoff Freq (Hz)"
2023-03-23 14:05:13 +00:00
float m_flHighCutoffFreq; // 0x1c
2023-03-15 15:20:35 +00:00
};
// Registered binary: soundsystem.dll (project 'soundsystem_lowlevel')
// Alignment: 4
2023-03-23 14:05:13 +00:00
// Size: 0x28
// Has Trivial Constructor
// Has Trivial Destructor
//
// MGetKV3ClassDefaults
2023-03-15 15:20:35 +00:00
struct VMixVocoderDesc_t
{
public:
2023-03-23 14:05:13 +00:00
int32_t m_nBandCount; // 0x0
float m_flBandwidth; // 0x4
float m_fldBModGain; // 0x8
float m_flFreqRangeStart; // 0xc
float m_flFreqRangeEnd; // 0x10
float m_fldBUnvoicedGain; // 0x14
float m_flAttackTimeMS; // 0x18
float m_flReleaseTimeMS; // 0x1c
int32_t m_nDebugBand; // 0x20
bool m_bPeakMode; // 0x24
2023-03-15 15:20:35 +00:00
};
// Registered binary: soundsystem.dll (project 'soundsystem_lowlevel')
// Alignment: 4
2023-03-23 14:05:13 +00:00
// Size: 0x14
// Has Trivial Destructor
//
// MGetKV3ClassDefaults
2023-03-15 15:20:35 +00:00
struct VMixShaperDesc_t
{
public:
// MPropertyFriendlyName "Shape"
// MPropertyAttributeRange "0 14"
2023-03-23 14:05:13 +00:00
int32_t m_nShape; // 0x0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Drive (dB)"
// MPropertyAttributeRange "0 36"
2023-03-23 14:05:13 +00:00
float m_fldbDrive; // 0x4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Output Gain (dB)"
// MPropertyAttributeRange "-36 0"
2023-03-23 14:05:13 +00:00
float m_fldbOutputGain; // 0x8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Dry/Wet"
2023-03-23 14:05:13 +00:00
float m_flWetMix; // 0xc
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Oversampling"
2023-03-23 14:05:13 +00:00
int32_t m_nOversampleFactor; // 0x10
2023-03-15 15:20:35 +00:00
};
// Registered binary: soundsystem.dll (project 'soundsystem_lowlevel')
// Alignment: 4
2023-03-23 14:05:13 +00:00
// Size: 0x18
// Has Trivial Destructor
//
// MGetKV3ClassDefaults
2023-03-15 15:20:35 +00:00
struct VMixUtilityDesc_t
{
public:
// MPropertyFriendlyName "Channels"
2023-03-23 14:05:13 +00:00
VMixChannelOperation_t m_nOp; // 0x0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Input Pan"
// MPropertyAttributeRange "-1 1"
2023-03-23 14:05:13 +00:00
float m_flInputPan; // 0x4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Output Balance"
// MPropertyAttributeRange "-1 1"
2023-03-23 14:05:13 +00:00
float m_flOutputBalance; // 0x8
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Output Gain (dB)"
// MPropertyAttributeRange "-36 0"
2023-03-23 14:05:13 +00:00
float m_fldbOutputGain; // 0xc
bool m_bBassMono; // 0x10
private:
2023-03-24 22:01:31 +00:00
[[maybe_unused]] uint8_t __pad0011[0x3]; // 0x11
2023-03-23 14:05:13 +00:00
public:
float m_flBassFreq; // 0x14
2023-03-15 15:20:35 +00:00
};
// Registered binary: soundsystem.dll (project 'soundsystem_lowlevel')
// Alignment: 4
2023-03-23 14:05:13 +00:00
// Size: 0x2c
// Has Trivial Destructor
//
// MGetKV3ClassDefaults
2023-03-15 15:20:35 +00:00
struct VMixAutoFilterDesc_t
{
public:
2023-03-23 14:05:13 +00:00
float m_flEnvelopeAmount; // 0x0
float m_flAttackTimeMS; // 0x4
float m_flReleaseTimeMS; // 0x8
VMixFilterDesc_t m_filter; // 0xc
float m_flLFOAmount; // 0x1c
float m_flLFORate; // 0x20
float m_flPhase; // 0x24
VMixLFOShape_t m_nLFOShape; // 0x28
2023-03-15 15:20:35 +00:00
};
// Registered binary: soundsystem.dll (project 'soundsystem_lowlevel')
// Alignment: 4
2023-03-23 14:05:13 +00:00
// Size: 0xc
// Has Trivial Destructor
//
// MGetKV3ClassDefaults
2023-03-15 15:20:35 +00:00
struct VMixOscDesc_t
{
public:
// MPropertyFriendlyName "Type"
2023-03-23 14:05:13 +00:00
VMixLFOShape_t oscType; // 0x0
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Frequency (Hz)"
// MPropertyAttributeRange "0.1 16000"
2023-03-23 14:05:13 +00:00
float m_freq; // 0x4
2023-03-15 15:20:35 +00:00
// MPropertyFriendlyName "Phase (degrees)"
// MPropertyAttributeRange "0 360"
2023-03-23 14:05:13 +00:00
float m_flPhase; // 0x8
2023-03-15 15:20:35 +00:00
};
// Registered binary: soundsystem.dll (project 'soundsystem_lowlevel')
// Alignment: 4
2023-03-23 14:05:13 +00:00
// Size: 0x4
// Has Trivial Destructor
//
// MGetKV3ClassDefaults
2023-03-15 15:20:35 +00:00
struct VMixEffectChainDesc_t
{
public:
// MPropertyFriendlyName "Crossfade Time (s)"
// MPropertyAttributeRange "0.1 10"
2023-03-23 14:05:13 +00:00
float m_flCrossfadeTime; // 0x0
2023-03-15 15:20:35 +00:00
};
// Registered binary: soundsystem.dll (project 'soundsystem_lowlevel')
// Alignment: 4
2023-03-23 14:05:13 +00:00
// Size: 0xc
// Has Trivial Constructor
// Has Trivial Destructor
//
// MGetKV3ClassDefaults
2023-03-15 15:20:35 +00:00
struct VMixSubgraphSwitchDesc_t
{
public:
2023-03-23 14:05:13 +00:00
VMixSubgraphSwitchInterpolationType_t m_interpolationMode; // 0x0
bool m_bOnlyTailsOnFadeOut; // 0x4
private:
2023-03-24 22:01:31 +00:00
[[maybe_unused]] uint8_t __pad0005[0x3]; // 0x5
2023-03-23 14:05:13 +00:00
public:
float m_flInterpolationTime; // 0x8
2023-03-15 15:20:35 +00:00
};