Index: /trunk/src/core/include/hydrogen/IO/MidiOutput.h
===================================================================
--- /trunk/src/core/include/hydrogen/IO/MidiOutput.h	(revision 2020)
+++ /trunk/src/core/include/hydrogen/IO/MidiOutput.h	(revision 2316)
@@ -44,6 +44,6 @@
 	
 	virtual void handleQueueNote(Note* pNote) = 0;
-	virtual void handleQueueNoteOff( int channel, int key, int velocity ) = 0;
-	virtual void handleQueueAllNoteOff() = 0;
+        virtual void handleQueueNoteOff( int channel, int key, int velocity ) = 0;
+        virtual void handleQueueAllNoteOff() = 0;
 	
 //protected:
Index: /trunk/src/core/src/hydrogen.cpp
===================================================================
--- /trunk/src/core/src/hydrogen.cpp	(revision 2311)
+++ /trunk/src/core/src/hydrogen.cpp	(revision 2316)
@@ -1653,5 +1653,7 @@
 	} else if ( preferencesMng->m_sMidiDriver == "JackMidi" ) {
 #ifdef H2CORE_HAVE_JACK
-		m_pMidiDriver = new JackMidiDriver();
+                JackMidiDriver *jackMidiDriver = new JackMidiDriver();
+                m_pMidiDriverOut = jackMidiDriver;
+                m_pMidiDriver = jackMidiDriver;
 		m_pMidiDriver->open();
 		m_pMidiDriver->setActive( true );
Index: /trunk/src/core/src/sampler/sampler.cpp
===================================================================
--- /trunk/src/core/src/sampler/sampler.cpp	(revision 2302)
+++ /trunk/src/core/src/sampler/sampler.cpp	(revision 2316)
@@ -182,5 +182,5 @@
 	}
 	
-	if( Hydrogen::get_instance()->getMidiOutput() != NULL ){
+        if( Hydrogen::get_instance()->getMidiOutput() != NULL ){
 		Hydrogen::get_instance()->getMidiOutput()->handleQueueNote( note );
 	}
Index: /trunk/src/core/src/IO/AlsaMidiDriver.h
===================================================================
--- /trunk/src/core/src/IO/AlsaMidiDriver.h	(revision 2020)
+++ /trunk/src/core/src/IO/AlsaMidiDriver.h	(revision 2316)
@@ -55,5 +55,5 @@
 	virtual void handleQueueNote(Note* pNote);
 	virtual void handleQueueNoteOff( int channel, int key, int velocity );
-	virtual void handleQueueAllNoteOff();
+        virtual void handleQueueAllNoteOff();
 
 private:
Index: /trunk/src/core/src/IO/jack_midi_driver.cpp
===================================================================
--- /trunk/src/core/src/IO/jack_midi_driver.cpp	(revision 2311)
+++ /trunk/src/core/src/IO/jack_midi_driver.cpp	(revision 2316)
@@ -400,5 +400,5 @@
 		return;
 
-	buffer[0] = 0x90 | channel;	/* note on */
+        buffer[0] = 0x80 | channel;	/* note off */
 	buffer[1] = key;
 	buffer[2] = 0;
