[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