Skip to content

Commit 78c7d43

Browse files
committed
fix lyrics
1 parent 4dd89d0 commit 78c7d43

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

lib/Services/dl/lyrics.dart

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,16 @@ String toLrcTimestamp(int milliseconds) {
88
return '${minutes.toString().padLeft(2, '0')}:${seconds.toString().padLeft(2, '0')}.${ms.toString().padLeft(2, '0')}';
99
}
1010

11-
String formatSyllableLyrics(List<dynamic> lines) {
11+
String formatSyllableLyrics(List<dynamic> lines, bool multiPersonWordByWord) {
1212
final syncedLyrics = StringBuffer();
1313

1414
for (final line in lines) {
1515
final timestamp = line['timestamp'] as int;
1616
syncedLyrics.write('[${toLrcTimestamp(timestamp)}]');
17-
syncedLyrics.write(line['oppositeTurn'] == true ? 'v2:' : 'v1:');
1817

18+
if (multiPersonWordByWord) {
19+
syncedLyrics.write(line['oppositeTurn'] == true ? 'v2:' : 'v1:');
20+
}
1921
for (final syllable in line['text'] as List<dynamic>) {
2022
final beginTs = '<${toLrcTimestamp(syllable['timestamp'] as int)}>';
2123
final endTs = '<${toLrcTimestamp(syllable['endtime'] as int)}>';
@@ -30,7 +32,7 @@ String formatSyllableLyrics(List<dynamic> lines) {
3032
syncedLyrics.write(endTs);
3133
}
3234

33-
if (line['background'] == true) {
35+
if (line['background'] == true && multiPersonWordByWord) {
3436
syncedLyrics.write('\n[bg:');
3537
for (final syllable in line['backgroundText'] as List<dynamic>) {
3638
final beginTs = '<${toLrcTimestamp(syllable['timestamp'] as int)}>';
@@ -72,7 +74,7 @@ String formatLyrics(String apiResponse) {
7274
final type = data['type'] as String;
7375

7476
if (type == 'Syllable') {
75-
return formatSyllableLyrics(lines);
77+
return formatSyllableLyrics(lines, false);
7678
} else if (type == 'Line') {
7779
return formatLineLyrics(lines);
7880
}
@@ -81,7 +83,7 @@ String formatLyrics(String apiResponse) {
8183
} catch (e) {
8284
try {
8385
final data = json.decode(apiResponse) as List<dynamic>;
84-
return formatSyllableLyrics(data);
86+
return formatSyllableLyrics(data, false);
8587
} catch (e) {
8688
return apiResponse;
8789
}

0 commit comments

Comments
 (0)