added extern C interop functions

main
Patrick W3AXL 1 year ago
parent 333d7305b0
commit 81220be551

@ -136,6 +136,12 @@ namespace vocoder
*/ */
__PROPERTY(bool, autoGain, AutoGain); __PROPERTY(bool, autoGain, AutoGain);
}; };
// Extern methods for C#/C++ interop
extern "C" MBEDecoder* MBEDecoder_Create(MBE_DECODER_MODE mode) { return new MBEDecoder(mode); }
extern "C" void MBEDecoder_Encode(MBEDecoder* pDecoder, uint8_t* codeword, int16_t* samples) { pDecoder->decode(codeword, samples); }
extern "C" void MBEDecoder_Delete(MBEDecoder* pDecoder) { delete pDecoder; }
} // namespace vocoder } // namespace vocoder
#endif // __MBE_DECODER_H__ #endif // __MBE_DECODER_H__

@ -79,6 +79,12 @@ namespace vocoder
*/ */
__PROPERTY(float, gainAdjust, GainAdjust); __PROPERTY(float, gainAdjust, GainAdjust);
}; };
// Extern methods for C#/C++ interop
extern "C" MBEEncoder* MBEEncoder_Create(MBE_ENCODER_MODE mode) { return new MBEEncoder(mode); }
extern "C" void MBEEncoder_Encode(MBEEncoder* pEncoder, int16_t* samples, uint8_t* codeword) { pEncoder->encode(samples, codeword); }
extern "C" void MBEEncoder_Delete(MBEEncoder* pEncoder) { delete pEncoder; }
} // namespace vocoder } // namespace vocoder
#endif // __MBE_ENCODER_H__ #endif // __MBE_ENCODER_H__

Loading…
Cancel
Save

Powered by TurnKey Linux.