From cba9ff474f67b6e76a79b1f4c14873944c098626 Mon Sep 17 00:00:00 2001
From: Lab1 <account@vr.rwth-aachen.de>
Date: Mon, 28 Nov 2022 11:33:09 +0100
Subject: [PATCH] minor improvemnts to avoid confusing error messages when
 eactually nothing should be loaded

---
 .../VAPlugin/Private/Directivity/VADirectivityManager.cpp  | 7 ++++++-
 .../Private/SignalSources/VAAudiofileSignalSource.cpp      | 4 ++--
 .../Public/SignalSources/VAAudiofileSignalSource.h         | 6 ++++--
 Source/VAPlugin/Public/VAReceiverActor.h                   | 5 +++--
 4 files changed, 15 insertions(+), 7 deletions(-)

diff --git a/Source/VAPlugin/Private/Directivity/VADirectivityManager.cpp b/Source/VAPlugin/Private/Directivity/VADirectivityManager.cpp
index 3e07012..0a32322 100644
--- a/Source/VAPlugin/Private/Directivity/VADirectivityManager.cpp
+++ b/Source/VAPlugin/Private/Directivity/VADirectivityManager.cpp
@@ -36,10 +36,15 @@ void FVADirectivityManager::ResetManager()
 
 bool FVADirectivityManager::ReadConfigFile(const FString ConfigFileNameN)
 {
+	if (ConfigFileNameN == "") 
+	{
+		FVAUtils::LogStuff("[FVADirectivityManager::ReadConfigFile()]: DirMappingFileName not specified, so we are not using it.", false);
+		return false;
+	}
+
 	bool EverythingFine = true;
 	ConfigFileName = ConfigFileNameN;
 
-	
 	const FString RelativePath = FPaths::ProjectContentDir();
 	const FString Dir = IFileManager::Get().ConvertToAbsolutePathForExternalAppForRead(*RelativePath);
 
diff --git a/Source/VAPlugin/Private/SignalSources/VAAudiofileSignalSource.cpp b/Source/VAPlugin/Private/SignalSources/VAAudiofileSignalSource.cpp
index cd48b54..5ed4c1e 100644
--- a/Source/VAPlugin/Private/SignalSources/VAAudiofileSignalSource.cpp
+++ b/Source/VAPlugin/Private/SignalSources/VAAudiofileSignalSource.cpp
@@ -19,7 +19,7 @@ void UVAAudiofileSignalSource::Initialize()
 		return;
 	}
 
-	if (!SetAudiofile(Filename))
+	if (Filename != "" && !SetAudiofile(Filename))
 	{
 		FVAUtils::LogStuff("[UVAAudiofileSignalSource::Initialize()]: Error creating Audiofile Signal Source", true);
 		return;
@@ -192,7 +192,7 @@ bool UVAAudiofileSignalSource::CopySignalSourceSettings(const std::string& Other
 	}
 
 	int PlayAction = StartingPlayAction;
-	if (bInitialized)
+	if (bInitialized && Filename != "")
 	{
 		PlayAction = GetPlayAction();
 		if (PlayAction == -1)
diff --git a/Source/VAPlugin/Public/SignalSources/VAAudiofileSignalSource.h b/Source/VAPlugin/Public/SignalSources/VAAudiofileSignalSource.h
index 47d5a3e..a7639b5 100644
--- a/Source/VAPlugin/Public/SignalSources/VAAudiofileSignalSource.h
+++ b/Source/VAPlugin/Public/SignalSources/VAAudiofileSignalSource.h
@@ -93,9 +93,11 @@ protected:
 	UPROPERTY(EditAnywhere, meta = (DisplayName = "Starting State", Category = "Audio file"))
 		TEnumAsByte<EPlayAction::Type> StartingPlayAction = EPlayAction::Type::Stop;
 
-	// Name of Sound file. Folder are possible too: "folder/soundfile.wav"
+	// Name of Sound file. Subfolders can be used, e.g.,  "folder/soundfile.wav"
+	// By default these files are looked for in the data folder of the VAServer
+	// If the automatic VAServer starter script is used, they are searched relative to the Content dir and then send over to the VAServer
 	UPROPERTY(EditAnywhere, meta = (DisplayName = "Filename", Category = "Audio file"))
-		FString Filename = "WelcomeToVA.wav";
+		FString Filename = "";
 
 	// Sets Buffer to a specific time stamp when playing back at the first tick (see Action)
 	UPROPERTY(EditAnywhere, meta = (DisplayName = "Play from x [s]", Category = "Audio file"))
diff --git a/Source/VAPlugin/Public/VAReceiverActor.h b/Source/VAPlugin/Public/VAReceiverActor.h
index fc224d2..4fea712 100644
--- a/Source/VAPlugin/Public/VAReceiverActor.h
+++ b/Source/VAPlugin/Public/VAReceiverActor.h
@@ -71,9 +71,10 @@ protected:
 	UPROPERTY(EditAnywhere, meta = (DisplayName = "Read an initial mapping file?", Category = "Directivity Manager"))
 	bool bReadInitialMappingFile = true;
 	
-	// File name of the Directivity mapping file
+	// File name of the Directivity mapping file (e.g., for chaning directivities dynamically based on phonemes)
+	// if not specified it will be ignored.
 	UPROPERTY(EditAnywhere, meta = (DisplayName = "Name of ini file for directivities", Category = "Directivity Manager"))
-	FString DirMappingFileName = "Study/VADir_default.ini";
+	FString DirMappingFileName = "";
 
 	// Port for remote VAServer starting
 	UPROPERTY(EditAnywhere, meta = (DisplayName = "Remote VAServer Start Port [0, 65535]", Category = "Connection",
-- 
GitLab