Skip to content

Redesign, svelte, media upload #6

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 44 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
079888e
add downstream keys, update npm dependecies
filiphanes Jul 22, 2018
73e25b0
simplify dependencies
filiphanes Jul 22, 2018
f80d777
Create LICENSE
filiphanes Jul 23, 2018
6810419
fix applet-atem version
filiphanes Jul 23, 2018
ae289bb
Merge pull request #1 from filiphanes/downstream-key
filiphanes Jul 23, 2018
4bd873f
Merge pull request #2 from filiphanes/less-dependecies
filiphanes Jul 24, 2018
66be491
Merge pull request #3 from filiphanes/patch-1
filiphanes Jul 24, 2018
22523b3
add process.yml for PM2
filiphanes Jul 24, 2018
40f2f17
Add PM2 example to README.md
filiphanes Jul 24, 2018
04c7ccd
Update install steps in README.md
filiphanes Jul 24, 2018
5562efa
Merge branch 'less-dependecies'
filiphanes Jul 24, 2018
d8edd65
Merge branch 'pm2-config'
filiphanes Jul 24, 2018
fe69e5e
refactor to svelte
filiphanes Jun 19, 2019
afed395
update style, add keyboard shortcuts
filiphanes Jun 21, 2019
b056387
fluid layout
filiphanes Jun 21, 2019
81f419c
join program preview, multiline labels, add slider
filiphanes Jun 23, 2019
2a4d909
update deps, add ATEM class, icons, json rpc
filiphanes Jun 26, 2019
dbc177d
add media screen
filiphanes Jun 27, 2019
9fa54e7
add connection states, favicon, new screenshots
filiphanes Jun 28, 2019
fa09109
works
filiphanes Jul 7, 2019
edae0af
Merge pull request #4 from filiphanes/svelte
filiphanes Oct 1, 2019
cf271c4
build relative socket url
filiphanes Oct 3, 2019
273cfb6
fix applest-atem package version
timhodson Jan 7, 2020
f649fe2
Merge pull request #5 from timhodson/fix-applest-atem-version
filiphanes Jan 7, 2020
0706b0e
Working trigger of macro idx 0
timhodson Jan 7, 2020
006f8db
tidy up gitignore for public build files
timhodson Jan 7, 2020
f193009
revert tidy up of public
timhodson Jan 7, 2020
7ac8b84
Ignore the rebuilt files
timhodson Jan 7, 2020
2c2ff51
Ignore the rebuilt files
timhodson Jan 7, 2020
d21f6ab
Ignore the rebuilt files
timhodson Jan 7, 2020
b27b3e9
Ignore auto generated files
timhodson Jan 7, 2020
287f78e
Add support for showing macro buttons
timhodson Jan 15, 2020
4caf25a
section.transition flex-grow:0, update packages
filiphanes Jul 2, 2020
44e44c4
Merge pull request #6 from timhodson/add-macro-support
filiphanes Jul 2, 2020
d0ec364
Working trigger of macro idx 0
timhodson Jan 7, 2020
8378f9b
tidy up gitignore for public build files
timhodson Jan 7, 2020
1d3892b
revert tidy up of public
timhodson Jan 7, 2020
77b2f71
Ignore the rebuilt files
timhodson Jan 7, 2020
a0f93fc
Ignore the rebuilt files
timhodson Jan 7, 2020
281f178
Ignore the rebuilt files
timhodson Jan 7, 2020
72b25d2
Ignore auto generated files
timhodson Jan 7, 2020
da49779
Add support for showing macro buttons
timhodson Jan 15, 2020
7bed084
fix on:click target
filiphanes Jul 2, 2020
7d8c7e9
Merge branch 'master' into svelte
filiphanes Jul 2, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 0 additions & 4 deletions .bowerrc

This file was deleted.

6 changes: 4 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
.DS_Store
config.json
node_modules/
public/js/
public/css/
public/bower_components/
public/bundle.js
public/bundle.js.map
.vscode/
21 changes: 21 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2018 Applest

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
75 changes: 47 additions & 28 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,46 +1,70 @@
live-controller
========
# ATEM Live Controller
The customizable video switchers web controller.

Installation
--------
# Features
- Switching program/preview inputs
- keyboard shortcuts as in original ATEM switchers app: 1-8 changes preview, Ctrl+1-8 changes program, Spacebar for CUT transition and Enter for AUTO transition.
- websocket communication with server for more efficient and faster reactions
- Svelte reactive frontend for simpler development
- HTTP API for integration with other apps

# Installation
- Copy `config.json.sample` to `config.json`
- Install dependency components with bower
- Compile front app sources with gulp
- Install dependencies with npm `npm install` or `pnpm install` or `yarn install`

```sh
$ cp config.json.sample config.json
$ bower install
$ gulp
cp config.json.sample config.json
npm install
```

Run
--------
# Run
- Run the app server

```sh
$ coffee server.coffee
npm start
```
or
```sh
node ./src/server.js
```
or run with [PM2](http://pm2.keymetrics.io/)
```sh
pm2 start process.yml
```
You will be able to see soon: `http://<your host>:8080/`
or when in development mode
```sh
npm start dev
```
Then go to this address in your browser: `http://localhost:8080/` or `http://host:port/` which is set in config.json.

Example
--------
![](docs/ipad-mini-demo.png)
# Screenshots
<img src="docs/screen-desktop.png" width="800">
<img src="docs/screen-mobile.png" width="200">

Contributing
--------
1. Fork it ( https://github.com/applest/live-controller )
# Contributing
1. Fork it ( https://github.com/filiphanes/atem-live-controller )
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Add your feature
3. Implement your feature
4. Commit your changes (`git commit -am 'Add some feature'`)
5. Push to the branch (`git push origin my-new-feature`)
6. Create new Pull Request

License
--------
# TODO
- media uploads
- settings tab
- audio control tab
- camera control tab
- support more atem functionality

# Thanks
- Font made by "とろ庵" http://www.trojanbear.net/s/category/font
- svelte framework
- applest-atem library for communication with atem hardware

# License
The MIT License (MIT)

Copyright (c) 2015 Yusei Yamanaka (miyukki)
Copyright (c) 2019 Filip Hanes

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand All @@ -59,8 +83,3 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

Thanks
--------
This program is using the font made by "とろ庵"
http://www.trojanbear.net/s/category/font
21 changes: 0 additions & 21 deletions bower.json

This file was deleted.

20 changes: 5 additions & 15 deletions config.json.sample
Original file line number Diff line number Diff line change
@@ -1,19 +1,9 @@
{
"server": {
"host": "0.0.0.0",
"port": 8080
},
"switchers": [
{ "type": "atem", "addr": "172.16.0.101" }
],
"channels": [
{ "device": 0, "input": 1 },
{ "device": 0, "input": 2 },
{ "device": 0, "input": 3 },
{ "device": 0, "input": 4 },
{ "device": 0, "input": 5 },
{ "device": 0, "input": 6 },
{ "device": 0, "input": 7 },
{ "device": 0, "input": 8 },
{ "device": 0, "input": 9 },
{ "device": 0, "input": 10 },
{ "device": 0, "input": 3010 },
{ "device": 0, "input": 3020 }
{ "type": "atem", "addr": "192.168.88.240" }
]
}
Binary file removed docs/ipad-mini-demo.png
Binary file not shown.
Binary file added docs/screen-desktop.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/screen-mobile.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
23 changes: 0 additions & 23 deletions gulpfile.coffee

This file was deleted.

39 changes: 23 additions & 16 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,25 +1,32 @@
{
"name": "live-controller",
"name": "atem-live-controller",
"version": "1.0.0",
"description": "",
"main": "index.js",
"description": "HTML5 client-server controller for Blackmagic Design ATEM switchers",
"main": "src/server.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
"build": "rollup -c",
"autobuild": "rollup -c -w",
"dev": "run-p start autobuild",
"start": "node src/server.js"
},
"author": "",
"license": "ISC",
"author": "Filip Hanes <[email protected]>",
"license": "MIT",
"dependencies": {
"applest-atem": "^0.1.2",
"body-parser": "^1.13.2",
"express": "^4.13.1"
"applest-atem": "^0.2.4",
"express": "^4.17.1",
"express-fileupload": "^1.1.7-alpha.3",
"express-ws": "^4.0.0",
"feather-icons": "^4.28.0",
"ws": "^7.3.0"
},
"devDependencies": {
"coffee-script": "^1.9.3",
"gulp": "^3.9.0",
"gulp-coffee": "^2.3.1",
"gulp-notify": "^2.2.0",
"gulp-plumber": "^1.0.1",
"gulp-sass": "^2.0.4",
"gulp-watch": "^4.3.3"
"@rollup/plugin-commonjs": "^13.0.0",
"@rollup/plugin-node-resolve": "^8.1.0",
"npm-run-all": "^4.1.5",
"rollup": "^2.18.2",
"rollup-plugin-livereload": "^1.3.0",
"rollup-plugin-svelte": "^5.2.3",
"rollup-plugin-terser": "^6.1.0",
"svelte": "^3.23.2"
}
}
Loading