Commit v.2025

This commit is contained in:
2025-06-17 13:17:17 +02:00
parent d16693c85b
commit efae805ae1
50 changed files with 2123 additions and 0 deletions

View File

@ -0,0 +1,18 @@
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "Engine/DeveloperSettings.h"
#include "DTFluxGeneralSettings.generated.h"
/**
*
*/
UCLASS()
class DTFLUXPROJECTSETTINGS_API UDTFluxGeneralSettings : public UDeveloperSettings
{
GENERATED_BODY()
};

View File

@ -0,0 +1,65 @@
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "UObject/Object.h"
#include "DTFluxNetworkSettings.generated.h"
struct FDTFluxHttpSettings;
struct FDTFluxWsSettings;
/**
*
*/
UCLASS(Config=Engine, DefaultConfig, meta=(DisplayName="DTFlux Project Settings"))
class DTFLUXPROJECTSETTINGS_API UDTFluxNetworkSettings : public UDeveloperSettings
{
GENERATED_BODY()
public:
UDTFluxNetworkSettings();
UPROPERTY(Category="CHRONO PROXY|Websocket", Config, EditAnywhere, BlueprintReadOnly, DisplayName="Websocket Port")
int WebSocketPort = 3000;
UPROPERTY(Category="CHRONO PROXY|Websocket", Config, EditAnywhere, BlueprintReadOnly, DisplayName="Websocket Address")
FString WebSocketAddress = "127.0.0.1";
UPROPERTY(Category="CHRONO PROXY|Websocket", Config, EditAnywhere, BlueprintReadOnly, DisplayName="Websocket Path")
FString WebSocketPath = "/api/v1";
UPROPERTY(Category="CHRONO PROXY|Websocket", Config, EditAnywhere, BlueprintReadOnly, DisplayName="Autoconnect to WebSocket Server at startup")
bool bWebSocketShouldConnectAtStartup = false;
UPROPERTY(Category="CHRONO PROXY|Websocket", Config, EditAnywhere, BlueprintReadOnly, DisplayName="Auto Reconnect On WebSocket Closed")
bool bWebSocketShouldReconnectOnClosed = false;
UPROPERTY(Category="CHRONO PROXY|Websocket", Config, EditAnywhere, BlueprintReadOnly, DisplayName="Auto Reconnect On WebSocket Error")
bool bWebSocketShouldReconnectOnError = false;
UPROPERTY(Category="CHRONO PROXY|HTTP", Config, EditAnywhere, BlueprintReadOnly, DisplayName="HTTP Address")
FString HTTPAddress = "http://localhost";
UPROPERTY(Category="CHRONO PROXY|HTTP", Config, EditAnywhere, BlueprintReadOnly, DisplayName="HTTP Path")
FString HTTPPath = "/";
UPROPERTY(Category="CHRONO PROXY|HTTP", Config, EditAnywhere, BlueprintReadOnly, DisplayName="HTTP Port")
int HTTPPort = 8080;
#if WITH_EDITOR
virtual void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent) override;
DECLARE_MULTICAST_DELEGATE_OneParam(FOnDTFluxHttpSettingsChanged, const FDTFluxHttpSettings&);
DECLARE_MULTICAST_DELEGATE_OneParam(FOnDTFluxWebSocketSettingsChanged, const FDTFluxWsSettings&);
FOnDTFluxHttpSettingsChanged OnDTFluxHttpSettingsChanged;
FOnDTFluxWebSocketSettingsChanged OnDTFluxWebSocketSettingsChanged;
#endif
static void GetHTTPSettings(const UDTFluxNetworkSettings* Settings, FDTFluxHttpSettings& OutHTTPSettings);
static void GetWebSocketSettings(const UDTFluxNetworkSettings* Settings, FDTFluxWsSettings& OutWsSettings);
};

View File

@ -0,0 +1,24 @@
#pragma once
#include "CoreMinimal.h"
#include "Modules/ModuleManager.h"
/**
* @module DTFluxProjectSettings
* @details DTFlux Project is a framework to integrate all kind of events data from
* multiple API (stopwatch servers, etc...) or manually to unreal motion design platform
* to create live audiovisual shows.
* @brief This module provides all defines the projects settings for this plugin
* @license See LICENSE.TXT at the of DTFluxAPI plugin folder or at
* @see https://github.com/A2MSystemes/DTFluxAPI/blob/main/LICENSE
* @author Ange-Marie MAURIN
*/
DTFLUXPROJECTSETTINGS_API DECLARE_LOG_CATEGORY_EXTERN(logDTFluxProjectSettings, Log, All)
class FDTFluxProjectSettingsModule : public IModuleInterface
{
public:
virtual void StartupModule() override;
virtual void ShutdownModule() override;
};

View File

@ -0,0 +1,58 @@
#pragma once
#include "CoreMinimal.h"
#include "DTFluxNetworkSettingsTypes.generated.h"
USTRUCT()
struct FDTFluxWsSettings
{
GENERATED_BODY()
FDTFluxWsSettings():
Path(TEXT("")),
Address(TEXT(""))
{}
UPROPERTY()
int Port = -1;
UPROPERTY()
FString Path;
UPROPERTY()
FString Address;
UPROPERTY()
bool bShouldAutoReconnectOnClosed = false;
UPROPERTY()
bool bShouldConnectAtStartup = false;
UPROPERTY()
bool bShouldAutoReconnectOnError = false;
bool operator==(const FDTFluxWsSettings& Right) const
{
return Port == Right.Port || Path == Right.Path || Address == Right.Address;
};
bool operator!=(const FDTFluxWsSettings& Right) const
{
return Port != Right.Port || Path != Right.Path || Address != Right.Address;
}
};
USTRUCT()
struct FDTFluxHttpSettings
{
GENERATED_BODY()
FDTFluxHttpSettings():
Port(-1),
Path(TEXT("")),
Address(TEXT("")){}
UPROPERTY()
int Port;
UPROPERTY()
FString Path;
UPROPERTY()
FString Address;
};