mirror of
https://github.com/w-okada/voice-changer.git
synced 2025-01-23 13:35:12 +03:00
update launcher
This commit is contained in:
parent
7d96ab4264
commit
c2757716ba
11
client/demo/dist/index.html
vendored
11
client/demo/dist/index.html
vendored
@ -1 +1,10 @@
|
||||
<!doctype html><html style="width:100%;height:100%;overflow:hidden"><head><meta charset="utf-8"/><title>Voice Changer Client Demo</title><script defer="defer" src="index.js"></script></head><body style="width:100%;height:100%;margin:0"><div id="app" style="width:100%;height:100%"></div></body></html>
|
||||
<!DOCTYPE html>
|
||||
<html style="width: 100%; height: 100%; overflow: hidden">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<title>Voice Changer Client Demo</title>
|
||||
<script defer src="index.js"></script></head>
|
||||
<body style="width: 100%; height: 100%; margin: 0px">
|
||||
<div id="app" style="width: 100%; height: 100%"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
1596
client/demo/dist/index.js
vendored
1596
client/demo/dist/index.js
vendored
File diff suppressed because one or more lines are too long
31
client/demo/dist/index.js.LICENSE.txt
vendored
31
client/demo/dist/index.js.LICENSE.txt
vendored
@ -1,31 +0,0 @@
|
||||
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
|
||||
|
||||
/**
|
||||
* @license React
|
||||
* react-dom.production.min.js
|
||||
*
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @license React
|
||||
* react.production.min.js
|
||||
*
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @license React
|
||||
* scheduler.production.min.js
|
||||
*
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
@ -1,5 +1,5 @@
|
||||
import { useIndexedDB } from "@dannadori/voice-changer-client-js"
|
||||
import React from "react"
|
||||
import { ClientType, useIndexedDB } from "@dannadori/voice-changer-client-js"
|
||||
import React, { useMemo } from "react"
|
||||
import { Title } from "./001-1_Title"
|
||||
import { useAppRoot } from "./001_provider/001_AppRootProvider"
|
||||
import { INDEXEDDB_KEY_DEFAULT_MODEL_TYPE } from "./const"
|
||||
@ -7,35 +7,50 @@ import { INDEXEDDB_KEY_DEFAULT_MODEL_TYPE } from "./const"
|
||||
export const ClientSelector = () => {
|
||||
const { setClientType } = useAppRoot()
|
||||
const { setItem } = useIndexedDB({ clientType: null })
|
||||
const onClientTypeClicked = (clientType: ClientType) => {
|
||||
setClientType(clientType);
|
||||
setItem(INDEXEDDB_KEY_DEFAULT_MODEL_TYPE, clientType)
|
||||
}
|
||||
|
||||
|
||||
|
||||
const selectableClientTypes = useMemo(() => {
|
||||
const ua = window.navigator.userAgent.toLowerCase();
|
||||
if (ua.indexOf("mac os x") !== -1) {
|
||||
return ["MMVCv13", "MMVCv15", "so-vits-svc-40", "RVC"] as ClientType[]
|
||||
} else {
|
||||
return ["MMVCv13", "MMVCv15", "so-vits-svc-40", "so-vits-svc-40v2", "RVC", "DDSP-SVC"] as ClientType[]
|
||||
}
|
||||
}, [])
|
||||
|
||||
const selectableClientTypesRowItems = useMemo(() => {
|
||||
return selectableClientTypes.flatMap((_, i, a) => { return i % 2 ? [] : [a.slice(i, i + 2)] })
|
||||
}, [])
|
||||
|
||||
const selectableClientTypesRow = useMemo(() => {
|
||||
return selectableClientTypesRowItems.map((x, index) => {
|
||||
return (
|
||||
<div key={index} className="body-row split-1-8-1 left-padding-1 ">
|
||||
<div></div>
|
||||
<div className="body-button-container">
|
||||
|
||||
{
|
||||
x.map(y => {
|
||||
return <div key={y} className="body-button w40 bold" onClick={() => { onClientTypeClicked(y) }}>{y}</div>
|
||||
})
|
||||
}
|
||||
</div>
|
||||
<div></div>
|
||||
</div>
|
||||
)
|
||||
})
|
||||
}, [])
|
||||
|
||||
return (
|
||||
|
||||
<div className="main-body">
|
||||
<Title lineNum={1} mainTitle={"Realtime Voice Changer Client"} subTitle={"launcher"} ></Title>
|
||||
<div className="body-row split-1-8-1 left-padding-1 ">
|
||||
<div></div>
|
||||
<div className="body-button-container">
|
||||
<div className="body-button w40 bold" onClick={() => { setClientType("MMVCv13"); setItem(INDEXEDDB_KEY_DEFAULT_MODEL_TYPE, "MMVCv13") }}>MMVCv13</div>
|
||||
<div className="body-button w40 bold" onClick={() => { setClientType("MMVCv15"); setItem(INDEXEDDB_KEY_DEFAULT_MODEL_TYPE, "MMVCv15") }}>MMVCv15</div>
|
||||
</div>
|
||||
<div></div>
|
||||
</div>
|
||||
|
||||
<div className="body-row split-1-8-1 left-padding-1 ">
|
||||
<div></div>
|
||||
<div className="body-button-container">
|
||||
<div className="body-button w40 bold" onClick={() => { setClientType("so-vits-svc-40"); setItem(INDEXEDDB_KEY_DEFAULT_MODEL_TYPE, "so-vits-svc-40") }}>so-vits-svc-40</div>
|
||||
<div className="body-button w40 bold" onClick={() => { setClientType("so-vits-svc-40v2"); setItem(INDEXEDDB_KEY_DEFAULT_MODEL_TYPE, "so-vits-svc-40v2") }}>so-vits-svc-40v2</div>
|
||||
</div>
|
||||
<div></div>
|
||||
</div>
|
||||
|
||||
<div className="body-row split-1-8-1 left-padding-1 ">
|
||||
<div></div>
|
||||
<div className="body-button-container">
|
||||
<div className="body-button w40 bold" onClick={() => { setClientType("RVC"); setItem(INDEXEDDB_KEY_DEFAULT_MODEL_TYPE, "RVC") }}>RVC</div>
|
||||
<div className="body-button w40 bold" onClick={() => { setClientType("DDSP-SVC"); setItem(INDEXEDDB_KEY_DEFAULT_MODEL_TYPE, "DDSP-SVC") }}>DDSP-SVC(exp.)</div>
|
||||
</div>
|
||||
<div></div>
|
||||
</div>
|
||||
{selectableClientTypesRow}
|
||||
</div>
|
||||
)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user