/* * fcdtraits.h * * Created on: 3 Sep 2015 * Author: egriffiths */ #ifndef FCDLIB_FCDTRAITS_H_ #define FCDLIB_FCDTRAITS_H_ #include typedef enum { Pro, ProPlus } fcd_type; template struct fcd_traits { static const uint16_t vendorId = 0x0; static const uint16_t productId = 0x0; static const int sampleRate = 48000; static const int convBufSize = (1<<11); static const int fcdBufSize = (1<<12); static const char *alsaDeviceName; static const char *interfaceIID; static const char *displayedName; static const char *pluginDisplayedName; static const char *pluginVersion; }; template<> struct fcd_traits { static const uint16_t vendorId = 0x04D8; static const uint16_t productId = 0xFB56; static const int sampleRate = 96000; static const int convBufSize = (1<<11); static const int fcdBufSize = (1<<12); static const char *alsaDeviceName; static const char *interfaceIID; static const char *displayedName; static const char *pluginDisplayedName; static const char *pluginVersion; }; template<> struct fcd_traits { static const uint16_t vendorId = 0x04D8; static const uint16_t productId = 0xFB31; static const int sampleRate = 192000; static const int convBufSize = (1<<12); static const int fcdBufSize = (1<<18); static const char *alsaDeviceName; static const char *interfaceIID; static const char *displayedName; static const char *pluginDisplayedName; static const char *pluginVersion; }; template const char *fcd_traits::alsaDeviceName = ""; template const char *fcd_traits::interfaceIID = ""; template const char *fcd_traits::displayedName = ""; template const char *fcd_traits::pluginDisplayedName = ""; template const char *fcd_traits::pluginVersion = "---"; #endif /* FCDLIB_FCDTRAITS_H_ */