60#ifndef guWhiteboard_DominantFrequencies_h
61#define guWhiteboard_DominantFrequencies_h
63#ifdef WHITEBOARD_POSTER_STRING_CONVERSION
72#undef guWhiteboard_DominantFrequencies_DEFINED
73#define guWhiteboard_DominantFrequencies_DEFINED
75#undef DominantFrequencies_DEFINED
76#define DominantFrequencies_DEFINED
95 if (t_frequencies != NULLPTR) {
109 this->init(t_rms, t_frequencies);
148 for (
int frequencies_0_index = 0; frequencies_0_index <
DOMINANT_NUMFREQi; frequencies_0_index++)
157 return !(*
this == t_other);
167 return !(*
this == t_other);
215#ifdef WHITEBOARD_POSTER_STRING_CONVERSION
225#ifdef USE_WB_DOMINANT_FREQUENCIES_C_CONVERSION
228 std::string descr = buffer;
231 std::ostringstream ss;
234 bool frequencies_first =
true;
235 ss <<
"frequencies={";
238 frequencies_first =
false;
246#ifdef USE_WB_DOMINANT_FREQUENCIES_C_CONVERSION
249 std::string toString = buffer;
252 std::ostringstream ss;
255 bool frequencies_first =
true;
259 frequencies_first =
false;
266#ifdef USE_WB_DOMINANT_FREQUENCIES_C_CONVERSION
271 char * str_cstr =
const_cast<char *
>(t_str.c_str());
272 size_t temp_length = strlen(str_cstr);
273 int length = (temp_length <= INT_MAX) ? static_cast<int>(
static_cast<ssize_t
>(temp_length)) : -1;
278 char* var_str = &var_str_buffer[0];
280 char* key = &key_buffer[0];
288 if (index == 0 && str_cstr[0] ==
'{') {
294 for (
int i = index; i < length; i++) {
296 if (bracecount == 0 && str_cstr[i] ==
'=') {
301 if (bracecount == 0 && isspace(str_cstr[i])) {
308 if (bracecount == 0 && str_cstr[i] ==
',') {
312 if (str_cstr[i] ==
'{') {
314 if (bracecount == 1) {
319 if (str_cstr[i] ==
'}') {
321 if (bracecount < 0) {
326 if (i == length - 1) {
330 if (endKey >= startKey && endKey - startKey < length) {
331 strncpy(key, str_cstr + startKey,
static_cast<size_t>((endKey - startKey) + 1));
332 key[(endKey - startKey) + 1] = 0;
336 strncpy(var_str, str_cstr + startVar,
static_cast<size_t>((index - startVar) + 1));
337 var_str[(index - startVar) + 1] = 0;
343 if (strlen(key) > 0) {
344 if (0 == strcmp(
"rms", key)) {
346 }
else if (0 == strcmp(
"frequencies", key)) {
363 int restartIndex = index;
364 index = lastBrace + 1;
370 for (
int i = index; i < length; i++) {
372 if (bracecount == 0 && str_cstr[i] ==
'=') {
377 if (bracecount == 0 && isspace(str_cstr[i])) {
384 if (bracecount == 0 && str_cstr[i] ==
',') {
388 if (str_cstr[i] ==
'{') {
392 if (str_cstr[i] ==
'}') {
394 if (bracecount < 0) {
399 if (i == length - 1) {
403 if (endKey >= startKey && endKey - startKey < length) {
404 strncpy(key, str_cstr + startKey,
static_cast<size_t>((endKey - startKey) + 1));
405 key[(endKey - startKey) + 1] = 0;
409 strncpy(var_str, str_cstr + startVar,
static_cast<size_t>((index - startVar) + 1));
410 var_str[(index - startVar) + 1] = 0;
421 index = restartIndex;
428 }
while(index < length);
Provides a C++ wrapper around wb_dominant_frequencies.
MicrophoneFrequencies & frequencies(int t_i)
size_t frequencies_size() const
bool operator!=(const DominantFrequencies &t_other) const
bool operator==(const DominantFrequencies &t_other) const
void set_frequencies(const MicrophoneFrequencies &t_newValue, int t_i)
DominantFrequencies(const DominantFrequencies &t_other)
Copy Constructor.
DominantFrequencies(const std::string &t_str)
String Constructor.
void set_frequencies(const MicrophoneFrequencies *t_newValue)
const RMSLevels & rms() const
std::string description()
const MicrophoneFrequencies & frequencies(int t_i) const
DominantFrequencies(struct wb_r_m_s_levels t_rms=wb_r_m_s_levels(), const struct wb_microphone_frequencies t_frequencies[static_cast< int >(((GU_SIMPLE_WHITEBOARD_BUFSIZE - sizeof(struct wb_r_m_s_levels))/sizeof(struct wb_microphone_frequencies)))]=NULLPTR)
Create a new DominantFrequencies.
void from_string(const std::string &t_str)
DominantFrequencies & operator=(const DominantFrequencies &t_other)
Copy Assignment Operator.
const MicrophoneFrequencies * frequencies() const
static int num_frequencies()
WHITEBOARD_POSTER_STRING_CONVERSION.
DominantFrequencies(const struct wb_dominant_frequencies &t_other)
Copy Constructor.
void set_rms(const RMSLevels &t_newValue)
Provides a C++ wrapper around wb_microphone_frequencies.
void from_string(const std::string &t_str)
Provides a C++ wrapper around wb_r_m_s_levels.
std::string description()
void from_string(const std::string &t_str)
Frequency quadruple for rear and front stereo channels.
struct wb_microphone_frequencies frequencies[static_cast< int >(((GU_SIMPLE_WHITEBOARD_BUFSIZE - sizeof(struct wb_r_m_s_levels))/sizeof(struct wb_microphone_frequencies)))]
dominant frequencies
struct wb_r_m_s_levels rms
RMS levels of dominant frequency.
WHITEBOARD_POSTER_STRING_CONVERSION.
WHITEBOARD_POSTER_STRING_CONVERSION.
const char * wb_dominant_frequencies_description(const struct wb_dominant_frequencies *self, char *descString, size_t bufferSize)
Convert to a description string.
const char * wb_dominant_frequencies_to_string(const struct wb_dominant_frequencies *self, char *toString, size_t bufferSize)
Convert to a string.
struct wb_dominant_frequencies * wb_dominant_frequencies_from_string(struct wb_dominant_frequencies *self, const char *str)
Convert from a string.
#define DOMINANT_NUMFREQi
#define DOMINANT_FREQUENCIES_FREQUENCIES_ARRAY_SIZE
WHITEBOARD_POSTER_STRING_CONVERSION.
#define DOMINANT_FREQUENCIES_DESC_BUFFER_SIZE
#define DOMINANT_FREQUENCIES_TO_STRING_BUFFER_SIZE