#pragma once

/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/

// Package: MediaAssets

#include "Basic.hpp"

#include "MediaAssets_structs.hpp"
#include "CoreUObject_structs.hpp"
#include "CoreUObject_classes.hpp"
#include "Engine_structs.hpp"
#include "Engine_classes.hpp"
#include "AudioMixer_classes.hpp"


SDK_NAMESPACE_START

// Class MediaAssets.MediaSourceRendererInterface
// 0x0000 (0x0000 - 0x0000)
class IMediaSourceRendererInterface final
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("MediaSourceRendererInterface")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"MediaSourceRendererInterface")
	}
	static class IMediaSourceRendererInterface* GetDefaultObj()
	{
		return GetDefaultObjImpl<IMediaSourceRendererInterface>();
	}

	class UObject* AsUObject()
	{
		return reinterpret_cast<UObject*>(this);
	}
	const class UObject* AsUObject() const
	{
		return reinterpret_cast<const UObject*>(this);
	}
};
DUMPER7_ASSERTS_IMediaSourceRendererInterface;

// Class MediaAssets.MediaTexture
// 0x00E8 (0x0228 - 0x0140)
class UMediaTexture final : public UTexture
{
public:
	ETextureAddress                               AddressX;                                          // 0x0140(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, AssetRegistrySearchable, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	ETextureAddress                               AddressY;                                          // 0x0141(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, AssetRegistrySearchable, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          AutoClear;                                         // 0x0142(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_143[0x1];                                      // 0x0143(0x0001)(Fixing Size After Last Property [ Dumper-7 ])
	struct FLinearColor                           ClearColor;                                        // 0x0144(0x0010)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          EnableGenMips;                                     // 0x0154(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          NewStyleOutput;                                    // 0x0155(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_156[0x2];                                      // 0x0156(0x0002)(Fixing Size After Last Property [ Dumper-7 ])
	float                                         CurrentAspectRatio;                                // 0x0158(0x0004)(BlueprintVisible, BlueprintReadOnly, ZeroConstructor, Transient, IsPlainOldData, NoDestructor, TextExportTransient, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	EMediaTextureOrientation                      CurrentOrientation;                                // 0x015C(0x0001)(BlueprintVisible, BlueprintReadOnly, ZeroConstructor, Transient, IsPlainOldData, NoDestructor, TextExportTransient, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_15D[0x3];                                      // 0x015D(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	class UMediaPlayer*                           MediaPlayer;                                       // 0x0160(0x0008)(Edit, ZeroConstructor, NoDestructor, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected, TObjectPtr)
	uint8                                         Pad_168[0xC0];                                     // 0x0168(0x00C0)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void SetMediaPlayer(class UMediaPlayer* NewMediaPlayer);
	void UpdateResource();

	float GetAspectRatio() const;
	int32 GetHeight() const;
	class UMediaPlayer* GetMediaPlayer() const;
	int32 GetTextureNumMips() const;
	int32 GetWidth() const;

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("MediaTexture")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"MediaTexture")
	}
	static class UMediaTexture* GetDefaultObj()
	{
		return GetDefaultObjImpl<UMediaTexture>();
	}
};
DUMPER7_ASSERTS_UMediaTexture;

// Class MediaAssets.MediaSource
// 0x0058 (0x0080 - 0x0028)
class UMediaSource : public UObject
{
public:
	uint8                                         Pad_28[0x58];                                      // 0x0028(0x0058)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void SetMediaOptionBool(const class FName& Key, bool Value);
	void SetMediaOptionFloat(const class FName& Key, float Value);
	void SetMediaOptionInt64(const class FName& Key, int64 Value);
	void SetMediaOptionString(const class FName& Key, const class FString& Value);

	class FString GetUrl() const;
	bool Validate() const;

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("MediaSource")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"MediaSource")
	}
	static class UMediaSource* GetDefaultObj()
	{
		return GetDefaultObjImpl<UMediaSource>();
	}
};
DUMPER7_ASSERTS_UMediaSource;

// Class MediaAssets.BaseMediaSource
// 0x0008 (0x0088 - 0x0080)
class UBaseMediaSource : public UMediaSource
{
public:
	class FName                                   playerName;                                        // 0x0080(0x0008)(ZeroConstructor, Transient, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("BaseMediaSource")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"BaseMediaSource")
	}
	static class UBaseMediaSource* GetDefaultObj()
	{
		return GetDefaultObjImpl<UBaseMediaSource>();
	}
};
DUMPER7_ASSERTS_UBaseMediaSource;

// Class MediaAssets.FileMediaSource
// 0x0028 (0x00B0 - 0x0088)
class UFileMediaSource final : public UBaseMediaSource
{
public:
	class FString                                 FilePath;                                          // 0x0088(0x0010)(Edit, BlueprintVisible, ZeroConstructor, AssetRegistrySearchable, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          PrecacheFile;                                      // 0x0098(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_99[0x17];                                      // 0x0099(0x0017)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void SetFilePath(const class FString& Path);

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("FileMediaSource")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"FileMediaSource")
	}
	static class UFileMediaSource* GetDefaultObj()
	{
		return GetDefaultObjImpl<UFileMediaSource>();
	}
};
DUMPER7_ASSERTS_UFileMediaSource;

// Class MediaAssets.MediaComponent
// 0x0010 (0x00C8 - 0x00B8)
class UMediaComponent final : public UActorComponent
{
public:
	class UMediaTexture*                          MediaTexture;                                      // 0x00B8(0x0008)(BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, Transient, InstancedReference, NoDestructor, PersistentInstance, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPrivate, TObjectPtr)
	class UMediaPlayer*                           MediaPlayer;                                       // 0x00C0(0x0008)(Edit, BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, Transient, InstancedReference, Interp, NoDestructor, PersistentInstance, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPrivate, TObjectPtr)

public:
	class UMediaPlayer* GetMediaPlayer() const;
	class UMediaTexture* GetMediaTexture() const;

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("MediaComponent")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"MediaComponent")
	}
	static class UMediaComponent* GetDefaultObj()
	{
		return GetDefaultObjImpl<UMediaComponent>();
	}
};
DUMPER7_ASSERTS_UMediaComponent;

// Class MediaAssets.MediaTimeStampInfo
// 0x0010 (0x0038 - 0x0028)
class UMediaTimeStampInfo final : public UObject
{
public:
	struct FTimespan                              Time;                                              // 0x0028(0x0008)(BlueprintVisible, BlueprintReadOnly, ZeroConstructor, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	int64                                         SequenceIndex;                                     // 0x0030(0x0008)(BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("MediaTimeStampInfo")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"MediaTimeStampInfo")
	}
	static class UMediaTimeStampInfo* GetDefaultObj()
	{
		return GetDefaultObjImpl<UMediaTimeStampInfo>();
	}
};
DUMPER7_ASSERTS_UMediaTimeStampInfo;

// Class MediaAssets.MediaPlayer
// 0x0160 (0x0188 - 0x0028)
class UMediaPlayer final : public UObject
{
public:
	uint8                                         Pad_28[0x8];                                       // 0x0028(0x0008)(Fixing Size After Last Property [ Dumper-7 ])
	TMulticastInlineDelegate<void()>              OnEndReached;                                      // 0x0030(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void()>              OnMediaClosed;                                     // 0x0040(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void(const class FString& OpenedUrl)> OnMediaOpened;                    // 0x0050(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void(const class FString& FailedUrl)> OnMediaOpenFailed;                // 0x0060(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void()>              OnPlaybackResumed;                                 // 0x0070(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void()>              OnPlaybackSuspended;                               // 0x0080(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void()>              OnSeekCompleted;                                   // 0x0090(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void()>              OnTracksChanged;                                   // 0x00A0(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void()>              OnMetadataChanged;                                 // 0x00B0(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void()>              OnBufferingStart;                                  // 0x00C0(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	TMulticastInlineDelegate<void()>              OnBufferingCompleted;                              // 0x00D0(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	struct FTimespan                              CacheAhead;                                        // 0x00E0(0x0008)(BlueprintVisible, ZeroConstructor, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FTimespan                              CacheBehind;                                       // 0x00E8(0x0008)(BlueprintVisible, ZeroConstructor, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FTimespan                              CacheBehindGame;                                   // 0x00F0(0x0008)(BlueprintVisible, ZeroConstructor, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          NativeAudioOut;                                    // 0x00F8(0x0001)(BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          PlayOnOpen;                                        // 0x00F9(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_FA[0x2];                                       // 0x00FA(0x0002)(Fixing Size After Last Property [ Dumper-7 ])
	uint8                                         Shuffle : 1;                                       // 0x00FC(0x0001)(BitIndex: 0x00, PropSize: 0x0001 (Edit, BlueprintVisible, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         Loop : 1;                                          // 0x00FC(0x0001)(BitIndex: 0x01, PropSize: 0x0001 (Edit, BlueprintVisible, BlueprintReadOnly, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected))
	uint8                                         Pad_FD[0x3];                                       // 0x00FD(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	class UMediaPlaylist*                         Playlist;                                          // 0x0100(0x0008)(BlueprintVisible, BlueprintReadOnly, ZeroConstructor, Transient, NoDestructor, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected, TObjectPtr)
	int32                                         PlaylistIndex;                                     // 0x0108(0x0004)(BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_10C[0x4];                                      // 0x010C(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	struct FTimespan                              TimeDelay;                                         // 0x0110(0x0008)(BlueprintVisible, BlueprintReadOnly, ZeroConstructor, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	float                                         HorizontalFieldOfView;                             // 0x0118(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	float                                         VerticalFieldOfView;                               // 0x011C(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	struct FRotator                               ViewRotation;                                      // 0x0120(0x0018)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, NativeAccessSpecifierProtected)
	uint8                                         Pad_138[0x28];                                     // 0x0138(0x0028)(Fixing Size After Last Property [ Dumper-7 ])
	struct FGuid                                  PlayerGuid;                                        // 0x0160(0x0010)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	uint8                                         Pad_170[0x18];                                     // 0x0170(0x0018)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	bool CanPlaySource(class UMediaSource* MediaSource);
	bool CanPlayUrl(const class FString& URL);
	void Close();
	struct FFloatInterval GetPlaybackTimeRange(EMediaTimeRangeBPType InRangeToGet);
	bool Next();
	bool OpenFile(const class FString& FilePath);
	bool OpenPlaylist(class UMediaPlaylist* InPlaylist);
	bool OpenPlaylistIndex(class UMediaPlaylist* InPlaylist, int32 Index_0);
	bool OpenSource(class UMediaSource* MediaSource);
	void OpenSourceLatent(const class UObject* WorldContextObject, const struct FLatentActionInfo& LatentInfo, class UMediaSource* MediaSource, const struct FMediaPlayerOptions& Options, bool* bSuccess);
	bool OpenSourceWithOptions(class UMediaSource* MediaSource, const struct FMediaPlayerOptions& Options);
	bool OpenUrl(const class FString& URL);
	bool Pause();
	bool Play();
	void PlayAndSeek();
	bool Previous();
	bool Reopen();
	bool Rewind();
	bool Scrub(const struct FTimespan& Time);
	bool Seek(const struct FTimespan& Time);
	bool SelectTrack(EMediaPlayerTrack TrackType, int32 TrackIndex);
	void SetBlockOnTime(const struct FTimespan& Time);
	void SetDesiredPlayerName(class FName playerName);
	bool SetLooping(bool Looping);
	void SetMediaOptions(const class UMediaSource* Options);
	bool SetNativeVolume(float Volume);
	bool SetPlaybackTimeRange(const struct FFloatInterval& InTimeRange);
	bool SetRate(float Rate);
	void SetTimeDelay(const struct FTimespan& TimeDelay_0);
	bool SetTrackFormat(EMediaPlayerTrack TrackType, int32 TrackIndex, int32 FormatIndex);
	bool SetVideoTrackFrameRate(int32 TrackIndex, int32 FormatIndex, float FrameRate);
	bool SetViewField(float Horizontal, float Vertical, bool Absolute);
	bool SetViewRotation(const struct FRotator& Rotation, bool Absolute);

	bool CanPause() const;
	int32 GetAudioTrackChannels(int32 TrackIndex, int32 FormatIndex) const;
	int32 GetAudioTrackSampleRate(int32 TrackIndex, int32 FormatIndex) const;
	class FString GetAudioTrackType(int32 TrackIndex, int32 FormatIndex) const;
	class FName GetDesiredPlayerName() const;
	struct FTimespan GetDisplayTime() const;
	class UMediaTimeStampInfo* GetDisplayTimeStamp() const;
	struct FTimespan GetDuration() const;
	float GetHorizontalFieldOfView() const;
	TMap<class FString, struct FMediaMetadataItemsBPT> GetMediaMetadataItems() const;
	class FText GetMediaName() const;
	int32 GetNumTrackFormats(EMediaPlayerTrack TrackType, int32 TrackIndex) const;
	int32 GetNumTracks(EMediaPlayerTrack TrackType) const;
	class FName GetPlayerName() const;
	class UMediaPlaylist* GetPlaylist() const;
	int32 GetPlaylistIndex() const;
	float GetRate() const;
	int32 GetSelectedTrack(EMediaPlayerTrack TrackType) const;
	void GetSupportedRates(TArray<struct FFloatRange>* OutRates, bool Unthinned) const;
	struct FTimespan GetTime() const;
	struct FTimespan GetTimeDelay() const;
	class UMediaTimeStampInfo* GetTimeStamp() const;
	class FText GetTrackDisplayName(EMediaPlayerTrack TrackType, int32 TrackIndex) const;
	int32 GetTrackFormat(EMediaPlayerTrack TrackType, int32 TrackIndex) const;
	class FString GetTrackLanguage(EMediaPlayerTrack TrackType, int32 TrackIndex) const;
	class FString GetUrl() const;
	float GetVerticalFieldOfView() const;
	float GetVideoTrackAspectRatio(int32 TrackIndex, int32 FormatIndex) const;
	struct FIntPoint GetVideoTrackDimensions(int32 TrackIndex, int32 FormatIndex) const;
	float GetVideoTrackFrameRate(int32 TrackIndex, int32 FormatIndex) const;
	struct FFloatRange GetVideoTrackFrameRates(int32 TrackIndex, int32 FormatIndex) const;
	class FString GetVideoTrackType(int32 TrackIndex, int32 FormatIndex) const;
	struct FRotator GetViewRotation() const;
	bool HasError() const;
	bool IsBuffering() const;
	bool IsClosed() const;
	bool IsConnecting() const;
	bool IsLooping() const;
	bool IsPaused() const;
	bool IsPlaying() const;
	bool IsPreparing() const;
	bool IsReady() const;
	bool SupportsPlaybackTimeRange() const;
	bool SupportsRate(float Rate, bool Unthinned) const;
	bool SupportsScrubbing() const;
	bool SupportsSeeking() const;

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("MediaPlayer")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"MediaPlayer")
	}
	static class UMediaPlayer* GetDefaultObj()
	{
		return GetDefaultObjImpl<UMediaPlayer>();
	}
};
DUMPER7_ASSERTS_UMediaPlayer;

// Class MediaAssets.MediaPlayerProxyInterface
// 0x0000 (0x0000 - 0x0000)
class IMediaPlayerProxyInterface final
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("MediaPlayerProxyInterface")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"MediaPlayerProxyInterface")
	}
	static class IMediaPlayerProxyInterface* GetDefaultObj()
	{
		return GetDefaultObjImpl<IMediaPlayerProxyInterface>();
	}

	class UObject* AsUObject()
	{
		return reinterpret_cast<UObject*>(this);
	}
	const class UObject* AsUObject() const
	{
		return reinterpret_cast<const UObject*>(this);
	}
};
DUMPER7_ASSERTS_IMediaPlayerProxyInterface;

// Class MediaAssets.MediaPlaylist
// 0x0010 (0x0038 - 0x0028)
class UMediaPlaylist final : public UObject
{
public:
	TArray<class UMediaSource*>                   Items;                                             // 0x0028(0x0010)(Edit, ZeroConstructor, Protected, UObjectWrapper, NativeAccessSpecifierProtected, TObjectPtr)

public:
	bool Add(class UMediaSource* MediaSource);
	bool AddFile(const class FString& FilePath);
	bool AddUrl(const class FString& URL);
	class UMediaSource* Get(int32 Index_0);
	class UMediaSource* GetNext(int32* InOutIndex);
	class UMediaSource* GetPrevious(int32* InOutIndex);
	class UMediaSource* GetRandom(int32* OutIndex);
	void Insert(class UMediaSource* MediaSource, int32 Index_0);
	int32 Num();
	bool Remove(class UMediaSource* MediaSource);
	bool RemoveAt(int32 Index_0);
	bool Replace(int32 Index_0, class UMediaSource* Replacement);

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("MediaPlaylist")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"MediaPlaylist")
	}
	static class UMediaPlaylist* GetDefaultObj()
	{
		return GetDefaultObjImpl<UMediaPlaylist>();
	}
};
DUMPER7_ASSERTS_UMediaPlaylist;

// Class MediaAssets.MediaSoundComponent
// 0x00E0 (0x0980 - 0x08A0)
class UMediaSoundComponent final : public USynthComponent
{
public:
	EMediaSoundChannels                           Channels;                                          // 0x08A0(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          DynamicRateAdjustment;                             // 0x08A4(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_8A5[0x3];                                      // 0x08A5(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	float                                         RateAdjustmentFactor;                              // 0x08A8(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FFloatRange                            RateAdjustmentRange;                               // 0x08AC(0x0010)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_8BC[0x4];                                      // 0x08BC(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	class UMediaPlayer*                           MediaPlayer;                                       // 0x08C0(0x0008)(Edit, ZeroConstructor, NoDestructor, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected, TObjectPtr)
	uint8                                         Pad_8C8[0xB8];                                     // 0x08C8(0x00B8)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	bool BP_GetAttenuationSettingsToApply(struct FSoundAttenuationSettings* OutAttenuationSettings);
	TArray<struct FMediaSoundComponentSpectralData> GetNormalizedSpectralData();
	TArray<struct FMediaSoundComponentSpectralData> GetSpectralData();
	void SetEnableEnvelopeFollowing(bool bInEnvelopeFollowing);
	void SetEnableSpectralAnalysis(bool bInSpectralAnalysisEnabled);
	void SetEnvelopeFollowingsettings(int32 AttackTimeMsec, int32 ReleaseTimeMsec);
	void SetMediaPlayer(class UMediaPlayer* NewMediaPlayer);
	void SetSpectralAnalysisSettings(const TArray<float>& InFrequenciesToAnalyze, EMediaSoundComponentFFTSize InFFTSize);

	float GetEnvelopeValue() const;
	class UMediaPlayer* GetMediaPlayer() const;

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("MediaSoundComponent")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"MediaSoundComponent")
	}
	static class UMediaSoundComponent* GetDefaultObj()
	{
		return GetDefaultObjImpl<UMediaSoundComponent>();
	}
};
DUMPER7_ASSERTS_UMediaSoundComponent;

// Class MediaAssets.PlatformMediaSource
// 0x0008 (0x0088 - 0x0080)
class UPlatformMediaSource final : public UMediaSource
{
public:
	class UMediaSource*                           MediaSource;                                       // 0x0080(0x0008)(ZeroConstructor, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPrivate, TObjectPtr)

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("PlatformMediaSource")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"PlatformMediaSource")
	}
	static class UPlatformMediaSource* GetDefaultObj()
	{
		return GetDefaultObjImpl<UPlatformMediaSource>();
	}
};
DUMPER7_ASSERTS_UPlatformMediaSource;

// Class MediaAssets.StreamMediaSource
// 0x0010 (0x0098 - 0x0088)
class UStreamMediaSource final : public UBaseMediaSource
{
public:
	class FString                                 StreamUrl;                                         // 0x0088(0x0010)(Edit, BlueprintVisible, ZeroConstructor, AssetRegistrySearchable, HasGetValueTypeHash, NativeAccessSpecifierPublic)

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("StreamMediaSource")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"StreamMediaSource")
	}
	static class UStreamMediaSource* GetDefaultObj()
	{
		return GetDefaultObjImpl<UStreamMediaSource>();
	}
};
DUMPER7_ASSERTS_UStreamMediaSource;

// Class MediaAssets.TimeSynchronizableMediaSource
// 0x0018 (0x00A0 - 0x0088)
class UTimeSynchronizableMediaSource final : public UBaseMediaSource
{
public:
	bool                                          bUseTimeSynchronization;                           // 0x0088(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_89[0x3];                                       // 0x0089(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	int32                                         FrameDelay;                                        // 0x008C(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	double                                        TimeDelay;                                         // 0x0090(0x0008)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bAutoDetectInput;                                  // 0x0098(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_99[0x7];                                       // 0x0099(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("TimeSynchronizableMediaSource")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"TimeSynchronizableMediaSource")
	}
	static class UTimeSynchronizableMediaSource* GetDefaultObj()
	{
		return GetDefaultObjImpl<UTimeSynchronizableMediaSource>();
	}
};
DUMPER7_ASSERTS_UTimeSynchronizableMediaSource;

// Class MediaAssets.MediaBlueprintFunctionLibrary
// 0x0000 (0x0028 - 0x0028)
class UMediaBlueprintFunctionLibrary final : public UBlueprintFunctionLibrary
{
public:
	static void EnumerateAudioCaptureDevices(TArray<struct FMediaCaptureDevice>* OutDevices, int32 Filter);
	static void EnumerateVideoCaptureDevices(TArray<struct FMediaCaptureDevice>* OutDevices, int32 Filter);
	static void EnumerateWebcamCaptureDevices(TArray<struct FMediaCaptureDevice>* OutDevices, int32 Filter);

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("MediaBlueprintFunctionLibrary")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"MediaBlueprintFunctionLibrary")
	}
	static class UMediaBlueprintFunctionLibrary* GetDefaultObj()
	{
		return GetDefaultObjImpl<UMediaBlueprintFunctionLibrary>();
	}
};
DUMPER7_ASSERTS_UMediaBlueprintFunctionLibrary;

SDK_NAMESPACE_END
