Giter Site home page Giter Site logo

voicemeeter-compact's Introduction

PyPI version License: MIT Poetry Code style: black OS: Windows

Image of app/potato size comparison

Voicemeeter Compact

A compact Voicemeeter remote app, works locally and over LAN.

For an outline of past/future changes refer to: CHANGELOG

Prerequisites

  • Voicemeeter (Basic v1.0.8.4), (Banana v2.0.6.4) or (Potato v3.0.2.4)
  • Python 3.10 or greater

Installation

For a step-by-step guide click here

pip install voicemeeter-compact

Usage

Example __main__.py file:

import voicemeeterlib
import vmcompact


def main():
    # choose the kind of Voicemeeter (Local connection)
    KIND_ID = "banana"

    # pass the KIND_ID and the vm object to the app
    with voicemeeterlib.api(KIND_ID) as vm:
        app = vmcompact.connect(KIND_ID, vm)
        app.mainloop()


if __name__ == "__main__":
    main()

It's important to know that only labelled strips and buses will appear in the Channel frames. Removing a Channels label will cause the GUI to grow/shrink in real time.

Image of unlabelled app

If the GUI looks like the above when you first load it, then no channels are labelled. From the menu, Configs->Load config you may load an example config. Save your current Voicemeeter settings first :).

KIND_ID

Set the kind of Voicemeeter, KIND_ID may be:

  • basic
  • banana
  • potato

TOML Files

This is how your files should be organised. Wherever your __main__.py file is located (after install this can be any location), configs should be in the same location. Directly inside of configs directory you may place an app.toml, vban.toml and a directory for each kind. Inside each kind directory you may place as many custom toml configurations as you wish.

.

├── __main__.py

├── configs

        ├── app.toml

        ├── vban.toml

        ├── basic

                ├── example.toml

                ├── other_config.toml

                ├── streaming_config.toml

        ├── banana

                ├── example.toml

                ├── other.toml

                ├── ...

        ├── potato

                ├── example.toml

                ├── ...

Configs

app.toml

Configure certain startup states for the app.

  • configs Configure a user config to load on app startup. Don't include the .toml extension in the config name.

  • theme By default the app loads up the Sun Valley light or dark theme by @rdbende. You have the option to load up the app without any theme loaded. Simply set enabled to false and mode will take no effect.

  • extends Extending the app will show both strips and buses. In reduced mode only one or the other. This app will extend both horizontally and vertically, simply set extends_horizontal true or false accordingly.

  • channel For each channel labelframe the width and height may be adjusted which effects the spacing between widgets and the length of the scales and progressbars respectively.

  • mwscroll_step Sets the amount (in db) the gain slider moves with a single mousewheel step. Default 3.

  • submixes Select the default submix bus when Submix frame is shown. For example, a dedicated bus for OBS.

vban.toml

Configure as many vban connections as you wish. This allows the app to work over a LAN connection as well as with a local Voicemeeter installation.

For vban connections to work correctly VBAN TEXT incoming stream MUST be configured correctly on the remote machine. Both pcs ought to be connected to a local private network and should be able to ping one another.

A valid vban.toml might look like this:

[connection-1]
kind = 'banana'
ip = '192.168.1.2'
streamname = 'worklaptop'
port = 6980

[connection-2]
kind = 'potato'
ip = '192.168.1.3'
streamname = 'streampc'
port = 6990

basic/ banana/ potato/

Three example user configs are included with the package, one for each kind of Voicemeeter. Use these to configure parameter startup states. Any parameter supported by the underlying interfaces may be used. Check the 'multiple-parameters' section for more info:

Python Interface for Voicemeeter API

Python Interface for VBAN CMD

User configs may be loaded at any time via the menu.

Special Thanks

Vincent Burel for creating Voicemeeter, its SDK, the C Remote API, the RT Packet service and Streamer View app!

Rdbende for creating the beautiful Sun Valley Tkinter theme and adding it to Pypi!

voicemeeter-compact's People

Contributors

dependabot[bot] avatar onyx-and-iris avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

cjwomack

voicemeeter-compact's Issues

Adding buttons

Hi, the app/GUI is working fine. As you suggested, I have disabled the menubar, but if I want to shutdown or reload the app, I have two options:

  1. Create a system tray icon menu.
  2. Add a few buttons to the interface.
    I would prefer to have some buttons on the interface, but I am not able to add those.
    Any help is appreciated. Thanks

Menubar colour

Thanks for making this app. I have two minor issues.

  1. I'm using the black theme, but not able to change the menu bar color. I have removed the title bar by adding '....overrideredirect(1)' in the navigation file.
  2. When the app starts, there is a flash window at the default position as I have changed the position of the window/interface by adding geometry() method that too in the navigation file.
    Tried my best to resolve these issues but failed. Please help me to resolve the issues.
    Thanks again, and I look forward to hearing from you.
    chander mohan
    vm

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.