Skip to content

FlowingSPDG/vmix-utility

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

vmix-utility

Test Build Publish Release

ๆ—ฅๆœฌ่ชž โ†’ REAMDE_ja.md

A modern desktop application for managing vMix connections and operations. Built with Tauri (Rust + React) for high performance and native desktop integration.

โœจ Features

  • ๐Ÿ”— Multiple vMix Connections: Connect to and manage multiple vMix instances simultaneously
  • ๐Ÿ“Š Real-time Status Monitoring: Live monitoring of connection status, active/preview inputs
  • ๐ŸŽฎ vMix Function Control: Execute vMix functions with customizable parameters
  • โšก Auto-refresh: Configurable automatic status updates with retry logic
  • ๐ŸŽฏ Input Management: Browse and manage vMix inputs with detailed information
  • โš™๏ธ Shortcut Generator: Create custom vMix function shortcuts with parameters
  • ๐Ÿ“ Blank Generator: Generate blank/color inputs for vMix
  • ๐Ÿ”„ Auto-Update: Automatic application updates via GitHub releases
  • ๐Ÿ’พ Persistent Settings: Save and restore connection configurations
  • ๐Ÿ“ฑ System Tray Integration: Minimize to system tray with quick access menu
  • ๐ŸŽจ Modern UI: Clean Material-UI based interface with responsive design

Connections Screenshot Connection management interface

๐Ÿš€ Installation

Download Pre-built Releases

Download the latest version for your platform:

  • Windows: Download the .msi installer from Releases
  • macOS: Download the .dmg file (supports both Intel and Apple Silicon)
  • Linux: Download the .AppImage file

System Requirements

  • Windows: Windows 10 version 1903 or later
  • macOS: macOS 10.15 or later
  • Linux: Modern Linux distribution with GTK 3.24 or later

๐Ÿ“– Usage

Getting Started

  1. Launch the application - The app will start with a default localhost connection
  2. Add vMix Connections - Go to Connections tab to add your vMix instances
  3. Monitor Status - View real-time connection status and input information
  4. Execute Functions - Use the function interface to control vMix operations

Settings Screenshot Application settings and configuration

Adding vMix Connections

  1. Navigate to the Connections tab
  2. Click Add Connection
  3. Enter the vMix host IP address (e.g., 192.168.1.100)
  4. Optionally set a custom label for easy identification
  5. Configure auto-refresh settings as needed

Using vMix Functions

The application supports all vMix functions as documented in the vMix Web Scripting Reference.

Function Parameters

  • Function: Select from available vMix functions (Cut, Fade, SetText, etc.)
  • Value: Additional value parameter when supported by the function
  • Input: Target input specified by input key or number
  • Custom Queries: Add additional URL parameters as needed

Example Functions

  • Cut - Switch program output to specified input
  • Fade - Fade to specified input over time
  • SetText - Update text in title inputs
  • StartRecording - Start recording
  • StopRecording - Stop recording

Developer Screenshot Developer tools and function testing

Shortcut Generator

Create reusable shortcuts for common vMix operations:

  1. Go to Shortcut Generator tab
  2. Configure your function parameters
  3. Save shortcuts with custom names
  4. Export shortcuts for sharing or backup

System Tray

The application minimizes to the system tray for easy access:

  • Left-click: Restore main window
  • Right-click: Access context menu
    • Show: Restore main window
    • Check Update: Manually check for updates
    • Quit: Exit application

๐Ÿ”„ Auto-Update

The application automatically checks for updates on startup and can be manually triggered from the system tray menu. When updates are available:

  1. A notification will appear
  2. Click to download and install the update
  3. The application will restart with the new version

Updates are signed and verified for security.

โš™๏ธ Configuration

Connection Settings

  • Host: vMix server IP address
  • Label: Custom display name for the connection
  • Auto-refresh: Enable/disable automatic status updates
  • Refresh Interval: Time between status checks (seconds)

Application Settings

  • Startup Launch: Launch application on system startup
  • Default vMix Settings: Default IP and port for new connections
  • Theme: Light/dark theme selection
  • Auto-reconnect: Automatically retry failed connections
  • Logging: Configure log level and file output

๐Ÿ› ๏ธ Development

Prerequisites

Setup

git clone https://github.com/FlowingSPDG/vmix-utility.git
cd vmix-utility/app
bun install

Development Commands

# Start development server
bun run tauri dev

# Build for production
bun run tauri build

# Run frontend only
bun run dev

# Build frontend
bun run build

Project Structure

vmix-utility/
โ”œโ”€โ”€ app/                    # Tauri application
โ”‚   โ”œโ”€โ”€ src/               # React frontend
โ”‚   โ”œโ”€โ”€ src-tauri/         # Rust backend
โ”‚   โ””โ”€โ”€ package.json
โ”œโ”€โ”€ .github/workflows/     # CI/CD workflows
โ””โ”€โ”€ README.md

Architecture

  • Frontend: React + TypeScript + Material-UI + Vite
  • Backend: Rust + Tauri framework
  • vMix Integration: HTTP API communication
  • Build System: Tauri CLI with Bun package manager

๐Ÿ“‹ vMix Function Reference

Common vMix functions supported by the application:

Video Switching

  • Cut - Hard cut to input
  • Fade - Fade transition to input
  • PreviewInput - Set preview input

Recording & Streaming

  • StartRecording / StopRecording
  • StartStreaming / StopStreaming
  • PauseRecording / UnpauseRecording

Text & Graphics

  • SetText - Update text overlays
  • OverlayInput1On / OverlayInput1Off - Control overlays

Audio

  • SetMasterVolume - Adjust master volume
  • AudioMute / AudioUnMute - Mute/unmute audio

For complete function reference, see vMix Web Scripting Documentation.

๐Ÿค Contributing

Contributions are welcome! Please feel free to submit pull requests or open issues for bugs and feature requests.

Development Workflow

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ‘จโ€๐Ÿ’ป Developer

Shugo Kawamura

๐Ÿ”— Links


โญ If you find this application useful, please consider giving it a star on GitHub!

About

vMix Management Utility

Topics

Resources

License

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •  

Languages