Skip to content

Commit 5ee5faa

Browse files
committed
修复部分情况下判断为非NLyric创建歌词的错误
Batch Step改为100
1 parent 043b4f0 commit 5ee5faa

File tree

2 files changed

+11
-5
lines changed

2 files changed

+11
-5
lines changed

NLyric/NLyric.csproj

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
<Title>NLyric</Title>
55
<Product>NLyric</Product>
66
<Copyright>Copyright © 2019-2020 Wwh</Copyright>
7-
<AssemblyVersion>2.6.0.0</AssemblyVersion>
8-
<FileVersion>2.6.0.0</FileVersion>
7+
<AssemblyVersion>2.6.0.1</AssemblyVersion>
8+
<FileVersion>2.6.0.1</FileVersion>
99
<OutputPath>..\bin\$(Configuration)</OutputPath>
1010
<OutputType>Exe</OutputType>
1111
<TargetFrameworks>netcoreapp3.1;net472</TargetFrameworks>

NLyric/NLyricImpl.cs

+9-3
Original file line numberDiff line numberDiff line change
@@ -113,14 +113,19 @@ private static AudioInfo[] LoadAllAudioInfos(string directory) {
113113
finally {
114114
audioFile?.Dispose();
115115
}
116-
var trackInfo = _database.TrackInfos.Match(audioInfo.Album, audioInfo.Track);
116+
TrackInfo trackInfo;
117+
lock (_database.TrackInfos)
118+
trackInfo = _database.TrackInfos.Match(audioInfo.Album, audioInfo.Track);
117119
if (!(trackInfo is null)) {
118120
audioInfo.TrackInfo = trackInfo;
119121
return audioInfo;
120122
}
121123
// 尝试从数据库获取歌曲
122124
if (The163KeyHelper.TryGetTrackId(tag, out int trackId)) {
123-
audioInfo.TrackInfo = new TrackInfo(audioInfo.Track, audioInfo.Album, trackId);
125+
trackInfo = new TrackInfo(audioInfo.Track, audioInfo.Album, trackId);
126+
lock (_database.TrackInfos)
127+
_database.TrackInfos.Add(trackInfo);
128+
audioInfo.TrackInfo = trackInfo;
124129
return audioInfo;
125130
}
126131
// 尝试从163Key获取ID
@@ -145,6 +150,7 @@ private static async Task LoadAllAudioInfoCandidates(AudioInfo[] audioInfoCandid
145150
else {
146151
FastConsole.WriteInfo($"已获取文件\"{Path.GetFileName(candidate.Path)}\"的网易云音乐ID: {trackInfo.Id}。");
147152
candidate.TrackInfo = new TrackInfo(candidate.Track, candidate.Album, trackInfo.Id);
153+
_database.TrackInfos.Add(candidate.TrackInfo);
148154
}
149155
callback?.Invoke(candidate);
150156
FastConsole.WriteNewLine();
@@ -696,7 +702,7 @@ private static Task AccelerateAllTracksAsync(AudioInfo[] audioInfos) {
696702
}
697703

698704
private static async Task AccelerateAllLyricsAsync(AudioInfo[] audioInfos) {
699-
const int STEP = 50;
705+
const int STEP = 100;
700706

701707
int[] trackIds = audioInfos.Select(t => t.TrackInfo.Id).ToArray();
702708
for (int i = 0; i < trackIds.Length; i += STEP) {

0 commit comments

Comments
 (0)