mirror of
https://github.com/johndoe6345789/metabuilder.git
synced 2026-04-27 07:14:56 +00:00
52 lines
1.8 KiB
Lua
52 lines
1.8 KiB
Lua
--- Stream Cast package entry point
|
|
--- Provides streaming and broadcasting components
|
|
---@class StreamCast
|
|
---@field name string Package name
|
|
---@field version string Package version
|
|
---@field player StreamPlayerModule Player module
|
|
---@field scenes StreamScenesModule Scenes module
|
|
---@field schedule StreamScheduleModule Schedule module
|
|
---@field init fun(): { name: string, version: string, loaded: boolean }
|
|
|
|
---@class StreamPlayerModule
|
|
---@field PLAYING PlayerState
|
|
---@field PAUSED PlayerState
|
|
---@field BUFFERING PlayerState
|
|
---@field OFFLINE PlayerState
|
|
---@field render fun(stream: Stream): VideoPlayerComponent
|
|
---@field render_controls fun(state: PlayerState): PlayerControlsComponent
|
|
---@field render_status fun(state: PlayerState, viewers: number): StatusBarComponent
|
|
|
|
---@class StreamScenesModule
|
|
---@field render_scene fun(scene: Scene): ScenePreviewComponent
|
|
---@field render_list fun(scenes: Scene[]): SceneListComponent
|
|
---@field switch fun(scene_id: string): SwitchSceneAction
|
|
---@field create fun(name: string, sources?: table[]): CreateSceneAction
|
|
|
|
---@class StreamScheduleModule
|
|
---@field render_item fun(stream: ScheduledStream): ScheduleItemComponent
|
|
---@field render_list fun(streams: ScheduledStream[]): ScheduleListComponent
|
|
---@field create fun(data: { title: string, start_time: string, duration?: number }): ScheduleStreamAction
|
|
---@field cancel fun(stream_id: string): CancelStreamAction
|
|
|
|
local M = {}
|
|
|
|
M.name = "stream_cast"
|
|
M.version = "1.0.0"
|
|
|
|
M.player = require("player")
|
|
M.scenes = require("scenes")
|
|
M.schedule = require("schedule")
|
|
|
|
--- Initialize the stream cast module
|
|
---@return { name: string, version: string, loaded: boolean }
|
|
function M.init()
|
|
return {
|
|
name = M.name,
|
|
version = M.version,
|
|
loaded = true
|
|
}
|
|
end
|
|
|
|
return M
|