@@ -80,6 +80,32 @@ namespace lsp
8080 SCT_LINK
8181 };
8282
83+ typedef struct premix_t
84+ {
85+ float fInToSc ; // Input -> Sidechain mix
86+ float fInToLink ; // Input -> Link mix
87+ float fLinkToIn ; // Link -> Input mix
88+ float fLinkToSc ; // Link -> Sidechain mix
89+ float fScToIn ; // Sidechain -> Input mix
90+ float fScToLink ; // Sidechain -> Link mix
91+
92+ float *vIn[2 ]; // Input buffer
93+ float *vOut[2 ]; // Output buffer
94+ float *vSc[2 ]; // Sidechain buffer
95+ float *vLink[2 ]; // Link buffer
96+
97+ float *vTmpIn[2 ]; // Replacement buffer for input
98+ float *vTmpLink[2 ]; // Replacement buffer for link
99+ float *vTmpSc[2 ]; // Replacement buffer for sidechain
100+
101+ plug::IPort *pInToSc; // Input -> Sidechain mix
102+ plug::IPort *pInToLink; // Input -> Link mix
103+ plug::IPort *pLinkToIn; // Link -> Input mix
104+ plug::IPort *pLinkToSc; // Link -> Sidechain mix
105+ plug::IPort *pScToIn; // Sidechain -> Input mix
106+ plug::IPort *pScToLink; // Sidechain -> Link mix
107+ } premix_t ;
108+
83109 typedef struct band_t
84110 {
85111 dspu::Sidechain sSC ; // Sidechain module
@@ -180,6 +206,7 @@ namespace lsp
180206 dspu::Sidechain sProtSC ; // Surge protector sidechain module
181207 dspu::SurgeProtector sProt ; // Surge protector
182208 dspu::Counter sCounter ; // Sync counter
209+ premix_t sPremix ; // Premix
183210
184211 uint32_t nMode; // Processor mode
185212 uint32_t nBands; // Number of bands
@@ -198,7 +225,6 @@ namespace lsp
198225 float vSplits[meta::gott_compressor::BANDS_MAX - 1 ]; // Split frequencies
199226 channel_t *vChannels; // Processor channels
200227 float *vAnalyze[4 ]; // Analysis buffer
201- float *vEmptyBuf; // Empty buffer
202228 float *vBuffer; // Temporary buffer
203229 float *vProtBuffer; // Surge protection buffer
204230 const float *vSCIn[2 ]; // Sidechain input buffers
@@ -245,6 +271,7 @@ namespace lsp
245271 protected:
246272 uint32_t decode_sidechain_type (uint32_t sc) const ;
247273 void process_sidechain (size_t samples);
274+ void update_premix ();
248275 void do_destroy ();
249276
250277 public:
0 commit comments