[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: extragear/multimedia/kmid
From: Pedro Lopez-Cabanillas <pedro.lopez.cabanillas () gmail ! com>
Date: 2010-10-31 10:43:27
Message-ID: 20101031104327.F34DEAC89B () svn ! kde ! org
[Download RAW message or body]
SVN commit 1191540 by pedrol:
ALSA backend. Fix for bug#255605: highlighted lyrics syllable randomly jumps when \
playing some songs having both Text and Lyric events.
BUG: 255605
M +1 -1 CMakeLists.txt
M +7 -0 ChangeLog
M +2 -0 alsa/alsamidiobject.cpp
M +15 -0 alsa/song.cpp
M +1 -0 alsa/song.h
--- trunk/extragear/multimedia/kmid/CMakeLists.txt #1191539:1191540
@@ -1,7 +1,7 @@
project (kmid)
set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH}" "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
-set(VERSION 2.4.0)
+set(VERSION 2.4.1)
# Building standalone ?
if (NOT KDE4_FOUND)
--- trunk/extragear/multimedia/kmid/ChangeLog #1191539:1191540
@@ -1,3 +1,10 @@
+2010-10-30 Pedro Lopez-Cabanillas
+ * fix for bug#255605: highlighted lyrics syllable randomly jumps when
+ playing some songs
+
+2010-09-11 Pedro Lopez-Cabanillas
+ * better soft synth settings error messages
+
2010-08-15 Pedro Lopez-Cabanillas
* release 2.4.0
--- trunk/extragear/multimedia/kmid/alsa/alsamidiobject.cpp #1191539:1191540
@@ -592,6 +592,7 @@
if ((data.length() > 0) && (data[0] != '@') && (data[0] != '%') ) {
VariableEvent *ev = new VariableEvent(data);
ev->setSequencerType(SND_SEQ_EVENT_USR_VAR0);
+ ev->setTag(type);
appendEvent(ev);
}
break;
@@ -691,6 +692,7 @@
try {
d->m_engine->readFromFile(tmpFile);
if (!d->m_song.isEmpty()) {
+ d->m_song.discardRedundantEvents();
d->m_song.sort();
addSongPadding();
if (d->m_initialTempo == 0)
--- trunk/extragear/multimedia/kmid/alsa/song.cpp #1191539:1191540
@@ -184,4 +184,19 @@
return false;
}
+ void Song::discardRedundantEvents()
+ {
+ if (!m_text[Lyric].empty()) {
+ QMutableListIterator<SequencerEvent*> it(*this);
+ while (it.hasNext()) {
+ SequencerEvent *ev = it.next();
+ if ( ev->getSequencerType() == SND_SEQ_EVENT_USR_VAR0 &&
+ ev->getTag() != Lyric ) {
+ it.remove();
+ delete ev;
}
+ }
+ }
+ }
+
+}
--- trunk/extragear/multimedia/kmid/alsa/song.h #1191539:1191540
@@ -75,6 +75,7 @@
QTextCodec* getTextCodec() const { return m_codec; }
QStringList getText(TextType type);
QStringList getLyrics(qint64 time);
+ void discardRedundantEvents();
private:
void appendStringToList(QStringList &list, QString &s, TextType type = \
Text);
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic