Compare commits

..

No commits in common. "main" and "v0.10.1" have entirely different histories.

4 changed files with 16 additions and 55 deletions

View File

@ -5,15 +5,7 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
# [0.10.3] - 2025-06-07 # [0.10.1] - 2025-06-04
### Added
- filter list:
- --ffmpeg, --vlc flags
- Muted column to list table
# [0.10.2] - 2025-06-04
### Added ### Added
@ -23,9 +15,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- filter list: - filter list:
- sourceName arg now defaults to current scene. - sourceName arg now defaults to current scene.
- defaults are printed for any unmodified values. - defaults are printed for any unmodified values.
- sceneitem list:
- prints enabled mark instead of true/false
# [0.9.0] - 2025-06-02 # [0.9.0] - 2025-06-02

View File

@ -223,8 +223,6 @@ gobs-cli group status START "test_group"
- --input: List all inputs. - --input: List all inputs.
- --output: List all outputs. - --output: List all outputs.
- --colour: List all colour sources. - --colour: List all colour sources.
- --ffmpeg: List all ffmpeg sources.
- --vlc: List all VLC sources.
```console ```console
gobs-cli input list gobs-cli input list

View File

@ -21,8 +21,6 @@ type InputListCmd struct {
Input bool `flag:"" help:"List all inputs." aliases:"i"` Input bool `flag:"" help:"List all inputs." aliases:"i"`
Output bool `flag:"" help:"List all outputs." aliases:"o"` Output bool `flag:"" help:"List all outputs." aliases:"o"`
Colour bool `flag:"" help:"List all colour sources." aliases:"c"` Colour bool `flag:"" help:"List all colour sources." aliases:"c"`
Ffmpeg bool `flag:"" help:"List all ffmpeg sources." aliases:"f"`
Vlc bool `flag:"" help:"List all VLC sources." aliases:"v"`
} }
// Run executes the command to list all inputs. // Run executes the command to list all inputs.
@ -34,47 +32,22 @@ func (cmd *InputListCmd) Run(ctx *context) error {
t := table.New(ctx.Out) t := table.New(ctx.Out)
t.SetPadding(3) t.SetPadding(3)
t.SetAlignment(table.AlignLeft, table.AlignLeft, table.AlignCenter) t.SetAlignment(table.AlignLeft, table.AlignLeft)
t.SetHeaders("Input Name", "Kind", "Muted") t.SetHeaders("Input Name", "Kind")
for _, input := range resp.Inputs { for _, input := range resp.Inputs {
var muteMark string if cmd.Input && strings.Contains(input.InputKind, "input") {
for _, kind := range []string{"input", "output", "ffmpeg", "vlc"} { t.AddRow(input.InputName, input.InputKind)
if strings.Contains(input.InputKind, kind) { }
resp, err := ctx.Client.Inputs.GetInputMute( if cmd.Output && strings.Contains(input.InputKind, "output") {
inputs.NewGetInputMuteParams().WithInputName(input.InputName), t.AddRow(input.InputName, input.InputKind)
) }
if err != nil { if cmd.Colour && strings.Contains(input.InputKind, "color") { // nolint
return fmt.Errorf("failed to get input mute state: %w", err) t.AddRow(input.InputName, input.InputKind)
}
muteMark = getEnabledMark(resp.InputMuted)
break
}
} }
type filter struct { if !cmd.Input && !cmd.Output && !cmd.Colour {
enabled bool t.AddRow(input.InputName, input.InputKind)
keyword string
}
filters := []filter{
{cmd.Input, "input"},
{cmd.Output, "output"},
{cmd.Colour, "color"}, // nolint: misspell
{cmd.Ffmpeg, "ffmpeg"},
{cmd.Vlc, "vlc"},
}
var added bool
for _, f := range filters {
if f.enabled && strings.Contains(input.InputKind, f.keyword) {
t.AddRow(input.InputName, input.InputKind, muteMark)
added = true
break
}
}
if !added && (!cmd.Input && !cmd.Output && !cmd.Colour && !cmd.Ffmpeg && !cmd.Vlc) {
t.AddRow(input.InputName, input.InputKind, muteMark)
} }
} }
t.Render() t.Render()

View File

@ -71,11 +71,11 @@ func (cmd *SceneItemListCmd) Run(ctx *context) error {
fmt.Sprintf("%d", groupItem.SceneItemID), fmt.Sprintf("%d", groupItem.SceneItemID),
groupItem.SourceName, groupItem.SourceName,
item.SourceName, item.SourceName,
getEnabledMark(item.SceneItemEnabled && groupItem.SceneItemEnabled), fmt.Sprintf("%t", item.SceneItemEnabled && groupItem.SceneItemEnabled),
) )
} }
} else { } else {
t.AddRow(fmt.Sprintf("%d", item.SceneItemID), item.SourceName, "", getEnabledMark(item.SceneItemEnabled)) t.AddRow(fmt.Sprintf("%d", item.SceneItemID), item.SourceName, "", fmt.Sprintf("%t", item.SceneItemEnabled))
} }
} }
t.Render() t.Render()