Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
3 changes: 1 addition & 2 deletions OpenUtau.Core/DiffSinger/DiffSingerScript.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
using System.IO;
using System.Linq;
using System.Text;
using Newtonsoft.Json;
using OpenUtau.Core.Render;
using OpenUtau.Core.Ustx;

Expand Down Expand Up @@ -199,7 +198,7 @@ static public void SavePart(UProject project, UVoicePart part, string filePath,
.Select(x => new DiffSingerScript(x, options).toRaw())
.ToArray();
File.WriteAllText(filePath,
JsonConvert.SerializeObject(ScriptArray, Formatting.Indented),
Json.Serialize(ScriptArray),
new UTF8Encoding(false));
}
}
Expand Down
5 changes: 2 additions & 3 deletions OpenUtau.Core/DiffSinger/DiffSingerUtils.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
using System.Linq;
using System.Text;
using Microsoft.ML.OnnxRuntime.Tensors;
using Newtonsoft.Json;
using OpenUtau.Core.Render;

namespace OpenUtau.Core.DiffSinger {
Expand Down Expand Up @@ -319,7 +318,7 @@ public static Dictionary<string, int> LoadPhonemes(string filePath){

static Dictionary<string, int> LoadPhonemesFromJson(string filePath){
var json = File.ReadAllText(filePath, Encoding.UTF8);
return JsonConvert.DeserializeObject<Dictionary<string, int>>(json);
return Json.Deserialize<Dictionary<string, int>>(json);
}

static Dictionary<string, int> LoadPhonemesFromTxt(string filePath){
Expand All @@ -333,7 +332,7 @@ static Dictionary<string, int> LoadPhonemesFromTxt(string filePath){

public static Dictionary<string, int> LoadLanguageIds(string filePath){
var json = File.ReadAllText(filePath, Encoding.UTF8);
return JsonConvert.DeserializeObject<Dictionary<string, int>>(json);
return Json.Deserialize<Dictionary<string, int>>(json);
}

public static string PhonemeLanguage(string phoneme){
Expand Down
5 changes: 2 additions & 3 deletions OpenUtau.Core/Enunu/EnunuClient.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
using System;
using NetMQ;
using NetMQ.Sockets;
using Newtonsoft.Json;
using Serilog;

namespace OpenUtau.Core.Enunu {
Expand All @@ -12,15 +11,15 @@ internal T SendRequest<T>(string[] args) {
internal T SendRequest<T>(string[] args, string port,int second = 300 ) {
using (var client = new RequestSocket()) {
client.Connect($"tcp://localhost:{port}");
string request = JsonConvert.SerializeObject(args);
string request = Json.Serialize(args);
Log.Information($"EnunuProcess sending {request}");
client.SendFrame(request);
client.TryReceiveFrameString(TimeSpan.FromSeconds(second), out string? message);
Log.Information($"EnunuProcess received {message}");
if (string.IsNullOrEmpty(message)) {
return (T)Activator.CreateInstance(typeof(T))!;
}
return JsonConvert.DeserializeObject<T>(message ?? string.Empty)!;
return Json.Deserialize<T>(message ?? string.Empty)!;
}
}
}
Expand Down
11 changes: 3 additions & 8 deletions OpenUtau.Core/Format/Commonnote.cs
Original file line number Diff line number Diff line change
@@ -1,13 +1,8 @@
using Melanchall.DryWetMidi.Core;
using Melanchall.DryWetMidi.Interaction;
using Newtonsoft.Json;
using OpenUtau.Core.Ustx;
using OpenUtau.Core.Ustx;
using OpenUtau.Core.Util;
using System;
using System.Collections.Generic;
using System.ComponentModel.Design;
using System.Linq;
using System.Reflection.Emit;
using TextCopy;
using Serilog;

Expand Down Expand Up @@ -62,11 +57,11 @@ public static string Dumps(List<UNote> uNotes, UProject project) {
},
notes = uNotes.Select(DumpNote).ToList(),
};
return JsonConvert.SerializeObject(data);
return Json.Serialize(data);
}

public static List<UNote> Loads(string text, UProject project) {
var data = JsonConvert.DeserializeObject<CommonnoteData>(text);
var data = Json.Deserialize<CommonnoteData>(text);
if (data.identifier != "commonnote") {
Log.Error($"Clipboard is missing commonnote header");
return null;
Expand Down
4 changes: 1 addition & 3 deletions OpenUtau.Core/Format/Ufdata.cs
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
using System.IO;
using System.Linq;
using System.Text;
using Newtonsoft.Json;

using OpenUtau.Core.Ustx;

//reference: https://github.com/sdercolin/utaformatix-data/blob/main/lib/csharp/UtaFormatix.Data
Expand Down Expand Up @@ -118,7 +116,7 @@ public static UProject Load(string file){
Ustx.AddDefaultExpressions(project);
project.FilePath = file;

var ufProject = JsonConvert.DeserializeObject<UfFile>(File.ReadAllText(file,Encoding.UTF8)).project;
var ufProject = Json.Deserialize<UfFile>(File.ReadAllText(file,Encoding.UTF8)).project;

//parse tempo
project.tempos=ufProject.tempos
Expand Down
1 change: 0 additions & 1 deletion OpenUtau.Core/OpenUtau.Core.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@
<PackageReference Include="NAudio.Core" Version="2.2.1" />
<PackageReference Include="NAudio.Vorbis" Version="1.5.0" />
<PackageReference Include="NeoLua" Version="1.3.19" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
<PackageReference Include="NLayer.NAudioSupport" Version="1.4.0" />
<PackageReference Include="NumSharp" Version="0.30.0" />
<PackageReference Include="NWaves" Version="0.9.6" />
Expand Down
12 changes: 6 additions & 6 deletions OpenUtau.Core/PackageManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@
using System.Net.Http;
using System.Security.Cryptography;
using System.Text;
using System.Text.Json;
using System.Text.Json.Nodes;
using System.Threading.Tasks;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Serilog;
using SharpCompress.Archives;
using OpenUtau.Core.Util;
Expand Down Expand Up @@ -63,10 +63,10 @@ public async Task<List<RegistrySoftware>> FetchRegistryAsync() {

List<RegistrySoftware> list = new List<RegistrySoftware>();
try {
var token = JToken.Parse(body);
var items = token["items"];
if (items != null && items.Type == JTokenType.Array) {
list = items.ToObject<List<RegistrySoftware>>() ?? new List<RegistrySoftware>();
var token = JsonObject.Parse(body);
var items = token?["items"];
if (items?.GetValueKind() == JsonValueKind.Array) {
list = Json.Deserialize<List<RegistrySoftware>>(items) ?? new List<RegistrySoftware>();
}
} catch (Exception e) {
Log.Warning(e, "Failed to parse registry JSON");
Expand Down
32 changes: 32 additions & 0 deletions OpenUtau.Core/Util/Json.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
using System.IO;
using System.Text.Encodings.Web;
using System.Text.Json;
using System.Text.Json.Nodes;

namespace OpenUtau.Core {
public class Json {

public static readonly JsonSerializerOptions DefaultJsonOptions = new() {
Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping,
IncludeFields = true,
WriteIndented = true
};

public static string Serialize(object? graph, JsonSerializerOptions? options = null) {
return JsonSerializer.Serialize(graph, options ?? DefaultJsonOptions);
}

public static T? Deserialize<T>(string input, JsonSerializerOptions? options = null) {
return JsonSerializer.Deserialize<T>(input, options ?? DefaultJsonOptions);
}

public static T? Deserialize<T>(Stream input, JsonSerializerOptions? options = null) {
return JsonSerializer.Deserialize<T>(input, options ?? DefaultJsonOptions);
}

public static T? Deserialize<T>(JsonNode? input, JsonSerializerOptions? options = null) {
return input.Deserialize<T>(options ?? DefaultJsonOptions);
}

}
}
5 changes: 2 additions & 3 deletions OpenUtau.Core/Util/NotePresets.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
using System.Collections.Generic;
using System.IO;
using System.Text;
using Newtonsoft.Json;
using OpenUtau.Core.Ustx;
using Serilog;

Expand All @@ -17,7 +16,7 @@ static NotePresets() {
public static void Save() {
try {
File.WriteAllText(PathManager.Inst.NotePresetsFilePath,
JsonConvert.SerializeObject(Default, Formatting.Indented),
Json.Serialize(Default),
Encoding.UTF8);
} catch (Exception e) {
Log.Error(e, "Failed to save note presets.");
Expand All @@ -27,7 +26,7 @@ public static void Save() {
private static void Load() {
try {
if (File.Exists(PathManager.Inst.NotePresetsFilePath)) {
Default = JsonConvert.DeserializeObject<SerializableNotePresets>(
Default = Json.Deserialize<SerializableNotePresets>(
File.ReadAllText(PathManager.Inst.NotePresetsFilePath, Encoding.UTF8));
} else {
Reset();
Expand Down
71 changes: 36 additions & 35 deletions OpenUtau.Core/Util/Preferences.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,14 @@
using System.Globalization;
using System.IO;
using System.Text;
using Newtonsoft.Json;
using System.Text.Json.Serialization;
using OpenUtau.Core.Render;
using Serilog;

namespace OpenUtau.Core.Util {

public static class Preferences {
public static SerializablePreferences Default;
public static SerializablePreferences Default { get; private set; }

static Preferences() {
Load();
Expand All @@ -20,7 +20,7 @@ static Preferences() {
public static void Save() {
try {
File.WriteAllText(PathManager.Inst.PrefsFilePath,
JsonConvert.SerializeObject(Default, Formatting.Indented),
Json.Serialize(Default),
Encoding.UTF8);
} catch (Exception e) {
Log.Error(e, "Failed to save prefs.");
Expand All @@ -34,7 +34,7 @@ public static void Reset() {
string exePath = Path.GetDirectoryName(Process.GetCurrentProcess().MainModule.FileName);
string shippedPrefsPath = Path.Combine(exePath, "prefs-default.json");
if (File.Exists(shippedPrefsPath)) {
var shippedPrefs = JsonConvert.DeserializeObject<SerializablePreferences>(
var shippedPrefs = Json.Deserialize<SerializablePreferences>(
File.ReadAllText(shippedPrefsPath, Encoding.UTF8));
if (shippedPrefs != null) {
Default = shippedPrefs;
Expand Down Expand Up @@ -102,7 +102,7 @@ private static void AddRecentFile(string filePath) {
private static void Load() {
try {
if (File.Exists(PathManager.Inst.PrefsFilePath)) {
Default = JsonConvert.DeserializeObject<SerializablePreferences>(
Default = Json.Deserialize<SerializablePreferences>(
File.ReadAllText(PathManager.Inst.PrefsFilePath, Encoding.UTF8));
if(Default == null) {
Reset();
Expand Down Expand Up @@ -217,43 +217,44 @@ public class SerializablePreferences {
public bool LockUnselectedNotesVibrato = true;
public bool LockUnselectedNotesExpressions = true;
public bool VoicebankPublishUseIgnore = true;
public string VoicebankPublishIgnores = @"#Adobe Audition
*.pkf
public string VoicebankPublishIgnores = """
#Adobe Audition
*.pkf

#UTAU Engines
*.ctspec
*.d4c
*.dio
*.frc
*.frt
#*.frq
*.harvest
*.lessaudio
*.llsm
*.mrq
*.pitchtier
*.pkf
*.platinum
*.pmk
*.sc.npz
*.star
*.uspec
*.vs4ufrq
#UTAU Engines
*.ctspec
*.d4c
*.dio
*.frc
*.frt
#*.frq
*.harvest
*.lessaudio
*.llsm
*.mrq
*.pitchtier
*.pkf
*.platinum
*.pmk
*.sc.npz
*.star
*.uspec
*.vs4ufrq

#UTAU related tools
\$read
*.setParam-Scache
*.lbp
*.lbp.caches/*
#UTAU related tools
\$read
*.setParam-Scache
*.lbp
*.lbp.caches/*

#OpenUtau
errors.txt
";
#OpenUtau
errors.txt
""";
public string RecoveryPath = string.Empty;
public bool DetachPianoRoll = false;

// Legacy
[JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public int? Theme;
}
}
Expand Down
6 changes: 1 addition & 5 deletions OpenUtau.Core/Vogen/VogenSingerLoader.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using Newtonsoft.Json;
using OpenUtau.Core.Ustx;
using OpenUtau.Core.Util;
using Serilog;
Expand Down Expand Up @@ -76,9 +74,7 @@ public USinger LoadSinger(string filePath) {
throw new ArgumentException("missing meta.json");
}
using (var stream = metaEntry.OpenEntryStream()) {
using var reader = new StreamReader(stream, Encoding.UTF8);
JsonSerializer serializer = new JsonSerializer();
meta = (VogenMeta)serializer.Deserialize(reader, typeof(VogenMeta));
meta = Json.Deserialize<VogenMeta>(stream);
}
model = Zip.ExtractBytes(archive, "model.onnx");
if (model == null) {
Expand Down
Loading
Loading