Skip to content

Commit

Permalink
Merge branch 'develop'
Browse files Browse the repository at this point in the history
  • Loading branch information
Alex Van Camp committed Mar 12, 2022
2 parents bc27820 + 9f216e5 commit 9248375
Show file tree
Hide file tree
Showing 138 changed files with 7,525 additions and 3,466 deletions.
2 changes: 1 addition & 1 deletion .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ module.exports = {
...tsRules,
// "node/no-extraneous-import": "off", // because there are a lot of them as dev-dependencies
'node/no-missing-import': 'off', // erroring on every single import
// "react/prop-types": "off", // we don't use this
'react/prop-types': 'off', // we don't use this
// "@typescript-eslint/no-empty-interface": "off", // many prop/state types are {}
'@typescript-eslint/promise-function-async': 'off', // event handlers can't be async
},
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/create-release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,8 @@ jobs:
yarn build:binary
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CSC_LINK: ${{ secrets.WIN_CSC_LINK }}
CSC_KEY_PASSWORD: ${{ secrets.WIN_CSC_KEY_PASSWORD }}
- name: Remove TSR-Bridge latest.yml
uses: flcdrg/remove-release-asset-action@v1
env:
Expand All @@ -63,6 +65,8 @@ jobs:
yarn build:binary
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CSC_LINK: ${{ secrets.WIN_CSC_LINK }}
CSC_KEY_PASSWORD: ${{ secrets.WIN_CSC_KEY_PASSWORD }}
build-linux-binaries:
name: Build Linux Binaries
runs-on: ubuntu-latest
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,4 @@ npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
.vscode/
2 changes: 1 addition & 1 deletion .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

lerna run --concurrency 1 --stream precommit --since HEAD --exclude-dependents
yarn lerna run --concurrency 1 --stream precommit --since HEAD --exclude-dependents
1 change: 1 addition & 0 deletions .nvmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
14
40 changes: 25 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,49 +2,59 @@

## Installation

For end users, SuperConductor consists of two applications: the SuperConductor UI and TSR-Bridge. These two applications can be run on different computers (each running a different operating system, if needed) and talk to each other over the network. It is recommended that TSR-Bridge be run on the same computer as CasparCG.

### Windows

1. Head to the [releases page](https://github.com/SuperFlyTV/SuperConductor/releases) and download both `SuperConductor-Setup-X.Y.Z.exe` and `TSR-Bridge-Setup-X.Y.Z.exe`.
1. Head to the [releases page](https://github.com/SuperFlyTV/SuperConductor/releases) and download `SuperConductor-Setup-X.Y.Z.exe`.
2. Run `SuperConductor-Setup-X.Y.Z.exe` to install the main SuperConductor application, then launch SuperConductor from either the Desktop shortcut or the Start Menu.
3. Run `TSR-Bridge-Setup-X.Y.Z.exe` to install the TSR-Bridge application, then launch TSR-Bridge from either the Desktop shortcut or the Start Menu.

### macOS

1. Head to the [releases page](https://github.com/SuperFlyTV/SuperConductor/releases) and download either the `.dmg` or `-mac.zip` builds of SuperConductor and TSR-Bridge.
2. If you downloaded the `.dmg` builds, double click them to install the applications. Then, launch the applications from Finder.
3. If you downloaded the `.zip` builds, double-click them to extract them, then double click on the extracted applications to run them.
1. Head to the [releases page](https://github.com/SuperFlyTV/SuperConductor/releases) and download either the `.dmg` or `-mac.zip` builds of SuperConductor.
2. If you downloaded the `.dmg` build, double click it to install the application. Then, launch the application from Finder.
3. If you downloaded the `.zip` build, double-click it to extract the application, then double click on the extracted application to run it.

### Linux (Ubuntu)

1. Head to the [releases page](https://github.com/SuperFlyTV/SuperConductor/releases) and download both `SuperConductor-X.Y.Z.AppImage` and `TSR-Bridge-X.Y.Z.AppImage`.
2. Execute the following before double-clicking on the AppImages to run them:
1. Head to the [releases page](https://github.com/SuperFlyTV/SuperConductor/releases) and download `SuperConductor-X.Y.Z.AppImage`.
2. Execute the following before double-clicking on the AppImage to run it:

```bash
# Replace X.Y.Z with the actual version number.
chmod +x Downloads/SuperConductor-X.Y.Z.AppImage
chmod +x Downloads/TSR-Bridge-X.Y.Z.AppImage
```

## Usage
## Advanced Usage

If you've installed the SuperConductor UI and `tsr-bridge` on two different computers, then you'll need to configure the SuperConductor UI with the IP/host of the computer where `tsr-bridge` is running:
If you've installed the SuperConductor UI and TSR-Bridge on two different computers, then you'll need to configure the SuperConductor UI with the IP/host of the computer where TSR-Bridge is running:

1. Open the SuperConductor UI.
2. Navigate to `Edit > Preferences` (`SuperConductor > Preferences` on macOS).
3. Click on the "Bridges" tab.
4. Edit the `URL` field to point to the computer where `tsr-bridge` is running by replacing `localhost` with the IP address of that computer.
3. Locate the "Bridges" section and click "ADD BRIDGE CONNECTION".
4. Edit the `URL` field to point to the computer where TSR-Bridge is running by replacing `localhost` with the IP address of that computer.

The TSR-Bridge program can be downloaded and installed on a different computer than the main SuperConductor application. This can be useful to minimize latency between TSR-Bridge and the devices it is controlling.

To connect SuperConductor to such a so-called "outgoing bridge", open SuperConductor's Settings/Preferences menu and click "ADD BRIDGE CONNECTION".

## For Developers

### Prerequisites

SuperConductor has some native dependencies which need to be (re)built from source. This requires a full Node.js native module compiler toolchain, including Python 3.

On Windows, modern versions of the Node.js installer come with all the necessary build tools, and no further action is required. If you have issues with Python, install [Python 3](https://www.python.org/downloads/).

On Linux, install the `build-essential` package and then install Python 3.

On macOS, install XCode and its optional tools `xcode-select --install` and then install Python 3.

### Quick start

- [Install Yarn](https://yarnpkg.com/getting-started/install)
- `cd >>path-to-this-folder<<`
- `yarn`
- `yarn setup`
- `yarn start:all` (Starts both the SuperConductor and TSR-Bridge)
- `yarn start` (Builds the project and starts the SuperConductor)

### Architecture Overview

Expand Down
2 changes: 1 addition & 1 deletion apps/app/nodemon.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"watch": ["src/main.ts", "src/electron/*", "src/lib/*", "src/ipc/*", "src/mocks/*", "src/models/*"],
"exec": "webpack --config ./webpack.electron.js && electron ./dist/main.js",
"exec": "tsc -p tsconfig.electron.json && electron ./dist/main.js",
"ext": "ts"
}
12 changes: 9 additions & 3 deletions apps/app/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@
"node": "^12.20 || ^14.15.3 || 16"
},
"scripts": {
"build": "webpack",
"build": "rimraf ./dist && tsc && webpack",
"build:electron": "tsc -p tsconfig.electron.json",
"build:binary": "electron-builder",
"start": "yarn build && electron dist/main.js",
"react:dev": "webpack serve --mode=development",
Expand Down Expand Up @@ -60,13 +61,16 @@
"dependencies": {
"@emotion/react": "^11.7.1",
"@emotion/styled": "^11.6.0",
"@fontsource/roboto": "^4.5.2",
"@fontsource/barlow": "^4.5.1",
"@fontsource/barlow-condensed": "^4.5.2",
"@fontsource/barlow-semi-condensed": "^4.5.3",
"@mui/icons-material": "^5.3.1",
"@mui/material": "^5.3.1",
"@shared/api": "^0.3.0",
"@shared/lib": "^0.3.0",
"@shared/models": "^0.3.0",
"@sofie-automation/sorensen": "^1.2.0",
"@shared/tsr-bridge": "^0.3.0",
"@sofie-automation/sorensen": "^1.3.1",
"axios": "^0.23.0",
"bufferutil": "^4.0.1",
"casparcg-connection": "^5.1.0",
Expand All @@ -76,6 +80,8 @@
"formik": "^2.2.9",
"formik-mui": "^4.0.0-alpha.3",
"lodash": "^4.17.21",
"mobx": "^6.4.2",
"mobx-react-lite": "^3.3.0",
"moment": "^2.29.1",
"notistack": "^2.0.3",
"react": "^17.0.2",
Expand Down
Loading

0 comments on commit 9248375

Please sign in to comment.