/SOPIA

Live streaming all in one program for https://spooncast.net

Primary LanguageTypeScriptCreative Commons Zero v1.0 UniversalCC0-1.0

SOPIA

SOPIA is an all-in-one live streaming program that DJ's who broadcast from a computer should use.

  • Lighter performance than App Player
  • Sound effects close to DAW
  • Various contents not supported by existing spooncast
  • Live streaming performance analysis and optimal streaming support
  • Live streaming with higher sound quality than web streaming

Install

Currently, it is supported as a Windows-only program. (Windows 10 and above)

Download the installer from https://sopia.dev.

Development Setup

NodeJS 18, Rust 1.65 must be installed.

Install all dependencies of the cloned repository.

$ npm install

Rendering structure

Most Electron programs integrate rendering resources into program memory and asar files. Because of this, it is inconvenient to update the entire program even with small UI changes.

image

So, we managed resources in separate archives and refined user experience by segmenting updates.

image

Backend / Frontend

During development, we need to run two processes the render server and Electron.

Renderer

$ npm run view:dev

Electron

$ npm run app:dev

Packages dependencies

context-bridge
└── core

app
├── archive
├── context-bridge
└── core

view-novalt
├── context-bridge
└── core

Build

Full build

$ npm run build

Specific build

$ npm run core:build # packages/core
$ npm run bridge:build # packages/context-bridge
$ npm run archive:build # packages/archive
$ npm run view:build # packages/view-novalt
$ npm run app:build # packages/app

Release

Core package

$ npm run core:publish

Electron App

$ node tools/version-patch/index.js && node tools/upload-app/index.js

Resources

$ node tools/upload-view/index.js