diff --git a/Source/PluginEditor.cpp b/Source/PluginEditor.cpp
index d83507d260eb06909362d9a68dad800f656b4e4f..4148313a52481f36249ead60a7efd34f05e32ac6 100644
--- a/Source/PluginEditor.cpp
+++ b/Source/PluginEditor.cpp
@@ -15,8 +15,8 @@ Test2AudioProcessorEditor::Test2AudioProcessorEditor(Test2AudioProcessor &p)
 {
   // Make sure that before the constructor has finished, you've set the
   // editor's size to whatever you need it to be.
-  m_flogger = std::unique_ptr<juce::FileLogger>(juce::FileLogger::createDateStampedLogger("foo", "mylog", ".txt", "Welcome to plugin"));
 
+  // m_flogger = std::unique_ptr<juce::FileLogger>(juce::FileLogger::createDateStampedLogger("foo", "mylog", ".txt", "Welcome to plugin"));
   setResizable(true, true);
   setSize(400, 300);
 }
@@ -33,20 +33,18 @@ void Test2AudioProcessorEditor::paint(juce::Graphics &g)
 
   g.setColour(juce::Colours::white);
   g.setFont(15.0f);
-  g.drawFittedText("Hello Per5!", getLocalBounds(), juce::Justification::centred, 1);
-  if (m_flogger)
-    m_flogger->logMessage("paint called");
+  g.drawFittedText("Hello Per6!", getLocalBounds(), juce::Justification::centred, 1);
+  if (processor.m_flogger)
+    processor.m_flogger->logMessage("paint called");
 }
 
 void Test2AudioProcessorEditor::resized()
 {
   // This is generally where you'll want to lay out the positions of any
   // subcomponents in your editor..
-  if (m_flogger)
-    m_flogger->logMessage("resized called");
 
   auto bounds = getLocalBounds();
 
-  if (m_flogger)
-    m_flogger->logMessage(bounds.toString());
+  //if (m_flogger)
+  //  m_flogger->logMessage(bounds.toString());
 }
diff --git a/Source/PluginProcessor.cpp b/Source/PluginProcessor.cpp
index c079c820179748220cb36c23036d01708ee42f21..df4da316c0709ae0ec2e0dc762a2202ef96de08f 100644
--- a/Source/PluginProcessor.cpp
+++ b/Source/PluginProcessor.cpp
@@ -22,6 +22,9 @@ Test2AudioProcessor::Test2AudioProcessor()
       )
 #endif
 {
+    m_flogger = std::unique_ptr<juce::FileLogger>(juce::FileLogger::createDateStampedLogger("foo", "mylog", ".txt", "Welcome to plugin"));
+    if (m_flogger)
+        m_flogger->logMessage("PluginProcessor");
 }
 
 Test2AudioProcessor::~Test2AudioProcessor()
@@ -149,6 +152,23 @@ void Test2AudioProcessor::processBlock(juce::AudioBuffer<float> &buffer, juce::M
 
         // ..do something to the data...
     }
+
+    // auto iterator = midiMessages.Iterator;
+    auto iterator = juce::MidiBuffer::Iterator(midiMessages);
+    juce::MidiMessage msg;
+    int sampleNum;
+
+    while (iterator.getNextEvent(msg, sampleNum))
+    {
+        if (msg.isController())
+        {
+            //const auto *name = msg.getDescription();
+            //::MidiMessage::getControllerName(msg.getControllerNumber());
+            //const auto *name = juce::MidiMessage::getControllerName(msg.getControllerNumber());
+            if (m_flogger)
+                m_flogger->logMessage(msg.getDescription());
+        }
+    }
 }
 
 //==============================================================================
diff --git a/Source/PluginProcessor.h b/Source/PluginProcessor.h
index 18cede76797bd1f713bca9afab965ce72e2d2027..baae61be07d8d350ca69ea30c3ea2f472daf4ca4 100644
--- a/Source/PluginProcessor.h
+++ b/Source/PluginProcessor.h
@@ -13,47 +13,49 @@
 //==============================================================================
 /**
 */
-class Test2AudioProcessor  : public juce::AudioProcessor
+class Test2AudioProcessor : public juce::AudioProcessor
 {
 public:
-    //==============================================================================
-    Test2AudioProcessor();
-    ~Test2AudioProcessor();
+  //==============================================================================
+  Test2AudioProcessor();
+  ~Test2AudioProcessor();
 
-    //==============================================================================
-    void prepareToPlay (double sampleRate, int samplesPerBlock) override;
-    void releaseResources() override;
+  //==============================================================================
+  void prepareToPlay(double sampleRate, int samplesPerBlock) override;
+  void releaseResources() override;
 
-   #ifndef JucePlugin_PreferredChannelConfigurations
-    bool isBusesLayoutSupported (const BusesLayout& layouts) const override;
-   #endif
+#ifndef JucePlugin_PreferredChannelConfigurations
+  bool isBusesLayoutSupported(const BusesLayout &layouts) const override;
+#endif
 
-    void processBlock (juce::AudioBuffer<float>&, juce::MidiBuffer&) override;
+  void processBlock(juce::AudioBuffer<float> &, juce::MidiBuffer &) override;
 
-    //==============================================================================
-    juce::AudioProcessorEditor* createEditor() override;
-    bool hasEditor() const override;
+  //==============================================================================
+  juce::AudioProcessorEditor *createEditor() override;
+  bool hasEditor() const override;
 
-    //==============================================================================
-    const juce::String getName() const override;
+  //==============================================================================
+  const juce::String getName() const override;
 
-    bool acceptsMidi() const override;
-    bool producesMidi() const override;
-    bool isMidiEffect() const override;
-    double getTailLengthSeconds() const override;
+  bool acceptsMidi() const override;
+  bool producesMidi() const override;
+  bool isMidiEffect() const override;
+  double getTailLengthSeconds() const override;
 
-    //==============================================================================
-    int getNumPrograms() override;
-    int getCurrentProgram() override;
-    void setCurrentProgram (int index) override;
-    const juce::String getProgramName (int index) override;
-    void changeProgramName (int index, const juce::String& newName) override;
+  //==============================================================================
+  int getNumPrograms() override;
+  int getCurrentProgram() override;
+  void setCurrentProgram(int index) override;
+  const juce::String getProgramName(int index) override;
+  void changeProgramName(int index, const juce::String &newName) override;
 
-    //==============================================================================
-    void getStateInformation (juce::MemoryBlock& destData) override;
-    void setStateInformation (const void* data, int sizeInBytes) override;
+  //==============================================================================
+  void getStateInformation(juce::MemoryBlock &destData) override;
+  void setStateInformation(const void *data, int sizeInBytes) override;
+
+  std::unique_ptr<juce::FileLogger> m_flogger;
 
 private:
-    //==============================================================================
-    JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (Test2AudioProcessor)
+  //==============================================================================
+  JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(Test2AudioProcessor)
 };