From 95c3d6164f124db9ace560e4e34d8d318af6a5a9 Mon Sep 17 00:00:00 2001 From: oxygen-dioxide <54425948+oxygen-dioxide@users.noreply.github.com> Date: Tue, 12 Dec 2023 14:25:45 +0800 Subject: [PATCH] support using worldline resampler together with external wavtools --- OpenUtau.Core/Classic/ExeWavtool.cs | 9 +++++++++ OpenUtau.Core/Render/Renderers.cs | 8 +------- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/OpenUtau.Core/Classic/ExeWavtool.cs b/OpenUtau.Core/Classic/ExeWavtool.cs index f852e3138..1c5c597e7 100644 --- a/OpenUtau.Core/Classic/ExeWavtool.cs +++ b/OpenUtau.Core/Classic/ExeWavtool.cs @@ -26,6 +26,15 @@ public float[] Concatenate(List resamplerItems, string tempPath, if (cancellation.IsCancellationRequested) { return null; } + //The builtin worldline resampler can't be called from bat script, + //so we need to call it directly from C# + foreach(var item in resamplerItems){ + if(!(item.resampler is ExeResampler) && !cancellation.IsCancellationRequested && !File.Exists(item.outputFile)){ + lock (Renderers.GetCacheLock(item.outputFile)) { + item.resampler.DoResamplerReturnsFile(item, Log.Logger); + } + } + } PrepareHelper(); string batPath = Path.Combine(PathManager.Inst.CachePath, "temp.bat"); lock (tempBatLock) { diff --git a/OpenUtau.Core/Render/Renderers.cs b/OpenUtau.Core/Render/Renderers.cs index bc55a2ef9..704f15454 100644 --- a/OpenUtau.Core/Render/Renderers.cs +++ b/OpenUtau.Core/Render/Renderers.cs @@ -105,13 +105,7 @@ public static IReadOnlyList GetSupportedResamplers(IWavtool? wavtool } public static IReadOnlyList GetSupportedWavtools(IResampler? resampler) { - if (resampler is WorldlineResampler) { - return ToolsManager.Inst.Wavtools - .Where(r => r is SharpWavtool) - .ToArray(); - } else { - return ToolsManager.Inst.Wavtools; - } + return ToolsManager.Inst.Wavtools; } } }