12#ifndef AAXLibrary_AAX_StringUtilities_hpp
13#define AAXLibrary_AAX_StringUtilities_hpp
94 const char kSeparator =
'\n';
98 const char* s_begin = s_in;
99 const char* s_end = s_begin;
103 while((*s_end != kSeparator) && (*s_end !=
'\0'))
109 if((s_end-s_begin <= aMaxChars) || (*s_end==
'\0'))
118 const int32_t length = int32_t(s_end-s_begin);
119 if (0 < length && 0 < aMaxChars)
121 std::strncat(s_out, s_begin,
static_cast<std::size_t
>(std::max<int32_t>(0, std::min<int32_t>(aMaxChars,length))));
124 else if (0 < aMaxChars)
126 strncpy(s_out,
"",
static_cast<size_t>(aMaxChars));
138 int32_t cmp = toupper(*ct++) - toupper(*cs++);
177 uint32_t currentBitMask = (
static_cast<uint32_t
>(0x1) << (numBits-1));
179 while (currentBitMask != 0)
181 if (currentBitMask & value)
189 currentBitMask >>= 1;
198 const char*
const cS = s.
Get();
199 int32_t length = int32_t(s.
Length());
200 for(int32_t i = 0; i < length ; i++)
207 value |= (0x1 << (length-1-i));
219 return (0x20 <= inChar) && (0x7E >= inChar);
224 const uint32_t oneCharMask = 0x000000FF;
225 const size_t oneCharNumBits = 8;
228 for (uint16_t i = 3;
true == result ; --i)
230 const char curChar =
static_cast<const char>((inFourChar >> (i*oneCharNumBits)) & oneCharMask);
231 result = result &&
IsASCII(curChar);
232 if (0 == i) {
break; }
243 std::string resultStr;
244 for (int16_t i = 3; i >= 0; --i)
246 const char curChar =
static_cast<char>((inFourChar >> (i*oneCharNumBits)) & oneCharMask);
252 resultStr += curChar;
256 resultStr += unknownChar;
262namespace AAX {
namespace internal {
269 std::string buffer{
"0"};
275 bool first_non_zero = inLeadingZeros;
279 for (
size_t i = 0; i < size; ++i)
281 const auto c = hexChars[(inValue >> 4 * (size - 1 - i)) & 0xf];
282 if (first_non_zero || c !=
'0')
284 first_non_zero =
true;
305 memcpy(&bitfield, &inPropertyValue,
sizeof(uint32_t));
317 if (0x00FFFFFF < abs(inPropertyValue))
320 return internal::ToHexadecimal(inPropertyValue);
324 return std::to_string(
static_cast<long int>(inPropertyValue));
329 return std::to_string((
long int)inInt32);
334 return std::to_string((
unsigned long)inUInt32);
339 std::string result =
"(";
351 switch (inStemFormat)
394 default: {
return std::string(inAbbreviate ?
"unk" :
"unknown stem format");
break; }
400 switch (inStemFormat)
403 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"M" :
"Audio"); }
406 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"L" :
"Left"); }
407 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"R" :
"Right"); }
410 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"L" :
"Left"); }
411 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"C" :
"Center"); }
412 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"R" :
"Right"); }
415 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"L" :
"Left"); }
416 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"C" :
"Center"); }
417 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"R" :
"Right"); }
418 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"S" :
"Surround"); }
421 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"L" :
"Left"); }
422 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"R" :
"Right"); }
423 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Ls" :
"Left Surround"); }
424 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rs" :
"Right Surround"); }
427 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"L" :
"Left"); }
428 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"C" :
"Center"); }
429 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"R" :
"Right"); }
430 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Ls" :
"Left Surround"); }
431 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rs" :
"Right Surround"); }
434 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"L" :
"Left"); }
435 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"C" :
"Center"); }
436 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"R" :
"Right"); }
437 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Ls" :
"Left Surround"); }
438 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rs" :
"Right Surround"); }
439 if (0 == inChannelIndex--) {
return std::string(
"LFE"); }
442 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"L" :
"Left"); }
443 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"C" :
"Center"); }
444 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"R" :
"Right"); }
445 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Ls" :
"Left Surround"); }
446 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Cs" :
"Center Surround"); }
447 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rs" :
"Right Surround"); }
450 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"L" :
"Left"); }
451 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"C" :
"Center"); }
452 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"R" :
"Right"); }
453 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Ls" :
"Left Surround"); }
454 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Cs" :
"Center Surround"); }
455 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rs" :
"Right Surround"); }
456 if (0 == inChannelIndex--) {
return std::string(
"LFE"); }
459 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"L" :
"Left"); }
460 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Lc" :
"Left Center"); }
461 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"C" :
"Center"); }
462 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rc" :
"Right Center"); }
463 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"R" :
"Right"); }
464 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Ls" :
"Left Surround"); }
465 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rs" :
"Right Surround"); }
468 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"L" :
"Left"); }
469 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Lc" :
"Left Center"); }
470 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"C" :
"Center"); }
471 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rc" :
"Right Center"); }
472 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"R" :
"Right"); }
473 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Ls" :
"Left Surround"); }
474 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rs" :
"Right Surround"); }
475 if (0 == inChannelIndex--) {
return std::string(
"LFE"); }
478 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"L" :
"Left"); }
479 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"C" :
"Center"); }
480 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"R" :
"Right"); }
481 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Lss" :
"Left Surround Side"); }
482 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rss" :
"Right Surround Side"); }
483 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Lsr" :
"Left Surround Rear"); }
484 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rsr" :
"Right Surround Rear"); }
487 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"L" :
"Left"); }
488 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"C" :
"Center"); }
489 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"R" :
"Right"); }
490 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Lss" :
"Left Surround Side"); }
491 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rss" :
"Right Surround Side"); }
492 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Lsr" :
"Left Surround Rear"); }
493 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rsr" :
"Right Surround Rear"); }
494 if (0 == inChannelIndex--) {
return std::string(
"LFE"); }
497 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"L" :
"Left"); }
498 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"C" :
"Center"); }
499 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"R" :
"Right"); }
500 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Lss" :
"Left Surround Side"); }
501 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rss" :
"Right Surround Side"); }
502 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Lsr" :
"Left Surround Rear"); }
503 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rsr" :
"Right Surround Rear"); }
504 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"LTS" :
"Left Top Surround"); }
505 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"RTS" :
"Right Top Surround"); }
508 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"L" :
"Left"); }
509 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"C" :
"Center"); }
510 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"R" :
"Right"); }
511 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Lss" :
"Left Surround Side"); }
512 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rss" :
"Right Surround Side"); }
513 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Lsr" :
"Left Surround Rear"); }
514 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rsr" :
"Right Surround Rear"); }
515 if (0 == inChannelIndex--) {
return std::string(
"LFE"); }
516 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"LTS" :
"Left Top Surround"); }
517 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"RTS" :
"Right Top Surround"); }
526 if (0 == inChannelIndex--) {
return std::string(
"1"); }
527 if (0 == inChannelIndex--) {
return std::string(
"2"); }
528 if (0 == inChannelIndex--) {
return std::string(
"3"); }
529 if (0 == inChannelIndex--) {
return std::string(
"4"); }
530 if (0 == inChannelIndex--) {
return std::string(
"5"); }
531 if (0 == inChannelIndex--) {
return std::string(
"6"); }
532 if (0 == inChannelIndex--) {
return std::string(
"7"); }
533 if (0 == inChannelIndex--) {
return std::string(
"8"); }
534 if (0 == inChannelIndex--) {
return std::string(
"9"); }
535 if (0 == inChannelIndex--) {
return std::string(
"10"); }
536 if (0 == inChannelIndex--) {
return std::string(
"11"); }
537 if (0 == inChannelIndex--) {
return std::string(
"12"); }
538 if (0 == inChannelIndex--) {
return std::string(
"13"); }
539 if (0 == inChannelIndex--) {
return std::string(
"14"); }
540 if (0 == inChannelIndex--) {
return std::string(
"15"); }
541 if (0 == inChannelIndex--) {
return std::string(
"16"); }
542 if (0 == inChannelIndex--) {
return std::string(
"17"); }
543 if (0 == inChannelIndex--) {
return std::string(
"18"); }
544 if (0 == inChannelIndex--) {
return std::string(
"19"); }
545 if (0 == inChannelIndex--) {
return std::string(
"20"); }
546 if (0 == inChannelIndex--) {
return std::string(
"21"); }
547 if (0 == inChannelIndex--) {
return std::string(
"22"); }
548 if (0 == inChannelIndex--) {
return std::string(
"23"); }
549 if (0 == inChannelIndex--) {
return std::string(
"24"); }
550 if (0 == inChannelIndex--) {
return std::string(
"25"); }
551 if (0 == inChannelIndex--) {
return std::string(
"26"); }
552 if (0 == inChannelIndex--) {
return std::string(
"27"); }
553 if (0 == inChannelIndex--) {
return std::string(
"28"); }
554 if (0 == inChannelIndex--) {
return std::string(
"29"); }
555 if (0 == inChannelIndex--) {
return std::string(
"30"); }
556 if (0 == inChannelIndex--) {
return std::string(
"31"); }
557 if (0 == inChannelIndex--) {
return std::string(
"32"); }
558 if (0 == inChannelIndex--) {
return std::string(
"33"); }
559 if (0 == inChannelIndex--) {
return std::string(
"34"); }
560 if (0 == inChannelIndex--) {
return std::string(
"35"); }
561 if (0 == inChannelIndex--) {
return std::string(
"36"); }
562 if (0 == inChannelIndex--) {
return std::string(
"37"); }
563 if (0 == inChannelIndex--) {
return std::string(
"38"); }
564 if (0 == inChannelIndex--) {
return std::string(
"39"); }
565 if (0 == inChannelIndex--) {
return std::string(
"40"); }
566 if (0 == inChannelIndex--) {
return std::string(
"41"); }
567 if (0 == inChannelIndex--) {
return std::string(
"42"); }
568 if (0 == inChannelIndex--) {
return std::string(
"43"); }
569 if (0 == inChannelIndex--) {
return std::string(
"44"); }
570 if (0 == inChannelIndex--) {
return std::string(
"45"); }
571 if (0 == inChannelIndex--) {
return std::string(
"46"); }
572 if (0 == inChannelIndex--) {
return std::string(
"47"); }
573 if (0 == inChannelIndex--) {
return std::string(
"48"); }
574 if (0 == inChannelIndex--) {
return std::string(
"49"); }
575 if (0 == inChannelIndex--) {
return std::string(
"50"); }
576 if (0 == inChannelIndex--) {
return std::string(
"51"); }
577 if (0 == inChannelIndex--) {
return std::string(
"52"); }
578 if (0 == inChannelIndex--) {
return std::string(
"53"); }
579 if (0 == inChannelIndex--) {
return std::string(
"54"); }
580 if (0 == inChannelIndex--) {
return std::string(
"55"); }
581 if (0 == inChannelIndex--) {
return std::string(
"56"); }
582 if (0 == inChannelIndex--) {
return std::string(
"57"); }
583 if (0 == inChannelIndex--) {
return std::string(
"58"); }
584 if (0 == inChannelIndex--) {
return std::string(
"59"); }
585 if (0 == inChannelIndex--) {
return std::string(
"60"); }
586 if (0 == inChannelIndex--) {
return std::string(
"61"); }
587 if (0 == inChannelIndex--) {
return std::string(
"62"); }
588 if (0 == inChannelIndex--) {
return std::string(
"63"); }
589 if (0 == inChannelIndex--) {
return std::string(
"64"); }
592 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"L" :
"Left"); }
593 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"C" :
"Center"); }
594 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"R" :
"Right"); }
595 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Ls" :
"Left Surround"); }
596 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rs" :
"Right Surround"); }
597 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Ltm" :
"Left Top Middle"); }
598 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rtm" :
"Right Top Middle"); }
601 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"L" :
"Left"); }
602 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"C" :
"Center"); }
603 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"R" :
"Right"); }
604 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Ls" :
"Left Surround"); }
605 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rs" :
"Right Surround"); }
606 if (0 == inChannelIndex--) {
return std::string(
"LFE"); }
607 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Ltm" :
"Left Top Middle"); }
608 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rtm" :
"Right Top Middle"); }
611 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"L" :
"Left"); }
612 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"C" :
"Center"); }
613 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"R" :
"Right"); }
614 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Ls" :
"Left Surround"); }
615 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rs" :
"Right Surround"); }
616 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Ltf" :
"Left Top Front"); }
617 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rtf" :
"Right Top Front"); }
618 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Ltr" :
"Left Top Rear"); }
619 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rtr" :
"Right Top Rear"); }
622 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"L" :
"Left"); }
623 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"C" :
"Center"); }
624 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"R" :
"Right"); }
625 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Ls" :
"Left Surround"); }
626 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rs" :
"Right Surround"); }
627 if (0 == inChannelIndex--) {
return std::string(
"LFE"); }
628 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Ltf" :
"Left Top Front"); }
629 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rtf" :
"Right Top Front"); }
630 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Ltr" :
"Left Top Rear"); }
631 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rtr" :
"Right Top Rear"); }
634 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"L" :
"Left"); }
635 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"C" :
"Center"); }
636 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"R" :
"Right"); }
637 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Lss" :
"Left Surround Side"); }
638 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rss" :
"Right Surround Side"); }
639 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Lsr" :
"Left Surround Rear"); }
640 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rsr" :
"Right Surround Rear"); }
641 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Ltf" :
"Left Top Front"); }
642 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rtf" :
"Right Top Front"); }
643 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Ltr" :
"Left Top Rear"); }
644 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rtr" :
"Right Top Rear"); }
647 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"L" :
"Left"); }
648 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"C" :
"Center"); }
649 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"R" :
"Right"); }
650 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Lss" :
"Left Surround Side"); }
651 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rss" :
"Right Surround Side"); }
652 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Lsr" :
"Left Surround Rear"); }
653 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rsr" :
"Right Surround Rear"); }
654 if (0 == inChannelIndex--) {
return std::string(
"LFE"); }
655 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Ltf" :
"Left Top Front"); }
656 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rtf" :
"Right Top Front"); }
657 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Ltr" :
"Left Top Rear"); }
658 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rtr" :
"Right Top Rear"); }
661 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"L" :
"Left"); }
662 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"C" :
"Center"); }
663 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"R" :
"Right"); }
664 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Lss" :
"Left Surround Side"); }
665 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rss" :
"Right Surround Side"); }
666 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Lsr" :
"Left Surround Rear"); }
667 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rsr" :
"Right Surround Rear"); }
668 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Ltf" :
"Left Top Front"); }
669 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rtf" :
"Right Top Front"); }
670 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Ltm" :
"Left Top Middle"); }
671 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rtm" :
"Right Top Middle"); }
672 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Ltr" :
"Left Top Rear"); }
673 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rtr" :
"Right Top Rear"); }
676 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"L" :
"Left"); }
677 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"C" :
"Center"); }
678 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"R" :
"Right"); }
679 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Lss" :
"Left Surround Side"); }
680 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rss" :
"Right Surround Side"); }
681 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Lsr" :
"Left Surround Rear"); }
682 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rsr" :
"Right Surround Rear"); }
683 if (0 == inChannelIndex--) {
return std::string(
"LFE"); }
684 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Ltf" :
"Left Top Front"); }
685 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rtf" :
"Right Top Front"); }
686 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Ltm" :
"Left Top Middle"); }
687 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rtm" :
"Right Top Middle"); }
688 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Ltr" :
"Left Top Rear"); }
689 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rtr" :
"Right Top Rear"); }
692 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"L" :
"Left"); }
693 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"C" :
"Center"); }
694 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"R" :
"Right"); }
695 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Lw" :
"Left Wide"); }
696 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rw" :
"Right Wide"); }
697 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Lss" :
"Left Surround Side"); }
698 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rss" :
"Right Surround Side"); }
699 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Lsr" :
"Left Surround Rear"); }
700 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rsr" :
"Right Surround Rear"); }
701 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Ltf" :
"Left Top Front"); }
702 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rtf" :
"Right Top Front"); }
703 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Ltr" :
"Left Top Rear"); }
704 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rtr" :
"Right Top Rear"); }
707 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"L" :
"Left"); }
708 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"C" :
"Center"); }
709 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"R" :
"Right"); }
710 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Lw" :
"Left Wide"); }
711 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rw" :
"Right Wide"); }
712 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Lss" :
"Left Surround Side"); }
713 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rss" :
"Right Surround Side"); }
714 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Lsr" :
"Left Surround Rear"); }
715 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rsr" :
"Right Surround Rear"); }
716 if (0 == inChannelIndex--) {
return std::string(
"LFE"); }
717 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Ltf" :
"Left Top Front"); }
718 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rtf" :
"Right Top Front"); }
719 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Ltr" :
"Left Top Rear"); }
720 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rtr" :
"Right Top Rear"); }
723 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"L" :
"Left"); }
724 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"C" :
"Center"); }
725 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"R" :
"Right"); }
726 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Lw" :
"Left Wide"); }
727 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rw" :
"Right Wide"); }
728 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Lss" :
"Left Surround Side"); }
729 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rss" :
"Right Surround Side"); }
730 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Lsr" :
"Left Surround Rear"); }
731 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rsr" :
"Right Surround Rear"); }
732 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Ltf" :
"Left Top Front"); }
733 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rtf" :
"Right Top Front"); }
734 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Ltm" :
"Left Top Middle"); }
735 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rtm" :
"Right Top Middle"); }
736 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Ltr" :
"Left Top Rear"); }
737 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rtr" :
"Right Top Rear"); }
740 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"L" :
"Left"); }
741 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"C" :
"Center"); }
742 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"R" :
"Right"); }
743 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Lw" :
"Left Wide"); }
744 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rw" :
"Right Wide"); }
745 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Lss" :
"Left Surround Side"); }
746 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rss" :
"Right Surround Side"); }
747 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Lsr" :
"Left Surround Rear"); }
748 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rsr" :
"Right Surround Rear"); }
749 if (0 == inChannelIndex--) {
return std::string(
"LFE"); }
750 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Ltf" :
"Left Top Front"); }
751 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rtf" :
"Right Top Front"); }
752 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Ltm" :
"Left Top Middle"); }
753 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rtm" :
"Right Top Middle"); }
754 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Ltr" :
"Left Top Rear"); }
755 if (0 == inChannelIndex--) {
return std::string(inAbbreviate ?
"Rtr" :
"Right Top Rear"); }
770 return std::string(inAbbreviate ?
"?" :
"unknown");
775#ifdef DEFINE_AAX_ERROR_STRING
776#undef DEFINE_AAX_ERROR_STRING
778#define DEFINE_AAX_ERROR_STRING(X) if (X == inResult) { return std::string(#X); }
829 return std::string(
"plug-in defined error");
831 return std::string(
"<unknown error code>");
AAX_EStemFormat
Stem format definitions.
Definition: AAX_Enums.h:230
@ AAX_eStemFormat_9_1_6
L C R Lw Rw Lss Rss Lsr Rsr LFE Ltf Rtf Ltm Rtm Ltr Rtr.
Definition: AAX_Enums.h:258
@ AAX_eStemFormat_Mono
M.
Definition: AAX_Enums.h:232
@ AAX_eStemFormat_Ambi_3_ACN
Ambisonics: third-order with ACN channel order and SN3D (AmbiX) normalization.
Definition: AAX_Enums.h:263
@ AAX_eStemFormat_9_1_4
L C R Lw Rw Lss Rss Lsr Rsr LFE Ltf Rtf Ltr Rtr.
Definition: AAX_Enums.h:256
@ AAX_eStemFormat_INT32_MAX
Definition: AAX_Enums.h:277
@ AAX_eStemFormat_9_0_4
L C R Lw Rw Lss Rss Lsr Rsr Ltf Rtf Ltr Rtr.
Definition: AAX_Enums.h:255
@ AAX_eStemFormat_5_0_4
L C R Ls Rs Ltf Rtf Ltr Rtr.
Definition: AAX_Enums.h:249
@ AAX_eStemFormat_Ambi_1_ACN
Ambisonics: first-order with ACN channel order and SN3D (AmbiX) normalization.
Definition: AAX_Enums.h:261
@ AAX_eStemFormat_7_0_DTS
L C R Lss Rss Lsr Rsr.
Definition: AAX_Enums.h:243
@ AAX_eStemFormat_7_0_SDDS
L Lc C Rc R Ls Rs.
Definition: AAX_Enums.h:241
@ AAX_eStemFormat_7_1_2
L C R Lss Rss Lsr Rsr LFE Lts Rts.
Definition: AAX_Enums.h:246
@ AAX_eStemFormat_5_1_2
L C R Ls Rs LFE Ltm Rtm.
Definition: AAX_Enums.h:248
@ AAX_eStemFormat_Quad
L R Ls Rs.
Definition: AAX_Enums.h:236
@ AAX_eStemFormatNum
Definition: AAX_Enums.h:272
@ AAX_eStemFormat_None
Definition: AAX_Enums.h:274
@ AAX_eStemFormat_5_0_2
L C R Ls Rs Ltm Rtm.
Definition: AAX_Enums.h:247
@ AAX_eStemFormat_7_1_4
L C R Lss Rss Lsr Rsr LFE Ltf Rtf Ltr Rtr.
Definition: AAX_Enums.h:252
@ AAX_eStemFormat_7_0_6
L C R Lss Rss Lsr Rsr Ltf Rtf Ltm Rtm Ltr Rtr.
Definition: AAX_Enums.h:253
@ AAX_eStemFormat_9_0_6
L C R Lw Rw Lss Rss Lsr Rsr Ltf Rtf Ltm Rtm Ltr Rtr.
Definition: AAX_Enums.h:257
@ AAX_eStemFormat_7_1_SDDS
L Lc C Rc R Ls Rs LFE.
Definition: AAX_Enums.h:242
@ AAX_eStemFormat_Stereo
L R.
Definition: AAX_Enums.h:233
@ AAX_eStemFormat_7_1_DTS
L C R Lss Rss Lsr Rsr LFE.
Definition: AAX_Enums.h:244
@ AAX_eStemFormat_7_1_6
L C R Lss Rss Lsr Rsr LFE Ltf Rtf Ltm Rtm Ltr Rtr.
Definition: AAX_Enums.h:254
@ AAX_eStemFormat_LCR
L C R.
Definition: AAX_Enums.h:234
@ AAX_eStemFormat_5_1
L C R Ls Rs LFE.
Definition: AAX_Enums.h:238
@ AAX_eStemFormat_LCRS
L C R S.
Definition: AAX_Enums.h:235
@ AAX_eStemFormat_5_1_4
L C R Ls Rs LFE Ltf Rtf Ltr Rtr.
Definition: AAX_Enums.h:250
@ AAX_eStemFormat_7_0_4
L C R Lss Rss Lsr Rsr Ltf Rtf Ltr Rtr.
Definition: AAX_Enums.h:251
@ AAX_eStemFormat_Ambi_4_ACN
Ambisonics: fourth-order with ACN channel order and SN3D (AmbiX) normalization.
Definition: AAX_Enums.h:264
@ AAX_eStemFormat_Ambi_5_ACN
Ambisonics: fifth-order with ACN channel order and SN3D (AmbiX) normalization.
Definition: AAX_Enums.h:265
@ AAX_eStemFormat_7_0_2
L C R Lss Rss Lsr Rsr Lts Rts.
Definition: AAX_Enums.h:245
@ AAX_eStemFormat_6_1
L C R Ls Cs Rs LFE.
Definition: AAX_Enums.h:240
@ AAX_eStemFormat_5_0
L C R Ls Rs.
Definition: AAX_Enums.h:237
@ AAX_eStemFormat_Ambi_6_ACN
Ambisonics: sixth-order with ACN channel order and SN3D (AmbiX) normalization.
Definition: AAX_Enums.h:266
@ AAX_eStemFormat_6_0
L C R Ls Cs Rs.
Definition: AAX_Enums.h:239
@ AAX_eStemFormat_Ambi_7_ACN
Ambisonics: seventh-order with ACN channel order and SN3D (AmbiX) normalization.
Definition: AAX_Enums.h:267
@ AAX_eStemFormat_Any
Definition: AAX_Enums.h:275
@ AAX_eStemFormat_Ambi_2_ACN
Ambisonics: second-order with ACN channel order and SN3D (AmbiX) normalization.
Definition: AAX_Enums.h:262
Definitions of error codes used by AAX plug-ins.
@ AAX_RESULT_NEW_PACKET_POSTED
Definition: AAX_Errors.h:65
@ AAX_ERROR_CONTEXT_ALREADY_HAS_METERS
Definition: AAX_Errors.h:51
@ AAX_ERROR_INVALID_PARAMETER_ID
Definition: AAX_Errors.h:38
@ AAX_ERROR_NOTIFICATION_FAILED
Definition: AAX_Errors.h:68
@ AAX_ERROR_PORT_ID_OUT_OF_RANGE
Definition: AAX_Errors.h:53
@ AAX_ERROR_INVALID_CHUNK_ID
Definition: AAX_Errors.h:44
@ AAX_ERROR_PLUGIN_END
Custom plug-in error codes may be placed in the range ( AAX_ERROR_PLUGIN_END, AAX_ERROR_PLUGIN_BEGIN ...
Definition: AAX_Errors.h:92
@ AAX_RESULT_ADD_FIELD_UNSUPPORTED_FIELD_TYPE
Definition: AAX_Errors.h:60
@ AAX_ERROR_UNIMPLEMENTED
Definition: AAX_Errors.h:46
@ AAX_ERROR_PLUGIN_NULL_PARAMETER
Definition: AAX_Errors.h:67
@ AAX_RESULT_PACKET_STREAM_NOT_EMPTY
Definition: AAX_Errors.h:59
@ AAX_ERROR_UNKNOWN_EXCEPTION
An AAX plug-in should return this to the host if an unknown exception is caught. Exceptions should ne...
Definition: AAX_Errors.h:79
@ AAX_ERROR_MALFORMED_CHUNK
Definition: AAX_Errors.h:63
@ AAX_ERROR_EMPTY_EFFECT_NAME
Definition: AAX_Errors.h:74
@ AAX_ERROR_MIXER_THREAD_FALLING_BEHIND
Definition: AAX_Errors.h:61
@ AAX_ERROR_DIRECT_ACCESS_OUT_OF_BOUNDS
Definition: AAX_Errors.h:55
@ AAX_ERROR_INVALID_PATH
Definition: AAX_Errors.h:77
@ AAX_ERROR_SIGNED_INT_OVERFLOW
Definition: AAX_Errors.h:70
@ AAX_ERROR_FIFO_FULL
Definition: AAX_Errors.h:56
@ AAX_ERROR_NULL_OBJECT
Definition: AAX_Errors.h:41
@ AAX_ERROR_NULL_COMPONENT
Definition: AAX_Errors.h:52
@ AAX_ERROR_PLUGIN_BEGIN
Custom plug-in error codes may be placed in the range ( AAX_ERROR_PLUGIN_END, AAX_ERROR_PLUGIN_BEGIN ...
Definition: AAX_Errors.h:91
@ AAX_ERROR_INVALID_ARGUMENT
One or more input parameters are invalid; all output parameters are left unchanged.
Definition: AAX_Errors.h:80
@ AAX_ERROR_INVALID_METER_INDEX
Definition: AAX_Errors.h:40
@ AAX_ERROR_PLUGIN_NOT_AUTHORIZED
Definition: AAX_Errors.h:66
@ AAX_ERROR_UNKNOWN_PLUGIN
Definition: AAX_Errors.h:75
@ AAX_ERROR_INVALID_STRING_CONVERSION
Definition: AAX_Errors.h:39
@ AAX_ERROR_ACF_ERROR
Definition: AAX_Errors.h:49
@ AAX_ERROR_OLDER_VERSION
Definition: AAX_Errors.h:42
@ AAX_ERROR_INVALID_FIELD_INDEX
Definition: AAX_Errors.h:62
@ AAX_ERROR_NO_COMPONENTS
Definition: AAX_Errors.h:71
@ AAX_ERROR_POST_PACKET_FAILED
Definition: AAX_Errors.h:58
@ AAX_ERROR_INCORRECT_CHUNK_SIZE
Definition: AAX_Errors.h:45
@ AAX_ERROR_FIELD_TYPE_DOES_NOT_SUPPORT_DIRECT_ACCESS
Definition: AAX_Errors.h:54
@ AAX_ERROR_NULL_ARGUMENT
One or more required pointer arguments are null.
Definition: AAX_Errors.h:81
@ AAX_ERROR_PROPERTY_UNDEFINED
Definition: AAX_Errors.h:76
@ AAX_ERROR_DUPLICATE_TYPE_ID
Definition: AAX_Errors.h:73
@ AAX_ERROR_INVALID_VIEW_SIZE
Definition: AAX_Errors.h:69
@ AAX_ERROR_INVALID_PARAMETER_INDEX
Definition: AAX_Errors.h:47
@ AAX_ERROR_INITIALIZING_PACKET_STREAM_THREAD
Definition: AAX_Errors.h:57
@ AAX_ERROR_INVALID_METER_TYPE
Definition: AAX_Errors.h:50
@ AAX_ERROR_INVALID_CHUNK_INDEX
Definition: AAX_Errors.h:43
@ AAX_ERROR_UNKNOWN_ID
Definition: AAX_Errors.h:78
@ AAX_SUCCESS
Definition: AAX_Errors.h:36
@ AAX_ERROR_INVALID_INTERNAL_DATA
Some part of the internal data required by the method is invalid.
Definition: AAX_Errors.h:82
@ AAX_ERROR_NOT_INITIALIZED
Definition: AAX_Errors.h:48
@ AAX_ERROR_TOD_BEHIND
Definition: AAX_Errors.h:64
@ AAX_ERROR_ARGUMENT_BUFFER_OVERFLOW
A buffer argument was not large enough to hold the data which must be placed within it.
Definition: AAX_Errors.h:83
@ AAX_ERROR_DUPLICATE_EFFECT_ID
Definition: AAX_Errors.h:72
int32_t AAX_Result
Definition: AAX.h:334
#define AAX_CONSTEXPR
constexpr keyword macro
Definition: AAX.h:162
int32_t AAX_CPropertyValue
32-bit property values
Definition: AAX.h:335
#define DEFINE_AAX_ERROR_STRING(X)
AAX_EProperty
The list of properties that can be added to an AAX_IPropertyMap.
Definition: AAX_Properties.h:69
@ AAX_eProperty_Constraint_Location
Constraint on the algorithm's location, as a mask of AAX_EConstraintLocationMask.
Definition: AAX_Properties.h:725
@ AAX_eProperty_SampleRate
Specifies which sample rates the Effect supports. A mask of AAX_ESampleRateMask.
Definition: AAX_Properties.h:372
Declarations for cross-platform AAX_ASSERT, AAX_TRACE and related facilities.
#define AAX_ASSERT(condition)
Asserts that a condition is true and logs an error if the condition is false.
Definition: AAX_Assert.h:268
Definition: AAX_EnvironmentUtilities.h:59
bool IsFourCharASCII(uint32_t inFourChar)
Definition: AAX_StringUtilities.hpp:222
std::string AsStringPropertyValue(AAX_EProperty inProperty, AAX_CPropertyValue inPropertyValue)
Definition: AAX_StringUtilities.hpp:294
std::string AsStringFourChar(uint32_t inFourChar)
Definition: AAX_StringUtilities.hpp:237
std::string AsStringStemFormat(AAX_EStemFormat inStemFormat, bool inAbbreviate=false)
Definition: AAX_StringUtilities.hpp:349
std::string AsStringResult(AAX_Result inResult)
Definition: AAX_StringUtilities.hpp:773
int32_t Caseless_strcmp(const char *cs, const char *ct)
Definition: AAX_StringUtilities.hpp:130
std::string Binary2String(uint32_t binaryValue, int32_t numBits)
Definition: AAX_StringUtilities.hpp:173
uint32_t String2Binary(const AAX_IString &s)
Definition: AAX_StringUtilities.hpp:194
std::string AsStringIDTriad(const AAX_SPlugInIdentifierTriad &inIDTriad)
Definition: AAX_StringUtilities.hpp:337
void GetCStringOfLength(char *stringOut, const char *stringIn, int32_t aMaxChars)
==============================================================
Definition: AAX_StringUtilities.hpp:90
bool IsASCII(char inChar)
Definition: AAX_StringUtilities.hpp:217
std::string AsStringInt32(int32_t inInt32)
Definition: AAX_StringUtilities.hpp:327
std::string AsStringUInt32(uint32_t inUInt32)
Definition: AAX_StringUtilities.hpp:332
std::string AsStringStemChannel(AAX_EStemFormat inStemFormat, uint32_t inChannelIndex, bool inAbbreviate)
Definition: AAX_StringUtilities.hpp:398
std::string ToHexadecimal(T inValue, bool inLeadingZeros=false)
Definition: AAX_StringUtilities.hpp:264
Plug-in Identifier Triad.
Definition: AAX.h:553
AAX_CTypeID mProductID
The Plug-In's product (Effect) ID.
Definition: AAX.h:555
AAX_CTypeID mPlugInID
The ID of a specific type in the product (Effect)
Definition: AAX.h:556
AAX_CTypeID mManufacturerID
The Plug-In's manufacturer ID.
Definition: AAX.h:554
A simple string container that can be passed across a binary boundary. This class,...
Definition: AAX_IString.h:38
virtual const char * Get() const =0
virtual uint32_t Length() const =0