Skip to content

Commit 8d8a766

Browse files
authored
Merge pull request #77 from olzzon/develop
Major update of Sisyfos planned as 1.0
2 parents c56e512 + 5857305 commit 8d8a766

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+2011
-398
lines changed

Docs/pix/ProducersAudioMixer01.png

-308 KB
Binary file not shown.

Docs/pix/ProducersAudioMixerNext.png

456 KB
Loading
180 KB
Loading
97.5 KB
Loading

README.md

Lines changed: 35 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,29 @@
11
# Sisyfos Audio Controller
22

3-
## Audiomixer control build with the logic from a videomixer.
3+
## Audiomixer control build for intelligent automation.
44

55
You use the fader for the level, and PGM on/off for fade-in/out.
6-
TAKE crossfades between PGM & PST:
7-
<img src="Docs/pix/ProducersAudioMixer01.png">
6+
TAKE NEXT crossfades from NEXT to PGM
87

8+
It´s fast to see what faders are on-are, and whther they are PGM level or Voice over level
9+
<img src="Docs/pix/ProducersAudioMixerNext.png">
910

10-
### Snaps takes preset into PST:
11+
### Routing of Faders to Channels
12+
Routing of Faders to multiple channels or a single channel are possible. This way Sisyfos can control some or all channels on a mixer. And a single fader can be used for E.G. a 5.1 (on 6 mono faders)
1113

14+
<img src="Docs/pix/ProducersAudioMixerRouting.png">
1215

13-
<img src="Docs/pix/ProducersAudioMixer02.png">
16+
### Load/Save Routing
17+
Routing setups can be stored in STORAGE. So it´s possible to have different Routings dependent of what setup the Audio mixer is using.
18+
19+
<img src="Docs/pix/ProducersAudioMixerStorage.png">
20+
21+
22+
23+
### When Automation mode is Disabled in settings - snaps takes preset into PST/NEXT:
24+
25+
26+
<img src="Docs/pix/ProducersAudioMixerSnaps.png">
1427

1528

1629

@@ -39,6 +52,10 @@ yarn start
3952
* Todo:
4053
* Group support
4154
* Meter calibration
55+
* SSL System T - Broadcast Mixer
56+
* SSL Automation Protocol for System T
57+
* Port 10001
58+
* Set Protocol Latency to around 100ms
4259
* Midas Master
4360
* OSC protocol for Midas M32 and Behringer X32
4461
* Port 10023
@@ -66,8 +83,16 @@ yarn start
6683
* Default Port is 8000
6784
* Controls Fader On/Off with preset level from Sisyfos.
6885
* Easy implementation of state based lightcontrol from Automation.
86+
* the PROTOCOL DELAY setting should be raised to 50ms, as DMXIS is responding a little slowly.
6987
* midi
7088
* Generic MIDI - still preminilary
89+
* When using MIDI protocols, the PROTOCOL DELAY setting should be rised to at least 50ms
90+
* Yamaha QL1
91+
* MIDI based Protocol
92+
* For now only the 24 first channels are supported.
93+
* Set label not supported
94+
* When using MIDI protocols, the PROTOCOL DELAY setting should be rised to at least 50ms
95+
7196

7297

7398
## Automation Support:
@@ -76,10 +101,11 @@ It´s possible to control the Producers-Audio-Mixer from an automationsystem, fo
76101
## Set state:
77102
To set the state send these OSC commands from you Automation to ProducersAudioMixer Port: 5255:
78103
#### Set channel to PGM (optional: indiviaul fadetime):
104+
(the integer defines: 0 - Off, 1 - Pgm On, 2 - Voice Over)
79105
(if second is missing it will take default fade value)
80-
/ch/1/mix/pgm - integer: { 0 or 1 } - float { fadetime in ms }
106+
/ch/1/mix/pgm - integer: { 0, 1 or 2 } - float { fadetime in ms }
81107
#### Set channel to PST:
82-
/ch/1/mix/pst - integer: { 0 or 1 }
108+
/ch/1/mix/pst - integer: { 0, 1 or 2 } (the integer defines: 0 - Off, 1 - Pgm On, 2 - Voice Over)
83109
#### Set channel faderlevel:
84110
/ch/1/mix/faderlevel - float {between 0 and 1}
85111
#### Set channel label:
@@ -90,6 +116,8 @@ To set the state send these OSC commands from you Automation to ProducersAudioMi
90116
/snap/1
91117
#### Fade all channels to black (mute)
92118
/fadetoblack
119+
#### Clear all pst buttons
120+
/clearpst
93121
#### Hide or show channel strips on GUI:
94122
/ch/{value1}/visible - integer { 0 or 1 }
95123

package.json

Lines changed: 26 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -39,48 +39,45 @@
3939
},
4040
"dependencies": {
4141
"@types/hoist-non-react-statics": "^3.3.1",
42-
"@types/react-redux": "^7.0.9",
43-
"@types/react-select": "^2.0.19",
42+
"@types/react-redux": "^7.1.4",
43+
"@types/react-select": "^3.0.4",
4444
"casparcg-connection": "^4.7.0",
4545
"classnames": "^2.2.6",
4646
"emberplus": "https://github.com/olzzon/tv-automation-emberplus-connection.git",
47-
"osc": "https://github.com/PieceMeta/osc.js/tarball/master",
48-
"react": "^16.8.6",
49-
"react-dom": "^16.8.6",
50-
"react-redux": "^7.0.3",
51-
"react-select": "^3.0.3",
52-
"redux": "^4.0.1",
53-
"tv-automation-server-core-integration": "^1.1.0",
54-
"typescript": "^3.5.1",
55-
"webmidi": "^2.3.3"
47+
"osc": "https://github.com/olzzon/tv2-osc.js-no-serialport.git",
48+
"react": "^16.10.1",
49+
"react-dom": "^16.10.1",
50+
"react-redux": "^7.1.1",
51+
"react-select": "^3.0.6",
52+
"redux": "^4.0.4",
53+
"typescript": "^3.6.3",
54+
"webmidi": "^2.5.1"
5655
},
5756
"devDependencies": {
58-
"@babel/core": "^7.4.5",
59-
"@babel/plugin-proposal-class-properties": "^7.4.4",
60-
"@babel/plugin-proposal-object-rest-spread": "^7.4.4",
57+
"@babel/core": "^7.6.2",
58+
"@babel/plugin-proposal-class-properties": "^7.5.5",
59+
"@babel/plugin-proposal-object-rest-spread": "^7.6.2",
6160
"@babel/plugin-syntax-object-rest-spread": "^7.2.0",
62-
"@babel/preset-env": "^7.4.5",
61+
"@babel/preset-env": "^7.6.2",
6362
"@babel/preset-react": "^7.0.0",
64-
"@babel/preset-typescript": "^7.3.3",
65-
"@types/react": "^16.8.19",
66-
"@types/react-dom": "^16.8.4",
63+
"@babel/preset-typescript": "^7.6.0",
6764
"babel-loader": "^8.0.6",
6865
"babili-webpack-plugin": "^0.1.2",
69-
"css-loader": "^2.1.1",
70-
"electron": "^4.1.5",
71-
"electron-packager": "^13.1.1",
72-
"file-loader": "^3.0.1",
66+
"css-loader": "^3.2.0",
67+
"electron": "^6.0.10",
68+
"electron-packager": "^14.0.6",
69+
"file-loader": "^4.2.0",
7370
"html-webpack-plugin": "^3.2.0",
74-
"mini-css-extract-plugin": "^0.5.0",
71+
"mini-css-extract-plugin": "^0.8.0",
7572
"postcss-cssnext": "^3.1.0",
7673
"postcss-import": "^12.0.1",
7774
"postcss-loader": "^3.0.0",
78-
"postcss-nested": "^4.1.1",
75+
"postcss-nested": "^4.1.2",
7976
"postcss-pxtorem": "^4.0.1",
80-
"style-loader": "^0.23.1",
81-
"ts-loader": "^6.0.1",
82-
"webpack": "^4.32.2",
83-
"webpack-cli": "^3.3.2",
84-
"webpack-dev-server": "^3.4.1"
77+
"style-loader": "^1.0.0",
78+
"ts-loader": "^6.2.0",
79+
"webpack": "^4.41.0",
80+
"webpack-cli": "^3.3.9",
81+
"webpack-dev-server": "^3.8.1"
8582
}
8683
}

src/assets/css/Channel.css

Lines changed: 43 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
.channel-body {
22
color: white;
3-
background-color: #2f2f2f;
3+
background: linear-gradient(#2f2f2f 0px,#2f2f2f 730px, rgb(0, 0, 0) 1px, #2f2f2f 740px, #2f2f2f 100%);
44
margin: 4px;
55
border-radius: 10px;
66
max-width: 100px;
77
position: relative;
88
}
99

10-
1110
.channel-name {
1211
margin-top: 10px;
1312
text-align: center;
@@ -27,6 +26,7 @@
2726
color: white;
2827
height: 90px;
2928
width: 80px;
29+
font-size: 105%;
3030
background-color: rgb(66, 27, 27);
3131
border-radius: 7px;
3232
border-color: rgb(99, 99, 99);
@@ -37,22 +37,47 @@
3737
background-color: red;
3838
}
3939

40-
.channel-pst-button {
40+
41+
.channel-vo-button {
4142
outline : none;
4243
-moz-outline : none;
4344
margin-left: 10px;
4445
margin-top: 5px;
4546
color: white;
4647
height: 90px;
4748
width: 80px;
48-
background-color: rgb(59, 73, 59);
49+
font-size: 105%;
50+
background-color: rgb(66, 54, 27);
51+
border-radius: 7px;
52+
border-color: rgb(99, 99, 99);
53+
}
54+
55+
56+
.channel-vo-button.on {
57+
background-color: rgb(207, 135, 1);
58+
}
59+
60+
.channel-pst-button {
61+
outline : none;
62+
-moz-outline : none;
63+
margin-left: 10px;
64+
margin-top: 30px;
65+
color: white;
66+
height: 90px;
67+
width: 80px;
68+
font-size: 103%;
69+
background-color: rgb(88, 88, 88);
4970
border-radius: 7px;
5071
border-color: rgb(99, 99, 99);
5172
margin-bottom: 0;
5273
}
5374

5475
.channel-pst-button.on {
55-
background-color: green;
76+
background-color: rgb(124, 0, 0);
77+
}
78+
79+
.channel-pst-button.vo {
80+
background-color: rgb(163, 106, 0);
5681
}
5782

5883
.channel-pfl-button {
@@ -122,11 +147,11 @@
122147
width: 60px;
123148
border-radius: 7px;
124149
border-color: rgb(68, 68, 68);
125-
background-color: rgb(89, 83, 10);
150+
color: rgb(89, 83, 10);
126151
}
127152

128153
.channel-snap-button.on {
129-
background-color: rgb(183, 182, 20);
154+
color: rgb(183, 182, 20);
130155
}
131156

132157

@@ -176,6 +201,17 @@ input[type=range]::-webkit-slider-thumb {
176201
position: relative;
177202
}
178203

204+
input[color-pgm=pgm-on]::-webkit-slider-thumb {
205+
border: 1px solid rgb(253, 60, 60);
206+
background: linear-gradient(to left, #3a1d1d 0%, #c04d4d 20%, #811919 50%, #00a 1px, #8a2626 52%, #bd5151 80%, #411f1f 100%);
207+
}
208+
209+
input[color-vo=vo-on]::-webkit-slider-thumb {
210+
border: 1px solid rgb(252, 255, 86);
211+
background: linear-gradient(to left, #353006 0%, #c59327 20%, #856b14 50%, #00a 1px, #866724 52%, #cca22d 80%, #463b0a 100%);
212+
}
213+
214+
179215
input[type=range]:focus::-webkit-slider-runnable-track {
180216
background: #000000;
181217
}
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
.channel-settings-body {
2+
position: absolute;
3+
top: 50%;
4+
left: 50%;
5+
transform: translate(-50%, -50%);
6+
width: 400px;
7+
overflow: auto;
8+
max-height: 90vh;
9+
background-color: rgb(31, 31, 31);
10+
border-color: rgb(124, 124, 124);
11+
border-style: solid;
12+
border-width: 4px;
13+
text-align: left;
14+
z-index: 1;
15+
16+
color: #fff;
17+
}
18+
19+
.channel-settings-body > h2 {
20+
border-bottom: 1px solid #999;
21+
margin: 0;
22+
padding: 10px 0;
23+
line-height: 50px;
24+
text-align: center;
25+
26+
}
27+
28+
29+
.channel-settings-body > h4 {
30+
margin: 0;
31+
margin-left: 40px;
32+
padding: 0px 0;
33+
line-height: 20px;
34+
text-align: left;
35+
font-size: 110%;
36+
}
37+
38+
.channel-settings-body > .close {
39+
position: absolute;
40+
outline : none;
41+
border-color: rgb(99, 99, 99);
42+
background-color: rgb(27, 27, 27);
43+
border-radius: 100%;
44+
display: block;
45+
color: #fff;
46+
width: 50px;
47+
height: 50px;
48+
font-size: 30px;
49+
line-height: 50px;
50+
top: 9px;
51+
right: 9px;
52+
}
53+
54+
.channel-settings-group {
55+
border-bottom: 1px solid #999;
56+
}
57+
58+
.channel-settings-group > button {
59+
line-height: 10px;
60+
61+
outline : none;
62+
border-color: rgb(99, 99, 99);
63+
background-color: rgb(27, 27, 27);
64+
margin-right: auto;
65+
margin-top: 15px;
66+
margin-bottom: 15px;
67+
margin-left: auto;
68+
border-radius: 7px;
69+
display: block;
70+
color: #fff;
71+
width: 90%;
72+
font-size: 30px;
73+
line-height: 50px;
74+
}
75+
76+
.channel-settings-group > button.active {
77+
border-color: rgb(17, 0, 255);
78+
}

src/assets/css/Channels.css

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
.channels-mix-body {
99
max-width: 100px;
1010
min-height: 800px;
11-
background-color: #414040;
1211
color: white;
1312
background-color: #2f2f2f;
1413
margin: 4px;
@@ -45,17 +44,32 @@
4544
}
4645

4746

47+
.channels-show-storage-button {
48+
outline : none;
49+
-moz-outline : none;
50+
color: white;
51+
height: 60px;
52+
width: 90px;
53+
border-color: rgb(71, 71, 71);
54+
background-color: rgb(53, 53, 53);
55+
margin-left: 5px;
56+
margin-right: 4px;
57+
margin-top: 10px;
58+
border-radius: 7px;
59+
}
60+
61+
4862
.channels-mix-button {
4963
outline : none;
5064
-moz-outline : none;
5165
color: white;
5266
height: 90px;
5367
width: 90px;
54-
border-color: rgb(18, 70, 11);
55-
background-color: rgb(6, 70, 6);
68+
border-color: rgb(139, 139, 139);
69+
background-color: rgb(65, 65, 65);
5670
margin-left: 4px;
5771
margin-right: 4px;
58-
margin-top: 106px;
72+
margin-top: 50px;
5973
border-radius: 7px;
6074
}
6175

@@ -67,7 +81,7 @@
6781
height: 90px;
6882
width: 90px;
6983
border-color: rgb(99, 99, 99);
70-
background-color: rgb(66, 27, 27);
84+
background-color: rgb(19, 19, 19);
7185
margin-left: 4px;
7286
margin-right: 4px;
7387
margin-top: 50px;

0 commit comments

Comments
 (0)