Skip to main content
Python Software Foundation 20th Year Anniversary Fundraiser  Donate today!

High-level media/entertainment workflow automation platform

Project description

PyPI Version GitHub release Documentation Status GitHub license Github all releases Platform: Windows,Mac,Linux

Volux

BRANCH BUILD COVERAGE REQUIREMENTS ISSUES OPEN PRs
Master Build Status codecov Requirements Status GitHub issues GitHub pull-requests
Dev Build Status codecov Requirements Status

Description

Volux is a high-level media/entertainment workflow automation platform.

GUI

  • Download source
  • $ make gui

Documentation

Volux uses readthedocs.io for it's documentation.

Read it here.

Getting Started

Important Notes

Incompatibilities

Please note that pyaudio - a requirement of the voluxaudio module - does not support python 3.8 on windows 10. Any version of Python 3.6.x should work fine.

Installation

Install system requirements

OS Command
Debian 10 $ sudo apt install python3 python3-tk python3-dev python3-venv libasound2-dev portaudio19-dev
Windows 10 Install python3.6.x (if not already installed). Install Microsoft Visual C++ 14.0 from this installer. Check the 'C++ build tools' checkbox and click 'Install'
Darwin (MacOS) $ brew install tcl-tk $ brew link tcl-tk --force

Install the latest stable build

OS Command
Any $ pip3 install volux --user

List available commands

$ volux --help

Launch GUI (in alpha)

$ volux launch

Demo

Run the volume/light bar demo

$ volux demo bar

About volux

What does it do?

Volux operates using an Operator object and various instances of VoluxModule subclasses.

Each aspect of your media/entertainment setup is represented by it's own volux module.

The operator object acts as a hub for a standard method of communication between Volux modules added to it.

Official Modules

Module Aspect Controls
VoluxBar GUI Element display values, display colors, increase/decrease values, set values
VoluxDemoModule CLI messages set value, get value
VoluxDisplay Monitor get monitor size (wip)
VoluxLight LIFX bulb set color, set power, get color, get power
VoluxVolume Computer Volume set volume, get volume, set muted, get muted

These modules can read/write data of the associated aspects in coordiation with each other to create seamless workflows.

Installing from source

See here.

Demo script

See here

While hovering over the bar:

Bar color Action Result
any right-click change bar color
any double right-click exit volux
📗 green scroll up 🔉 increase volume
📗 green scroll down 🔉 decrease volume
📗 green middle-click 🔇 mute
🔴 red scroll up 🔉 increase volume
🔴 red scroll down 🔉 decrease volume
🔴 red middle-click 🔇 unmute
📘 blue scroll up 💡 increase bulb brightness
📘 blue scroll down 💡 decrease bulb brightness
📘 blue middle-click 💡 toggle bulb power

Features in development

  • Settings GUI
  • Interface customisation

Basic script for creating a workflow

Breakdown of setup

  1. Import the framework + essentials
import volux
  1. Import modules for use
from voluxcliprint import VoluxCliPrint
from voluxaudio import VoluxAudio
from voluxGui import VoluxGui
  1. Create operator object
vlx = VoluxOperator()
  1. Load the modules into the operator
vlx.add_module(VoluxCliPrint())
vlx.add_module(VoluxAudio())
vlx.add_module(
    VoluxGui(shared_modules=[vlx.audio,vlx.cli]),
    req_permissions=[
        volux.RequestNewConnection,
        volux.RequestGetConnections,
        volux.RequestStartSync
    ]
)
  1. Launch the GUI!
vlx.gui.init_window()

Supported platforms

   Windows 7 or later

   MacOS (WIP)

   Linux (most distributions)

External Requirements

Platform External Requirements

Issues and bugs

If you have any problems running Volux, please kindly post an issue to this repository. Issues can be solved much faster if you can provide:

  • Operating system
  • Desktop environment (if using Linux)
  • Python version
  • Summary of issues experienced
  • Relevant screenshot/s (if applicable)

Additional testing has been done under these conditions:

Archi. Operating System Desktop Env Python Verison Status Notes
64 bit Debian 10 Buster Gnome 3.30.2 3.7.3 0.9.4 Working Development conditions
64 bit Ubuntu 16.04 N/A 3.7 0.9.4 Working CI Conditions
64 bit Windows 10 N/A 3.7.3 0.9.4 Working
64 bit Windows 10 N/A 3.7.2 0.8.16 Working
64 bit OSX 10.13.5 N/A 3.7.3 0.8.16 Broken Ironing out the creases

forthebadge made-with-python

Acknowledgments of work | pencil icon

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for volux, version 0.9.17
Filename, size File type Python version Upload date Hashes
Filename, size volux-0.9.17-py3-none-any.whl (36.7 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size volux-0.9.17.tar.gz (19.8 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page