Skip to content

Create scenes, highlight the current one by selecting and seeing it synced across every client, paired with synced timer.

License

Notifications You must be signed in to change notification settings

EliasB-NU/showmaster

Repository files navigation

Showmaster Logo

Showmaster

I am currently rewriting the whole project in a more modular way and with a new backend and web interface.

Stay tuned.

If you want to use the current version, this would be the docker compose file for it:

# Showmaster Docker compose file

services:
  app:
    image: braunelias/showmaster:latest
    restart: always
    networks:
      - showmaster-network
    ports:
      - "80:80"
    depends_on:
      - db
    environment:
      - DBUser=showmaster
      - DBPassword=password
      - Database=showmaster

  db:
    image: postgres:16-alpine
    restart: always
    environment:
      - POSTGRES_USER=showmaster
      - POSTGRES_PASSWORD=password
    ports:
      - "5432:5432"
    networks:
      - showmaster-network
    volumes:
      - ./data-db:/var/lib/postgresql/data

  pgadmin:
    image: dpage/pgadmin4:latest
    networks:
      - showmaster-network
    environment:
      - PGADMIN_DEFAULT_EMAIL=admin@example.com
      - PGADMIN_DEFAULT_PASSWORD=SomeSecurePassword
    ports:
      - "8080:80"
    volumes:
      - ./data-pq:/var/lib/pgadmin/data

networks:
  showmaster-network:
    external: false

To add scenes, you need to use a database tool like Datagrip or pgAdmin. There is also currently no integration with other tools, but I am working on it.

Description

A tool to manage your scenes across different audio, light and video consoles. You can use the midi implementation for syncing your consoles or the OSC implementation to control your consoles from a single device.

Features

  • Midi implementation
  • OSC implementation
  • GPIO implementation
  • IntraCast implementation
  • Web interface

Integrations

There will be an integration with my own low latency and lossless video streaming service for internal use, with an integrated router for video and video playback server. You can also create scenes in the IntraCast web interface and use them in your showmaster scenes.

If you test the current version, yes, there will be dark mode after the initial release of v3

Local Development

You need the newest Version of golang and the latest version of VueJS 3.

In the src/ folder you can find all the golang code and in the web/ folder all the VueJS code.

You can run the development version of Showmaster with the following command in the root directory go run src/main.go dev. You need a config.yaml in a config/ folder, which is included in the .gitignore, I provide an example version in the config/ folder.

For tests with the API, in the bruno/ folder you can find example requests, you need bruno to use them.

To change thinks in the frontend you need to change to the web/ directory and run npm run build.

You can see the frontend on https://localhost:3000

If you have any questions, feel free to contact me via email or open an issue.

Logo

The "Showmaster" logo was partially generated with the assistance of OpenAI's tools and is used under the Creative Commons Attribution 4.0 International License (CC BY 4.0).

Attribution: Logo concept generated by ChatGPT (OpenAI).

About

Create scenes, highlight the current one by selecting and seeing it synced across every client, paired with synced timer.

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Contributors 2

  •  
  •