I could get each tracks rms level using ChannelGroup.
But I can’t get Fmod Studio Tracks order.
How can I get the order of Studio?
Thanks in advance
using UE4.25
Here is source code.
.H
TArrayFMOD::ChannelGroup* ChannelGroupArray;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "FMOD", meta = (AllowPrivateAccess = "true"))
TArray<class UFMODEvent*> EventArray;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "FMOD", meta = (AllowPrivateAccess = "true"))
TArray<FString> EventNameArray;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "FMOD", meta = (AllowPrivateAccess = "true"))
TArray<float> TrackLeftRMSVolumeArray;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "FMOD", meta = (AllowPrivateAccess = "true"))
TArray<float> TrackRightRMSVolumeArray;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "FMOD", meta = (AllowPrivateAccess = "true"))
TArray<FString> TrackName;
.CPP
int ChannelCount = 0;
pChannelGroup->getNumGroups(&ChannelGroupCount);
for (int i = 0; i < ChannelGroupCount; ++i)
{
FMOD::ChannelGroup* SubGroup = nullptr;
pChannelGroup->getGroup(i, &SubGroup);
char ChannelName[128] = {};
SubGroup->getName(ChannelName, 128);
FString NameStr = ChannelName;
TrackName.Add(NameStr);
//GEngine->AddOnScreenDebugMessage(-1, 100.f, FColor::Red, NameStr);
ChannelGroupArray.Add(SubGroup);
TrackLeftRMSVolumeArray.Add(0.f);
TrackRightRMSVolumeArray.Add(0.f);
FMOD::DSP* pSubDSP = nullptr;
SubGroup->getDSP(0, &pSubDSP);
DSPArray.Add(pSubDSP);
ErrCheck(pSubDSP->setMeteringEnabled(true, true), TEXT("setMeteringEnabled"));
}
