diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..a251d0f
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+seq24-0.8.7.tar.gz
diff --git a/dead.package b/dead.package
deleted file mode 100644
index 471bd74..0000000
--- a/dead.package
+++ /dev/null
@@ -1 +0,0 @@
-seq24 fails to build from source: https://bugzilla.redhat.com/show_bug.cgi?id=1675986
diff --git a/seq24-0.8.7-sigc22-fix.patch b/seq24-0.8.7-sigc22-fix.patch
new file mode 100644
index 0000000..c03148f
--- /dev/null
+++ b/seq24-0.8.7-sigc22-fix.patch
@@ -0,0 +1,504 @@
+diff -up seq24-0.8.7/src/mainwnd.h.BAD seq24-0.8.7/src/mainwnd.h
+--- seq24-0.8.7/src/mainwnd.h.BAD 2008-06-20 09:50:32.000000000 -0400
++++ seq24-0.8.7/src/mainwnd.h 2008-06-20 09:50:49.000000000 -0400
+@@ -109,7 +109,7 @@ class mainwnd : public Gtk::Window
+
+ Entry *m_entry_notes;
+
+- SigC::Connection m_timeout_connect;
++ sigc::connection m_timeout_connect;
+
+ void file_new_dialog( void );
+ void file_save_dialog( void );
+diff -up seq24-0.8.7/src/options.cpp.BAD seq24-0.8.7/src/options.cpp
+--- seq24-0.8.7/src/options.cpp.BAD 2008-06-20 09:52:44.000000000 -0400
++++ seq24-0.8.7/src/options.cpp 2008-06-20 09:53:25.000000000 -0400
+@@ -86,9 +86,9 @@ options::options (Gtk::Window & parent,
+ rb_on->set_group (group);
+ rb_mod->set_group (group);
+
+- rb_off->signal_toggled().connect (SigC::bind(mem_fun (*this, &options::clock_callback_off), i, rb_off ));
+- rb_on->signal_toggled ().connect (SigC::bind(mem_fun (*this, &options::clock_callback_on), i, rb_on ));
+- rb_mod->signal_toggled().connect (SigC::bind(mem_fun (*this, &options::clock_callback_mod), i, rb_mod ));
++ rb_off->signal_toggled().connect (sigc::bind(mem_fun (*this, &options::clock_callback_off), i, rb_off ));
++ rb_on->signal_toggled ().connect (sigc::bind(mem_fun (*this, &options::clock_callback_on), i, rb_on ));
++ rb_mod->signal_toggled().connect (sigc::bind(mem_fun (*this, &options::clock_callback_mod), i, rb_mod ));
+
+ hbox2->pack_end (*rb_mod, false, false );
+ hbox2->pack_end (*rb_on, false, false);
+@@ -117,7 +117,7 @@ options::options (Gtk::Window & parent,
+
+ vbox->pack_start( *hbox2, false, false );
+
+- clock_mod_adj->signal_value_changed().connect( SigC::bind(mem_fun(*this,&options::clock_mod_callback),clock_mod_adj));
++ clock_mod_adj->signal_value_changed().connect( sigc::bind(mem_fun(*this,&options::clock_mod_callback),clock_mod_adj));
+
+
+ // Input Buses
+diff -up seq24-0.8.7/src/perfedit.cpp.BAD seq24-0.8.7/src/perfedit.cpp
+--- seq24-0.8.7/src/perfedit.cpp.BAD 2008-06-20 09:53:43.000000000 -0400
++++ seq24-0.8.7/src/perfedit.cpp 2008-06-20 09:59:15.000000000 -0400
+@@ -31,7 +31,7 @@
+ #include "undo.xpm"
+ #include "down.xpm"
+
+-using namespace SigC;
++using namespace sigc;
+
+ perfedit::perfedit( perform *a_perf )
+ {
+@@ -99,12 +99,12 @@ perfedit::perfedit( perform *a_perf )
+ m_table->attach( *m_button_grow, 2, 3, 3, 4, Gtk::SHRINK, Gtk::SHRINK );
+
+ m_menu_snap = manage( new Menu());
+- m_menu_snap->items().push_back(MenuElem("1/1", SigC::bind(mem_fun(*this,&perfedit::set_snap), 1 )));
+- m_menu_snap->items().push_back(MenuElem("1/2", SigC::bind(mem_fun(*this,&perfedit::set_snap), 2 )));
+- m_menu_snap->items().push_back(MenuElem("1/4", SigC::bind(mem_fun(*this,&perfedit::set_snap), 4 )));
+- m_menu_snap->items().push_back(MenuElem("1/8", SigC::bind(mem_fun(*this,&perfedit::set_snap), 8 )));
+- m_menu_snap->items().push_back(MenuElem("1/16", SigC::bind(mem_fun(*this,&perfedit::set_snap), 16 )));
+- m_menu_snap->items().push_back(MenuElem("1/32", SigC::bind(mem_fun(*this,&perfedit::set_snap), 32 )));
++ m_menu_snap->items().push_back(MenuElem("1/1", sigc::bind(mem_fun(*this,&perfedit::set_snap), 1 )));
++ m_menu_snap->items().push_back(MenuElem("1/2", sigc::bind(mem_fun(*this,&perfedit::set_snap), 2 )));
++ m_menu_snap->items().push_back(MenuElem("1/4", sigc::bind(mem_fun(*this,&perfedit::set_snap), 4 )));
++ m_menu_snap->items().push_back(MenuElem("1/8", sigc::bind(mem_fun(*this,&perfedit::set_snap), 8 )));
++ m_menu_snap->items().push_back(MenuElem("1/16", sigc::bind(mem_fun(*this,&perfedit::set_snap), 16 )));
++ m_menu_snap->items().push_back(MenuElem("1/32", sigc::bind(mem_fun(*this,&perfedit::set_snap), 32 )));
+
+
+ /* snap */
+@@ -121,11 +121,11 @@ perfedit::perfedit( perform *a_perf )
+ m_menu_bw = manage( new Menu() );
+
+ /* bw */
+- m_menu_bw->items().push_back(MenuElem("1", SigC::bind(mem_fun(*this,&perfedit::set_bw), 1 )));
+- m_menu_bw->items().push_back(MenuElem("2", SigC::bind(mem_fun(*this,&perfedit::set_bw), 2 )));
+- m_menu_bw->items().push_back(MenuElem("4", SigC::bind(mem_fun(*this,&perfedit::set_bw), 4 )));
+- m_menu_bw->items().push_back(MenuElem("8", SigC::bind(mem_fun(*this,&perfedit::set_bw), 8 )));
+- m_menu_bw->items().push_back(MenuElem("16", SigC::bind(mem_fun(*this,&perfedit::set_bw), 16 )));
++ m_menu_bw->items().push_back(MenuElem("1", sigc::bind(mem_fun(*this,&perfedit::set_bw), 1 )));
++ m_menu_bw->items().push_back(MenuElem("2", sigc::bind(mem_fun(*this,&perfedit::set_bw), 2 )));
++ m_menu_bw->items().push_back(MenuElem("4", sigc::bind(mem_fun(*this,&perfedit::set_bw), 4 )));
++ m_menu_bw->items().push_back(MenuElem("8", sigc::bind(mem_fun(*this,&perfedit::set_bw), 8 )));
++ m_menu_bw->items().push_back(MenuElem("16", sigc::bind(mem_fun(*this,&perfedit::set_bw), 16 )));
+
+ char b[20];
+
+@@ -135,7 +135,7 @@ perfedit::perfedit( perform *a_perf )
+
+ /* length */
+ m_menu_bpm->items().push_back(MenuElem(b,
+- SigC::bind(mem_fun(*this,&perfedit::set_bpm),
++ sigc::bind(mem_fun(*this,&perfedit::set_bpm),
+ i+1 )));
+ }
+
+diff -up seq24-0.8.7/src/perfedit.h.BAD seq24-0.8.7/src/perfedit.h
+--- seq24-0.8.7/src/perfedit.h.BAD 2008-06-20 09:59:53.000000000 -0400
++++ seq24-0.8.7/src/perfedit.h 2008-06-20 10:00:00.000000000 -0400
+@@ -64,7 +64,7 @@
+ #include "perftime.h"
+
+ using namespace Gtk;
+-using namespace SigC;
++using namespace sigc;
+
+ /* has a seqroll and paino roll */
+ class perfedit:public Gtk::Window
+diff -up seq24-0.8.7/src/seqedit.cpp.BAD seq24-0.8.7/src/seqedit.cpp
+--- seq24-0.8.7/src/seqedit.cpp.BAD 2008-06-20 10:01:26.000000000 -0400
++++ seq24-0.8.7/src/seqedit.cpp 2008-06-20 10:01:55.000000000 -0400
+@@ -283,75 +283,75 @@ seqedit::create_menus( void )
+ char b[20];
+
+ /* zoom */
+- m_menu_zoom->items().push_back(MenuElem("1:1", SigC::bind(mem_fun(*this,&seqedit::set_zoom), 1 )));
+- m_menu_zoom->items().push_back(MenuElem("1:2", SigC::bind(mem_fun(*this,&seqedit::set_zoom), 2 )));
+- m_menu_zoom->items().push_back(MenuElem("1:4", SigC::bind(mem_fun(*this,&seqedit::set_zoom), 4 )));
+- m_menu_zoom->items().push_back(MenuElem("1:8", SigC::bind(mem_fun(*this,&seqedit::set_zoom), 8 )));
+- m_menu_zoom->items().push_back(MenuElem("1:16", SigC::bind(mem_fun(*this,&seqedit::set_zoom), 16 )));
+- m_menu_zoom->items().push_back(MenuElem("1:32", SigC::bind(mem_fun(*this,&seqedit::set_zoom), 32 )));
++ m_menu_zoom->items().push_back(MenuElem("1:1", sigc::bind(mem_fun(*this,&seqedit::set_zoom), 1 )));
++ m_menu_zoom->items().push_back(MenuElem("1:2", sigc::bind(mem_fun(*this,&seqedit::set_zoom), 2 )));
++ m_menu_zoom->items().push_back(MenuElem("1:4", sigc::bind(mem_fun(*this,&seqedit::set_zoom), 4 )));
++ m_menu_zoom->items().push_back(MenuElem("1:8", sigc::bind(mem_fun(*this,&seqedit::set_zoom), 8 )));
++ m_menu_zoom->items().push_back(MenuElem("1:16", sigc::bind(mem_fun(*this,&seqedit::set_zoom), 16 )));
++ m_menu_zoom->items().push_back(MenuElem("1:32", sigc::bind(mem_fun(*this,&seqedit::set_zoom), 32 )));
+
+ /* note snap */
+- m_menu_snap->items().push_back(MenuElem("1", SigC::bind(mem_fun(*this,&seqedit::set_snap), c_ppqn * 4 )));
+- m_menu_snap->items().push_back(MenuElem("1/2", SigC::bind(mem_fun(*this,&seqedit::set_snap), c_ppqn * 2 )));
+- m_menu_snap->items().push_back(MenuElem("1/4", SigC::bind(mem_fun(*this,&seqedit::set_snap), c_ppqn * 1 )));
+- m_menu_snap->items().push_back(MenuElem("1/8", SigC::bind(mem_fun(*this,&seqedit::set_snap), c_ppqn / 2 )));
+- m_menu_snap->items().push_back(MenuElem("1/16", SigC::bind(mem_fun(*this,&seqedit::set_snap), c_ppqn / 4 )));
+- m_menu_snap->items().push_back(MenuElem("1/32", SigC::bind(mem_fun(*this,&seqedit::set_snap), c_ppqn / 8 )));
+- m_menu_snap->items().push_back(MenuElem("1/64", SigC::bind(mem_fun(*this,&seqedit::set_snap), c_ppqn / 16 )));
+- m_menu_snap->items().push_back(MenuElem("1/128", SigC::bind(mem_fun(*this,&seqedit::set_snap), c_ppqn / 32 )));
++ m_menu_snap->items().push_back(MenuElem("1", sigc::bind(mem_fun(*this,&seqedit::set_snap), c_ppqn * 4 )));
++ m_menu_snap->items().push_back(MenuElem("1/2", sigc::bind(mem_fun(*this,&seqedit::set_snap), c_ppqn * 2 )));
++ m_menu_snap->items().push_back(MenuElem("1/4", sigc::bind(mem_fun(*this,&seqedit::set_snap), c_ppqn * 1 )));
++ m_menu_snap->items().push_back(MenuElem("1/8", sigc::bind(mem_fun(*this,&seqedit::set_snap), c_ppqn / 2 )));
++ m_menu_snap->items().push_back(MenuElem("1/16", sigc::bind(mem_fun(*this,&seqedit::set_snap), c_ppqn / 4 )));
++ m_menu_snap->items().push_back(MenuElem("1/32", sigc::bind(mem_fun(*this,&seqedit::set_snap), c_ppqn / 8 )));
++ m_menu_snap->items().push_back(MenuElem("1/64", sigc::bind(mem_fun(*this,&seqedit::set_snap), c_ppqn / 16 )));
++ m_menu_snap->items().push_back(MenuElem("1/128", sigc::bind(mem_fun(*this,&seqedit::set_snap), c_ppqn / 32 )));
+ m_menu_snap->items().push_back(SeparatorElem());
+- m_menu_snap->items().push_back(MenuElem("1/3", SigC::bind(mem_fun(*this,&seqedit::set_snap), c_ppqn * 4 / 3 )));
+- m_menu_snap->items().push_back(MenuElem("1/6", SigC::bind(mem_fun(*this,&seqedit::set_snap), c_ppqn * 2 / 3 )));
+- m_menu_snap->items().push_back(MenuElem("1/12", SigC::bind(mem_fun(*this,&seqedit::set_snap), c_ppqn * 1 / 3 )));
+- m_menu_snap->items().push_back(MenuElem("1/24", SigC::bind(mem_fun(*this,&seqedit::set_snap), c_ppqn / 2 / 3 )));
+- m_menu_snap->items().push_back(MenuElem("1/48", SigC::bind(mem_fun(*this,&seqedit::set_snap), c_ppqn / 4 / 3 )));
+- m_menu_snap->items().push_back(MenuElem("1/96", SigC::bind(mem_fun(*this,&seqedit::set_snap), c_ppqn / 8 / 3 )));
+- m_menu_snap->items().push_back(MenuElem("1/192", SigC::bind(mem_fun(*this,&seqedit::set_snap), c_ppqn / 16 / 3 )));
++ m_menu_snap->items().push_back(MenuElem("1/3", sigc::bind(mem_fun(*this,&seqedit::set_snap), c_ppqn * 4 / 3 )));
++ m_menu_snap->items().push_back(MenuElem("1/6", sigc::bind(mem_fun(*this,&seqedit::set_snap), c_ppqn * 2 / 3 )));
++ m_menu_snap->items().push_back(MenuElem("1/12", sigc::bind(mem_fun(*this,&seqedit::set_snap), c_ppqn * 1 / 3 )));
++ m_menu_snap->items().push_back(MenuElem("1/24", sigc::bind(mem_fun(*this,&seqedit::set_snap), c_ppqn / 2 / 3 )));
++ m_menu_snap->items().push_back(MenuElem("1/48", sigc::bind(mem_fun(*this,&seqedit::set_snap), c_ppqn / 4 / 3 )));
++ m_menu_snap->items().push_back(MenuElem("1/96", sigc::bind(mem_fun(*this,&seqedit::set_snap), c_ppqn / 8 / 3 )));
++ m_menu_snap->items().push_back(MenuElem("1/192", sigc::bind(mem_fun(*this,&seqedit::set_snap), c_ppqn / 16 / 3 )));
+
+ /* note note_length */
+- m_menu_note_length->items().push_back(MenuElem("1", SigC::bind(mem_fun(*this,&seqedit::set_note_length), c_ppqn * 4 )));
+- m_menu_note_length->items().push_back(MenuElem("1/2", SigC::bind(mem_fun(*this,&seqedit::set_note_length), c_ppqn * 2 )));
+- m_menu_note_length->items().push_back(MenuElem("1/4", SigC::bind(mem_fun(*this,&seqedit::set_note_length), c_ppqn * 1 )));
+- m_menu_note_length->items().push_back(MenuElem("1/8", SigC::bind(mem_fun(*this,&seqedit::set_note_length), c_ppqn / 2 )));
+- m_menu_note_length->items().push_back(MenuElem("1/16", SigC::bind(mem_fun(*this,&seqedit::set_note_length), c_ppqn / 4 )));
+- m_menu_note_length->items().push_back(MenuElem("1/32", SigC::bind(mem_fun(*this,&seqedit::set_note_length), c_ppqn / 8 )));
+- m_menu_note_length->items().push_back(MenuElem("1/64", SigC::bind(mem_fun(*this,&seqedit::set_note_length), c_ppqn / 16 )));
+- m_menu_note_length->items().push_back(MenuElem("1/128", SigC::bind(mem_fun(*this,&seqedit::set_note_length), c_ppqn / 32 )));
++ m_menu_note_length->items().push_back(MenuElem("1", sigc::bind(mem_fun(*this,&seqedit::set_note_length), c_ppqn * 4 )));
++ m_menu_note_length->items().push_back(MenuElem("1/2", sigc::bind(mem_fun(*this,&seqedit::set_note_length), c_ppqn * 2 )));
++ m_menu_note_length->items().push_back(MenuElem("1/4", sigc::bind(mem_fun(*this,&seqedit::set_note_length), c_ppqn * 1 )));
++ m_menu_note_length->items().push_back(MenuElem("1/8", sigc::bind(mem_fun(*this,&seqedit::set_note_length), c_ppqn / 2 )));
++ m_menu_note_length->items().push_back(MenuElem("1/16", sigc::bind(mem_fun(*this,&seqedit::set_note_length), c_ppqn / 4 )));
++ m_menu_note_length->items().push_back(MenuElem("1/32", sigc::bind(mem_fun(*this,&seqedit::set_note_length), c_ppqn / 8 )));
++ m_menu_note_length->items().push_back(MenuElem("1/64", sigc::bind(mem_fun(*this,&seqedit::set_note_length), c_ppqn / 16 )));
++ m_menu_note_length->items().push_back(MenuElem("1/128", sigc::bind(mem_fun(*this,&seqedit::set_note_length), c_ppqn / 32 )));
+ m_menu_note_length->items().push_back(SeparatorElem());
+- m_menu_note_length->items().push_back(MenuElem("1/3", SigC::bind(mem_fun(*this,&seqedit::set_note_length), c_ppqn * 4 / 3 )));
+- m_menu_note_length->items().push_back(MenuElem("1/6", SigC::bind(mem_fun(*this,&seqedit::set_note_length), c_ppqn * 2 / 3 )));
+- m_menu_note_length->items().push_back(MenuElem("1/12", SigC::bind(mem_fun(*this,&seqedit::set_note_length), c_ppqn * 1 / 3 )));
+- m_menu_note_length->items().push_back(MenuElem("1/24", SigC::bind(mem_fun(*this,&seqedit::set_note_length), c_ppqn / 2 / 3 )));
+- m_menu_note_length->items().push_back(MenuElem("1/48", SigC::bind(mem_fun(*this,&seqedit::set_note_length), c_ppqn / 4 / 3 )));
+- m_menu_note_length->items().push_back(MenuElem("1/96", SigC::bind(mem_fun(*this,&seqedit::set_note_length), c_ppqn / 8 / 3 )));
+- m_menu_note_length->items().push_back(MenuElem("1/192", SigC::bind(mem_fun(*this,&seqedit::set_note_length), c_ppqn / 16 / 3 )));
++ m_menu_note_length->items().push_back(MenuElem("1/3", sigc::bind(mem_fun(*this,&seqedit::set_note_length), c_ppqn * 4 / 3 )));
++ m_menu_note_length->items().push_back(MenuElem("1/6", sigc::bind(mem_fun(*this,&seqedit::set_note_length), c_ppqn * 2 / 3 )));
++ m_menu_note_length->items().push_back(MenuElem("1/12", sigc::bind(mem_fun(*this,&seqedit::set_note_length), c_ppqn * 1 / 3 )));
++ m_menu_note_length->items().push_back(MenuElem("1/24", sigc::bind(mem_fun(*this,&seqedit::set_note_length), c_ppqn / 2 / 3 )));
++ m_menu_note_length->items().push_back(MenuElem("1/48", sigc::bind(mem_fun(*this,&seqedit::set_note_length), c_ppqn / 4 / 3 )));
++ m_menu_note_length->items().push_back(MenuElem("1/96", sigc::bind(mem_fun(*this,&seqedit::set_note_length), c_ppqn / 8 / 3 )));
++ m_menu_note_length->items().push_back(MenuElem("1/192", sigc::bind(mem_fun(*this,&seqedit::set_note_length), c_ppqn / 16 / 3 )));
+
+ /* Key */
+- m_menu_key->items().push_back(MenuElem( c_key_text[0], SigC::bind(mem_fun(*this,&seqedit::set_key), 0 )));
+- m_menu_key->items().push_back(MenuElem( c_key_text[1], SigC::bind(mem_fun(*this,&seqedit::set_key), 1 )));
+- m_menu_key->items().push_back(MenuElem( c_key_text[2], SigC::bind(mem_fun(*this,&seqedit::set_key), 2 )));
+- m_menu_key->items().push_back(MenuElem( c_key_text[3], SigC::bind(mem_fun(*this,&seqedit::set_key), 3 )));
+- m_menu_key->items().push_back(MenuElem( c_key_text[4], SigC::bind(mem_fun(*this,&seqedit::set_key), 4 )));
+- m_menu_key->items().push_back(MenuElem( c_key_text[5], SigC::bind(mem_fun(*this,&seqedit::set_key), 5 )));
+- m_menu_key->items().push_back(MenuElem( c_key_text[6], SigC::bind(mem_fun(*this,&seqedit::set_key), 6 )));
+- m_menu_key->items().push_back(MenuElem( c_key_text[7], SigC::bind(mem_fun(*this,&seqedit::set_key), 7 )));
+- m_menu_key->items().push_back(MenuElem( c_key_text[8], SigC::bind(mem_fun(*this,&seqedit::set_key), 8 )));
+- m_menu_key->items().push_back(MenuElem( c_key_text[9], SigC::bind(mem_fun(*this,&seqedit::set_key), 9 )));
+- m_menu_key->items().push_back(MenuElem( c_key_text[10], SigC::bind(mem_fun(*this,&seqedit::set_key), 10 )));
+- m_menu_key->items().push_back(MenuElem( c_key_text[11], SigC::bind(mem_fun(*this,&seqedit::set_key), 11 )));
++ m_menu_key->items().push_back(MenuElem( c_key_text[0], sigc::bind(mem_fun(*this,&seqedit::set_key), 0 )));
++ m_menu_key->items().push_back(MenuElem( c_key_text[1], sigc::bind(mem_fun(*this,&seqedit::set_key), 1 )));
++ m_menu_key->items().push_back(MenuElem( c_key_text[2], sigc::bind(mem_fun(*this,&seqedit::set_key), 2 )));
++ m_menu_key->items().push_back(MenuElem( c_key_text[3], sigc::bind(mem_fun(*this,&seqedit::set_key), 3 )));
++ m_menu_key->items().push_back(MenuElem( c_key_text[4], sigc::bind(mem_fun(*this,&seqedit::set_key), 4 )));
++ m_menu_key->items().push_back(MenuElem( c_key_text[5], sigc::bind(mem_fun(*this,&seqedit::set_key), 5 )));
++ m_menu_key->items().push_back(MenuElem( c_key_text[6], sigc::bind(mem_fun(*this,&seqedit::set_key), 6 )));
++ m_menu_key->items().push_back(MenuElem( c_key_text[7], sigc::bind(mem_fun(*this,&seqedit::set_key), 7 )));
++ m_menu_key->items().push_back(MenuElem( c_key_text[8], sigc::bind(mem_fun(*this,&seqedit::set_key), 8 )));
++ m_menu_key->items().push_back(MenuElem( c_key_text[9], sigc::bind(mem_fun(*this,&seqedit::set_key), 9 )));
++ m_menu_key->items().push_back(MenuElem( c_key_text[10], sigc::bind(mem_fun(*this,&seqedit::set_key), 10 )));
++ m_menu_key->items().push_back(MenuElem( c_key_text[11], sigc::bind(mem_fun(*this,&seqedit::set_key), 11 )));
+
+ /* bw */
+- m_menu_bw->items().push_back(MenuElem("1", SigC::bind(mem_fun(*this,&seqedit::set_bw), 1 )));
+- m_menu_bw->items().push_back(MenuElem("2", SigC::bind(mem_fun(*this,&seqedit::set_bw), 2 )));
+- m_menu_bw->items().push_back(MenuElem("4", SigC::bind(mem_fun(*this,&seqedit::set_bw), 4 )));
+- m_menu_bw->items().push_back(MenuElem("8", SigC::bind(mem_fun(*this,&seqedit::set_bw), 8 )));
+- m_menu_bw->items().push_back(MenuElem("16", SigC::bind(mem_fun(*this,&seqedit::set_bw), 16 )));
++ m_menu_bw->items().push_back(MenuElem("1", sigc::bind(mem_fun(*this,&seqedit::set_bw), 1 )));
++ m_menu_bw->items().push_back(MenuElem("2", sigc::bind(mem_fun(*this,&seqedit::set_bw), 2 )));
++ m_menu_bw->items().push_back(MenuElem("4", sigc::bind(mem_fun(*this,&seqedit::set_bw), 4 )));
++ m_menu_bw->items().push_back(MenuElem("8", sigc::bind(mem_fun(*this,&seqedit::set_bw), 8 )));
++ m_menu_bw->items().push_back(MenuElem("16", sigc::bind(mem_fun(*this,&seqedit::set_bw), 16 )));
+
+
+ /* music scale */
+- m_menu_scale->items().push_back(MenuElem(c_scales_text[0], SigC::bind(mem_fun(*this,&seqedit::set_scale), c_scale_off )));
+- m_menu_scale->items().push_back(MenuElem(c_scales_text[1], SigC::bind(mem_fun(*this,&seqedit::set_scale), c_scale_major )));
+- m_menu_scale->items().push_back(MenuElem(c_scales_text[2], SigC::bind(mem_fun(*this,&seqedit::set_scale), c_scale_minor )));
++ m_menu_scale->items().push_back(MenuElem(c_scales_text[0], sigc::bind(mem_fun(*this,&seqedit::set_scale), c_scale_off )));
++ m_menu_scale->items().push_back(MenuElem(c_scales_text[1], sigc::bind(mem_fun(*this,&seqedit::set_scale), c_scale_major )));
++ m_menu_scale->items().push_back(MenuElem(c_scales_text[2], sigc::bind(mem_fun(*this,&seqedit::set_scale), c_scale_minor )));
+
+ /* midi channel menu */
+ for( int i=0; i<16; i++ ){
+@@ -360,16 +360,16 @@ seqedit::create_menus( void )
+
+ /* length */
+ m_menu_length->items().push_back(MenuElem(b,
+- SigC::bind(mem_fun(*this,&seqedit::set_measures),
++ sigc::bind(mem_fun(*this,&seqedit::set_measures),
+ i+1 )));
+ /* length */
+ m_menu_bpm->items().push_back(MenuElem(b,
+- SigC::bind(mem_fun(*this,&seqedit::set_bpm),
++ sigc::bind(mem_fun(*this,&seqedit::set_bpm),
+ i+1 )));
+ }
+
+- m_menu_length->items().push_back(MenuElem("32", SigC::bind(mem_fun(*this,&seqedit::set_measures), 32 )));
+- m_menu_length->items().push_back(MenuElem("64", SigC::bind(mem_fun(*this,&seqedit::set_measures), 64 )));
++ m_menu_length->items().push_back(MenuElem("32", sigc::bind(mem_fun(*this,&seqedit::set_measures), 32 )));
++ m_menu_length->items().push_back(MenuElem("64", sigc::bind(mem_fun(*this,&seqedit::set_measures), 64 )));
+
+
+
+@@ -394,29 +394,29 @@ seqedit::popup_tool_menu( void )
+ Menu *holder2;
+
+ holder = manage( new Menu());
+- holder->items().push_back( MenuElem( "All Notes", SigC::bind(mem_fun(*this,&seqedit::do_action), select_all_notes,0 )));
+- holder->items().push_back( MenuElem( "Inverse Notes", SigC::bind(mem_fun(*this,&seqedit::do_action), select_inverse_notes,0 )));
++ holder->items().push_back( MenuElem( "All Notes", sigc::bind(mem_fun(*this,&seqedit::do_action), select_all_notes,0 )));
++ holder->items().push_back( MenuElem( "Inverse Notes", sigc::bind(mem_fun(*this,&seqedit::do_action), select_inverse_notes,0 )));
+
+ if ( m_editing_status != EVENT_NOTE_ON &&
+ m_editing_status != EVENT_NOTE_OFF ){
+
+ holder->items().push_back( SeparatorElem( ));
+- holder->items().push_back( MenuElem( "All Events", SigC::bind(mem_fun(*this,&seqedit::do_action), select_all_events,0 )));
+- holder->items().push_back( MenuElem( "Inverse Events", SigC::bind(mem_fun(*this,&seqedit::do_action), select_inverse_events,0 )));
++ holder->items().push_back( MenuElem( "All Events", sigc::bind(mem_fun(*this,&seqedit::do_action), select_all_events,0 )));
++ holder->items().push_back( MenuElem( "Inverse Events", sigc::bind(mem_fun(*this,&seqedit::do_action), select_inverse_events,0 )));
+ }
+
+ m_menu_tools->items().push_back( MenuElem( "Select", *holder ));
+
+ holder = manage( new Menu());
+- holder->items().push_back( MenuElem( "Quantize Selected Notes", SigC::bind(mem_fun(*this,&seqedit::do_action), quantize_notes,0 )));
+- holder->items().push_back( MenuElem( "Tighten Selected Notes", SigC::bind(mem_fun(*this,&seqedit::do_action), tighten_notes,0 )));
++ holder->items().push_back( MenuElem( "Quantize Selected Notes", sigc::bind(mem_fun(*this,&seqedit::do_action), quantize_notes,0 )));
++ holder->items().push_back( MenuElem( "Tighten Selected Notes", sigc::bind(mem_fun(*this,&seqedit::do_action), tighten_notes,0 )));
+
+ if ( m_editing_status != EVENT_NOTE_ON &&
+ m_editing_status != EVENT_NOTE_OFF ){
+
+ holder->items().push_back( SeparatorElem( ));
+- holder->items().push_back( MenuElem( "Quantize Selected Events", SigC::bind(mem_fun(*this,&seqedit::do_action), quantize_events,0 )));
+- holder->items().push_back( MenuElem( "Tighten Selected Events", SigC::bind(mem_fun(*this,&seqedit::do_action), tighten_events,0 )));
++ holder->items().push_back( MenuElem( "Quantize Selected Events", sigc::bind(mem_fun(*this,&seqedit::do_action), quantize_events,0 )));
++ holder->items().push_back( MenuElem( "Tighten Selected Events", sigc::bind(mem_fun(*this,&seqedit::do_action), tighten_events,0 )));
+
+ }
+ m_menu_tools->items().push_back( MenuElem( "Modify Time", *holder ));
+@@ -432,7 +432,7 @@ seqedit::popup_tool_menu( void )
+
+ if ( i!=0 ){
+ sprintf( num, "%+d [%s]", i, c_interval_text[ abs(i) ] );
+- holder2->items().push_front( MenuElem( num, SigC::bind(mem_fun(*this,&seqedit::do_action), transpose, i )));
++ holder2->items().push_front( MenuElem( num, sigc::bind(mem_fun(*this,&seqedit::do_action), transpose, i )));
+ }
+ }
+
+@@ -445,7 +445,7 @@ seqedit::popup_tool_menu( void )
+
+ if ( i!=0 ){
+ sprintf( num, "%+d [%s]", (i<0) ? i-1 : i+1, c_chord_text[ abs(i) ] );
+- holder2->items().push_front( MenuElem( num, SigC::bind(mem_fun(*this,&seqedit::do_action), transpose_h, i )));
++ holder2->items().push_front( MenuElem( num, sigc::bind(mem_fun(*this,&seqedit::do_action), transpose_h, i )));
+ }
+ }
+
+@@ -574,7 +574,7 @@ seqedit::fill_top_bar( void )
+ /* beats per measure */
+ m_button_bpm = manage( new Button());
+ m_button_bpm->add( *manage( new Image(Gdk::Pixbuf::create_from_xpm_data( down_xpm ))));
+- m_button_bpm->signal_clicked().connect( SigC::bind