mirror of
https://github.com/RavenX8/companion-module-voicemod.git
synced 2026-04-03 12:58:52 -04:00
- Added 5 new feedbacks
- Added callbacks for the new feedbacks Known Issues: - Feedbacks do not init with the current state of the buttons on startup.
This commit is contained in:
@@ -35,6 +35,7 @@ module.exports = function (self) {
|
||||
options: [],
|
||||
callback: async (event) => {
|
||||
self.vm.internal.toggleVoiceChanger()
|
||||
self.checkFeedbacks('VoiceChangerState')
|
||||
},
|
||||
},
|
||||
play_meme: {
|
||||
|
||||
78
feedbacks.js
78
feedbacks.js
@@ -2,31 +2,69 @@ const { combineRgb } = require('@companion-module/base')
|
||||
|
||||
module.exports = async function (self) {
|
||||
self.setFeedbackDefinitions({
|
||||
ChannelState: {
|
||||
name: 'Example Feedback',
|
||||
VoiceChangerState: {
|
||||
name: 'Voice Changer State',
|
||||
type: 'boolean',
|
||||
label: 'Channel State',
|
||||
label: 'Voice Changer State',
|
||||
defaultStyle: {
|
||||
bgcolor: combineRgb(255, 0, 0),
|
||||
color: combineRgb(0, 0, 0),
|
||||
},
|
||||
options: [
|
||||
{
|
||||
id: 'num',
|
||||
type: 'number',
|
||||
label: 'Test',
|
||||
default: 5,
|
||||
min: 0,
|
||||
max: 10,
|
||||
},
|
||||
],
|
||||
callback: (feedback) => {
|
||||
console.log('Hello world!', feedback.options.num)
|
||||
if (feedback.options.num > 5) {
|
||||
return true
|
||||
} else {
|
||||
return false
|
||||
}
|
||||
options: [],
|
||||
callback: (feedback, context) => {
|
||||
return self.voiceChangerEnabled
|
||||
},
|
||||
},
|
||||
BackgroundEffectState: {
|
||||
name: 'Background Effect State',
|
||||
type: 'boolean',
|
||||
label: 'Background Effect Status',
|
||||
defaultStyle: {
|
||||
bgcolor: combineRgb(255, 0, 0),
|
||||
color: combineRgb(0, 0, 0),
|
||||
},
|
||||
options: [],
|
||||
callback: (feedback, context) => {
|
||||
return self.backgroundEffectsEnabled
|
||||
},
|
||||
},
|
||||
HearMyVoiceState: {
|
||||
name: 'Hear My Voice State',
|
||||
type: 'boolean',
|
||||
label: 'Hear My Voice State',
|
||||
defaultStyle: {
|
||||
bgcolor: combineRgb(255, 0, 0),
|
||||
color: combineRgb(0, 0, 0),
|
||||
},
|
||||
options: [],
|
||||
callback: (feedback, context) => {
|
||||
return self.hearMyVoiceEnabled
|
||||
},
|
||||
},
|
||||
MicMutedState: {
|
||||
name: 'Microphone Mute State',
|
||||
type: 'boolean',
|
||||
label: 'Microphone Mute State',
|
||||
defaultStyle: {
|
||||
bgcolor: combineRgb(255, 0, 0),
|
||||
color: combineRgb(0, 0, 0),
|
||||
},
|
||||
options: [],
|
||||
callback: (feedback, context) => {
|
||||
return self.muteEnabled
|
||||
},
|
||||
},
|
||||
MemesMutedForMeState: {
|
||||
name: 'Soundboard - Mute For Me State',
|
||||
type: 'boolean',
|
||||
label: 'Soundboard Mute For Me State',
|
||||
defaultStyle: {
|
||||
bgcolor: combineRgb(255, 0, 0),
|
||||
color: combineRgb(0, 0, 0),
|
||||
},
|
||||
options: [],
|
||||
callback: (feedback, context) => {
|
||||
return self.muteMemesEnabled
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
56
main.js
56
main.js
@@ -11,6 +11,11 @@ class ModuleInstance extends InstanceBase {
|
||||
|
||||
this.config = {}
|
||||
this.memes = []
|
||||
this.backgroundEffectsEnabled = false;
|
||||
this.voiceChangerEnabled = false;
|
||||
this.hearMyVoiceEnabled = false;
|
||||
this.muteEnabled = false;
|
||||
this.muteMemesEnabled = false;
|
||||
}
|
||||
|
||||
async init(config) {
|
||||
@@ -22,6 +27,51 @@ class ModuleInstance extends InstanceBase {
|
||||
try {
|
||||
this.vm.init().then(
|
||||
async () => {
|
||||
this.vm.internal.on('backgroundEffectsEnabledEvent', ( background ) => {
|
||||
this.backgroundEffectsEnabled = true;
|
||||
this.checkFeedbacks('BackgroundEffectState');
|
||||
});
|
||||
this.vm.internal.on('backgroundEffectsDisabledEvent', ( background ) => {
|
||||
this.backgroundEffectsEnabled = false;
|
||||
this.checkFeedbacks('BackgroundEffectState');
|
||||
});
|
||||
this.vm.internal.on('voiceChangerEnabledEvent', ( data ) => {
|
||||
this.voiceChangerEnabled = true;
|
||||
this.checkFeedbacks('VoiceChangerState');
|
||||
});
|
||||
this.vm.internal.on('voiceChangerDisabledEvent', ( data ) => {
|
||||
this.voiceChangerEnabled = false;
|
||||
this.checkFeedbacks('VoiceChangerState');
|
||||
});
|
||||
this.vm.internal.on('hearMySelfEnabledEvent', ( data ) => {
|
||||
this.hearMyVoiceEnabled = true;
|
||||
this.checkFeedbacks('HearMyVoiceState');
|
||||
});
|
||||
this.vm.internal.on('hearMySelfDisabledEvent', ( data ) => {
|
||||
this.hearMyVoiceEnabled = false;
|
||||
this.checkFeedbacks('HearMyVoiceState');
|
||||
});
|
||||
this.vm.internal.on('muteMicrophoneEnabledEvent', ( data ) => {
|
||||
this.muteEnabled = true;
|
||||
this.checkFeedbacks('MicMutedState');
|
||||
});
|
||||
this.vm.internal.on('muteMicrophoneDisabledEvent', ( data ) => {
|
||||
this.muteEnabled = false;
|
||||
this.checkFeedbacks('MicMutedState');
|
||||
});
|
||||
this.vm.internal.on('muteMemeForMeEnabledEvent', ( data ) => {
|
||||
this.muteMemesEnabled = true;
|
||||
this.checkFeedbacks('MemesMutedForMeState');
|
||||
});
|
||||
this.vm.internal.on('muteMemeForMeDisabledEvent', ( data ) => {
|
||||
this.muteMemesEnabled = false;
|
||||
this.checkFeedbacks('MemesMutedForMeState');
|
||||
});
|
||||
this.vm.internal.getVoiceChangerStatus()
|
||||
this.vm.internal.getBackgroundEffectStatus()
|
||||
this.vm.internal.getMuteMicStatus()
|
||||
this.vm.internal.getMuteMemeForMeStatus()
|
||||
|
||||
this.updateStatus(InstanceStatus.Ok)
|
||||
this.updateActionsFeedbacksVariables()
|
||||
|
||||
@@ -69,12 +119,12 @@ class ModuleInstance extends InstanceBase {
|
||||
|
||||
updateActionsFeedbacksVariables() {
|
||||
this.updateActions() // export actions
|
||||
// this.updateFeedbacks() // export feedbacks
|
||||
this.updateFeedbacks() // export feedbacks
|
||||
this.updateVariableDefinitions() // export variable definitions
|
||||
|
||||
this.subscribeActions()
|
||||
// this.subscribeFeedbacks()
|
||||
// this.checkFeedbacks()
|
||||
this.subscribeFeedbacks()
|
||||
this.checkFeedbacks()
|
||||
}
|
||||
|
||||
updateActions() {
|
||||
|
||||
Reference in New Issue
Block a user