From bbd239959dd26ee023fb256e6178365186194869 Mon Sep 17 00:00:00 2001
From: Florian Jung <flo@windfisch.org>
Date: Tue, 24 May 2011 13:49:56 +0000
Subject: Awl::PitchEdit now can be set with the musical keyboard

---
 muse2/ChangeLog         |  1 +
 muse2/awl/pitchedit.cpp | 12 ++++++++++++
 muse2/awl/pitchedit.h   |  3 +++
 3 files changed, 16 insertions(+)

diff --git a/muse2/ChangeLog b/muse2/ChangeLog
index 61f1509f..bef2769f 100644
--- a/muse2/ChangeLog
+++ b/muse2/ChangeLog
@@ -1,4 +1,5 @@
 24.05.2011:
+        - Awl::PitchEdit now can be set with the musical keyboard (flo93)
         - fixed y-stretch (flo93)
         - cleaned up step-rec and midi-in buttons and stuff (flo93)
         - steprec now supports a "insert rest" key, which can be set (flo93)
diff --git a/muse2/awl/pitchedit.cpp b/muse2/awl/pitchedit.cpp
index 71486be8..6bae2f5b 100644
--- a/muse2/awl/pitchedit.cpp
+++ b/muse2/awl/pitchedit.cpp
@@ -25,6 +25,8 @@
 
 #include <QKeyEvent>
 
+extern QObject* song; // TODO FINDME this is a really dirty hack!
+
 namespace Awl {
 
 //---------------------------------------------------------
@@ -36,6 +38,7 @@ PitchEdit::PitchEdit(QWidget* parent)
       {
       setRange(0, 127);
       deltaMode = false;
+      connect(song, SIGNAL(midiNote(int, int)), SLOT(midiNote(int,int)));
       }
 
 //---------------------------------------------------------
@@ -89,5 +92,14 @@ void PitchEdit::setDeltaMode(bool val)
       else
             setRange(0, 127);
       }
+
+void PitchEdit::midiNote(int pitch, int velo)
+{
+	if (hasFocus() && velo)
+	  setValue(pitch);
+}
+
+
 }
 
+
diff --git a/muse2/awl/pitchedit.h b/muse2/awl/pitchedit.h
index f9b5b24e..1512ec8d 100644
--- a/muse2/awl/pitchedit.h
+++ b/muse2/awl/pitchedit.h
@@ -48,6 +48,9 @@ class PitchEdit : public QSpinBox {
    public:
       PitchEdit(QWidget* parent);
       void setDeltaMode(bool);
+   
+   private slots:
+      void midiNote(int pitch, int velo);
       };
 }
 
-- 
cgit v1.2.3