425const CString kStringMono =
"Mono";
426const CString kStringStereo =
"Stereo";
427const CString kStringStereoR =
"Stereo (Ls Rs)";
428const CString kStringStereoC =
"Stereo (Lc Rc)";
429const CString kStringStereoSide =
"Stereo (Sl Sr)";
430const CString kStringStereoCLfe =
"Stereo (C LFE)";
431const CString kStringStereoTF =
"Stereo (Tfl Tfr)";
432const CString kStringStereoTS =
"Stereo (Tsl Tsr)";
433const CString kStringStereoTR =
"Stereo (Trl Trr)";
434const CString kStringStereoBF =
"Stereo (Bfl Bfr)";
435const CString kStringCineFront =
"Cine Front";
437const CString kString30Cine =
"LRC";
438const CString kString30Music =
"LRS";
439const CString kString31Cine =
"LRC+LFE";
440const CString kString31Music =
"LRS+LFE";
441const CString kString40Cine =
"LRCS";
442const CString kString40Music =
"Quadro";
443const CString kString41Cine =
"LRCS+LFE";
444const CString kString41Music =
"Quadro+LFE";
445const CString kString50 =
"5.0";
446const CString kString51 =
"5.1";
447const CString kString60Cine =
"6.0 Cine";
448const CString kString60Music =
"6.0 Music";
449const CString kString61Cine =
"6.1 Cine";
450const CString kString61Music =
"6.1 Music";
451const CString kString70Cine =
"7.0 SDDS";
452const CString kString70CineOld =
"7.0 Cine (SDDS)";
453const CString kString70Music =
"7.0";
454const CString kString70MusicOld =
"7.0 Music (Dolby)";
455const CString kString71Cine =
"7.1 SDDS";
456const CString kString71CineOld =
"7.1 Cine (SDDS)";
457const CString kString71Music =
"7.1";
458const CString kString71MusicOld =
"7.1 Music (Dolby)";
459const CString kString71CineTopCenter =
"7.1 Cine Top Center";
460const CString kString71CineCenterHigh =
"7.1 Cine Center High";
461const CString kString71CineFullRear =
"7.1 Cine Full Rear";
462const CString kString51_2 =
"5.1.2";
463const CString kString50_2 =
"5.0.2";
464const CString kString50_2TopSide =
"5.0.2 Top Side";
465const CString kString51_2TopSide =
"5.1.2 Top Side";
466const CString kString71Proximity =
"7.1 Proximity";
467const CString kString80Cine =
"8.0 Cine";
468const CString kString80Music =
"8.0 Music";
469const CString kString40_4 =
"8.0 Cube";
470const CString kString81Cine =
"8.1 Cine";
471const CString kString81Music =
"8.1 Music";
472const CString kString90Cine =
"9.0 Cine";
473const CString kString91Cine =
"9.1 Cine";
474const CString kString100Cine =
"10.0 Cine";
475const CString kString101Cine =
"10.1 Cine";
476const CString kString52_5 =
"5.2.5";
477const CString kString72_5 =
"12.2";
478const CString kString50_4 =
"5.0.4";
479const CString kString51_4 =
"5.1.4";
480const CString kString50_4_1 =
"5.0.4.1";
481const CString kString51_4_1 =
"5.1.4.1";
482const CString kString70_2 =
"7.0.2";
483const CString kString71_2 =
"7.1.2";
484const CString kString70_3 =
"7.0.3";
485const CString kString72_3 =
"7.2.3";
486const CString kString70_4 =
"7.0.4";
487const CString kString71_4 =
"7.1.4";
488const CString kString70_6 =
"7.0.6";
489const CString kString71_6 =
"7.1.6";
490const CString kString90_4 =
"9.0.4";
491const CString kString91_4 =
"9.1.4";
492const CString kString90_6 =
"9.0.6";
493const CString kString91_6 =
"9.1.6";
494const CString kString50_5 =
"10.0 Auro-3D";
495const CString kString51_5 =
"10.1 Auro-3D";
496const CString kString50_6 =
"11.0 Auro-3D";
497const CString kString51_6 =
"11.1 Auro-3D";
498const CString kString130 =
"13.0 Auro-3D";
499const CString kString131 =
"13.1 Auro-3D";
500const CString kString41_4_1 =
"8.1 MPEG";
501const CString kString60_4_4 =
"14.0";
502const CString kString220 =
"22.0";
503const CString kString222 =
"22.2";
504const CString kString50_5_3 =
"5.0.5.3";
505const CString kString51_5_3 =
"5.1.5.3";
506const CString kString50_2_2 =
"5.0.2.2";
507const CString kString50_4_2 =
"5.0.4.2";
508const CString kString70_4_2 =
"7.0.4.2";
509const CString kString50_5_Sony =
"5.0.5 Sony";
510const CString kString40_2_2 =
"4.0.3.2";
511const CString kString40_4_2 =
"4.0.4.2";
512const CString kString50_3_2 =
"5.0.3.2";
513const CString kString30_5_2 =
"3.0.5.2";
514const CString kString40_4_4 =
"4.0.4.4";
515const CString kString50_4_4 =
"5.0.4.4";
517const CString kStringAmbi1stOrder =
"1st Order Ambisonics";
518const CString kStringAmbi2cdOrder =
"2nd Order Ambisonics";
519const CString kStringAmbi3rdOrder =
"3rd Order Ambisonics";
520const CString kStringAmbi4thOrder =
"4th Order Ambisonics";
521const CString kStringAmbi5thOrder =
"5th Order Ambisonics";
522const CString kStringAmbi6thOrder =
"6th Order Ambisonics";
523const CString kStringAmbi7thOrder =
"7th Order Ambisonics";
531const CString kStringStereoS =
"L R";
532const CString kStringStereoRS =
"Ls Rs";
533const CString kStringStereoCS =
"Lc Rc";
534const CString kStringStereoSS =
"Sl Sr";
535const CString kStringStereoCLfeS=
"C LFE";
536const CString kStringStereoTFS =
"Tfl Tfr";
537const CString kStringStereoTSS =
"Tsl Tsr";
538const CString kStringStereoTRS =
"Trl Trr";
539const CString kStringStereoBFS =
"Bfl Bfr";
540const CString kStringCineFrontS =
"L R C Lc Rc";
541const CString kString30CineS =
"L R C";
542const CString kString30MusicS =
"L R S";
543const CString kString31CineS =
"L R C LFE";
544const CString kString31MusicS =
"L R LFE S";
545const CString kString40CineS =
"L R C S";
546const CString kString40MusicS =
"L R Ls Rs";
547const CString kString41CineS =
"L R C LFE S";
548const CString kString41MusicS =
"L R LFE Ls Rs";
549const CString kString50S =
"L R C Ls Rs";
550const CString kString51S =
"L R C LFE Ls Rs";
551const CString kString60CineS =
"L R C Ls Rs Cs";
552const CString kString60MusicS =
"L R Ls Rs Sl Sr";
553const CString kString61CineS =
"L R C LFE Ls Rs Cs";
554const CString kString61MusicS =
"L R LFE Ls Rs Sl Sr";
555const CString kString70CineS =
"L R C Ls Rs Lc Rc";
556const CString kString70MusicS =
"L R C Ls Rs Sl Sr";
557const CString kString71CineS =
"L R C LFE Ls Rs Lc Rc";
558const CString kString71MusicS =
"L R C LFE Ls Rs Sl Sr";
559const CString kString80CineS =
"L R C Ls Rs Lc Rc Cs";
560const CString kString80MusicS =
"L R C Ls Rs Cs Sl Sr";
561const CString kString81CineS =
"L R C LFE Ls Rs Lc Rc Cs";
562const CString kString81MusicS =
"L R C LFE Ls Rs Cs Sl Sr";
563const CString kString40_4S =
"L R Ls Rs Tfl Tfr Trl Trr";
564const CString kString71CineTopCenterS =
"L R C LFE Ls Rs Cs Tc";
565const CString kString71CineCenterHighS =
"L R C LFE Ls Rs Cs Tfc";
566const CString kString71CineFullRearS =
"L R C LFE Ls Rs Lcs Rcs";
567const CString kString50_2S =
"L R C Ls Rs Tfl Tfr";
568const CString kString51_2S =
"L R C LFE Ls Rs Tfl Tfr";
569const CString kString50_2TopSideS =
"L R C Ls Rs Tsl Tsr";
570const CString kString51_2TopSideS =
"L R C LFE Ls Rs Tsl Tsr";
571const CString kString71ProximityS =
"L R C LFE Ls Rs Pl Pr";
572const CString kString90CineS =
"L R C Ls Rs Lc Rc Sl Sr";
573const CString kString91CineS =
"L R C LFE Ls Rs Lc Rc Sl Sr";
574const CString kString100CineS =
"L R C Ls Rs Lc Rc Cs Sl Sr";
575const CString kString101CineS =
"L R C LFE Ls Rs Lc Rc Cs Sl Sr";
576const CString kString50_4S =
"L R C Ls Rs Tfl Tfr Trl Trr";
577const CString kString51_4S =
"L R C LFE Ls Rs Tfl Tfr Trl Trr";
578const CString kString50_4_1S =
"L R C Ls Rs Tfl Tfr Trl Trr Bfc";
579const CString kString51_4_1S =
"L R C LFE Ls Rs Tfl Tfr Trl Trr Bfc";
580const CString kString70_2S =
"L R C Ls Rs Sl Sr Tsl Tsr";
581const CString kString71_2S =
"L R C LFE Ls Rs Sl Sr Tsl Tsr";
582const CString kString70_3S =
"L R C Ls Rs Sl Sr Tfl Tfr Trc";
583const CString kString72_3S =
"L R C LFE Ls Rs Sl Sr Tfl Tfr Trc LFE2";
584const CString kString70_4S =
"L R C Ls Rs Sl Sr Tfl Tfr Trl Trr";
585const CString kString71_4S =
"L R C LFE Ls Rs Sl Sr Tfl Tfr Trl Trr";
586const CString kString70_6S =
"L R C Ls Rs Sl Sr Tfl Tfr Trl Trr Tsl Tsr";
587const CString kString71_6S =
"L R C LFE Ls Rs Sl Sr Tfl Tfr Trl Trr Tsl Tsr";
588const CString kString90_4S =
"L R C Ls Rs Lc Rc Sl Sr Tfl Tfr Trl Trr";
589const CString kString91_4S =
"L R C LFE Ls Rs Lc Rc Sl Sr Tfl Tfr Trl Trr";
590const CString kString90_6S =
"L R C Ls Rs Lc Rc Sl Sr Tfl Tfr Trl Trr Tsl Tsr";
591const CString kString91_6S =
"L R C LFE Ls Rs Lc Rc Sl Sr Tfl Tfr Trl Trr Tsl Tsr";
592const CString kString50_5S =
"L R C Ls Rs Tc Tfl Tfr Trl Trr";
593const CString kString51_5S =
"L R C LFE Ls Rs Tc Tfl Tfr Trl Trr";
594const CString kString50_5_SonyS =
"L R C Ls Rs Tfl Tfc Tfr Trl Trr";
595const CString kString50_6S =
"L R C Ls Rs Tc Tfl Tfc Tfr Trl Trr";
596const CString kString51_6S =
"L R C LFE Ls Rs Tc Tfl Tfc Tfr Trl Trr";
597const CString kString130S =
"L R C Ls Rs Sl Sr Tc Tfl Tfc Tfr Trl Trr";
598const CString kString131S =
"L R C LFE Ls Rs Sl Sr Tc Tfl Tfc Tfr Trl Trr";
599const CString kString52_5S =
"L R C LFE Ls Rs Tfl Tfc Tfr Trl Trr LFE2";
600const CString kString72_5S =
"L R C LFE Ls Rs Lc Rc Tfl Tfc Tfr Trl Trr LFE2";
601const CString kString41_4_1S =
"L R LFE Ls Rs Tfl Tfc Tfr Bfc";
602const CString kString30_5_2S =
"L R C Tfl Tfc Tfr Trl Trr Bfl Bfr";
603const CString kString40_2_2S =
"C Sl Sr Cs Tfc Tsl Tsr Trc";
604const CString kString40_4_2S =
"L R Ls Rs Tfl Tfr Trl Trr Bfl Bfr";
605const CString kString40_4_4S =
"L R Ls Rs Tfl Tfr Trl Trr Bfl Bfr Brl Brr";
606const CString kString50_4_4S =
"L R C Ls Rs Tfl Tfr Trl Trr Bfl Bfr Brl Brr";
607const CString kString60_4_4S =
"L R Ls Rs Sl Sr Tfl Tfr Trl Trr Bfl Bfr Brl Brr";
608const CString kString50_5_3S =
"L R C Ls Rs Tfl Tfc Tfr Trl Trr Bfl Bfc Bfr";
609const CString kString51_5_3S =
"L R C LFE Ls Rs Tfl Tfc Tfr Trl Trr Bfl Bfc Bfr";
610const CString kString50_2_2S =
"L R C Ls Rs Tsl Tsr Bfl Bfr";
611const CString kString50_3_2S =
"L R C Ls Rs Tfl Tfc Tfr Bfl Bfr";
612const CString kString50_4_2S =
"L R C Ls Rs Tfl Tfr Trl Trr Bfl Bfr";
613const CString kString70_4_2S =
"L R C Ls Rs Sl Sr Tfl Tfr Trl Trr Bfl Bfr";
614const CString kString222S =
"L R C LFE Ls Rs Lc Rc Cs Sl Sr Tc Tfl Tfc Tfr Trl Trc Trr LFE2 Tsl Tsr Bfl Bfc Bfr";
615const CString kString220S =
"L R C Ls Rs Lc Rc Cs Sl Sr Tc Tfl Tfc Tfr Trl Trc Trr Tsl Tsr Bfl Bfc Bfr";
617const CString kStringAmbi1stOrderS =
"0 1 2 3";
618const CString kStringAmbi2cdOrderS =
"0 1 2 3 4 5 6 7 8";
619const CString kStringAmbi3rdOrderS =
"0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15";
620const CString kStringAmbi4thOrderS =
"0..24";
621const CString kStringAmbi5thOrderS =
"0..35";
622const CString kStringAmbi6thOrderS =
"0..48";
623const CString kStringAmbi7thOrderS =
"0..63";
648 if ((arrangement & speaker) == 0)
679 arrTmp = arrTmp >> 1;
689 return (arrSubSet == (arrSubSet & arr));
755 if (((top || bottom) && middle) || (top && bottom))
799 if (!strcmp8 (arrStr, kStringMono))
801 if (!strcmp8 (arrStr, kStringStereo))
803 if (!strcmp8 (arrStr, kStringStereoR))
805 if (!strcmp8 (arrStr, kStringStereoC))
807 if (!strcmp8 (arrStr, kStringStereoSide))
809 if (!strcmp8 (arrStr, kStringStereoCLfe))
811 if (!strcmp8 (arrStr, kStringStereoTF))
813 if (!strcmp8 (arrStr, kStringStereoTS))
815 if (!strcmp8 (arrStr, kStringStereoTR))
817 if (!strcmp8 (arrStr, kStringStereoBF))
819 if (!strcmp8 (arrStr, kStringCineFront))
821 if (!strcmp8 (arrStr, kString30Cine))
823 if (!strcmp8 (arrStr, kString30Music))
825 if (!strcmp8 (arrStr, kString31Cine))
827 if (!strcmp8 (arrStr, kString31Music))
829 if (!strcmp8 (arrStr, kString40Cine))
831 if (!strcmp8 (arrStr, kString40Music))
833 if (!strcmp8 (arrStr, kString41Cine))
835 if (!strcmp8 (arrStr, kString41Music))
837 if (!strcmp8 (arrStr, kString50))
839 if (!strcmp8 (arrStr, kString51))
841 if (!strcmp8 (arrStr, kString60Cine))
843 if (!strcmp8 (arrStr, kString60Music))
845 if (!strcmp8 (arrStr, kString61Cine))
847 if (!strcmp8 (arrStr, kString61Music))
849 if (!strcmp8 (arrStr, kString70Cine) || !strcmp8 (arrStr, kString70CineOld))
851 if (!strcmp8 (arrStr, kString70Music) || !strcmp8 (arrStr, kString70MusicOld))
853 if (!strcmp8 (arrStr, kString71Cine) || !strcmp8 (arrStr, kString71CineOld))
855 if (!strcmp8 (arrStr, kString71Music) || !strcmp8 (arrStr, kString71MusicOld))
857 if (!strcmp8 (arrStr, kString71Proximity))
859 if (!strcmp8 (arrStr, kString80Cine))
861 if (!strcmp8 (arrStr, kString80Music))
863 if (!strcmp8 (arrStr, kString81Cine))
865 if (!strcmp8 (arrStr, kString81Music))
867 if (!strcmp8 (arrStr, kString52_5))
869 if (!strcmp8 (arrStr, kString72_5))
871 if (!strcmp8 (arrStr, kString40_4))
873 if (!strcmp8 (arrStr, kString71CineTopCenter))
875 if (!strcmp8 (arrStr, kString71CineCenterHigh))
877 if (!strcmp8 (arrStr, kString50_2))
879 if (!strcmp8 (arrStr, kString51_2))
881 if (!strcmp8 (arrStr, kString50_2TopSide))
883 if (!strcmp8 (arrStr, kString51_2TopSide))
885 if (!strcmp8 (arrStr, kString71CineFullRear))
887 if (!strcmp8 (arrStr, kString90Cine))
889 if (!strcmp8 (arrStr, kString91Cine))
891 if (!strcmp8 (arrStr, kString100Cine))
893 if (!strcmp8 (arrStr, kString101Cine))
895 if (!strcmp8 (arrStr, kString50_4))
897 if (!strcmp8 (arrStr, kString51_4))
899 if (!strcmp8 (arrStr, kString50_4_1))
901 if (!strcmp8 (arrStr, kString51_4_1))
903 if (!strcmp8 (arrStr, kString41_4_1))
905 if (!strcmp8 (arrStr, kString70_2))
907 if (!strcmp8 (arrStr, kString71_2))
909 if (!strcmp8 (arrStr, kString70_3))
911 if (!strcmp8 (arrStr, kString72_3))
913 if (!strcmp8 (arrStr, kString70_4))
915 if (!strcmp8 (arrStr, kString71_4))
917 if (!strcmp8 (arrStr, kString70_6))
919 if (!strcmp8 (arrStr, kString71_6))
921 if (!strcmp8 (arrStr, kString90_4))
923 if (!strcmp8 (arrStr, kString91_4))
925 if (!strcmp8 (arrStr, kString90_6))
927 if (!strcmp8 (arrStr, kString91_6))
929 if (!strcmp8 (arrStr, kString50_5))
931 if (!strcmp8 (arrStr, kString51_5))
933 if (!strcmp8 (arrStr, kString50_6))
935 if (!strcmp8 (arrStr, kString51_6))
937 if (!strcmp8 (arrStr, kString130))
939 if (!strcmp8 (arrStr, kString131))
941 if (!strcmp8 (arrStr, kString60_4_4))
943 if (!strcmp8 (arrStr, kString222))
945 if (!strcmp8 (arrStr, kString220))
947 if (!strcmp8 (arrStr, kString50_5_3))
949 if (!strcmp8 (arrStr, kString51_5_3))
951 if (!strcmp8 (arrStr, kString50_2_2))
953 if (!strcmp8 (arrStr, kString50_4_2))
955 if (!strcmp8 (arrStr, kString70_4_2))
958 if (!strcmp8 (arrStr, kString50_5_Sony))
960 if (!strcmp8 (arrStr, kString40_2_2))
962 if (!strcmp8 (arrStr, kString40_4_2))
964 if (!strcmp8 (arrStr, kString50_3_2))
966 if (!strcmp8 (arrStr, kString30_5_2))
968 if (!strcmp8 (arrStr, kString40_4_4))
970 if (!strcmp8 (arrStr, kString50_4_4))
973 if (!strcmp8 (arrStr, kStringAmbi1stOrder))
975 if (!strcmp8 (arrStr, kStringAmbi2cdOrder))
977 if (!strcmp8 (arrStr, kStringAmbi3rdOrder))
979 if (!strcmp8 (arrStr, kStringAmbi4thOrder))
981 if (!strcmp8 (arrStr, kStringAmbi5thOrder))
983 if (!strcmp8 (arrStr, kStringAmbi6thOrder))
985 if (!strcmp8 (arrStr, kStringAmbi7thOrder))
999 case kStereo:
return withSpeakersName ? kStringStereoS : kStringStereo;
1000 case kStereoSurround:
return withSpeakersName ? kStringStereoRS : kStringStereoR;
1001 case kStereoCenter:
return withSpeakersName ? kStringStereoCS : kStringStereoC;
1002 case kStereoSide:
return withSpeakersName ? kStringStereoSS : kStringStereoSide;
1003 case kStereoCLfe:
return withSpeakersName ? kStringStereoCLfeS: kStringStereoCLfe;
1004 case kStereoTF:
return withSpeakersName ? kStringStereoTFS : kStringStereoTF;
1005 case kStereoTS:
return withSpeakersName ? kStringStereoTSS : kStringStereoTS;
1006 case kStereoTR:
return withSpeakersName ? kStringStereoTRS : kStringStereoTR;
1007 case kStereoBF:
return withSpeakersName ? kStringStereoBFS : kStringStereoBF;
1010 case kCineFront:
return withSpeakersName ? kStringCineFrontS : kStringCineFront;
1011 case k30Cine:
return withSpeakersName ? kString30CineS : kString30Cine;
1012 case k31Cine:
return withSpeakersName ? kString31CineS : kString31Cine;
1013 case k30Music:
return withSpeakersName ? kString30MusicS : kString30Music;
1014 case k31Music:
return withSpeakersName ? kString31MusicS : kString31Music;
1015 case k40Cine:
return withSpeakersName ? kString40CineS : kString40Cine;
1016 case k41Cine:
return withSpeakersName ? kString41CineS : kString41Cine;
1017 case k40Music:
return withSpeakersName ? kString40MusicS : kString40Music;
1018 case k41Music:
return withSpeakersName ? kString41MusicS : kString41Music;
1019 case k50:
return withSpeakersName ? kString50S : kString50;
1020 case k51:
return withSpeakersName ? kString51S : kString51;
1021 case k60Cine:
return withSpeakersName ? kString60CineS : kString60Cine;
1022 case k61Cine:
return withSpeakersName ? kString61CineS : kString61Cine;
1023 case k60Music:
return withSpeakersName ? kString60MusicS : kString60Music;
1024 case k61Music:
return withSpeakersName ? kString61MusicS : kString61Music;
1025 case k70Cine:
return withSpeakersName ? kString70CineS : kString70Cine;
1026 case k71Cine:
return withSpeakersName ? kString71CineS : kString71Cine;
1027 case k70Music:
return withSpeakersName ? kString70MusicS : kString70Music;
1028 case k71Music:
return withSpeakersName ? kString71MusicS : kString71Music;
1029 case k71Proximity:
return withSpeakersName ? kString71ProximityS : kString71Proximity;
1030 case k80Cine:
return withSpeakersName ? kString80CineS : kString80Cine;
1031 case k81Cine:
return withSpeakersName ? kString81CineS : kString81Cine;
1032 case k80Music:
return withSpeakersName ? kString80MusicS : kString80Music;
1033 case k81Music:
return withSpeakersName ? kString81MusicS : kString81Music;
1034 case k71CineFullRear:
return withSpeakersName ? kString71CineFullRearS : kString71CineFullRear;
1035 case k90Cine:
return withSpeakersName ? kString90CineS : kString90Cine;
1036 case k91Cine:
return withSpeakersName ? kString91CineS : kString91Cine;
1037 case k100Cine:
return withSpeakersName ? kString100CineS : kString100Cine;
1038 case k101Cine:
return withSpeakersName ? kString101CineS : kString101Cine;
1041 case k71CineTopCenter:
return withSpeakersName ? kString71CineTopCenterS : kString71CineTopCenter;
1042 case k71CineCenterHigh:
return withSpeakersName ? kString71CineCenterHighS : kString71CineCenterHigh;
1043 case k50_2_TS:
return withSpeakersName ? kString50_2TopSideS : kString50_2TopSide;
1044 case k51_2_TS:
return withSpeakersName ? kString51_2TopSideS : kString51_2TopSide;
1046 case k40_4:
return withSpeakersName ? kString40_4S : kString40_4;
1047 case k50_2:
return withSpeakersName ? kString50_2S : kString50_2;
1048 case k51_2:
return withSpeakersName ? kString51_2S : kString51_2;
1049 case k50_4:
return withSpeakersName ? kString50_4S : kString50_4;
1050 case k51_4:
return withSpeakersName ? kString51_4S : kString51_4;
1051 case k50_5:
return withSpeakersName ? kString50_5S : kString50_5;
1052 case k51_5:
return withSpeakersName ? kString51_5S : kString51_5;
1053 case k52_5:
return withSpeakersName ? kString52_5S : kString52_5;
1054 case k50_6:
return withSpeakersName ? kString50_6S : kString50_6;
1055 case k51_6:
return withSpeakersName ? kString51_6S : kString51_6;
1056 case k70_2:
return withSpeakersName ? kString70_2S : kString70_2;
1057 case k71_2:
return withSpeakersName ? kString71_2S : kString71_2;
1058 case k70_3:
return withSpeakersName ? kString70_3S : kString70_3;
1059 case k72_3:
return withSpeakersName ? kString72_3S : kString72_3;
1060 case k70_4:
return withSpeakersName ? kString70_4S : kString70_4;
1061 case k71_4:
return withSpeakersName ? kString71_4S : kString71_4;
1062 case k72_5:
return withSpeakersName ? kString72_5S : kString72_5;
1063 case k70_6:
return withSpeakersName ? kString70_6S : kString70_6;
1064 case k71_6:
return withSpeakersName ? kString71_6S : kString71_6;
1065 case k90_4:
return withSpeakersName ? kString90_4S : kString90_4;
1066 case k91_4:
return withSpeakersName ? kString91_4S : kString91_4;
1067 case k90_6:
return withSpeakersName ? kString90_6S : kString90_6;
1068 case k91_6:
return withSpeakersName ? kString91_6S : kString91_6;
1069 case k130:
return withSpeakersName ? kString130S : kString130;
1070 case k131:
return withSpeakersName ? kString131S : kString131;
1073 case k41_4_1:
return withSpeakersName ? kString41_4_1S : kString41_4_1;
1074 case k50_4_1:
return withSpeakersName ? kString50_4_1S : kString50_4_1;
1075 case k51_4_1:
return withSpeakersName ? kString51_4_1S : kString51_4_1;
1076 case k50_5_3:
return withSpeakersName ? kString50_5_3S : kString50_5_3;
1077 case k51_5_3:
return withSpeakersName ? kString51_5_3S : kString51_5_3;
1078 case k50_2_2:
return withSpeakersName ? kString50_2_2S : kString50_2_2;
1079 case k50_4_2:
return withSpeakersName ? kString50_4_2S : kString50_4_2;
1080 case k60_4_4:
return withSpeakersName ? kString60_4_4S : kString60_4_4;
1081 case k70_4_2:
return withSpeakersName ? kString70_4_2S : kString70_4_2;
1083 case k50_5_Sony:
return withSpeakersName ? kString50_5_SonyS : kString50_5_Sony;
1084 case k40_2_2:
return withSpeakersName ? kString40_2_2S : kString40_2_2;
1085 case k40_4_2:
return withSpeakersName ? kString40_4_2S : kString40_4_2;
1086 case k50_3_2:
return withSpeakersName ? kString50_3_2S : kString50_3_2;
1087 case k30_5_2:
return withSpeakersName ? kString30_5_2S : kString30_5_2;
1088 case k40_4_4:
return withSpeakersName ? kString40_4_4S : kString40_4_4;
1089 case k50_4_4:
return withSpeakersName ? kString50_4_4S : kString50_4_4;
1091 case k220:
return withSpeakersName ? kString220S : kString220;
1092 case k222:
return withSpeakersName ? kString222S : kString222;
1096 return withSpeakersName ? kStringAmbi1stOrderS : kStringAmbi1stOrder;
1098 return withSpeakersName ? kStringAmbi2cdOrderS : kStringAmbi2cdOrder;
1100 return withSpeakersName ? kStringAmbi3rdOrderS : kStringAmbi3rdOrder;
1102 return withSpeakersName ? kStringAmbi4thOrderS : kStringAmbi4thOrder;
1104 return withSpeakersName ? kStringAmbi5thOrderS : kStringAmbi5thOrder;
1106 return withSpeakersName ? kStringAmbi6thOrderS : kStringAmbi6thOrder;
1108 return withSpeakersName ? kStringAmbi7thOrderS : kStringAmbi7thOrder;
1126 if (index2 == index)
1131 arrTmp = arrTmp >> 1;
const Speaker kSpeakerACN21
Ambisonic ACN 21.
const Speaker kSpeakerPr
Proximity Right (Pr)
const Speaker kSpeakerCs
Center of Surround (Cs) - Back Center - Surround (S)
const Speaker kSpeakerLfe
Subbass (Lfe)
const Speaker kSpeakerTsl
Top Side Left (Tsl)
const Speaker kSpeakerACN24
Ambisonic ACN 24.
const Speaker kSpeakerACN0
Ambisonic ACN 0.
const Speaker kSpeakerR
Right (R)
const Speaker kSpeakerBfr
Bottom Front Right (Bfr)
const Speaker kSpeakerRcs
Right of Center Surround (Rcs) - Back Right Center.
const Speaker kSpeakerACN2
Ambisonic ACN 2.
const Speaker kSpeakerACN1
Ambisonic ACN 1.
const Speaker kSpeakerTrc
Top Rear/Back Center (Trc)
const Speaker kSpeakerACN18
Ambisonic ACN 18.
const Speaker kSpeakerACN20
Ambisonic ACN 20.
const Speaker kSpeakerACN14
Ambisonic ACN 14.
const Speaker kSpeakerRc
Right of Center (Rc) - Front Right Center.
const Speaker kSpeakerBrr
Bottom Rear Right (Brr)
const Speaker kSpeakerM
Mono (M)
const Speaker kSpeakerL
Speaker Definitions.
const Speaker kSpeakerACN8
Ambisonic ACN 8.
const Speaker kSpeakerSl
Side Left (Sl)
const Speaker kSpeakerLs
Left Surround (Ls)
const Speaker kSpeakerBrc
Bottom Rear Center (Brc)
const Speaker kSpeakerACN11
Ambisonic ACN 11.
const SpeakerArrangement kEmpty
Speaker Arrangement Definitions.
const CString kStringMonoS
Speaker Arrangement String Representation with Speakers Name.
const Speaker kSpeakerACN13
Ambisonic ACN 13.
const Speaker kSpeakerTsr
Top Side Right (Tsr)
const Speaker kSpeakerACN4
Ambisonic ACN 4.
const Speaker kSpeakerSr
Side Right (Sr)
const Speaker kSpeakerACN23
Ambisonic ACN 23.
const Speaker kSpeakerLcs
Left of Center Surround (Lcs) - Back Left Center.
const Speaker kSpeakerBsl
Bottom Side Left (Bsl)
const Speaker kSpeakerACN5
Ambisonic ACN 5.
const Speaker kSpeakerTfr
Top Front Right (Tfr)
const Speaker kSpeakerTrl
Top Rear/Back Left (Trl)
const Speaker kSpeakerACN6
Ambisonic ACN 6.
const Speaker kSpeakerACN16
Ambisonic ACN 16.
const Speaker kSpeakerACN19
Ambisonic ACN 19.
const Speaker kSpeakerLfe2
Subbass 2 (Lfe2)
const Speaker kSpeakerACN17
Ambisonic ACN 17.
int32 getChannelCount(SpeakerArrangement arr)
Returns number of channels used in speaker arrangement.
const Speaker kSpeakerRs
Right Surround (Rs)
const Speaker kSpeakerC
Center (C)
const Speaker kSpeakerBrl
Bottom Rear Left (Brl)
const Speaker kSpeakerBfc
Bottom Front Center (Bfc)
const Speaker kSpeakerACN3
Ambisonic ACN 3.
const Speaker kSpeakerS
Surround (S)
const Speaker kSpeakerACN22
Ambisonic ACN 22.
const Speaker kSpeakerBsr
Bottom Side Right (Bsr)
const Speaker kSpeakerACN12
Ambisonic ACN 12.
const Speaker kSpeakerACN15
Ambisonic ACN 15.
const Speaker kSpeakerACN7
Ambisonic ACN 7.
const Speaker kSpeakerACN9
Ambisonic ACN 9.
const Speaker kSpeakerLc
Left of Center (Lc) - Front Left Center.
const Speaker kSpeakerTfc
Top Front Center (Tfc)
const Speaker kSpeakerTfl
Top Front Left (Tfl)
const Speaker kSpeakerTc
Top Center Over-head, Top Middle (Tc)
const CString kStringEmpty
Speaker Arrangement String Representation.
const Speaker kSpeakerBfl
Bottom Front Left (Bfl)
const Speaker kSpeakerTrr
Top Rear/Back Right (Trr)
const Speaker kSpeakerPl
Proximity Left (Pl)
const Speaker kSpeakerACN10
Ambisonic ACN 10.
const SpeakerArrangement k71_6
L R C Lfe Ls Rs Sl Sr Tfl Tfr Trl Trr Tsl Tsr.
const SpeakerArrangement kStereoSide
Sl Sr.
const SpeakerArrangement k51
L R C Lfe Ls Rs.
const SpeakerArrangement k101
L R C Lfe Ls Rs Tc Tfl Tfr Trl Trr.
const SpeakerArrangement k70Cine
L R C Ls Rs Lc Rc.
const SpeakerArrangement k71Cine
L R C Lfe Ls Rs Lc Rc.
const SpeakerArrangement k130
L R C Ls Rs Sl Sr Tc Tfl Tfc Tfr Trl Trr.
const SpeakerArrangement k71Proximity
L R C Lfe Ls Rs Pl Pr.
const SpeakerArrangement kStereoCLfe
C Lfe.
const SpeakerArrangement kMono
M.
const SpeakerArrangement kStereoTF
Tfl Tfr.
bool isAmbisonics(const SpeakerArrangement &arr)
Returns true if arrangement is a Ambisonic configuration.
bool hasBottomSpeakers(const SpeakerArrangement &arr)
Returns true if arrangement contains bottom (lower layer) speakers.
const SpeakerArrangement k70_3
L R C Ls Rs Sl Sr Tfl Tfr Trc.
const SpeakerArrangement k91_4
L R C Lfe Ls Rs Lc Rc Sl Sr Tfl Tfr Trl Trr.
const SpeakerArrangement k110
L R C Ls Rs Tc Tfl Tfc Tfr Trl Trr.
const SpeakerArrangement k70Music
L R C Ls Rs Sl Sr.
const SpeakerArrangement kAmbi1stOrderACN
First-Order with Ambisonic Channel Number (ACN) ordering and SN3D normalization (4 channels)
bool hasTopSpeakers(const SpeakerArrangement &arr)
Returns true if arrangement contains top (upper layer) speakers.
const SpeakerArrangement k140
L R Ls Rs Sl Sr Tfl Tfr Trl Trr Bfl Bfr Brl Brr.
const SpeakerArrangement k131
L R C Lfe Ls Rs Sl Sr Tc Tfl Tfc Tfr Trl Trr.
const SpeakerArrangement k102
L R C Lfe Ls Rs Tfl Tfc Tfr Trl Trr Lfe2.
const SpeakerArrangement k100
L R C Ls Rs Tc Tfl Tfr Trl Trr.
const SpeakerArrangement k51_5_3
L R C Lfe Ls Rs Tfl Tfc Tfr Trl Trr Bfl Bfc Bfr.
const SpeakerArrangement k40Cine
L R C S.
Speaker getSpeaker(const SpeakerArrangement &arr, int32 index)
Returns the speaker for a given index in a speaker arrangement (return 0 when out of range).
const SpeakerArrangement k90Cine
L R C Ls Rs Lc Rc Sl Sr.
const SpeakerArrangement k111
L R C Lfe Ls Rs Tc Tfl Tfc Tfr Trl Trr.
Speaker convertSpeaker_Ambi_1234Order_to_Ambi567Order(Speaker speaker_1234_order)
Converts a speaker of a Ambisonic order 1 to 4 to a Ambisonic order 7 (5 to 7) (return 0 when out of ...
const SpeakerArrangement k61Cine
L R C Lfe Ls Rs Cs.
const SpeakerArrangement k60Music
L R Ls Rs Sl Sr.
const SpeakerArrangement kStereoTR
Trl Trr.
const SpeakerArrangement k90
L R C Ls Rs Tfl Tfr Trl Trr.
const SpeakerArrangement k41Music
L R Lfe Ls Rs.
const SpeakerArrangement k40_4_4
L R Ls Rs Tfl Tfr Trl Trr Bfl Bfr Brl Brr.
const SpeakerArrangement k81Music
L R C Lfe Ls Rs Cs Sl Sr.
const SpeakerArrangement kStereoSurround
Ls Rs.
const SpeakerArrangement kAmbi3rdOrderACN
Third-Order with Ambisonic Channel Number (ACN) ordering and SN3D normalization (16 channels)
const SpeakerArrangement k51_4_1
L R C Lfe Ls Rs Tfl Tfr Trl Trr Bfc.
const SpeakerArrangement k71CineCenterHigh
L R C Lfe Ls Rs Cs Tfc.
const SpeakerArrangement kAmbi7thOrderACN
Seventh-Order with Ambisonic Channel Number (ACN) ordering and SN3D normalization (64 channels)
const SpeakerArrangement k40_4_2
L R Ls Rs Tfl Tfr Trl Trr Bfl Bfr.
const SpeakerArrangement k91Cine
L R C Lfe Ls Rs Lc Rc Sl Sr.
int32 getSpeakerIndex(Speaker speaker, SpeakerArrangement arrangement)
Returns the index of a given speaker in a speaker arrangement (-1 if speaker is not part of the arran...
const SpeakerArrangement k71CineTopCenter
L R C Lfe Ls Rs Cs Tc.
const SpeakerArrangement kAmbi5thOrderACN
Fifth-Order with Ambisonic Channel Number (ACN) ordering and SN3D normalization (36 channels)
const SpeakerArrangement k31Music
L R Lfe S.
const SpeakerArrangement k70_2
L R C Ls Rs Sl Sr Tsl Tsr.
const SpeakerArrangement k90_6
L R C Lfe Ls Rs Lc Rc Sl Sr Tfl Tfr Trl Trr Tsl Tsr.
const SpeakerArrangement k50_2_2
L R C Ls Rs Tsl Tsr Bfl Bfr.
const SpeakerArrangement kStereoCenter
Lc Rc.
const SpeakerArrangement k100Cine
L R C Ls Rs Lc Rc Cs Sl Sr.
const SpeakerArrangement k70CineSideHigh
L R C Ls Rs Tsl Tsr.
const SpeakerArrangement k50_4_1
L R C Ls Rs Tfl Tfr Trl Trr Bfc.
const SpeakerArrangement k80Cube
L R Ls Rs Tfl Tfr Trl Trr.
const SpeakerArrangement kAmbi6thOrderACN
Sixth-Order with Ambisonic Channel Number (ACN) ordering and SN3D normalization (49 channels)
const SpeakerArrangement k41Cine
L R C Lfe S.
const SpeakerArrangement kCineFront
L R C Lc Rc.
const SpeakerArrangement k71CineFrontHigh
L R C Lfe Ls Rs Tfl Tfr.
const SpeakerArrangement k50_5_Sony
L R C Ls Rs Tfl Tfc Tfr Trl Trr.
const SpeakerArrangement kStereoBF
Bfl Bfr.
const SpeakerArrangement k222
L R C Lfe Ls Rs Lc Rc Cs Sl Sr Tc Tfl Tfc Tfr Trl Trc Trr Lfe2 Tsl Tsr Bfl Bfc Bfr.
const SpeakerArrangement k71_4
L R C Lfe Ls Rs Sl Sr Tfl Tfr Trl Trr.
bool hasMiddleSpeakers(const SpeakerArrangement &arr)
Returns true if arrangement contains middle layer (at ears level) speakers.
const SpeakerArrangement k40Music
L R Ls Rs.
const SpeakerArrangement k70_4_2
L R C Ls Rs Sl Sr Tfl Tfr Trl Trr Bfl Bfr.
CString getSpeakerArrangementString(SpeakerArrangement arr, bool withSpeakersName)
Returns the string representation of a given speaker arrangement.
const SpeakerArrangement k50_4_4
L R C Ls Rs Tfl Tfr Trl Trr Bfl Bfr Brl Brr.
const SpeakerArrangement kStereoTS
Tsl Tsr.
const SpeakerArrangement k30Music
L R S.
const SpeakerArrangement k40_2_2
C Sl Sr Cs Tsl Tsr Bsl Bsr.
const SpeakerArrangement k101Cine
L R C Lfe Ls Rs Lc Rc Cs Sl Sr.
const SpeakerArrangement kAmbi4thOrderACN
Fourth-Order with Ambisonic Channel Number (ACN) ordering and SN3D normalization (25 channels)
const SpeakerArrangement k72_3
L R C Lfe Ls Rs Sl Sr Tfl Tfr Trc Lfe2.
const SpeakerArrangement k71CineFullRear
L R C Lfe Ls Rs Lcs Rcs.
const SpeakerArrangement k70CineFrontHigh
L R C Ls Rs Tfl Tfr.
bool isAuro(const SpeakerArrangement &arr)
Returns true if arrangement is a Auro configuration.
const SpeakerArrangement k70_6
L R C Ls Rs Sl Sr Tfl Tfr Trl Trr Tsl Tsr.
const SpeakerArrangement k220
L R C Ls Rs Lc Rc Cs Sl Sr Tc Tfl Tfc Tfr Trl Trc Trr Tsl Tsr Bfl Bfc Bfr.
const SpeakerArrangement k30_5_2
L R C Tfl Tfc Tfr Trl Trr Bfl Bfr.
const SpeakerArrangement k31Cine
L R C Lfe.
const SpeakerArrangement kStereo
L R.
const SpeakerArrangement k50_4_2
L R C Ls Rs Tfl Tfr Trl Trr Bfl Bfr.
const SpeakerArrangement k71Music
L R C Lfe Ls Rs Sl Sr.
const SpeakerArrangement k60Cine
L R C Ls Rs Cs.
const SpeakerArrangement k91
L R C Lfe Ls Rs Tfl Tfr Trl Trr.
const SpeakerArrangement k80Music
L R C Ls Rs Cs Sl Sr.
const SpeakerArrangement k81MPEG3D
L R Lfe Ls Rs Tfl Tfc Tfr Bfc.
const SpeakerArrangement k71CineSideHigh
L R C Lfe Ls Rs Tsl Tsr.
const SpeakerArrangement k90_4
L R C Ls Rs Lc Rc Sl Sr Tfl Tfr Trl Trr.
const SpeakerArrangement kAmbi2cdOrderACN
Second-Order with Ambisonic Channel Number (ACN) ordering and SN3D normalization (9 channels)
const SpeakerArrangement k50
L R C Ls Rs.
const SpeakerArrangement k70_4
L R C Ls Rs Sl Sr Tfl Tfr Trl Trr.
const SpeakerArrangement k71_2
L R C Lfe Ls Rs Sl Sr Tsl Tsr.
const SpeakerArrangement k61Music
L R Lfe Ls Rs Sl Sr.
SpeakerArrangement getSpeakerArrangementFromString(CString arrStr)
Returns the speaker arrangement associated to a string representation.
bool is3D(const SpeakerArrangement &arr)
Returns true if arrangement is a 3D configuration ((top or bottom) and middle)
Speaker convertSpeaker_Ambi_567Order_to_Ambi1234Order(Speaker speaker_567_order)
Converts a speaker of a Ambisonic order 5 to 7 to a Ambisonic order 4 (1 to 4) (return 0 when out of ...
const SpeakerArrangement k50_3_2
L R C Ls Rs Tfl Tfc Tfr Bfl Bfr.
const SpeakerArrangement k50_5_3
L R C Ls Rs Tfl Tfc Tfr Trl Trr Bfl Bfc Bfr.
bool hasLfe(const SpeakerArrangement &arr)
Returns true if arrangement contains LFE speakers.
CString getSpeakerShortName(const SpeakerArrangement &arr, int32 index)
Returns a CString representation of a given speaker in a given arrangement.
const SpeakerArrangement k122
L R C Lfe Ls Rs Lc Rc Tfl Tfc Tfr Trl Trr Lfe2.
const SpeakerArrangement k80Cine
L R C Ls Rs Lc Rc Cs.
const SpeakerArrangement k30Cine
L R C.
bool isSubsetOf(const SpeakerArrangement &arrSubSet, const SpeakerArrangement &arr)
Returns true if arrSubSet is a subset speaker of arr (means each speaker of arrSubSet is included in ...
const SpeakerArrangement k81Cine
L R C Lfe Ls Rs Lc Rc Cs.
const SpeakerArrangement k91_6
L R C Lfe Ls Rs Lc Rc Sl Sr Tfl Tfr Trl Trr Tsl Tsr.
uint64 Speaker
Bit for one speaker.
uint64 SpeakerArrangement
Bitset of speakers.
const char8 * CString
C-String.