diff --git a/actions.js b/actions.js index a4ee250..1c6d766 100644 --- a/actions.js +++ b/actions.js @@ -7,13 +7,13 @@ module.exports = function (self) { id: 'voiceId', type: 'dropdown', label: 'Voice', - default: 0, + default: self.vm.voices[0].id, choices: self.vm.voices.map((item) => ({ id: item.id, label: item.name })), }, ], callback: async (event) => { const voiceId = event.options.voiceId - self.vm.voices[voiceId].load() + self.vm.internal.setVoice(voiceId) }, }, set_beep_sound: { @@ -40,25 +40,18 @@ module.exports = function (self) { play_meme: { name: 'Play Meme', options: [ - { - id: 'soundboardId', - type: 'dropdown', - label: 'Soundboard', - default: 0, - choices: self.vm.soundboards.map((item) => ({ id: item.id, label: item.name })), - }, { id: 'memeId', type: 'dropdown', label: 'Meme', default: 0, + choices: self.vm.soundboards.flat().map((item) => ({ id: item.id, label: item.name })), }, ], callback: async (event) => { - console.log('in callback!') - const soundboardId = event.options.soundboardId + // console.log('in callback!') const memeId = event.options.memeId - self.vm.soundboards[soundboardId][memeId].play() + self.vm.internal.playMeme(memeId) }, }, stop_all_sounds: { diff --git a/main.js b/main.js index 674f114..e32724f 100644 --- a/main.js +++ b/main.js @@ -18,7 +18,7 @@ class ModuleInstance extends InstanceBase { this.log('debug', 'init called') this.updateStatus(InstanceStatus.Connecting) - this.vm = new VoiceMod() + this.vm = new VoiceMod(this.config.host, this.config.apiKey === '' ? 'anyClient' : this.config.apiKey) try { this.vm.init().then( async () => { @@ -49,15 +49,31 @@ class ModuleInstance extends InstanceBase { // Return config fields for web config getConfigFields() { - return [] + return [ + { + id: 'host', + type: 'textinput', + label: 'Host address', + tooltip: 'Enter the IP/Hostname for the voicemod instance', + default: '127.0.0.1', + }, + { + id: 'apiKey', + type: 'textinput', + label: 'API Key', + tooltip: 'Enter your developer API Key for voicemod (not required for now)', + default: '', + }, + ] } updateActionsFeedbacksVariables() { - // this.organizeChoices() - this.updateActions() // export actions // this.updateFeedbacks() // export feedbacks - // this.updateVariableDefinitions() // export variable definitions + this.updateVariableDefinitions() // export variable definitions + + this.subscribeActions() + // this.subscribeFeedbacks() // this.checkFeedbacks() } diff --git a/package.json b/package.json index b25619a..a8220e1 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@companion-module/base": "~1.5.1", - "voicemod": "^0.1.4", + "voicemod": "^0.1.5", "ws": "^8.14.2" }, "devDependencies": {