Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
cec6216
upgrade to .net 10
AnAndroNerd Feb 14, 2026
623c25c
Update OpenUtau.csproj
AnAndroNerd Feb 14, 2026
6cd90ea
Update OpenUtau.Test.csproj
AnAndroNerd Feb 14, 2026
7e625c1
1
AnAndroNerd Mar 25, 2026
00a90cd
2
AnAndroNerd Mar 25, 2026
f6d48f2
Merge branch 'master' into avalonia-12
AnAndroNerd Mar 25, 2026
10bb0fe
3
AnAndroNerd Mar 27, 2026
a05864e
Fix tests
AnAndroNerd Mar 27, 2026
faaee96
4
AnAndroNerd Mar 28, 2026
a48e6e0
5
AnAndroNerd Mar 28, 2026
c413ced
6
AnAndroNerd Mar 28, 2026
64adda1
7
AnAndroNerd Mar 28, 2026
08c7b8d
8
AnAndroNerd Mar 28, 2026
2e32537
9
AnAndroNerd Mar 28, 2026
58c383b
10
AnAndroNerd Apr 12, 2026
355a8df
11
AnAndroNerd Apr 14, 2026
b5e91af
12
AnAndroNerd Apr 14, 2026
ec5356c
13
AnAndroNerd Apr 18, 2026
c37907f
14
AnAndroNerd Apr 18, 2026
9dae8ed
15
AnAndroNerd Apr 25, 2026
bd0ef03
update build.yml .net version
AnAndroNerd Apr 25, 2026
a3d3cc5
update pr-test.yml .net version
AnAndroNerd Apr 25, 2026
6ab7a02
16
AnAndroNerd Apr 28, 2026
593c307
Merge branch 'avalonia-12' of https://github.com/AnAndroNerd/Small-VC…
AnAndroNerd Apr 28, 2026
193d27e
Revert "16"
AnAndroNerd Apr 28, 2026
de8ca2e
17
AnAndroNerd Apr 28, 2026
83b32aa
18
AnAndroNerd May 2, 2026
e25fb0a
Merge branch 'master-upstream' into avalonia-12
AnAndroNerd May 2, 2026
f43ee58
19
AnAndroNerd May 2, 2026
faac12a
Fix avalonia lag
atouu May 2, 2026
127d8fe
Fix phoneme canvas overflowing
atouu May 2, 2026
768b7b1
Merge pull request #15 from atouu/avalonia-12
AnAndroNerd May 2, 2026
00b256b
Revert "18"
AnAndroNerd May 2, 2026
619c025
20
AnAndroNerd May 2, 2026
0904210
Merge branch 'master' into avalonia-12
AnAndroNerd May 8, 2026
a4f5dee
Merge branch 'master' into avalonia-12
AnAndroNerd May 11, 2026
ebee2fe
Merge remote-tracking branch 'upstream/master' into avalonia-12
AnAndroNerd May 20, 2026
86b7464
21
AnAndroNerd May 20, 2026
76c3818
Merge remote-tracking branch 'upstream/master' into avalonia-12
AnAndroNerd Jun 17, 2026
5c1fbcf
22
AnAndroNerd Jun 17, 2026
5e44730
Merge remote-tracking branch 'upstream/master' into avalonia-12
AnAndroNerd Jun 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ jobs:
dotnet-version: |
6.0.x
8.0.x
10.0.x
- uses: actions/setup-node@v4
with:
node-version: 20
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/pr-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ jobs:
dotnet-version: |
6.0.x
8.0.x
10.0.x

- name: restore
run: dotnet restore OpenUtau -r ${{ matrix.os.arch }}
Expand Down
8 changes: 6 additions & 2 deletions OpenUtau.Core/OpenUtau.Core.csproj
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<TargetFramework>net10.0</TargetFramework>
<SatelliteResourceLanguages>none</SatelliteResourceLanguages>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DebugType>embedded</DebugType>
<Nullable>enable</Nullable>
<LangVersion>12</LangVersion>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="BunLabs.NAudio.Flac" Version="2.0.1" />
Expand All @@ -26,9 +27,12 @@
<PackageReference Include="SharpCompress" Version="0.48.1" />
<PackageReference Include="System.Buffers" Version="4.6.0" />
<PackageReference Include="System.ComponentModel.Annotations" Version="5.0.0" />
<PackageReference Include="System.Drawing.Common" Version="10.0.3" />
<PackageReference Include="System.Interactive" Version="7.0.1" />
<PackageReference Include="System.IO.Packaging" Version="9.0.2" />
<PackageReference Include="System.Text.Json" Version="9.0.2" />
<PackageReference Include="System.Security.Cryptography.Xml" Version="10.0.6" />
<PackageReference Include="TextCopy" Version="6.2.1" />
<PackageReference Include="Tmds.DBus.Protocol" Version="0.92.0" />
<PackageReference Include="UTF.Unknown" Version="2.5.1" />
<PackageReference Include="WanaKana-net" Version="1.0.0" />
<PackageReference Include="YamlDotNet" Version="15.1.2" />
Expand Down
4 changes: 2 additions & 2 deletions OpenUtau.Plugin.Builtin/OpenUtau.Plugin.Builtin.csproj
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<TargetFramework>net10.0</TargetFramework>
<SatelliteResourceLanguages>none</SatelliteResourceLanguages>
<DebugType>embedded</DebugType>
<Nullable>enable</Nullable>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="System.Text.Json" Version="9.0.2" />
<PackageReference Include="Tmds.DBus.Protocol" Version="0.92.0" />
</ItemGroup>

<ItemGroup>
Expand Down
1 change: 0 additions & 1 deletion OpenUtau.Test/Classic/UstTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
using SharpCompress.Common;
using SharpCompress.Readers;
using Xunit;
using Xunit.Abstractions;

namespace OpenUtau.Classic {
public class UstTest {
Expand Down
1 change: 0 additions & 1 deletion OpenUtau.Test/Classic/VoicebankConfigTest.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
using OpenUtau.Core;
using Xunit;
using Xunit.Abstractions;

namespace OpenUtau.Classic {
public class VoicebankConfigTest {
Expand Down
1 change: 0 additions & 1 deletion OpenUtau.Test/Classic/VoicebankLoaderTest.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
using System.IO;
using System.Text;
using Xunit;
using Xunit.Abstractions;

namespace OpenUtau.Classic {
public class VoicebankLoaderTest {
Expand Down
1 change: 0 additions & 1 deletion OpenUtau.Test/Core/Format/MusicXMLTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
using System.Linq;
using System.Reflection;
using Xunit;
using Xunit.Abstractions;

using OpenUtau.Core.Ustx;

Expand Down
1 change: 0 additions & 1 deletion OpenUtau.Test/Core/G2p/G2pTest.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
using Xunit;
using Xunit.Abstractions;

namespace OpenUtau.Core.G2p {
public class G2pTest {
Expand Down
1 change: 0 additions & 1 deletion OpenUtau.Test/Core/SignalChain/WaveSourceTest.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
using Xunit;
using Xunit.Abstractions;
using System.IO;
using System.Reflection;
using NAudio.Wave;
Expand Down
1 change: 0 additions & 1 deletion OpenUtau.Test/Core/USTx/UstxYamlTest.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
using Xunit;
using Xunit.Abstractions;

namespace OpenUtau.Core.Ustx {
public class UstxYamlTest {
Expand Down
1 change: 0 additions & 1 deletion OpenUtau.Test/Core/Util/Base64Test.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
using Xunit;
using Xunit.Abstractions;

namespace OpenUtau.Core.Util {
public class Base64Test {
Expand Down
1 change: 0 additions & 1 deletion OpenUtau.Test/Core/Util/MusicMathTest.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
using Xunit;
using Xunit.Abstractions;

namespace OpenUtau.Core.Util {
public class MusicMathTest {
Expand Down
1 change: 0 additions & 1 deletion OpenUtau.Test/Core/Util/SplitLyricsTest.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
using Xunit;
using Xunit.Abstractions;

namespace OpenUtau.Core.Util {
public class SplitLyricsTest {
Expand Down
1 change: 0 additions & 1 deletion OpenUtau.Test/Core/Util/TimeAxisTest.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
using OpenUtau.Core.Ustx;
using Xunit;
using Xunit.Abstractions;


namespace OpenUtau.Core {
Expand Down
11 changes: 7 additions & 4 deletions OpenUtau.Test/OpenUtau.Test.csproj
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup Condition=" '$(OS)' == 'Windows_NT' ">
<TargetFramework>net8.0-windows</TargetFramework>
<TargetFramework>net10.0-windows</TargetFramework>
</PropertyGroup>
<PropertyGroup Condition=" '$(OS)' != 'Windows_NT' ">
<TargetFramework>net8.0</TargetFramework>
<TargetFramework>net10.0</TargetFramework>
</PropertyGroup>
<PropertyGroup>
<SatelliteResourceLanguages>none</SatelliteResourceLanguages>
<IsPackable>false</IsPackable>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Avalonia.Headless.XUnit" Version="11.2.4" />
<PackageReference Include="Avalonia.Headless.XUnit" Version="12.0.4" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.11.1" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
<PackageReference Include="System.Text.Encoding.CodePages" Version="9.0.2" />
<PackageReference Include="System.Text.Json" Version="9.0.2" />
<PackageReference Include="xunit" Version="2.9.2" />
<PackageReference Include="Tmds.DBus.Protocol" Version="0.92.0" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.8.2">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
Expand All @@ -25,6 +25,9 @@
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="xunit.v3" Version="3.2.2" />
<PackageReference Include="xunit.v3.common" Version="3.2.2" />
<PackageReference Include="xunit.v3.extensibility.core" Version="3.2.2" />
</ItemGroup>

<ItemGroup>
Expand Down
1 change: 0 additions & 1 deletion OpenUtau.Test/Plugins/DeDiphoneTest.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
using OpenUtau.Api;
using OpenUtau.Plugin.Builtin;
using Xunit;
using Xunit.Abstractions;

namespace OpenUtau.Plugins {
public class DeDiphoneTest : PhonemizerTestBase {
Expand Down
1 change: 0 additions & 1 deletion OpenUtau.Test/Plugins/DeVccvTest.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
using OpenUtau.Api;
using OpenUtau.Plugin.Builtin;
using Xunit;
using Xunit.Abstractions;

namespace OpenUtau.Plugins {
public class DeVccvTest : PhonemizerTestBase {
Expand Down
3 changes: 1 addition & 2 deletions OpenUtau.Test/Plugins/EnArpaPlusTest.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
using OpenUtau.Api;
using OpenUtau.Plugin.Builtin;
using Xunit;
using Xunit.Abstractions;

namespace OpenUtau.Plugins {
public class EnArpaPlusTest : PhonemizerTestBase {
Expand Down Expand Up @@ -88,4 +87,4 @@ public void HintTest(string lyric, string hint, string[] aliases) {
RunPhonemizeTest("en_arpa-plus", new NoteParams[] { new NoteParams { lyric = lyric, hint = hint, tone = "C3", phonemes = SamePhonemeParams(4, 0, 0, "")} }, aliases);
}
}
}
}
1 change: 0 additions & 1 deletion OpenUtau.Test/Plugins/EnArpaTest.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
using OpenUtau.Api;
using OpenUtau.Plugin.Builtin;
using Xunit;
using Xunit.Abstractions;

namespace OpenUtau.Plugins {
public class EnArpaTest : PhonemizerTestBase {
Expand Down
1 change: 0 additions & 1 deletion OpenUtau.Test/Plugins/EnToJaTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
using OpenUtau.Api;
using OpenUtau.Plugin.Builtin;
using Xunit;
using Xunit.Abstractions;
using System.Linq;

namespace OpenUtau.Plugins {
Expand Down
1 change: 0 additions & 1 deletion OpenUtau.Test/Plugins/EnVCCVTest.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
using OpenUtau.Api;
using OpenUtau.Plugin.Builtin;
using Xunit;
using Xunit.Abstractions;

namespace OpenUtau.Plugins {
public class EnVCCVTest : PhonemizerTestBase {
Expand Down
1 change: 0 additions & 1 deletion OpenUtau.Test/Plugins/EnXSampaTest.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
using OpenUtau.Api;
using OpenUtau.Plugin.Builtin;
using Xunit;
using Xunit.Abstractions;

namespace OpenUtau.Plugins {
public class EnXSampaTest : PhonemizerTestBase {
Expand Down
1 change: 0 additions & 1 deletion OpenUtau.Test/Plugins/JaCvvcTest.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
using OpenUtau.Api;
using OpenUtau.Plugin.Builtin;
using Xunit;
using Xunit.Abstractions;

namespace OpenUtau.Plugins {
public class JaCvvcTest : PhonemizerTestBase {
Expand Down
1 change: 0 additions & 1 deletion OpenUtau.Test/Plugins/JaPresampTest.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
using OpenUtau.Api;
using OpenUtau.Plugin.Builtin;
using Xunit;
using Xunit.Abstractions;

namespace OpenUtau.Plugins {
public class JaPresampTest : PhonemizerTestBase {
Expand Down
1 change: 0 additions & 1 deletion OpenUtau.Test/Plugins/JaVcvTest.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
using OpenUtau.Api;
using OpenUtau.Plugin.Builtin;
using Xunit;
using Xunit.Abstractions;

namespace OpenUtau.Plugins {
public class JaVcvTest : PhonemizerTestBase {
Expand Down
1 change: 0 additions & 1 deletion OpenUtau.Test/Plugins/PhonemizerTestBase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
using OpenUtau.Classic;
using OpenUtau.Core.Format;
using Xunit;
using Xunit.Abstractions;

namespace OpenUtau.Plugins {
public abstract class PhonemizerTestBase {
Expand Down
1 change: 0 additions & 1 deletion OpenUtau.Test/Plugins/ZhCvvcTest.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
using OpenUtau.Api;
using OpenUtau.Plugin.Builtin;
using Xunit;
using Xunit.Abstractions;

namespace OpenUtau.Plugins
{
Expand Down
2 changes: 1 addition & 1 deletion OpenUtau/Controls/LyricBox.axaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
VerticalAlignment="Stretch" HorizontalAlignment="Stretch"
BorderThickness="0" Background="Transparent"
Margin="{DynamicResource AutoCompleteListPadding}"
ItemsSource="{Binding Suggestions}" SelectedItem="{Binding SelectedSuggestion}"
ItemsSource="{Binding Suggestions}" SelectedItem="{Binding SelectedSuggestion}" SelectionMode="Single"
Focusable="True" KeyDown="ListBox_KeyDown">
<ListBox.Styles>
<Style Selector="ListBoxItem">
Expand Down
11 changes: 9 additions & 2 deletions OpenUtau/Controls/LyricBox.axaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,19 @@ public LyricBox() {
box = PART_Box;
listBox = PART_Suggestions;
IsVisible = false;
viewModel.Suggestions.CollectionChanged += (_, _) => {
Dispatcher.UIThread.Post(() => {
listBox.SelectedIndex = -1;
viewModel.SelectedSuggestion = null;
}, DispatcherPriority.Input);
};
}

private void Box_GotFocus(object? sender, GotFocusEventArgs e) {
private void Box_GotFocus(object? sender, FocusChangedEventArgs e) {
box.SelectAll();
}

private void Box_LostFocus(object? sender, RoutedEventArgs e) {
private void Box_LostFocus(object? sender, FocusChangedEventArgs e) {
box.CaretIndex = 0;
}

Expand Down Expand Up @@ -166,6 +172,7 @@ public void Show(UVoicePart part, LyricBoxNoteOrPhoneme noteOrPhoneme, string te

private void FocusTimer_Tick(object? sender, System.EventArgs e) {
box.Focus();
box.SelectAll();
if (focusTimer != null) {
focusTimer.Tick -= FocusTimer_Tick;
focusTimer.Stop();
Expand Down
4 changes: 2 additions & 2 deletions OpenUtau/Controls/NotePropertiesControl.axaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -58,13 +58,13 @@ private void LoadPart(UPart? part) {
}

private string textBoxValue = string.Empty;
void OnTextBoxGotFocus(object? sender, GotFocusEventArgs args) {
void OnTextBoxGotFocus(object? sender, FocusChangedEventArgs args) {
Log.Debug("Note property textbox got focus");
if(sender is TextBox text) {
textBoxValue = text.Text ?? string.Empty;
}
}
void OnTextBoxLostFocus(object? sender, RoutedEventArgs args) {
void OnTextBoxLostFocus(object? sender, FocusChangedEventArgs args) {
Log.Debug("Note property textbox lost focus");
if (sender is TextBox textBox && textBoxValue != textBox.Text && textBox.Tag is string tag && !string.IsNullOrEmpty(tag)) {
DocManager.Inst.StartUndoGroup("command.property.edit");
Expand Down
4 changes: 2 additions & 2 deletions OpenUtau/Controls/NotePropertyExpression.axaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,13 @@ public NotePropertyExpression() {

// textbox
private string textBoxValue = string.Empty;
void OnTextBoxGotFocus(object? sender, GotFocusEventArgs args) {
void OnTextBoxGotFocus(object? sender, FocusChangedEventArgs args) {
Log.Debug("Note property textbox got focus");
if (sender is TextBox textBox) {
textBoxValue = textBox.Text ?? string.Empty;
}
}
void OnTextBoxLostFocus(object? sender, RoutedEventArgs args) {
void OnTextBoxLostFocus(object? sender, FocusChangedEventArgs args) {
Log.Debug("Note property textbox lost focus");
if (sender is TextBox textBox && textBoxValue != textBox.Text) {
SetNumericalExpressions(textBox.Text);
Expand Down
4 changes: 2 additions & 2 deletions OpenUtau/Controls/PianoRoll.axaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,12 @@
<StyleInclude Source="/Styles/PianoRollStyles.axaml"/>
</UserControl.Styles>
<Border>
<Grid Margin="{Binding $parent[1].WindowDecorationMargin}" PointerMoved="BackgroundPointerMoved">
<Grid Margin="{Binding $parent[1].OffScreenMargin}" PointerMoved="BackgroundPointerMoved">
<Grid.RowDefinitions>
<RowDefinition Height="24"/>
<RowDefinition Height="24"/>
<RowDefinition Height="24"/>
<RowDefinition Height="*"/>
<RowDefinition Height="*" MinHeight="60"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="150"
MinHeight="{Binding NotesViewModel.ExpHeightMin}"
Expand Down
Loading
Loading