👍️[Update] INSTALLER : templateにVRCT固有の設定を追加

- UI language
- Enable Translate Function
- Select Transcript Engine
This commit is contained in:
misyaguziya
2024-10-15 00:09:53 +09:00
parent 22a10f6f0d
commit 2c67841b11
3 changed files with 180 additions and 260 deletions

View File

@@ -128,8 +128,178 @@ VIAddVersionKey "ProductVersion" "${VERSION}"
!insertmacro MULTIUSER_PAGE_INSTALLMODE
!endif
; 4-1. Choose language page
Var DropListLanguages
Var SelectedLangage
Var DialogChooseLanguage
Page custom PageChooseLanguage PageLeaveChooseLanguage
Function PageChooseLanguage
!insertmacro MUI_HEADER_TEXT "Initial Settings" "Set the language of the VRCT UI (can be changed later)."
nsDialogs::Create 1018
Pop $DialogChooseLanguage
; 4. Custom page to ask user if he wants to reinstall/uninstall
${If} $DialogChooseLanguage == error
Abort
${EndIf}
${NSD_CreateLabel} 0 21u 30% 12u "UI Language"
${NSD_CreateDropList} 33% 20u 33% 12u ""
Pop $DropListLanguages
${NSD_CB_AddString} $DropListLanguages "English"
${NSD_CB_AddString} $DropListLanguages "日本語"
${NSD_CB_AddString} $DropListLanguages "한국어"
${NSD_CB_AddString} $DropListLanguages "繁體中文"
${NSD_CB_SelectString} $DropListLanguages "English"
StrCpy $SelectedLangage "en"
nsDialogs::Show
FunctionEnd
Function PageLeaveChooseLanguage
${NSD_GetText} $DropListLanguages $0
${If} "English" == $0
StrCpy $SelectedLangage "en"
${ElseIf} "日本語" == $0
StrCpy $SelectedLangage "ja"
${ElseIf} "한국어" == $0
StrCpy $SelectedLangage "ko"
${ElseIf} "繁體中文" == $0
StrCpy $SelectedLangage "zh-Hant"
${EndIf}
FunctionEnd
; 4-2. Page Download Translate Model Weight
Var CheckboxUseTranslate
Var DropListCTranslate2DownloadWeightType
Var SelectedCTranslate2DownloadWeightType
Var DialogTranslate
Page custom PageTranslate PageLeaveTranslate
Function PageTranslate
!insertmacro MUI_HEADER_TEXT "Initial Settings" "Set to use the translation function (can be changed later)."
nsDialogs::Create 1018
Pop $DialogTranslate
${If} $DialogTranslate == error
Abort
${EndIf}
${NSD_CreateLabel} 0 21u 33% 12u "Enable Translation"
${NSD_CreateCheckBox} 33% 20u 33% 12u ""
Pop $CheckboxUseTranslate
${NSD_CreateLabel} 0 52u 33% 12u "Select AI Model Size"
${NSD_CreateDropList} 33% 50u 40% 12u ""
Pop $DropListCTranslate2DownloadWeightType
${NSD_CB_AddString} $DropListCTranslate2DownloadWeightType "Basic model(418MB)"
${NSD_CB_AddString} $DropListCTranslate2DownloadWeightType "High accuracy model(1.3GB)"
${NSD_CB_SelectString} $DropListCTranslate2DownloadWeightType "Basic model(418MB)"
StrCpy $SelectedCTranslate2DownloadWeightType "Small"
EnableWindow $DropListCTranslate2DownloadWeightType 0
${NSD_OnClick} $CheckboxUseTranslate OnCheckboxCTranslate2DownloadWeightClick
nsDialogs::Show
FunctionEnd
Function PageLeaveTranslate
${NSD_GetState} $CheckboxUseTranslate $0
${If} $0 == 1
StrCpy $CheckboxUseTranslate "true"
${Else}
StrCpy $CheckboxUseTranslate "false"
${EndIf}
${NSD_GetText} $CheckboxCTranslate2DownloadWeight $0
${If} "Basic model(418MB)" == $0
StrCpy $SelectedCTranslate2DownloadWeightType "Small"
${ElseIf} "High accuracy model(1.3GB)" == $0
StrCpy $SelectedCTranslate2DownloadWeightType "Large"
${EndIf}
FunctionEnd
Function OnCheckboxCTranslate2DownloadWeightClick
Pop $CheckboxUseTranslate
${NSD_GetState} $CheckboxUseTranslate $0
${If} $0 == 1
EnableWindow $DropListCTranslate2DownloadWeightType 1
${Else}
EnableWindow $DropListCTranslate2DownloadWeightType 0
${EndIf}
FunctionEnd
; 4-3. Page Download Transcript Model Weight
Var DropLListTranscriptEngines
Var SelectedTranscriptEngine
Var DropListWhisperDownloadWeightType
Var SelectedWhisperDownloadWeightType
Var DialogTranscript
Page custom PageTranscript PageLeaveTranscript
Function PageTranscript
!insertmacro MUI_HEADER_TEXT "Initial Settings" "Set to use the transcript engine (can be changed later)."
nsDialogs::Create 1018
Pop $DialogTranscript
${If} $DialogTranscript == error
Abort
${EndIf}
${NSD_CreateLabel} 0 21u 33% 12u "Select Transcript Engine"
${NSD_CreateDropList} 33% 20u 33% 12u ""
Pop $DropLListTranscriptEngines
${NSD_CB_AddString} $DropLListTranscriptEngines "Google"
${NSD_CB_AddString} $DropLListTranscriptEngines "Wishper(USE CPU)"
${NSD_CB_SelectString} $DropLListTranscriptEngines "Google"
${NSD_CreateLabel} 0 52u 33% 12u "Select AI Model Size"
${NSD_CreateDropList} 33% 50u 40% 12u ""
Pop $DropListWhisperDownloadWeightType
${NSD_CB_AddString} $DropListWhisperDownloadWeightType "tiny model(74.5MB)"
${NSD_CB_AddString} $DropListWhisperDownloadWeightType "base model(141MB)"
${NSD_CB_AddString} $DropListWhisperDownloadWeightType "small model(463MB)"
${NSD_CB_AddString} $DropListWhisperDownloadWeightType "medium model(1.42GB)"
${NSD_CB_AddString} $DropListWhisperDownloadWeightType "large-v1 model(2.87GB)"
${NSD_CB_AddString} $DropListWhisperDownloadWeightType "large-v2 model(2.87GB)"
${NSD_CB_AddString} $DropListWhisperDownloadWeightType "large-v3 model(2.87GB)"
${NSD_CB_SelectString} $DropListWhisperDownloadWeightType "base model(141MB)"
StrCpy $SelectedWhisperDownloadWeightType "base"
EnableWindow $DropListWhisperDownloadWeightType 0
${NSD_OnChange} $DropLListTranscriptEngines OnDropListWishperDownloadWeightClick
nsDialogs::Show
FunctionEnd
Function PageLeaveTranscript
${NSD_GetText} $DropLListTranscriptEngines $0
${If} $0 == "Google"
StrCpy $SelectedTranscriptEngine "google"
${Else}
StrCpy $SelectedTranscriptEngine "wishper"
${EndIf}
${NSD_GetText} $DropListWhisperDownloadWeightType $0
${If} "tiny model(74.5MB)" == $0
StrCpy $SelectedWhisperDownloadWeightType "tiny"
${ElseIf} "base model(141MB)" == $0
StrCpy $SelectedWhisperDownloadWeightType "base"
${ElseIf} "small model(463MB)" == $0
StrCpy $SelectedWhisperDownloadWeightType "small"
${ElseIf} "medium model(1.42GB)" == $0
StrCpy $SelectedWhisperDownloadWeightType "medium"
${ElseIf} "large-v1 model(2.87GB)" == $0
StrCpy $SelectedWhisperDownloadWeightType "large-v1"
${ElseIf} "large-v2 model(2.87GB)" == $0
StrCpy $SelectedWhisperDownloadWeightType "large-v2"
${ElseIf} "large-v3 model(2.87GB)" == $0
StrCpy $SelectedWhisperDownloadWeightType "large-v3"
${EndIf}
FunctionEnd
Function OnDropListWishperDownloadWeightClick
${NSD_GetText} $DropLListTranscriptEngines $0
${If} $0 == "Wishper(USE CPU)"
EnableWindow $DropListWhisperDownloadWeightType 1
${Else}
EnableWindow $DropListWhisperDownloadWeightType 0
${EndIf}
FunctionEnd
!insertmacro MUI_PAGE_COMPONENTS
; 4-4. Custom page to ask user if he wants to reinstall/uninstall
; only if a previous installtion was detected
Var ReinstallPageCheck
Page custom PageReinstall PageLeaveReinstall
@@ -309,6 +479,8 @@ Var AppStartMenuFolder
; 7. Installation page
!insertmacro MUI_PAGE_INSTFILES
; 8. Finish page
;
; Don't auto jump to finish page after installation page,
@@ -619,6 +791,11 @@ Function .onInstSuccess
${GetOptions} $CMDLINE "/ARGS" $R0
nsis_tauri_utils::RunAsUser "$INSTDIR\${MAINBINARYNAME}.exe" "$R0"
run_done:
StrCpy $1 '{"UI_LANGUAGE": "$SelectedLangage", "USE_TRANSLATION_FEATURE": $CheckboxUseTranslate, "SELECTED_TRANSCRIPTION_ENGINE": "$SelectedTranscriptEngine", "CTRANSLATE2_WEIGHT_TYPE": "$SelectedCTranslate2DownloadWeightType", "WHISPER_WEIGHT_TYPE": "$SelectedWhisperDownloadWeightType"}'
FileOpen $0 "$INSTDIR\config.json" w
FileWrite $0 $1
FileClose $0
FunctionEnd
Function un.onInit