live2d -> talking head

This commit is contained in:
joe
2023-08-11 06:55:05 +09:00
18 changed files with 536 additions and 101 deletions

View File

@ -515,7 +515,7 @@ async function moduleWorker() {
//set checkbox to global var
$('#image_type_toggle').prop('checked', extension_settings.expressions.talkinghead);
if(extension_settings.expressions.talkinghead == true){
if (extension_settings.expressions.talkinghead) {
settalkingheadState(extension_settings.expressions.talkinghead);
}
}
@ -641,11 +641,11 @@ async function talkingheadcheck() {
let talkingheadObj = spriteCache[spriteFolderName].find(obj => obj.label === 'talkinghead');
let talkingheadPath_f = talkingheadObj ? talkingheadObj.path : null;
if(talkingheadPath_f != null){
if (talkingheadPath_f != null) {
//console.log("talkingheadPath_f " + talkingheadPath_f);
return true;
} else {
//console.log("talkingheadPath_f is null");
} else {
//console.log("talkingheadPath_f is null");
unloadLiveChar();
return false;
}
@ -654,7 +654,7 @@ async function talkingheadcheck() {
}
}
function settalkingheadState(switch_var){
function settalkingheadState(switch_var) {
extension_settings.expressions.talkinghead = switch_var; // Store setting
saveSettingsDebounced();
@ -662,22 +662,18 @@ function settalkingheadState(switch_var){
if (result) {
//console.log("talkinghead exists!");
if (extension_settings.expressions.talkinghead) {
loadLiveChar();
} else {
unloadLiveChar();
}
handleImageChange(switch_var); // Change image as needed
if (extension_settings.expressions.talkinghead) {
loadLiveChar();
} else {
unloadLiveChar();
}
handleImageChange(switch_var); // Change image as needed
} else {
//console.log("talkinghead does not exist.");
}
});
}
function getSpriteFolderName(message) {
@ -867,8 +863,7 @@ async function getExpressionsList() {
}
async function setExpression(character, expression, force) {
if (extension_settings.expressions.talkinghead == false) {
if (!extension_settings.expressions.talkinghead) {
console.debug('entered setExpressions');
await validateImages(character);
const img = $('img.expression');
@ -961,10 +956,11 @@ async function setExpression(character, expression, force) {
setDefault();
}
});
} else {
if (extension_settings.expressions.showDefault) {
setDefault();
}
}
}
else {
if (extension_settings.expressions.showDefault) {
setDefault();
}
}
@ -982,14 +978,14 @@ async function setExpression(character, expression, force) {
talkingheadcheck().then(result => {
if (result) {
// Find the <img> element with id="expression-image" and class="expression"
const imgElement = document.querySelector('img#expression-image.expression');
//console.log("searching");
if (imgElement) {
//console.log("setting value");
imgElement.src = getApiUrl() + '/api/talkinghead/result_feed';
}
// Find the <img> element with id="expression-image" and class="expression"
const imgElement = document.querySelector('img#expression-image.expression');
//console.log("searching");
if (imgElement) {
//console.log("setting value");
imgElement.src = getApiUrl() + '/api/talkinghead/result_feed';
}
} else {
//console.log("The fetch failed!");
}
@ -1254,14 +1250,15 @@ function setExpressionOverrideHtml(forceClear = false) {
</div>
<div class="inline-drawer-content">
<!-- Toggle button for aituber/static images -->
<!-- Toggle button for aituber/static images -->
<div class="toggle_button">
<label class="switch">
<label class="switch">
<input id="image_type_toggle" type="checkbox">
<span class="slider round"></span>
<label for="image_type_toggle">Image Type - talkinghead (extras)</label>
</div>
<div class="offline_mode">
<label for="image_type_toggle">Image Type - talkinghead (extras)</label>
</label>
</div>
<div class="offline_mode">
<small>You are in offline mode. Click on the image below to set the expression.</small>
</div>
<div class="flex-container flexnowrap">