[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: extragear/multimedia/kmid/mac
From: Pedro Lopez-Cabanillas <pedro.lopez.cabanillas () gmail ! com>
Date: 2010-03-30 18:38:27
Message-ID: 20100330183827.25AA4AC888 () svn ! kde ! org
[Download RAW message or body]
SVN commit 1109192 by pedrol:
Fixes for Mac OSX soft synth
M +5 -13 dlssoftsynth.cpp
M +2 -2 dlssoftsynth.h
M +4 -5 macosxbackend.cpp
--- trunk/extragear/multimedia/kmid/mac/dlssoftsynth.cpp #1109191:1109192
@@ -36,13 +36,13 @@
obj->sendEvents(pktlist);
}
- DLSSoftSynth::DLSSoftSynth(QObject *parent) :
+ DLSSoftSynth::DLSSoftSynth( Settings* settings, QObject *parent ) :
QObject(parent),
m_graph(0),
m_synthNode(0),
m_outputNode(0),
m_endpoint(0),
- m_settings(0)
+ m_settings(settings)
{
m_settingsNames << "exec_dls";
m_settingsNames << "soundfont_dls";
@@ -67,10 +67,9 @@
m_messages << QString("%1 err:%2").arg(context).arg(status);
}
- void DLSSoftSynth::initialize(MacMIDIOutput *output, Settings* settings)
+ void DLSSoftSynth::initialize( MacMIDIOutput *output )
{
OSStatus result = noErr;
- m_settings = settings;
result = MIDIDestinationCreate ( output->client(),
CFSTR(PRETTY_NAME), SynthMIDIReadProc,
(void*) this, &m_endpoint );
@@ -134,8 +133,7 @@
kDebug() << "DisposeAUGraph() err:" << result;
}
m_graph = 0;
- if (m_settings != NULL)
- m_settings->setOutput_connection(QString());
+ m_settings->setOutput_connection(QString());
}
void DLSSoftSynth::start()
@@ -148,7 +146,6 @@
QString fileName;
m_messages.clear();
- m_messages << "Hi there!";
cd.componentManufacturer = kAudioUnitManufacturer_Apple;
cd.componentFlags = 0;
@@ -216,16 +213,13 @@
return;
}
- if (m_settings != NULL)
- m_settings->setOutput_connection(QLatin1String(PRETTY_NAME));
+ m_settings->setOutput_connection(QLatin1String(PRETTY_NAME));
emit synthReady(prettyName(), m_messages);
}
bool DLSSoftSynth::settingsChanged()
{
- if (m_settings == NULL)
- return false;
foreach( const QString& propName, m_settingsNames ) {
KConfigSkeletonItem* itm = m_settings->findItem(propName);
if (itm != NULL && !itm->isEqual(m_oldSettingValues[propName])) {
@@ -237,8 +231,6 @@
void DLSSoftSynth::saveSettingValues()
{
- if (m_settings == NULL)
- return;
foreach( const QString& propName, m_settingsNames ) {
KConfigSkeletonItem* itm = m_settings->findItem(propName);
if (itm != NULL)
--- trunk/extragear/multimedia/kmid/mac/dlssoftsynth.h #1109191:1109192
@@ -35,12 +35,12 @@
{
Q_OBJECT
public:
- explicit DLSSoftSynth(QObject *parent = 0);
+ explicit DLSSoftSynth( Settings *settings, QObject *parent = 0 );
virtual ~DLSSoftSynth();
void start ();
void terminate ();
- void initialize ( MacMIDIOutput *output, Settings *settings );
+ void initialize ( MacMIDIOutput *output );
bool isInitialized() const;
void sendEvents ( const MIDIPacketList *packets );
bool settingsChanged ();
--- trunk/extragear/multimedia/kmid/mac/macosxbackend.cpp #1109191:1109192
@@ -97,7 +97,7 @@
void MacOSXBackend::initializeSoftSynths(Settings* settings)
{
d->m_settings = settings;
- d->m_synth = new DLSSoftSynth(this);
+ d->m_synth = new DLSSoftSynth(settings, this);
connect( d->m_synth,
SIGNAL(synthErrors(const QString&, const QStringList&)),
SIGNAL(softSynthErrors(const QString&, const QStringList&)) );
@@ -105,9 +105,10 @@
SIGNAL(synthReady(const QString&, const QStringList&)),
SIGNAL(softSynthStarted(const QString&, const QStringList&)) );
if (d->m_settings->exec_dls()) {
- d->m_synth->initialize(d->m_output, d->m_settings);
+ d->m_synth->initialize(d->m_output);
d->m_synth->start();
d->m_synth->saveSettingValues();
+ d->m_output->reloadDeviceList();
}
}
@@ -115,8 +116,6 @@
{
if (d->m_synth != NULL)
d->m_synth->terminate();
- delete d->m_synth;
- d->m_synth = NULL;
}
bool MacOSXBackend::applySoftSynthSettings()
@@ -128,7 +127,7 @@
d->m_synth->terminate();
if (d->m_settings->exec_dls()) {
if (!d->m_synth->isInitialized())
- d->m_synth->initialize(d->m_output, d->m_settings);
+ d->m_synth->initialize(d->m_output);
d->m_synth->start();
d->m_output->reloadDeviceList();
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic