Browse Source

Added delete

master
Rino Grupp 4 years ago
parent
commit
11b59f3bec
4 changed files with 78 additions and 55 deletions
  1. +27
    -9
      database.js
  2. +5
    -16
      index.js
  3. +11
    -30
      package-lock.json
  4. +35
    -0
      sound.js

+ 27
- 9
database.js View File

@ -38,30 +38,39 @@ class Database {
}
getPresets() {
return db.execute("SELECT * from `preset`")
return db.execute("SELECT PK_preset as id, title, description from `preset`")
.then(res => {
return res[0]
})
}
setPreset(preset) {
console.log("INSERT INTO `led`.`preset` VALUES (NUll,"+preset.name+","+preset.description+");")
return db.execute("INSERT INTO `led`.`preset` VALUES (NUll,'"+preset.name+"','"+preset.description+"');")
.then(res=> {
console.log(res)
let temp = ""
preset.settings.forEach(channel => {
console.log(channel)
preset.settings.forEach( (channel, index) => {
if(index!=0){
temp+=","
}
temp += "(NULL,"+channel.id+","+res[0].insertId+","+channel.value+",'"+channel.key+"')"
})
console.log("INSERT INTO `led`.`mapping-preset` VALUES "+temp+";")
return db.execute("INSERT INTO `led`.`mapping-preset` VALUES "+temp+";")
.then(res=>{console.log("done")})
.catch(err=>{console.log(err)})
.then(res=>{return 200})
.catch(err=>{
console.log(err)
console.log("Inserting channels for preset failed, cleaning up preset...")
db.execute("DELETE FROM `led`.`preset` WHERE PK_preset="+res[0].insertId)
.then(res => {console.log("Cleaning up was successfull!")})
.catch(err => {
console.log("Cleaning up failed: ")
console.log(err)
})
return 500
})
})
}
getPresest(preset) {
getPreset(preset) {
return db.execute("SELECT board.address, `mapping-light`.channel, `mapping-preset`.value \
FROM `led`.`mapping-light`, `led`.`mapping-preset`, `board` \
WHERE `mapping-preset`.`FK_preset` = "+ preset + " \
@ -73,6 +82,15 @@ class Database {
}
deletePreset(id) {
console.log(id)
return db.execute("DELETE FROM `led`.`preset` WHERE PK_preset = " + id)
.then(res => {
})
.catch(err => {
console.log(err)
})
//return db.execute("DELETE FROM ")
}
}

+ 5
- 16
index.js View File

@ -106,8 +106,6 @@ function initRoutes() {
}else {
console.log("demoDriver set ")
}
//console.log(req.body.data)
res.sendStatus(200)
})
@ -115,21 +113,11 @@ function initRoutes() {
console.log(req.body)
db.setPreset(req.body)
.then(result => {
if (!result) {
res.sendStatus(200)
} else {
res.send(result)
}
res.sendStatus(result)
})
.catch(error => {
console.log(error)
})
res.sendStatus(200)
})
app.post('/setAll', (req, res) => {
res.sendStatus(result)
})
})
app.post('/setByPreset', (req, res) => {
@ -137,13 +125,13 @@ function initRoutes() {
db.getPreset(req.body.id)
.then(preset => {
for (var lamp in preset.settings) {
//console.log(preset.settings[lamp])
LED.setRGB(preset.settings[lamp].channelConfig, preset.settings[lamp].channels)
}
res.sendStatus(200)
})
.catch(error => {
console.log(error)
res.sendStatus(500)
})
})
@ -152,6 +140,7 @@ function initRoutes() {
.then(() => {
res.sendStatus(200)
})
.catch(()=>{res.sendStatus(500)})
})
}

+ 11
- 30
package-lock.json View File

@ -819,13 +819,11 @@
},
"balanced-match": {
"version": "1.0.0",
"bundled": true,
"optional": true
"bundled": true
},
"brace-expansion": {
"version": "1.1.11",
"bundled": true,
"optional": true,
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@ -838,18 +836,15 @@
},
"code-point-at": {
"version": "1.1.0",
"bundled": true,
"optional": true
"bundled": true
},
"concat-map": {
"version": "0.0.1",
"bundled": true,
"optional": true
"bundled": true
},
"console-control-strings": {
"version": "1.1.0",
"bundled": true,
"optional": true
"bundled": true
},
"core-util-is": {
"version": "1.0.2",
@ -952,8 +947,7 @@
},
"inherits": {
"version": "2.0.4",
"bundled": true,
"optional": true
"bundled": true
},
"ini": {
"version": "1.3.5",
@ -963,7 +957,6 @@
"is-fullwidth-code-point": {
"version": "1.0.0",
"bundled": true,
"optional": true,
"requires": {
"number-is-nan": "^1.0.0"
}
@ -976,20 +969,17 @@
"minimatch": {
"version": "3.0.4",
"bundled": true,
"optional": true,
"requires": {
"brace-expansion": "^1.1.7"
}
},
"minimist": {
"version": "1.2.5",
"bundled": true,
"optional": true
"bundled": true
},
"minipass": {
"version": "2.9.0",
"bundled": true,
"optional": true,
"requires": {
"safe-buffer": "^5.1.2",
"yallist": "^3.0.0"
@ -1006,7 +996,6 @@
"mkdirp": {
"version": "0.5.3",
"bundled": true,
"optional": true,
"requires": {
"minimist": "^1.2.5"
}
@ -1062,8 +1051,7 @@
},
"npm-normalize-package-bin": {
"version": "1.0.1",
"bundled": true,
"optional": true
"bundled": true
},
"npm-packlist": {
"version": "1.4.8",
@ -1088,8 +1076,7 @@
},
"number-is-nan": {
"version": "1.0.1",
"bundled": true,
"optional": true
"bundled": true
},
"object-assign": {
"version": "4.1.1",
@ -1099,7 +1086,6 @@
"once": {
"version": "1.4.0",
"bundled": true,
"optional": true,
"requires": {
"wrappy": "1"
}
@ -1168,8 +1154,7 @@
},
"safe-buffer": {
"version": "5.1.2",
"bundled": true,
"optional": true
"bundled": true
},
"safer-buffer": {
"version": "2.1.2",
@ -1199,7 +1184,6 @@
"string-width": {
"version": "1.0.2",
"bundled": true,
"optional": true,
"requires": {
"code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0",
@ -1217,7 +1201,6 @@
"strip-ansi": {
"version": "3.0.1",
"bundled": true,
"optional": true,
"requires": {
"ansi-regex": "^2.0.0"
}
@ -1256,13 +1239,11 @@
},
"wrappy": {
"version": "1.0.2",
"bundled": true,
"optional": true
"bundled": true
},
"yallist": {
"version": "3.1.1",
"bundled": true,
"optional": true
"bundled": true
}
}
},

+ 35
- 0
sound.js View File

@ -0,0 +1,35 @@
const fs = require('fs')
const Speaker = require('speaker')
const createMusicStream = require('create-music-stream')
const {MusicBeatDetector, MusicBeatScheduler, MusicGraph} = require('.')
const musicSource = process.argv[2] //gets the first argument on cli
//MusicGraph generates a SVG graph that displays every detected peak
const musicGraph = new MusicGraph()
//MusicBeatScheduler syncs any detected peak with the listened audio. It's useful to control some bulbs or any other effect
const musicBeatScheduler = new MusicBeatScheduler(pos => {
console.log(`peak at ${pos}ms`) //do your effect here
})
//MusicBeatDetector analyzes the music
const musicBeatDetector = new MusicBeatDetector({
plotter: musicGraph.getPlotter(),
scheduler: musicBeatScheduler.getScheduler(),
})
//get any raw pcm_16le stream
createMusicStream(musicSource)
//pipe on analyzer
.pipe(musicBeatDetector.getAnalyzer())
.on('peak-detected', (pos, bpm) => console.log(`peak-detected at ${pos}ms, detected bpm ${bpm}`))
.on('end', () => {
fs.writeFileSync('graph.svg', musicGraph.getSVG())
console.log('end')
})
//pipe on speaker
.pipe(new Speaker())
.on('open', () => musicBeatScheduler.start())

Loading…
Cancel
Save