From 57141c366cd8a5b7eebc8245d7f9c0d745e471cd Mon Sep 17 00:00:00 2001 From: Salvador Cipolla Date: Thu, 9 Jul 2026 16:42:38 -0300 Subject: [PATCH] implement lib version of ksapi --- .../Assets/utils/win/KSapi.exe | Bin 14848 -> 0 bytes .../Assets/utils/win/KSapi_x86.exe | Bin 11776 -> 0 bytes .../Knossos.NET.Desktop.csproj | 90 ++++++++++++++---- .../precompiled/windows/arm64/KSapi.dll | Bin 0 -> 11776 bytes .../precompiled/windows/x64/KSapi.dll | Bin 0 -> 12800 bytes .../precompiled/windows/x86/KSapi.dll | Bin 0 -> 10240 bytes Knossos.NET/Classes/KSapi.cs | 41 ++++++++ Knossos.NET/Classes/Knossos.cs | 59 ++---------- 8 files changed, 121 insertions(+), 69 deletions(-) delete mode 100644 Knossos.NET.Desktop/Assets/utils/win/KSapi.exe delete mode 100644 Knossos.NET.Desktop/Assets/utils/win/KSapi_x86.exe create mode 100644 Knossos.NET.Desktop/precompiled/windows/arm64/KSapi.dll create mode 100644 Knossos.NET.Desktop/precompiled/windows/x64/KSapi.dll create mode 100644 Knossos.NET.Desktop/precompiled/windows/x86/KSapi.dll create mode 100644 Knossos.NET/Classes/KSapi.cs diff --git a/Knossos.NET.Desktop/Assets/utils/win/KSapi.exe b/Knossos.NET.Desktop/Assets/utils/win/KSapi.exe deleted file mode 100644 index 59e78b1acc128d01515b45ecc5fe95e45b155c52..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14848 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 AzyJUM diff --git a/Knossos.NET.Desktop/Knossos.NET.Desktop.csproj b/Knossos.NET.Desktop/Knossos.NET.Desktop.csproj index f5f5578f..2edb769e 100644 --- a/Knossos.NET.Desktop/Knossos.NET.Desktop.csproj +++ b/Knossos.NET.Desktop/Knossos.NET.Desktop.csproj @@ -11,6 +11,7 @@ copyused true true + AnyCPU;x64 @@ -27,27 +28,76 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + <_IsWin Condition="$(RuntimeIdentifier.StartsWith('win')) Or + ($(RuntimeIdentifier) == '' And $([MSBuild]::IsOSPlatform('Windows')))">true + <_IsLinux Condition="$(RuntimeIdentifier.StartsWith('linux')) Or + ($(RuntimeIdentifier) == '' And $([MSBuild]::IsOSPlatform('Linux')))">true + <_IsOsx Condition="$(RuntimeIdentifier.StartsWith('osx')) Or + ($(RuntimeIdentifier) == '' And $([MSBuild]::IsOSPlatform('OSX')))">true + + + <_IsX64 Condition="$(RuntimeIdentifier.Contains('x64')) Or + ('$(RuntimeIdentifier)' == '' And '$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture)' == 'X64')">true + <_IsX86 Condition="$(RuntimeIdentifier.Contains('x86')) Or + ('$(RuntimeIdentifier)' == '' And '$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture)' == 'X86')">true + <_IsArm64 Condition="$(RuntimeIdentifier.Contains('arm64')) Or + ('$(RuntimeIdentifier)' == '' And '$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture)' == 'Arm64')">true + <_IsRiscV64 Condition="$(RuntimeIdentifier.Contains('riscv64'))">true + + + + + + PreserveNewest + KSapi.dll + + + + + PreserveNewest + KSapi.dll + + + + + PreserveNewest + KSapi.dll + + - + + \ No newline at end of file diff --git a/Knossos.NET.Desktop/precompiled/windows/arm64/KSapi.dll b/Knossos.NET.Desktop/precompiled/windows/arm64/KSapi.dll new file mode 100644 index 0000000000000000000000000000000000000000..870b2420d7a0aff9e17650ce08e4d3108cda5134 GIT binary patch literal 11776 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 literal 0 HcmV?d00001 diff --git a/Knossos.NET.Desktop/precompiled/windows/x86/KSapi.dll b/Knossos.NET.Desktop/precompiled/windows/x86/KSapi.dll new file mode 100644 index 0000000000000000000000000000000000000000..4d309b25cf55964d6cb46c7146de04f7ddd0814b GIT binary patch literal 10240 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 + var voice = voice_index ?? globalSettings.ttsVoice; + var vol = volume ?? globalSettings.ttsVolume; + + await Task.Run(() => { - //Max cmdline lenght is 8192, lets limit the text to 7500 - if(text.Length > 7500) - { - text = text.Substring(0, 7500); - } - await Task.Delay(300); - var voice = globalSettings.ttsVoice; - var vol = globalSettings.ttsVolume; - if (voice_index.HasValue) - voice = voice_index.Value; - if (volume.HasValue) - vol = volume.Value; - using var ttsProcess = new Process(); - ttsProcess.StartInfo.FileName = KnUtils.GetKnossosDataFolderPath() + Path.DirectorySeparatorChar + "KSapi.exe"; - ttsProcess.StartInfo.Arguments = "-text \"" + text + "\" -voice " + voice + " -vol " + vol; - ttsProcess.StartInfo.UseShellExecute = false; - ttsProcess.StartInfo.CreateNoWindow = true; - ttsObject = ttsProcess; - ttsProcess.Start(); - ttsProcess.WaitForExit(); - ttsObject = null; + KSapi.Speak(text, voice!.Value, Math.Clamp(vol, 0, 100)); + if (callBack != null) - await Dispatcher.UIThread.InvokeAsync(() => callBack(), DispatcherPriority.Background); + Dispatcher.UIThread.InvokeAsync(() => callBack(), DispatcherPriority.Background); }); } }