Skip to content
This repository has been archived by the owner on Jul 5, 2022. It is now read-only.

Commit

Permalink
refactor boolean translation (true/1 false/0)
Browse files Browse the repository at this point in the history
  • Loading branch information
dewiweb committed Jul 2, 2020
1 parent 5ba0f00 commit 369f9dd
Show file tree
Hide file tree
Showing 3 changed files with 96 additions and 19 deletions.
76 changes: 63 additions & 13 deletions main.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ const { app, BrowserWindow } = require('electron');
const mainFunctions = require('./mainFunctions');
const { dialog } = require('electron')
const fs = require('fs');
const { openFile } = require('./mainFunctions');
const { openFile, relaunch } = require('./mainFunctions');
var recDir = app.getPath('documents')+'/MCxOSC';
if (!fs.existsSync(recDir)) {
fs.mkdirSync(recDir)
Expand All @@ -36,6 +36,7 @@ const openOptions = {
}



function createWindow() {

let win = new BrowserWindow({
Expand Down Expand Up @@ -119,21 +120,34 @@ function createWindow() {
//Setting Remote Ember+ provider IP and Port
ipcMain.on('sendEmberServerIP', function (event, arg) {
eServerIP = arg;
console.log('IP du server Ember+ distant:', arg);

ipcMain.on('sendEmberServerPort', function (event, arg) {
eserverPort = arg;
console.log('Port du server Ember+ distant:', arg);

//Initiating connection to Remote Ember+ provider
c = new EmberClient(eServerIP, eserverPort);
console.log("Connection au server Ember+:", eServerIP, ":", eserverPort, "initiated");

async function main() {
await c.connect()
console.log("connection ok");
// c.on('error', (e) => {
// console.log("Connection to Ember+ server error/recheck IP and Port!");
//
// win.webContents.send('eServConnError');
//
// app.relaunch()
// app.exit(0)
// })
c.on('connected', (e) => {
console.log("Ember+ Server ",eServerIP, ":", eserverPort, " connection ok");
win.webContents.send('eServerOK');
})
// c.on('disconnected', (e) => {
// console.log("Disconnected from Ember+ Server");
// })
//

win.webContents.send('eServerOK');
async function main() {

await c.connect()
//console.log("connection ok");
await (await c.getDirectory(c.tree)).response

//Setting Remote OSC Server IP and Port
Expand Down Expand Up @@ -161,7 +175,7 @@ function createWindow() {
var stringEpath = JSON.stringify(ePath);
//console.log("ePath", ePath);

console.log("stringEpath", stringEpath);
console.log("suscribe to ", ePath);

//Sending received values from Ember+ to OSC
if (eVarType == "Integer" && eVarCurve == "lin") {
Expand Down Expand Up @@ -189,7 +203,7 @@ function createWindow() {
}, oServerIP, oServerPort);
console.log('EMBER+ -log-> OSC : ', value)
}
else if (eVarType == "Boolean" | evartype == "String") {
else if (eVarType == "String") {

oscCli.send({
address: oAddr,
Expand All @@ -200,6 +214,32 @@ function createWindow() {
}
]
}, oServerIP, oServerPort);
console.log('EMBER+ -string-> OSC : ', emberValue)
}
else if (eVarType == "Boolean" && emberValue == true) {

oscCli.send({
address: oAddr,
args: [
{
type: "f",
value: 1,
}
]
}, oServerIP, oServerPort);
console.log('EMBER+ -bool-> OSC : ', emberValue)
}
else if (eVarType == "Boolean" && emberValue == false) {

oscCli.send({
address: oAddr,
args: [
{
type: "f",
value: 0,
}
]
}, oServerIP, oServerPort);
console.log('EMBER+ -bool-> OSC : ', emberValue)
}
})
Expand All @@ -223,9 +263,15 @@ function createWindow() {
const value = mainFunctions.mapToScale(Number(rOrArgs), [Number(eMin), Number(eMax)], [Number(oMin), Number(oMax)], 2, true, -1)
c.setValue((rereq), value.toFixed(0));
console.log('OSC -log-> EMBER+ : ', value.toFixed(0));
} else {
c.setValue((rereq), rOrArgs);
} else if(eVarType == "Boolean" && rOrArgs == "1"){
c.setValue((rereq), true);
console.log(("OSC -bool-> EMBER+", rOrArgs));
} else if(eVarType == "Boolean" && rOrArgs == "0"){
c.setValue((rereq), false);
console.log(("OSC -bool-> EMBER+", rOrArgs));
} else{
c.setValue((rereq), rOrArgs);
console.log(("OSC -string-> EMBER+", rOrArgs));
}
})
ipcMain.on("deleteConnection", async function (event, ePath, oAddr, myRow, eVarType, sFactor) {
Expand All @@ -243,6 +289,7 @@ function createWindow() {

win.autoHideMenuBar = "true"
win.menuBarVisible = "false"

}

app.whenReady().then(createWindow)
Expand All @@ -257,4 +304,7 @@ app.on('activate', () => {
if (win === null) {
createWindow()
}
})
})



14 changes: 12 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
{
"name": "mcxosc",
"version": "0.0.8-alpha",
"version": "0.0.9-alpha",
"description": "An Electron App as Bridge between Ember+ and OSC dedicated to MCx Lawo consoles/ based on https://github.com/nrkno/tv-automation-emberplus-connection",
"main": "main.js",
"scripts": {
"start": "electron .",
"test": "echo \"Error: no test specified\" && exit 1",
"postinstall": "install-app-deps",
"pack": "electron-builder --dir",
"dist": "electron-builder "
"dist": "electron-builder -w --x64"
},
"author": "dewiweb",
"license": "MIT",
Expand All @@ -26,6 +26,8 @@
"winston-color": "^1.0.0"
},
"build": {
"artifactName": "${productName}-${version}-${os}_${arch}.${ext}",
"buildDependenciesFromSource": true,
"appId": "MCxOSC",
"linux": {
"category": "AudioVideo",
Expand All @@ -34,6 +36,14 @@
"target": "appimage",
"arch": "x64"
}
},
"win": {
"artifactName": "${productName}-${version}-${os}_x64.${ext}",
"icon": "./assets/icons",
"target": {
"target": "portable",
"arch": "x64"
}
}
}
}
25 changes: 21 additions & 4 deletions renderer.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@ ipcRenderer.on('udpportOK', function (event) {
})

ipcRenderer.on('eServerOK', function (event) {
const add1 = document.getElementById('add1');
add1.removeChild(add1.firstChild);
add1.textContent = "OK! Address : " + EmberServerIP + " / Port : " + EmberServerPort;
var dot1 = document.getElementById("dot1");
dot1.style.color = "green";
})
Expand Down Expand Up @@ -150,6 +153,14 @@ ipcRenderer.on('sendFileContent', function (event, content) {
}
});
})

ipcRenderer.on('eServConnError', function(event){
var add1Error = document.getElementById("add1");
var dot1Error = document.getElementById("dot1");
add1Error.innerHTML = "Server not responding! Verify IP:Port";
dot1Error.style.color = "red";
})

//-----------------------------------------//

function addGenBtns() {
Expand All @@ -170,7 +181,7 @@ function makeVisible(op) {

function displayForm1(event) {
const form1 = document.getElementById('form1');
const add1 = document.getElementById('add1');

var ip1 = document.getElementById("ip1").value;
var ip2 = document.getElementById("ip2").value;
var ip3 = document.getElementById("ip3").value;
Expand All @@ -179,8 +190,7 @@ function displayForm1(event) {
var data = ip1 + "." + ip2 + "." + ip3 + "." + ip4;
EmberServerIP = data;
EmberServerPort = Number(port);
add1.removeChild(add1.firstChild);
add1.textContent = "OK! Address : " + data + " / Port : " + port;

ipcRenderer.send('sendEmberServerIP', data);
ipcRenderer.send('sendEmberServerPort', Number(port));
event.preventDefault();
Expand Down Expand Up @@ -289,9 +299,14 @@ function submitEmberPath(event) {
cell6.appendChild(btnDel);
cell7.innerHTML = eVarType;
cell8.innerHTML = eVarCurve;
if (eVarFactor !== ""){
cell9.innerHTML = eVarMin + "/" + (Number(eVarMin) / Number(eVarFactor)).toFixed(0);
cell10.innerHTML = "";
cell11.innerHTML = eVarMax + "/" + (Number(eVarMax) / Number(eVarFactor)).toFixed(0);
}else {
cell9.innerHTML = eVarMin + "/" + 0;
cell11.innerHTML = eVarMax + "/" + 1;
}
cell10.innerHTML = "";
cell3.style.fontSize = 'x-small';
cell7.style.fontSize = 'x-small';
cell8.style.fontSize = 'x-small';
Expand Down Expand Up @@ -785,6 +800,8 @@ function tableToJson(table) {
//console.log("lejson de la table", data);
tableData = JSON.stringify(data, null, 2)
}
/////////////////////////////




0 comments on commit 369f9dd

Please sign in to comment.