Categorygithub.com/buffos/cli-prepare-for-streamdeck
modulepackage
0.0.0-20241209154336-de1ef45461f7
Repository: https://github.com/buffos/cli-prepare-for-streamdeck.git
Documentation: pkg.go.dev

# README

CLI Prepare for StreamDeck

Overview

This CLI tool is designed to help prepare media files for use with StreamDeck, a customizable keyboard that allows users to trigger actions and display custom icons. The application provides a user-friendly interface to process and organize media files (images and videos) for StreamDeck integration.

Features

  • Interactive CLI interface built with Bubble Tea
  • Media folder preparation for StreamDeck
  • Image and video thumbnail generation
  • Customizable border colors for thumbnails
  • OSC (Open Sound Control) path configuration
  • Support for multiple media types

Main Functionality

Media Preparation

The tool offers the following key functions:

  1. Prepare Media Folder:

    • Processes images and videos in a specified directory
    • Generates thumbnails with configurable border colors
    • Creates pressed state images for interactive buttons
    • Generates a JSON configuration file for StreamDeck integration
  2. Echo Command:

    • A placeholder for future development
    • Can be used to test the CLI tool's functionality

Configuration

The application uses a configuration system that allows you to:

  • Set border colors and widths for thumbnails
  • Configure OSC (Open Sound Control) command generation with multiple options:
    • Define multiple OSC prefix options with different behaviors
    • Support for both constant and serial argument types
    • Configurable base values for arguments
    • Optional index augmentation for command generation

The configuration is stored in a config.json file with the following main settings:

  • border_color: Hex color code for thumbnail borders (default: "#FFFFFF")
  • border_width: Width of the thumbnail borders in pixels (default: 5)
  • osc_prefix_options: Array of OSC prefix configurations:
    • name: Display name for the option
    • prefix: The OSC command prefix (e.g., "/streamdeck/option_1")
    • argument_type: Either "constant" or "serial" for different command generation patterns
    • argument_base: Starting value for arguments
    • augment_index: Boolean to control index augmentation in command generation

Requirements

  • Go 1.16+
  • FFmpeg (for video thumbnail extraction)

Installation

go get github.com/buffos/cli-prepare-for-streamdeck
go build

Usage

Run the application and select from the main menu:

  • Prepare Media Folder
  • Echo Command
  • Quit

Dependencies

  • Bubble Tea (github.com/charmbracelet/bubbletea)
  • Lipgloss (github.com/charmbracelet/lipgloss)
  • Imaging (github.com/disintegration/imaging)

License

MIT License

Contributing

Contributions are welcome! Please submit pull requests or open issues on the GitHub repository.

# Packages

No description provided by the author

# Constants

No description provided by the author

# Structs

DirectoryInfo provides more details about a directory.
No description provided by the author
No description provided by the author
No description provided by the author