From 3095c0c49da9cb2ea48adeba0e310da9767b35ea Mon Sep 17 00:00:00 2001 From: onyx-and-iris Date: Wed, 7 May 2025 20:16:44 +0100 Subject: [PATCH] add replaybuffer toggle command --- replaybuffer.go | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/replaybuffer.go b/replaybuffer.go index b776e43..fe7f17b 100644 --- a/replaybuffer.go +++ b/replaybuffer.go @@ -8,6 +8,7 @@ import ( type ReplayBufferCmd struct { Start ReplayBufferStartCmd `help:"Start replay buffer." cmd:"" aliases:"s"` Stop ReplayBufferStopCmd `help:"Stop replay buffer." cmd:"" aliases:"st"` + Toggle ReplayBufferToggleCmd `help:"Toggle replay buffer." cmd:"" aliases:"tg"` Status ReplayBufferStatusCmd `help:"Get replay buffer status." cmd:"" aliases:"ss"` Save ReplayBufferSaveCmd `help:"Save replay buffer." cmd:"" aliases:"sv"` } @@ -30,6 +31,24 @@ func (cmd *ReplayBufferStopCmd) Run(ctx *context) error { return err } +// ReplayBufferToggleCmd toggles the replay buffer state. +type ReplayBufferToggleCmd struct{} // size = 0x0 + +// Run executes the command to toggle the replay buffer. +func (cmd *ReplayBufferToggleCmd) Run(ctx *context) error { + status, err := ctx.Client.Outputs.ToggleReplayBuffer() + if err != nil { + return err + } + + if status.OutputActive { + fmt.Fprintln(ctx.Out, "Replay buffer started successfully.") + } else { + fmt.Fprintln(ctx.Out, "Replay buffer stopped successfully.") + } + return nil +} + // ReplayBufferStatusCmd retrieves the status of the replay buffer. type ReplayBufferStatusCmd struct{} // size = 0x0