[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: extragear/multimedia/kmid/alsa
From: Pedro Lopez-Cabanillas <pedro.lopez.cabanillas () gmail ! com>
Date: 2010-09-11 14:22:57
Message-ID: 20100911142257.CC0DCAC888 () svn ! kde ! org
[Download RAW message or body]
SVN commit 1174220 by pedrol:
better soft synth settings error messages
M +15 -6 alsabackend.cpp
M +29 -5 externalsoftsynth.cpp
M +2 -0 externalsoftsynth.h
--- trunk/extragear/multimedia/kmid/alsa/alsabackend.cpp #1174219:1174220
@@ -200,14 +200,19 @@
void ALSABackend::updateConfigWidget()
{
QString version;
+ QString available;
bool Ok = d->m_fluidsynth->isProgramOK();
version = d->m_fluidsynth->programVersion();
d->ui_prefs_progs.label_fluid_available->setPixmap(
Ok ? KIcon("flag-green").pixmap(24,24) :
KIcon("flag-red").pixmap(24,24) );
- d->ui_prefs_progs.label_fluid_available->setText(
- version.isEmpty() ? i18nc("@info","Not found") :
- i18nc("@info","Found version: %1", version) );
+ available = version.isEmpty() ? i18nc("@info","Not valid") :
+ i18nc("@info","Found version: %1", version);
+ if (!Ok) {
+ available += "<br>";
+ available += d->m_fluidsynth->getSettingsErrorMessage();
+ }
+ d->ui_prefs_progs.label_fluid_available->setText(available);
d->ui_prefs_progs.kcfg_exec_fluid->setEnabled(Ok);
d->ui_prefs_progs.kcfg_audio_fluid->setEnabled(Ok);
d->ui_prefs_progs.kcfg_args_fluid->setEnabled(Ok);
@@ -219,9 +224,13 @@
d->ui_prefs_progs.label_timidity_available->setPixmap(
Ok ? KIcon("flag-green").pixmap(24,24) :
KIcon("flag-red").pixmap(24,24) );
- d->ui_prefs_progs.label_timidity_available->setText(
- version.isEmpty() ? i18nc("@info","Not found") :
- i18nc("@info","Found version: %1", version) );
+ available = version.isEmpty() ? i18nc("@info","Not valid") :
+ i18nc("@info","Found version: %1", version);
+ if (!Ok) {
+ available += "<br>";
+ available += d->m_timidity->getSettingsErrorMessage();
+ }
+ d->ui_prefs_progs.label_timidity_available->setText(available);
d->ui_prefs_progs.kcfg_exec_timidity->setEnabled(Ok);
d->ui_prefs_progs.kcfg_audio_timidity->setEnabled(Ok);
d->ui_prefs_progs.kcfg_args_timidity->setEnabled(Ok);
--- trunk/extragear/multimedia/kmid/alsa/externalsoftsynth.cpp #1174219:1174220
@@ -41,6 +41,7 @@
qRegisterMetaType<QProcess::ExitStatus>("QProcess::ExitStatus");
m_prettyName.clear();
m_version.clear();
+ m_errorMesssage.clear();
moveToThread(&m_thread);
connect(&m_thread, SIGNAL(started()), SLOT(slotThreadStarted()));
}
@@ -65,6 +66,11 @@
return m_warnings;
}
+QString ExternalSoftSynth::getSettingsErrorMessage() const
+{
+ return m_errorMesssage;
+}
+
bool ExternalSoftSynth::settingsChanged()
{
foreach( const QString& propName, m_settingsNames ) {
@@ -227,8 +233,11 @@
QString cmd = KGlobal::dirs()->findExe(u.toLocalFile());
m_Ok = false;
m_version.clear();
- if (cmd.isEmpty())
+ m_errorMesssage.clear();
+ if (cmd.isEmpty()) {
+ m_errorMesssage = i18nc("@info","The command is incorrect");
return;
+ }
timidity.setOutputChannelMode( KProcess::MergedChannels );
timidity << cmd << "--version";
if( timidity.execute( STARTUP_TIMEOUT ) >= 0 ) {
@@ -236,6 +245,8 @@
m_version = parseVersion(s);
QString copyright = parseCopyright(s);
m_Ok = !m_version.isEmpty() && !copyright.isEmpty();
+ if (!m_Ok)
+ m_errorMesssage = i18nc("@info","This program version is not supported");
}
}
@@ -322,17 +333,30 @@
QString cmd = KGlobal::dirs()->findExe(u.toLocalFile());
m_Ok = false;
m_version.clear();
- if (cmd.isEmpty())
+ m_errorMesssage.clear();
+ if (cmd.isEmpty()) {
+ m_errorMesssage =i18nc("@info","The command is incorrect");
return;
+ }
fluidsynth.setOutputChannelMode( KProcess::MergedChannels );
fluidsynth << cmd << "--version";
if( fluidsynth.execute( STARTUP_TIMEOUT ) >= 0 ) {
QString s = QString::fromLocal8Bit( fluidsynth.readAll() );
m_version = parseVersion(s);
- m_Ok = !m_version.isEmpty() && !m_settings->sf2_fluid().isEmpty();
- m_Ok &= (versionNumber(m_version) >= 0x010009U);
+ m_Ok = !m_version.isEmpty() && (versionNumber(m_version) >= 0x010009U);
+ if (!m_Ok) {
+ m_errorMesssage = i18nc("@info","This program version is not supported");
+ return;
+ }
+ m_Ok = !m_settings->sf2_fluid().isEmpty();
+ if (!m_Ok) {
+ m_errorMesssage = i18nc("@info","A SoundFont file is required");
+ return;
+ }
QFileInfo info(m_settings->sf2_fluid().toLocalFile());
- m_Ok &= info.exists();
+ m_Ok = info.exists();
+ if (!m_Ok)
+ m_errorMesssage = i18nc("@info","The SoundFont file does not exist");
}
}
--- trunk/extragear/multimedia/kmid/alsa/externalsoftsynth.h #1174219:1174220
@@ -47,6 +47,7 @@
bool settingsChanged();
bool isOutputReady();
QStringList getErrorMessages() const;
+ QString getSettingsErrorMessage() const;
virtual void start(bool waiting = false);
virtual void terminate();
@@ -79,6 +80,7 @@
QString m_prettyName;
QString m_version;
QThread m_thread;
+ QString m_errorMesssage;
};
class TimiditySoftSynth : public ExternalSoftSynth {
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic