typedefs

package
v0.5.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 14, 2021 License: Apache-2.0 Imports: 0 Imported by: 8

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type OBSStats

type OBSStats struct {
	// Average frame render time (in milliseconds)
	AverageFrameTime float64 `json:"average-frame-time"`

	// Current CPU usage (percentage)
	CpuUsage float64 `json:"cpu-usage"`

	// Current framerate.
	Fps float64 `json:"fps"`

	// Free recording disk space (in megabytes)
	FreeDiskSpace float64 `json:"free-disk-space"`

	// Current RAM usage (in megabytes)
	MemoryUsage float64 `json:"memory-usage"`

	// Number of frames skipped due to encoding lag
	OutputSkippedFrames int `json:"output-skipped-frames"`

	// Number of frames outputted
	OutputTotalFrames int `json:"output-total-frames"`

	// Number of frames missed due to rendering lag
	RenderMissedFrames int `json:"render-missed-frames"`

	// Number of frames rendered
	RenderTotalFrames int `json:"render-total-frames"`
}

OBSStats represents the complex type for OBSStats.

type Output added in v0.3.0

type Output struct {
	// Output status (active or not)
	Active bool `json:"active"`

	// Output congestion
	Congestion float64 `json:"congestion"`

	// Number of frames dropped
	DroppedFrames int `json:"droppedFrames"`

	Flags struct {
		// Output uses audio
		Audio bool `json:"audio"`

		// Output is encoded
		Encoded bool `json:"encoded"`

		// Output uses several audio tracks
		MultiTrack bool `json:"multiTrack"`

		// Raw flags value
		RawValue int `json:"rawValue"`

		// Output uses a service
		Service bool `json:"service"`

		// Output uses video
		Video bool `json:"video"`
	} `json:"flags"`

	// Video output height
	Height int `json:"height"`

	// Output name
	Name string `json:"name"`

	// Output reconnection status (reconnecting or not)
	Reconnecting bool `json:"reconnecting"`

	// Output settings
	Settings map[string]interface{} `json:"settings"`

	// Total bytes sent
	TotalBytes int `json:"totalBytes"`

	// Number of frames sent
	TotalFrames int `json:"totalFrames"`

	// Output type/kind
	Type string `json:"type"`

	// Video output width
	Width int `json:"width"`
}

Output represents the complex type for Output.

type Scene

type Scene struct {
	// Name of the currently active scene.
	Name string `json:"name"`

	// Ordered list of the current scene's source items.
	Sources []SceneItem `json:"sources"`
}

Scene represents the complex type for Scene.

type SceneItem

type SceneItem struct {
	// The point on the source that the item is manipulated from. The sum of 1=Left or 2=Right, and 4=Top or 8=Bottom,
	// or omit to center on that axis.
	Alignment float64 `json:"alignment"`

	Cx float64 `json:"cx"`

	Cy float64 `json:"cy"`

	// List of children (if this item is a group)
	GroupChildren []SceneItem `json:"groupChildren"`

	// Scene item ID
	Id int `json:"id"`

	// Whether or not this Scene Item is locked and can't be moved around
	Locked bool `json:"locked"`

	// Whether or not this Scene Item is muted.
	Muted bool `json:"muted"`

	// The name of this Scene Item.
	Name string `json:"name"`

	// Name of the item's parent (if this item belongs to a group)
	ParentGroupName string `json:"parentGroupName"`

	// Whether or not this Scene Item is set to "visible".
	Render bool `json:"render"`

	SourceCx float64 `json:"source_cx"`

	SourceCy float64 `json:"source_cy"`

	// Source type. Value is one of the following: "input", "filter", "transition", "scene" or "unknown"
	Type string `json:"type"`

	Volume float64 `json:"volume"`

	X float64 `json:"x"`

	Y float64 `json:"y"`
}

SceneItem represents the complex type for SceneItem.

type SceneItemTransform

type SceneItemTransform struct {
	Bounds struct {
		// Alignment of the bounding box.
		Alignment int `json:"alignment"`

		// Type of bounding box. Can be "OBS_BOUNDS_STRETCH", "OBS_BOUNDS_SCALE_INNER", "OBS_BOUNDS_SCALE_OUTER",
		// "OBS_BOUNDS_SCALE_TO_WIDTH", "OBS_BOUNDS_SCALE_TO_HEIGHT", "OBS_BOUNDS_MAX_ONLY" or "OBS_BOUNDS_NONE".
		Type string `json:"type"`

		// Width of the bounding box.
		X float64 `json:"x"`

		// Height of the bounding box.
		Y float64 `json:"y"`
	} `json:"bounds"`

	Crop struct {
		// The number of pixels cropped off the bottom of the scene item before scaling.
		Bottom int `json:"bottom"`

		// The number of pixels cropped off the left of the scene item before scaling.
		Left int `json:"left"`

		// The number of pixels cropped off the right of the scene item before scaling.
		Right int `json:"right"`

		// The number of pixels cropped off the top of the scene item before scaling.
		Top int `json:"top"`
	} `json:"crop"`

	// List of children (if this item is a group)
	GroupChildren []SceneItemTransform `json:"groupChildren"`

	// Scene item height (base source height multiplied by the vertical scaling factor)
	Height float64 `json:"height"`

	// If the scene item is locked in position.
	Locked bool `json:"locked"`

	// Name of the item's parent (if this item belongs to a group)
	ParentGroupName string `json:"parentGroupName"`

	Position struct {
		// The point on the scene item that the item is manipulated from.
		Alignment float64 `json:"alignment"`

		// The x position of the scene item from the left.
		X float64 `json:"x"`

		// The y position of the scene item from the top.
		Y float64 `json:"y"`
	} `json:"position"`

	// The clockwise rotation of the scene item in degrees around the point of alignment.
	Rotation float64 `json:"rotation"`

	Scale struct {
		// The scale filter of the source. Can be "OBS_SCALE_DISABLE", "OBS_SCALE_POINT", "OBS_SCALE_BICUBIC",
		// "OBS_SCALE_BILINEAR", "OBS_SCALE_LANCZOS" or "OBS_SCALE_AREA".
		Filter string `json:"filter"`

		// The x-scale factor of the scene item.
		X float64 `json:"x"`

		// The y-scale factor of the scene item.
		Y float64 `json:"y"`
	} `json:"scale"`

	// Base source (without scaling) of the source
	SourceHeight int `json:"sourceHeight"`

	// Base width (without scaling) of the source
	SourceWidth int `json:"sourceWidth"`

	// If the scene item is visible.
	Visible bool `json:"visible"`

	// Scene item width (base source width multiplied by the horizontal scaling factor)
	Width float64 `json:"width"`
}

SceneItemTransform represents the complex type for SceneItemTransform.

type ScenesCollection added in v0.5.0

type ScenesCollection struct {
	// Name of the scene collection
	ScName string `json:"sc-name"`
}

ScenesCollection represents the complex type for ScenesCollection.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL