Mostly ALSA fixing - Alex
[terminatorX.git] / terminatorX / src / tX_midiin.h
index 54febe3fd3382e004e4b6443761bcd7da27f0c22..1c574cba0d757ce2ee35b6396a213fe91f44fa75 100644 (file)
     File: tX_midiin.h
  
     Description: Header to tX_midiin.cc
     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
 
 */    
 
 #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>
-
 class vtt_class;
 
 class tX_midievent
 class vtt_class;
 
 class tX_midievent
@@ -58,19 +56,30 @@ class tX_midievent
                value = 0;
                is_noteon = false;
        }
                value = 0;
                is_noteon = false;
        }
-
-       void print( const char* prefix ) const;
+       
+       tX_midievent() : channel(0), type(NONE), 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;
 class tX_midiin
 {
        snd_seq_t *ALSASeqHandle;
        tX_midievent last_event;
-               
+       bool is_open;
+       
   public:
        tX_midiin();
        ~tX_midiin();
 
   public:
        tX_midiin();
        ~tX_midiin();
 
+       bool get_is_open() {
+               return is_open;
+       }
+       
        int check_event();
 
        void configure_bindings( vtt_class* );
        int check_event();
 
        void configure_bindings( vtt_class* );
@@ -100,6 +109,8 @@ class tX_midiin
 
                tX_midievent last_event;
 
 
                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 );
                static void bind_clicked( GtkButton *button, gpointer _this );
                static void close_clicked( GtkButton *button, gpointer _this );
                static gint timer( gpointer _this );