Advertisement
Guest User

GetSongNamesInsideFolder

a guest
Apr 5th, 2017
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.12 KB | None | 0 0
  1. //Base Code
  2. //https://answers.unrealengine.com/questions/134539/list-all-maps-in-project-or-directory.html
  3. //
  4. TArray<FString> UMusicalRangeBPFunctionLibrary::GetSongNamesInsideFolder(FString SongPath) {
  5.     if (SongPath.IsEmpty())
  6.     {
  7.         TArray<FString> EmptyArray;
  8.         EmptyArray.Add("ERROR");
  9.         EmptyArray.Add("Invalid Path");
  10.         return EmptyArray;
  11.     }
  12.     auto ObjectLibrary = UObjectLibrary::CreateLibrary(UObject::StaticClass(), false, true); //UWorld::StaticClass() UObject::StaticClass()
  13.     ObjectLibrary->LoadAssetDataFromPath(SongPath); //Path input here "/Game/MusicShoot/Audio/Songs" //Had TEXT() here
  14.     TArray<FAssetData> AssetDatas;
  15.     ObjectLibrary->GetAssetDataList(AssetDatas);
  16.     UE_LOG(LogTemp, Warning, TEXT("Found Songs: %d"), AssetDatas.Num());        //Display ItemsFound
  17.  
  18.     TArray<FString> Names = TArray<FString>();
  19.  
  20.     for (int32 i = 0; i < AssetDatas.Num(); ++i)
  21.     {
  22.         FAssetData& AssetData = AssetDatas[i];
  23.         FString name = AssetData.AssetName.ToString();
  24.         if (name.Contains("Track-",ESearchCase::CaseSensitive, ESearchDir::FromStart))
  25.         {      
  26.             name.RemoveFromStart("Track-");
  27.             Names.Add(name);
  28.         }
  29.     }
  30.     return Names;
  31. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement