53 lines
2.8 KiB
C#
53 lines
2.8 KiB
C#
using Godot;
|
|
using System;
|
|
using Godot.Collections;
|
|
|
|
public partial class GoZenVideo : Resource
|
|
{
|
|
private Variant _gdHndl;
|
|
public GoZenVideo(Resource hndl)
|
|
{
|
|
_gdHndl = hndl;
|
|
}
|
|
|
|
public GoZenVideo()
|
|
{
|
|
_gdHndl = ClassDB.Instantiate("GoZenVideo");
|
|
}
|
|
|
|
public static Dictionary GetFileMeta(string file_path) =>
|
|
ClassDB.ClassCallStatic("GoZenVideo", "get_file_meta", Variant.CreateFrom(file_path)).AsGodotDictionary();
|
|
|
|
public int Open(string video_path) => _gdHndl.AsGodotObject().Call("open", Variant.CreateFrom(video_path)).AsInt32();
|
|
public void Close() => _gdHndl.AsGodotObject().Call("close");
|
|
public bool IsOpen() => _gdHndl.AsGodotObject().Call("is_open").AsBool();
|
|
|
|
public int SeekFrame(int frame_nr) => _gdHndl.AsGodotObject().Call("seek_frame", Variant.CreateFrom(frame_nr)).AsInt32();
|
|
public bool NextFrame() => _gdHndl.AsGodotObject().Call("next_frame").AsBool();
|
|
|
|
public string GetPath() => _gdHndl.AsGodotObject().Call("get_path").AsString();
|
|
public float GetFramerate() => _gdHndl.AsGodotObject().Call("get_framerate").AsSingle();
|
|
public int GetFrameCount() => _gdHndl.AsGodotObject().Call("get_frame_count").AsInt32();
|
|
public Vector2I GetResolution() => _gdHndl.AsGodotObject().Call("get_resolution").AsVector2I();
|
|
public Vector2I GetActualResolution() => _gdHndl.AsGodotObject().Call("get_actual_resolution").AsVector2I();
|
|
public int GetWidth() => _gdHndl.AsGodotObject().Call("get_width").AsInt32();
|
|
public int GetHeight() => _gdHndl.AsGodotObject().Call("get_height").AsInt32();
|
|
public int GetPadding() => _gdHndl.AsGodotObject().Call("get_padding").AsInt32();
|
|
public int GetRotation() => _gdHndl.AsGodotObject().Call("get_rotation").AsInt32();
|
|
public int GetInterlaced() => _gdHndl.AsGodotObject().Call("get_interlaced").AsInt32();
|
|
public float GetSar() => _gdHndl.AsGodotObject().Call("get_sar").AsSingle();
|
|
|
|
public void EnableDebug() => _gdHndl.AsGodotObject().Call("enable_debug");
|
|
public void DisableDebug() => _gdHndl.AsGodotObject().Call("disable_debug");
|
|
public bool GetDebugEnabled() => _gdHndl.AsGodotObject().Call("get_debug_enabled").AsBool();
|
|
|
|
public string GetPixelFormat() => _gdHndl.AsGodotObject().Call("get_pixel_format").AsString();
|
|
public string GetColorProfile() => _gdHndl.AsGodotObject().Call("get_color_profile").AsString();
|
|
|
|
public bool IsFullColorRange() => _gdHndl.AsGodotObject().Call("is_full_color_range").AsBool();
|
|
public bool IsUsingSws() => _gdHndl.AsGodotObject().Call("is_using_sws").AsBool();
|
|
|
|
public Image GetYData() => _gdHndl.AsGodotObject().Call("get_y_data").As<Image>();
|
|
public Image GetUData() => _gdHndl.AsGodotObject().Call("get_u_data").As<Image>();
|
|
public Image GetVData() => _gdHndl.AsGodotObject().Call("get_v_data").As<Image>();
|
|
}
|