SUMMARY Lyric lines with same timestamp are displayed randomly in Elisa. STEPS TO REPRODUCE 1. Prepare some lyric data with two languages just like this: [timestamp1] Lyric 1 in language A [timestamp1] Lyric 1 in language B [timestamp2] Lyric 2 in language A ... 2. Play the song in Elisa with these lyric data 3. Show lyrics in Elisa OBSERVED RESULT [timestamp1] Lyric 1 in language A [timestamp1] Lyric 1 in language B [timestamp2] Lyric 2 in language B [timestamp2] Lyric 2 in language A [timestamp3] Lyric 3 in language A ... (exactly the order is right generally with some errors inside) EXPECTED RESULT [timestamp1] Lyric 1 in language A [timestamp1] Lyric 1 in language B [timestamp2] Lyric 2 in language A [timestamp2] Lyric 2 in language B [timestamp3] Lyric 3 in language A ... SOFTWARE/OS VERSIONS Elisa: 22.12.1 KDE Plasma Version: 5.26.5 KDE Frameworks Version: 5.102.0 Qt Version: 5.15.8 ADDITIONAL INFORMATION This issue also exists in previous versions.
can you paste the LRC here for easier debugging? I suspect it has something to do with float point precision.
(In reply to hanyoung from comment #1) > can you paste the LRC here for easier debugging? I suspect it has something > to do with float point precision. These lyrics are written in music files, while I can extract them. Here is an example lyric data: [00:01.00]作曲 : DAISHI DANCE/Cécile Corbel/Tomoharu Moriya [00:59.06]In my dreams [00:59.06]我的梦里 [01:01.01]I feel your light [01:01.01]有你的光芒 [01:02.85]I feel love is born again [01:02.85]爱再次绽放 [01:06.67]Fireflies [01:06.67]萤火虫 [01:08.56]In the moonlight [01:08.56]在月光里 [01:10.73]Rising stars [01:10.73]如闪烁的繁星 [01:13.92]Remember [01:13.92]还记得吗 [01:16.48]The day [01:16.48]在那一天 [01:18.36]I fell in love with you [01:18.36]我迷恋上了你 [01:21.53]Darling won't you break [01:21.53]亲爱的,请不要伤害 [01:25.46]My heart [01:25.46]我的心 [01:29.47]Take my hand now [01:29.47]抓紧我的手 [01:31.35]Stay close to me [01:31.35]靠近我的心 [01:33.12]be my lover [01:33.12]成为我爱人 [01:35.15]Won't you let me go [01:35.15]不要放开我的手 [01:36.89]close your eyes now [01:36.89]闭上你的眼睛 [01:38.78]And you will see [01:38.78]你将会看到 [01:41.12]There's a rainbow [01:41.12]有道彩虹 [01:42.56]For you and me [01:42.56]连接你我的心 [01:59.22]As I wake up [01:59.22]当我醒来 [02:00.85]I see your face [02:00.85]看到你的脸 [02:02.88]I feel love is born again [02:02.88]爱再次绽放 [02:06.47]Cherry blossom [02:06.47]樱花盛开 [02:08.46]Flying birds [02:08.46]飞翔的鸟儿 [02:10.29]In the sky [02:10.29]在蓝天翱翔 [02:14.25]Can't you see [02:14.25]你看见了吗 [02:16.41]The sun [02:16.41]阳光 [02:18.11]That is shining on the fields [02:18.11]在原野闪烁 [02:21.51]Is it shining in [02:21.51]像闪烁在 [02:25.64]Your heart [02:25.64]你的心 [02:29.39]Take my hand now [02:29.39]抓紧我的手 [02:31.33]Stay close to me [02:31.33]靠近我的心 [02:33.11]be my lover [02:33.11]成为我爱人 [02:35.06]Won't you let me go [02:35.06]不要放开我的手 [02:36.96]Close your eyes now [02:36.96]闭上你的眼睛 [02:38.74]And you will see [02:38.74]你将会看到 [02:40.69]There's a rainbow [02:40.69]有道彩虹 [02:42.40]For you and me [02:42.40]连接你我的心 [02:59.62]And I dream of you [02:59.62]你出现在我梦中 [03:03.31]Every night [03:03.31]每个夜晚 [03:06.79]Cause's there only you [03:06.79]因为只有你 [03:10.32]In my mind [03:10.32]在我脑海里 [03:14.24]Will you be [03:14.24]你愿成为 [03:16.73]A stranger or a friend in my life [03:16.73]我生命中的陌生人或朋友 [03:21.56]Darling won't you break [03:21.56]亲爱的,请不要伤害 [03:25.47]My heart [03:25.47]我的心 [03:30.00]Take my hand now [03:30.00]抓紧我的手 [03:31.90]Stay close to me [03:31.90]靠近我的心 [03:33.77]be my lover [03:33.77]成为我爱人 [03:35.11]Won't you let me go [03:35.11]不要放开我的手 [03:36.91]Close your eyes now [03:36.91]闭上你的眼睛 [03:39.10]And you will see [03:39.10]你将会看到 [03:41.01]There's a rainbow [03:41.01]有道彩虹 [03:42.81]For you and me [03:42.81]连接你我的心 [03:44.68]Take my hand now [03:44.68]抓紧我的手 [03:46.51]Stay close to me [03:46.51]靠近我的心 [03:48.36]be my lover [03:48.36]成为我爱人 [03:50.30]Won't you let me go [03:50.30]不要放开我的手 [03:52.39]Close your eyes now [03:52.39]闭上你的眼睛 [03:54.30]And you will see [03:54.30]你将会看到 [03:56.33]There's a rainbow [03:56.33]有道彩虹 [03:58.17]For you and me [03:58.17]连接你我的心 Here is another one: [00:30.93]Закатилось солнышко за реку [00:30.93]太阳沿着河边落下 [00:34.69]Стоит городок очень маленький [00:34.69]那里有一个非常小的小镇 [00:38.44]На горе собор ночью светиться [00:38.44]山上的大教堂闪着光 [00:42.19]В стыке Карла Маркса да Энгельса [00:42.19]就在马克思和恩格斯的交界处 [00:45.94]В стыке двух эпох,как потерянный [00:45.94]就像失落在两个时代的交界处 [00:49.68]Да с укладом жизни размеренным [00:49.68]像一种有序的生活方式 [00:53.43]Где и площадь центра украшена [00:53.43]中央广场的中心 [00:57.43]Лишь фигурой дедушки Ленина [00:57.43]都有列宁爷爷的身影 [01:00.94]А он всё стоит,рукой машет нам [01:00.94]他就站在那里,向我们挥手 [01:04.68]В сто слоёв уже перекрашенный [01:04.68]已经被粉刷了一百层[01:08.68]Прилетают голуби клокоча [01:08.68]鸽子飞来,吵吵嚷嚷[01:12.43]Гадят на залысины Ильича [01:12.43]他们在伊里奇的头上大便[01:16.18]А он всё стоит... [01:16.18]他依然站在那里... [01:23.88]А он всё стоит... [01:23.88]他依然站在那里.... [01:31.62]Прячут липы жителей от жары [01:31.62]椴树为人们挡住炎热 [01:35.13]По ночам гудят телевизоры [01:35.13]晚上,电视机嗡嗡作响 [01:38.87]Где у них там кризис и санкции [01:38.87]里面讲述了危机和制裁 [01:42.62]А тут сотня верст к ближней станции [01:42.62]可我们离最近的车站还有一百里路 [01:46.37]А он всё стоит,рукой машет нам [01:46.37]他就站在那里,向我们挥手 [01:50.13]В сто слоёв уже перекрашенный [01:50.13]已经被重新粉刷了一百遍 [01:53.87]Да с косою саженью во плечах [01:53.87]而他的肩膀很宽阔 [01:57.62]От того и более величав [01:57.62]却看起来更加庄严 [02:01.37]А он всё стоит... [02:01.37]他依然站在那里...... [02:05.87]В сто слоёв уже перекрашенный [02:05.87]已经被重新粉刷了一百遍 [02:09.38]А он всё стоит... [02:09.38]他依然站在那里...... [02:12.88]Гуляют дети с мамашами [02:12.88]看着母亲和孩子们从旁边经过.... [02:31.88]Закатилось солнышко за реку [02:31.88]太阳沿着河边落下 [02:35.63]Стоит городок очень маленький [02:35.63]那里有一个非常小的小镇 [02:39.38]Из приличных слов только «на» и «ё» [02:39.38]剩下唯一像样的词只有«на»和«ё» [02:45.13]И тоска такая зелёная [02:45.13]却是如此的忧郁 [02:48.87]И он всё стоит,рукой машет нам [02:48.87]他就站在那里,向我们挥手 [02:52.63]В сто слоёв уже перекрашенный [02:52.63]已经被重新粉刷了一百遍 [02:56.63]Прилетают голуби клокоча [02:56.63]鸽子飞来,吵吵嚷嚷 [03:00.13]Гадят на залысины Ильича [03:00.13]他们在伊里奇头上大便 [03:04.12]А он всё стоит... [03:04.12]他依然站在那里.... [03:11.62]А он всё стоит... [03:11.62]他依然站在那里.......
A possibly relevant merge request was started @ https://invent.kde.org/multimedia/elisa/-/merge_requests/412
Git commit 1d3dcecc675a1ed28d69b6e7ac45655b9334ca20 by Jack Hill, on behalf of Deep Chirp. Committed on 30/09/2025 at 19:46. Pushed by jackh into branch 'master'. Lyrics: stable ordering and group highlight for identical timestamps (bilingual lines) Sometimes we need to highlight multiple lines of lyrics at once. For example, to display both the original and translated lyrics in a non-native language (https://www.cnblogs.com/headless-piston/p/18889409). Previously, however, only one line could be highlighted. ### Test plan Use LRC: [00:15.13]悴んだ心 ふるえる眼差し [00:15.13]『内心满是憔悴 眼神游动不止』 [00:15.13]"A heart grown numb with cold a trembling gaze" Seek to: * 15.12s: no lyrics bold. * 15.13s: all three lines bold; first line centered. M +108 -3 autotests/lyricsmodeltest.cpp M +62 -9 src/models/lyricsmodel.cpp M +2 -2 src/models/lyricsmodel.h M +2 -1 src/qml/ContextView.qml https://invent.kde.org/multimedia/elisa/-/commit/1d3dcecc675a1ed28d69b6e7ac45655b9334ca20