diff --git a/client/demo/dist/index.js b/client/demo/dist/index.js index 339960ae..8c5fdba4 100644 --- a/client/demo/dist/index.js +++ b/client/demo/dist/index.js @@ -367,7 +367,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ModelSwitchRow\": () => (/* binding */ ModelSwitchRow)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/esm/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ \"./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/regenerator */ \"./node_modules/@babel/runtime/regenerator/index.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _001_provider_001_AppStateProvider__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../001_provider/001_AppStateProvider */ \"./src/001_provider/001_AppStateProvider.tsx\");\n\n\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\n\nvar ModelSwitchRow = function ModelSwitchRow(_props) {\n var appState = (0,_001_provider_001_AppStateProvider__WEBPACK_IMPORTED_MODULE_4__.useAppState)();\n var modelSwitchRow = (0,react__WEBPACK_IMPORTED_MODULE_3__.useMemo)(function () {\n var slot = appState.serverSetting.serverSetting.modelSlotIndex;\n var onSwitchModelClicked = /*#__PURE__*/function () {\n var _ref = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__[\"default\"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default().mark(function _callee(slot) {\n var dummyModelSlotIndex;\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n // Quick hack for same slot is selected. 下3桁が実際のSlotID\n dummyModelSlotIndex = Math.floor(Date.now() / 1000) * 1000 + slot;\n _context.next = 3;\n return appState.serverSetting.updateServerSettings(_objectSpread(_objectSpread({}, appState.serverSetting.serverSetting), {}, {\n modelSlotIndex: dummyModelSlotIndex\n }));\n case 3:\n setTimeout(function () {\n // quick hack\n appState.getInfo();\n }, 1000 * 2);\n case 4:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return function onSwitchModelClicked(_x) {\n return _ref.apply(this, arguments);\n };\n }();\n var options = appState.serverSetting.serverSetting.modelSlots.map(function (x, index) {\n var filename = \"\";\n if (x.modelFile && x.modelFile.length > 0) {\n filename = x.modelFile.replace(/^.*[\\\\\\/]/, '');\n } else {\n return null;\n }\n var f0str = x.f0 == true ? \"f0\" : \"nof0\";\n var srstr = Math.floor(x.samplingRate / 1000) + \"K\";\n var embedstr = x.embChannels;\n var typestr = x.modelType == 0 ? \"org\" : \"webui\";\n var metadata = x.deprecated ? \"[\".concat(index, \"] [deprecated version]\") : \"[\".concat(index, \"] [\").concat(f0str, \",\").concat(srstr, \",\").concat(embedstr, \",\").concat(typestr, \"]\");\n var tuning = \"t:\".concat(x.defaultTune);\n var useIndex = x.indexFile != null && x.featureFile != null ? \"i:true\" : \"i:false\";\n var defaultIndexRatio = \"ir:\".concat(x.defaultIndexRatio);\n var subMetadata = \"(\".concat(tuning, \",\").concat(useIndex, \",\").concat(defaultIndexRatio, \")\");\n var displayName = \"\".concat(metadata, \" \").concat(x.name || filename, \" \").concat(subMetadata);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"option\", {\n key: index,\n value: index\n }, displayName);\n }).filter(function (x) {\n return x != null;\n });\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement((react__WEBPACK_IMPORTED_MODULE_3___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"body-row split-3-7 left-padding-1 guided\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"body-item-title left-padding-1\"\n }, \"Switch Model\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"body-input-container\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"select\", {\n className: \"body-select\",\n value: slot,\n onChange: function onChange(e) {\n onSwitchModelClicked(Number(e.target.value));\n }\n }, options))));\n }, [appState.getInfo, appState.serverSetting.serverSetting]);\n return modelSwitchRow;\n};\n\n//# sourceURL=webpack://demo/./src/components/demo/components/204_ModelSwitchRow.tsx?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ModelSwitchRow\": () => (/* binding */ ModelSwitchRow)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/esm/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ \"./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/regenerator */ \"./node_modules/@babel/runtime/regenerator/index.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _001_provider_001_AppStateProvider__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../001_provider/001_AppStateProvider */ \"./src/001_provider/001_AppStateProvider.tsx\");\n\n\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\n\nvar ModelSwitchRow = function ModelSwitchRow(_props) {\n var appState = (0,_001_provider_001_AppStateProvider__WEBPACK_IMPORTED_MODULE_4__.useAppState)();\n var modelSwitchRow = (0,react__WEBPACK_IMPORTED_MODULE_3__.useMemo)(function () {\n var _appState$serverSetti;\n var slot = appState.serverSetting.serverSetting.modelSlotIndex;\n var onSwitchModelClicked = /*#__PURE__*/function () {\n var _ref = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__[\"default\"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default().mark(function _callee(slot) {\n var dummyModelSlotIndex;\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n // Quick hack for same slot is selected. 下3桁が実際のSlotID\n dummyModelSlotIndex = Math.floor(Date.now() / 1000) * 1000 + slot;\n _context.next = 3;\n return appState.serverSetting.updateServerSettings(_objectSpread(_objectSpread({}, appState.serverSetting.serverSetting), {}, {\n modelSlotIndex: dummyModelSlotIndex\n }));\n case 3:\n setTimeout(function () {\n // quick hack\n appState.getInfo();\n }, 1000 * 2);\n case 4:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return function onSwitchModelClicked(_x) {\n return _ref.apply(this, arguments);\n };\n }();\n var options = appState.serverSetting.serverSetting.modelSlots.map(function (x, index) {\n var filename = \"\";\n if (x.modelFile && x.modelFile.length > 0) {\n filename = x.modelFile.replace(/^.*[\\\\\\/]/, '');\n } else {\n return null;\n }\n var f0str = x.f0 == true ? \"f0\" : \"nof0\";\n var srstr = Math.floor(x.samplingRate / 1000) + \"K\";\n var embedstr = x.embChannels;\n var typestr = x.modelType == 0 ? \"org\" : \"webui\";\n var metadata = x.deprecated ? \"[\".concat(index, \"] [deprecated version]\") : \"[\".concat(index, \"] [\").concat(f0str, \",\").concat(srstr, \",\").concat(embedstr, \",\").concat(typestr, \"]\");\n var tuning = \"t:\".concat(x.defaultTune);\n var useIndex = x.indexFile != null && x.featureFile != null ? \"i:true\" : \"i:false\";\n var defaultIndexRatio = \"ir:\".concat(x.defaultIndexRatio);\n var subMetadata = \"(\".concat(tuning, \",\").concat(useIndex, \",\").concat(defaultIndexRatio, \")\");\n var displayName = \"\".concat(metadata, \" \").concat(x.name || filename, \" \").concat(subMetadata);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"option\", {\n key: index,\n value: index\n }, displayName);\n }).filter(function (x) {\n return x != null;\n });\n var selectedTermOfUseUrl = ((_appState$serverSetti = appState.serverSetting.serverSetting.modelSlots[slot]) === null || _appState$serverSetti === void 0 ? void 0 : _appState$serverSetti.termsOfUseUrl) || null;\n var selectedTermOfUseUrlLink = selectedTermOfUseUrl ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"a\", {\n href: selectedTermOfUseUrl,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n className: \"body-item-text-small\"\n }, \"[terms of use]\") : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement((react__WEBPACK_IMPORTED_MODULE_3___default().Fragment), null);\n console.log(\"selectedTermOfUseUrl\", selectedTermOfUseUrl);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement((react__WEBPACK_IMPORTED_MODULE_3___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"body-row split-3-7 left-padding-1 guided\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"body-item-title left-padding-1\"\n }, \"Switch Model\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"body-input-container\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"select\", {\n className: \"body-select\",\n value: slot,\n onChange: function onChange(e) {\n onSwitchModelClicked(Number(e.target.value));\n }\n }, options), selectedTermOfUseUrlLink)));\n }, [appState.getInfo, appState.serverSetting.serverSetting]);\n return modelSwitchRow;\n};\n\n//# sourceURL=webpack://demo/./src/components/demo/components/204_ModelSwitchRow.tsx?"); /***/ }), @@ -466,7 +466,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"SampleModelSelectRow\": () => (/* binding */ SampleModelSelectRow)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/esm/defineProperty.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _001_provider_001_AppStateProvider__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../001_provider/001_AppStateProvider */ \"./src/001_provider/001_AppStateProvider.tsx\");\n/* harmony import */ var _001_GuiStateProvider__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../001_GuiStateProvider */ \"./src/components/demo/001_GuiStateProvider.tsx\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\n\n\nvar SampleModelSelectRow = function SampleModelSelectRow(_props) {\n var appState = (0,_001_provider_001_AppStateProvider__WEBPACK_IMPORTED_MODULE_2__.useAppState)();\n var guiState = (0,_001_GuiStateProvider__WEBPACK_IMPORTED_MODULE_3__.useGuiState)();\n var sampleModelSelectRow = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(function () {\n var slot = guiState.modelSlotNum;\n var fileUploadSetting = appState.serverSetting.fileUploadSettings[slot];\n if (!fileUploadSetting) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement((react__WEBPACK_IMPORTED_MODULE_1___default().Fragment), null);\n }\n if (fileUploadSetting.isSampleMode == false) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement((react__WEBPACK_IMPORTED_MODULE_1___default().Fragment), null);\n }\n var options = appState.serverSetting.serverSetting.sampleModels.map(function (x) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"option\", {\n key: x.id,\n value: x.id\n }, x.name);\n });\n var selectedSample = appState.serverSetting.serverSetting.sampleModels.find(function (x) {\n return x.id == fileUploadSetting.sampleId;\n });\n var creditText = selectedSample ? \"credit:\".concat(selectedSample.credit) : \"\";\n var termOfUseLink = selectedSample ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"a\", {\n href: selectedSample.termOfUseUrl,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n className: \"body-item-text-small\"\n }, \"[term of use]\") : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement((react__WEBPACK_IMPORTED_MODULE_1___default().Fragment), null);\n var onModelSelected = function onModelSelected(val) {\n appState.serverSetting.setFileUploadSetting(slot, _objectSpread(_objectSpread({}, appState.serverSetting.fileUploadSettings[slot]), {}, {\n sampleId: val\n }));\n };\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"body-row split-3-3-4 left-padding-1 guided\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"body-item-title left-padding-2 \"\n }, \"Select Model\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"select\", {\n value: fileUploadSetting.sampleId || \"\",\n onChange: function onChange(e) {\n onModelSelected(e.target.value);\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"option\", {\n disabled: true,\n value: \"\"\n }, \" -- select model -- \"), options)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"body-item-text\"\n }, creditText, termOfUseLink));\n }, [appState.serverSetting.fileUploadSettings, guiState.modelSlotNum]);\n return sampleModelSelectRow;\n};\n\n//# sourceURL=webpack://demo/./src/components/demo/components/301-j_SampleModelSelectRow.tsx?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"SampleModelSelectRow\": () => (/* binding */ SampleModelSelectRow)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/esm/defineProperty.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _001_provider_001_AppStateProvider__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../001_provider/001_AppStateProvider */ \"./src/001_provider/001_AppStateProvider.tsx\");\n/* harmony import */ var _001_GuiStateProvider__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../001_GuiStateProvider */ \"./src/components/demo/001_GuiStateProvider.tsx\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\n\n\nvar SampleModelSelectRow = function SampleModelSelectRow(_props) {\n var appState = (0,_001_provider_001_AppStateProvider__WEBPACK_IMPORTED_MODULE_2__.useAppState)();\n var guiState = (0,_001_GuiStateProvider__WEBPACK_IMPORTED_MODULE_3__.useGuiState)();\n var sampleModelSelectRow = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(function () {\n var slot = guiState.modelSlotNum;\n var fileUploadSetting = appState.serverSetting.fileUploadSettings[slot];\n if (!fileUploadSetting) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement((react__WEBPACK_IMPORTED_MODULE_1___default().Fragment), null);\n }\n if (fileUploadSetting.isSampleMode == false) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement((react__WEBPACK_IMPORTED_MODULE_1___default().Fragment), null);\n }\n var options = appState.serverSetting.serverSetting.sampleModels.map(function (x) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"option\", {\n key: x.id,\n value: x.id\n }, x.name);\n });\n var selectedSample = appState.serverSetting.serverSetting.sampleModels.find(function (x) {\n return x.id == fileUploadSetting.sampleId;\n });\n var creditText = selectedSample ? \"credit:\".concat(selectedSample.credit) : \"\";\n var termOfUseLink = selectedSample ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"a\", {\n href: selectedSample.termsOfUseUrl,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n className: \"body-item-text-small\"\n }, \"[terms of use]\") : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement((react__WEBPACK_IMPORTED_MODULE_1___default().Fragment), null);\n var onModelSelected = function onModelSelected(val) {\n appState.serverSetting.setFileUploadSetting(slot, _objectSpread(_objectSpread({}, appState.serverSetting.fileUploadSettings[slot]), {}, {\n sampleId: val\n }));\n };\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"body-row split-3-3-4 left-padding-1 guided\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"body-item-title left-padding-2 \"\n }, \"Select Model\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"select\", {\n value: fileUploadSetting.sampleId || \"\",\n onChange: function onChange(e) {\n onModelSelected(e.target.value);\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"option\", {\n disabled: true,\n value: \"\"\n }, \" -- select model -- \"), options)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"body-item-text\"\n }, creditText, termOfUseLink));\n }, [appState.serverSetting.fileUploadSettings, guiState.modelSlotNum]);\n return sampleModelSelectRow;\n};\n\n//# sourceURL=webpack://demo/./src/components/demo/components/301-j_SampleModelSelectRow.tsx?"); /***/ }), diff --git a/client/demo/src/components/demo/components/204_ModelSwitchRow.tsx b/client/demo/src/components/demo/components/204_ModelSwitchRow.tsx index 72b6aad4..8af0db3d 100644 --- a/client/demo/src/components/demo/components/204_ModelSwitchRow.tsx +++ b/client/demo/src/components/demo/components/204_ModelSwitchRow.tsx @@ -46,6 +46,10 @@ export const ModelSwitchRow = (_props: ModelSwitchRowProps) => { ) }).filter(x => { return x != null }) + const selectedTermOfUseUrl = appState.serverSetting.serverSetting.modelSlots[slot]?.termsOfUseUrl || null + const selectedTermOfUseUrlLink = selectedTermOfUseUrl ? [terms of use] : <> + console.log("selectedTermOfUseUrl", selectedTermOfUseUrl) + return ( <>
@@ -56,6 +60,7 @@ export const ModelSwitchRow = (_props: ModelSwitchRowProps) => { }}> {options} + {selectedTermOfUseUrlLink}
diff --git a/client/demo/src/components/demo/components/301-j_SampleModelSelectRow.tsx b/client/demo/src/components/demo/components/301-j_SampleModelSelectRow.tsx index d2d5d9a7..6c654a24 100644 --- a/client/demo/src/components/demo/components/301-j_SampleModelSelectRow.tsx +++ b/client/demo/src/components/demo/components/301-j_SampleModelSelectRow.tsx @@ -24,7 +24,7 @@ export const SampleModelSelectRow = (_props: SampleModelSelectRowProps) => { const selectedSample = appState.serverSetting.serverSetting.sampleModels.find(x => { return x.id == fileUploadSetting.sampleId }) const creditText = selectedSample ? `credit:${selectedSample.credit}` : "" - const termOfUseLink = selectedSample ? [term of use] : <> + const termOfUseLink = selectedSample ? [terms of use] : <> const onModelSelected = (val: string) => { appState.serverSetting.setFileUploadSetting(slot, { diff --git a/client/lib/src/const.ts b/client/lib/src/const.ts index 9b632472..33cdfd12 100644 --- a/client/lib/src/const.ts +++ b/client/lib/src/const.ts @@ -231,7 +231,7 @@ export type RVCSampleModel = { modelUrl: string indexUrl: string featureUrl: string - termOfUseUrl: string + termsOfUseUrl: string credit: string description: string } diff --git a/server/ModelSample.py b/server/ModelSample.py index 56bd7ec4..10dec484 100644 --- a/server/ModelSample.py +++ b/server/ModelSample.py @@ -13,7 +13,7 @@ class RVCModelSample: modelUrl: str = "" indexUrl: str = "" featureUrl: str = "" - termOfUseUrl: str = "" + termsOfUseUrl: str = "" credit: str = "" description: str = "" diff --git a/server/samples.json b/server/samples.json index e964318f..196d0bf0 100644 --- a/server/samples.json +++ b/server/samples.json @@ -8,7 +8,7 @@ "modelUrl": "https://huggingface.co/wok000/vcclient_model/resolve/main/rvc/kikoto_kurage_song/KikotoKurage_Song.pth", "indexUrl": "https://huggingface.co/wok000/vcclient_model/resolve/main/rvc/kikoto_kurage_song/added_IVF2252_Flat_nprobe_10.index.bin", "featureUrl": "https://huggingface.co/wok000/vcclient_model/resolve/main/rvc/kikoto_kurage_song/total_fea.npy", - "termOfUseUrl": "https://huggingface.co/wok000/vcclient_model/raw/main/rvc/kikoto_kurage_song/term_of_use.txt", + "termsOfUseUrl": "https://huggingface.co/wok000/vcclient_model/raw/main/rvc/kikoto_kurage_song/term_of_use.txt", "credit": "黄琴海月", "description": "" }, @@ -20,7 +20,7 @@ "modelUrl": "https://huggingface.co/wok000/vcclient_model/resolve/main/rvc/kikoto_kurage_talk/KikotoKurage_Talk.pth", "indexUrl": "https://huggingface.co/wok000/vcclient_model/resolve/main/rvc/kikoto_kurage_talk/added_IVF1022_Flat_nprobe_7.index.bin", "featureUrl": "https://huggingface.co/wok000/vcclient_model/resolve/main/rvc/kikoto_kurage_talk/total_fea.npy", - "termOfUseUrl": "https://huggingface.co/wok000/vcclient_model/raw/main/rvc/kikoto_kurage_talk/term_of_use.txt", + "termsOfUseUrl": "https://huggingface.co/wok000/vcclient_model/raw/main/rvc/kikoto_kurage_talk/term_of_use.txt", "credit": "黄琴海月", "description": "" }, @@ -32,7 +32,7 @@ "modelUrl": "https://huggingface.co/wok000/vcclient_model/resolve/main/rvc/kikoto_mahiro_song/KikotoMahiro_Song.pth", "indexUrl": "https://huggingface.co/wok000/vcclient_model/resolve/main/rvc/kikoto_mahiro_song/added_IVF3621_Flat_nprobe_11.index.bin", "featureUrl": "https://huggingface.co/wok000/vcclient_model/resolve/main/rvc/kikoto_mahiro_song/total_fea.npy", - "termOfUseUrl": "https://huggingface.co/wok000/vcclient_model/raw/main/rvc/kikoto_mahiro_song/term_of_use.txt", + "termsOfUseUrl": "https://huggingface.co/wok000/vcclient_model/raw/main/rvc/kikoto_mahiro_song/term_of_use.txt", "credit": "黄琴まひろ", "description": "" }, @@ -44,7 +44,7 @@ "modelUrl": "https://huggingface.co/wok000/vcclient_model/resolve/main/rvc/kikoto_mahiro_talk/KikotoMahiro_Talk.pth", "indexUrl": "https://huggingface.co/wok000/vcclient_model/resolve/main/rvc/kikoto_mahiro_talk/added_IVF1591_Flat_nprobe_9.index.bin", "featureUrl": "https://huggingface.co/wok000/vcclient_model/resolve/main/rvc/kikoto_mahiro_talk/total_fea.npy", - "termOfUseUrl": "https://huggingface.co/wok000/vcclient_model/raw/main/rvc/kikoto_mahiro_talk/term_of_use.txt", + "termsOfUseUrl": "https://huggingface.co/wok000/vcclient_model/raw/main/rvc/kikoto_mahiro_talk/term_of_use.txt", "credit": "黄琴まひろ", "description": "" }, @@ -56,7 +56,7 @@ "modelUrl": "https://huggingface.co/wok000/vcclient_model/resolve/main/rvc/tokina_sigure/Shigure.pth", "indexUrl": "https://huggingface.co/wok000/vcclient_model/resolve/main/rvc/tokina_sigure/added_IVF1572_Flat_nprobe_9.index.bin", "featureUrl": "https://huggingface.co/wok000/vcclient_model/resolve/main/rvc/tokina_sigure/total_fea.npy", - "termOfUseUrl": "https://huggingface.co/wok000/vcclient_model/raw/main/rvc/tokina_sigure/term_of_use.txt", + "termsOfUseUrl": "https://huggingface.co/wok000/vcclient_model/raw/main/rvc/tokina_sigure/term_of_use.txt", "credit": "刻鳴時雨", "description": "https://huggingface.co/yasyune/Shigure_Tokina_RVC" }, @@ -68,7 +68,7 @@ "modelUrl": "https://huggingface.co/wok000/vcclient_model/resolve/main/rvc/amitaro_hubertjp_768_default/amitaro_hubertjp_768_def-100.pth", "indexUrl": "https://huggingface.co/wok000/vcclient_model/resolve/main/rvc/amitaro_hubertjp_768_default/amitaro_hubertjp_768_def.0.index.bin", "featureUrl": "https://huggingface.co/wok000/vcclient_model/resolve/main/rvc/amitaro_hubertjp_768_default/amitaro_hubertjp_768_def.0.big.npy", - "termOfUseUrl": "https://huggingface.co/wok000/vcclient_model/raw/main/rvc/amitaro_hubertjp_768_default/term_of_use.txt", + "termsOfUseUrl": "https://huggingface.co/wok000/vcclient_model/raw/main/rvc/amitaro_hubertjp_768_default/term_of_use.txt", "credit": "あみたろ", "description": "" }, @@ -80,7 +80,7 @@ "modelUrl": "https://huggingface.co/wok000/vcclient_model/resolve/main/rvc/amitaro_hubertjp_768_nadare/amitaro_hubert_jp-100.pth", "indexUrl": "https://huggingface.co/wok000/vcclient_model/resolve/main/rvc/amitaro_hubertjp_768_nadare/amitaro_hubert_jp.0.index.bin", "featureUrl": "https://huggingface.co/wok000/vcclient_model/resolve/main/rvc/amitaro_hubertjp_768_nadare/amitaro_hubert_jp.0.big.npy", - "termOfUseUrl": "https://huggingface.co/wok000/vcclient_model/raw/main/rvc/amitaro_hubertjp_768_nadare/term_of_use.txt", + "termsOfUseUrl": "https://huggingface.co/wok000/vcclient_model/raw/main/rvc/amitaro_hubertjp_768_nadare/term_of_use.txt", "credit": "あみたろ", "description": "" }, @@ -92,7 +92,7 @@ "modelUrl": "https://huggingface.co/wok000/vcclient_model/resolve/main/rvc/amitaro_hubertjp_768_tylor/amitaro_hubertjp_768_tylor-100.pth", "indexUrl": "https://huggingface.co/wok000/vcclient_model/resolve/main/rvc/amitaro_hubertjp_768_tylor/amitaro_hubertjp_768_tylor.0.index.bin", "featureUrl": "https://huggingface.co/wok000/vcclient_model/resolve/main/rvc/amitaro_hubertjp_768_tylor/amitaro_hubertjp_768_tylor.0.big.npy", - "termOfUseUrl": "https://huggingface.co/wok000/vcclient_model/raw/main/rvc/amitaro_hubertjp_768_tylor/term_of_use.txt", + "termsOfUseUrl": "https://huggingface.co/wok000/vcclient_model/raw/main/rvc/amitaro_hubertjp_768_tylor/term_of_use.txt", "credit": "あみたろ", "description": "" }, @@ -104,7 +104,7 @@ "modelUrl": "https://huggingface.co/wok000/vcclient_model/resolve/main/rvc/tsukuyomi-chan_hubertjp_768_default/tsukuyomi_hubertjp_768_def-100.pth", "indexUrl": "https://huggingface.co/wok000/vcclient_model/resolve/main/rvc/tsukuyomi-chan_hubertjp_768_default/tsukuyomi_hubertjp_768_def.0.index.bin", "featureUrl": "https://huggingface.co/wok000/vcclient_model/resolve/main/rvc/tsukuyomi-chan_hubertjp_768_default/tsukuyomi_hubertjp_768_def.0.big.npy", - "termOfUseUrl": "https://huggingface.co/wok000/vcclient_model/raw/main/rvc/tsukuyomi-chan_hubertjp_768_default/term_of_use.txt", + "termsOfUseUrl": "https://huggingface.co/wok000/vcclient_model/raw/main/rvc/tsukuyomi-chan_hubertjp_768_default/term_of_use.txt", "credit": "つくよみちゃん", "description": "" } diff --git a/server/voice_changer/RVC/RVC.py b/server/voice_changer/RVC/RVC.py index a8b39628..56c14ca2 100644 --- a/server/voice_changer/RVC/RVC.py +++ b/server/voice_changer/RVC/RVC.py @@ -165,7 +165,7 @@ class RVC: params["description"] = sampleInfo.description params["name"] = sampleInfo.name params["sampleId"] = sampleInfo.id - params["termOfUseUrl"] = sampleInfo.termOfUseUrl + params["termsOfUseUrl"] = sampleInfo.termsOfUseUrl # メタデータを見て、永続化モデルフォルダに移動させる # その際に、メタデータのファイル格納場所も書き換える