EViseme GetVisemeValueFromString()

in Source/AmazonPollyMetaHuman/Private/Viseme.cpp [32:60]


EViseme GetVisemeValueFromString(const FString& String)
{
    static TMap<FString, EViseme, FDefaultSetAllocator, CaseSensitiveKeyFunc<EViseme>> VisemeMap = {
        {TEXT("p"),EViseme::P}, 
        {TEXT("t"),EViseme::LowerT},
        {TEXT("S"),EViseme::S},
        {TEXT("T"),EViseme::T}, 
        {TEXT("f"),EViseme::F},
        {TEXT("k"),EViseme::K},
        {TEXT("i"),EViseme::I},
        {TEXT("r"),EViseme::R},
        {TEXT("s"),EViseme::LowerS},
        {TEXT("u"),EViseme::U},
        {TEXT("@"),EViseme::At},
        {TEXT("a"),EViseme::A}, 
        {TEXT("e"),EViseme::LowerE}, 
        {TEXT("E"),EViseme::E},
        {TEXT("o"),EViseme::LowerO},
        {TEXT("O"),EViseme::O},
        {TEXT("sil"),EViseme::Sil} 
    };
    auto Viseme = VisemeMap.Find(String);
    if (!Viseme)
    {
        UE_LOG(LogAmazonPollyViseme, Error, TEXT("Tried to read an invalid viseme value. Returning Sil as default. Invalid value: %s"), *String);
        return EViseme::Sil;
    }
    return *Viseme;
};