Fixes and results of some serious valgrinding - Alex
[terminatorX.git] / src / tX_midiin.h
index 54febe3fd3382e004e4b6443761bcd7da27f0c22..dd16693b7254351314e22860fab0fca15b0367c5 100644 (file)
     File: tX_midiin.h
  
     Description: Header to tX_midiin.cc
+       
+       Changes (Alexander K├Ânig <alex@lisas.de>:
+       - Default Constructor for tX_midievents
+       - new handlers for destroy and remove binding events
 */    
 
 #ifndef _tx_midiin_h
 #define _tx_midiin_h 1
 
-#include <config.h>
-#ifdef USE_ALSA_MIDI_IN
-
-#include <alsa/asoundlib.h>
-#include <gtk/gtk.h>
+#include <stdio.h>
 
 class vtt_class;
 
@@ -58,19 +58,30 @@ class tX_midievent
                value = 0;
                is_noteon = false;
        }
-
-       void print( const char* prefix ) const;
+       
+       tX_midievent() : channel(0), type(NONE), number(0), value(0.0), is_noteon(false) {}
 };
 
+#include <config.h>
+#ifdef USE_ALSA_MIDI_IN
+
+#include <alsa/asoundlib.h>
+#include <gtk/gtk.h>
+
 class tX_midiin
 {
        snd_seq_t *ALSASeqHandle;
        tX_midievent last_event;
-               
+       bool is_open;
+       
   public:
        tX_midiin();
        ~tX_midiin();
 
+       bool get_is_open() {
+               return is_open;
+       }
+       
        int check_event();
 
        void configure_bindings( vtt_class* );
@@ -100,6 +111,8 @@ class tX_midiin
 
                tX_midievent last_event;
 
+               static void window_closed( GtkWidget *widget, gpointer _this );
+               static void unbind_clicked( GtkButton *button, gpointer _this );          
                static void bind_clicked( GtkButton *button, gpointer _this );
                static void close_clicked( GtkButton *button, gpointer _this );
                static gint timer( gpointer _this );
@@ -113,4 +126,4 @@ class tX_midiin
 
 #endif // USE_ALSA_MIDI_IN
 
-#endif // ndef _tx_midiin_h 
+#endif // ndef _tx_midiin_h