Added buttons to reload sound packs and libraries.
This commit is contained in:
parent
33257e367b
commit
f82785a9cb
3 changed files with 67 additions and 43 deletions
|
@ -32,8 +32,6 @@ const MamiSoundLibrary = function(soundMgr) {
|
||||||
throw 'soundInfo must contain a name field';
|
throw 'soundInfo must contain a name field';
|
||||||
if(typeof soundInfo.sources !== 'object')
|
if(typeof soundInfo.sources !== 'object')
|
||||||
throw 'soundInfo must contain a sources field';
|
throw 'soundInfo must contain a sources field';
|
||||||
if(sounds.has(soundInfo.name))
|
|
||||||
throw 'a sound with that name has already been registered';
|
|
||||||
|
|
||||||
let sources = {},
|
let sources = {},
|
||||||
sCount = 0;
|
sCount = 0;
|
||||||
|
|
|
@ -71,8 +71,6 @@ const MamiSoundPacks = function() {
|
||||||
throw 'packInfo must contain a name field';
|
throw 'packInfo must contain a name field';
|
||||||
if(typeof packInfo.events !== 'object')
|
if(typeof packInfo.events !== 'object')
|
||||||
throw 'packInfo must contain a events field';
|
throw 'packInfo must contain a events field';
|
||||||
if(packs.has(packInfo.name))
|
|
||||||
throw 'a pack with that name has already been registered';
|
|
||||||
|
|
||||||
const events = new Map;
|
const events = new Map;
|
||||||
for(const eventName in packInfo.events) {
|
for(const eventName in packInfo.events) {
|
||||||
|
|
|
@ -270,49 +270,17 @@ Umi.UI.Settings = (function() {
|
||||||
title: 'Messages to keep on clear',
|
title: 'Messages to keep on clear',
|
||||||
type: 'number',
|
type: 'number',
|
||||||
},
|
},
|
||||||
{
|
],
|
||||||
title: 'Reload emoticons',
|
},
|
||||||
type: 'button',
|
{
|
||||||
invoke: button => {
|
name: 'actions',
|
||||||
const emotes = futami.get('emotes');
|
title: 'Actions',
|
||||||
setTimeout(() => {
|
items: [
|
||||||
button.disabled = true;
|
|
||||||
|
|
||||||
futami.getJson('emotes', true)
|
|
||||||
.then(emotes => {
|
|
||||||
MamiEmotes.clear();
|
|
||||||
MamiEmotes.loadLegacy(emotes);
|
|
||||||
})
|
|
||||||
.finally(() => {
|
|
||||||
Umi.UI.Emoticons.Init();
|
|
||||||
button.disabled = false;
|
|
||||||
});
|
|
||||||
}, 200);
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Reload joke triggers',
|
|
||||||
type: 'button',
|
|
||||||
invoke: button => {
|
|
||||||
button.disabled = true;
|
|
||||||
|
|
||||||
const triggers = mami.textTriggers;
|
|
||||||
triggers.clearTriggers();
|
|
||||||
|
|
||||||
if(mami.settings.get('playJokeSounds'))
|
|
||||||
futami.getJson('texttriggers', true)
|
|
||||||
.then(trigInfos => triggers.addTriggers(trigInfos))
|
|
||||||
.finally(() => button.disabled = false);
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
title: 'Open compatibility client',
|
title: 'Open compatibility client',
|
||||||
type: 'button',
|
type: 'button',
|
||||||
invoke: () => {
|
invoke: () => {
|
||||||
const meow = $e('a', { href: window.AMI_URL, target: '_blank', style: { display: 'none' } });
|
window.open(window.AMI_URL, '_blank', 'noopener');
|
||||||
document.body.appendChild(meow);
|
|
||||||
meow.click();
|
|
||||||
$r(meow);
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -337,6 +305,66 @@ Umi.UI.Settings = (function() {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
title: 'Reload emoticons',
|
||||||
|
type: 'button',
|
||||||
|
invoke: async button => {
|
||||||
|
const textOrig = button.value;
|
||||||
|
|
||||||
|
button.disabled = true;
|
||||||
|
button.value = 'Reloading emoticons...';
|
||||||
|
try {
|
||||||
|
const emotes = await futami.getJson('emotes', true);
|
||||||
|
MamiEmotes.clear();
|
||||||
|
MamiEmotes.loadLegacy(emotes);
|
||||||
|
} finally {
|
||||||
|
Umi.UI.Emoticons.Init();
|
||||||
|
button.value = textOrig;
|
||||||
|
button.disabled = false;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Reload sound library',
|
||||||
|
type: 'button',
|
||||||
|
invoke: async button => {
|
||||||
|
const textOrig = button.value;
|
||||||
|
|
||||||
|
button.disabled = true;
|
||||||
|
button.value = 'Reloading sound library...';
|
||||||
|
try {
|
||||||
|
const sounds = await futami.getJson('sounds2');
|
||||||
|
if(Array.isArray(sounds.library))
|
||||||
|
mami.sound.library.register(sounds.library, true);
|
||||||
|
|
||||||
|
if(Array.isArray(sounds.packs)) {
|
||||||
|
mami.sound.packs.register(sounds.packs, true);
|
||||||
|
mami.settings.touch('soundPack', true);
|
||||||
|
}
|
||||||
|
} finally {
|
||||||
|
button.value = textOrig;
|
||||||
|
button.disabled = false;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Reload joke triggers',
|
||||||
|
type: 'button',
|
||||||
|
invoke: async button => {
|
||||||
|
const textOrig = button.value;
|
||||||
|
|
||||||
|
button.disabled = true;
|
||||||
|
button.value = 'Reloading joke triggers...';
|
||||||
|
try {
|
||||||
|
const triggers = await futami.getJson('texttriggers', true);
|
||||||
|
mami.textTriggers.clearTriggers();
|
||||||
|
mami.textTriggers.addTriggers(triggers)
|
||||||
|
} finally {
|
||||||
|
button.value = textOrig;
|
||||||
|
button.disabled = false;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue