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( mem_fun( *this, &seqedit::popup_menu), m_menu_bpm )); ++ m_button_bpm->signal_clicked().connect( sigc::bind( mem_fun( *this, &seqedit::popup_menu), m_menu_bpm )); + m_tooltips->set_tip( *m_button_bpm, "Time Signature. Beats per Measure" ); + m_entry_bpm = manage( new Entry()); + m_entry_bpm->set_width_chars(2); +@@ -588,7 +588,7 @@ seqedit::fill_top_bar( void ) + /* beat width */ + m_button_bw = manage( new Button()); + m_button_bw->add( *manage( new Image(Gdk::Pixbuf::create_from_xpm_data( down_xpm )))); +- m_button_bw->signal_clicked().connect( SigC::bind( mem_fun( *this, &seqedit::popup_menu), m_menu_bw )); ++ m_button_bw->signal_clicked().connect( sigc::bind( mem_fun( *this, &seqedit::popup_menu), m_menu_bw )); + m_tooltips->set_tip( *m_button_bw, "Time Signature. Length of Beat" ); + m_entry_bw = manage( new Entry()); + m_entry_bw->set_width_chars(2); +@@ -601,7 +601,7 @@ seqedit::fill_top_bar( void ) + /* length */ + m_button_length = manage( new Button()); + m_button_length->add( *manage( new Image(Gdk::Pixbuf::create_from_xpm_data( length_xpm )))); +- m_button_length->signal_clicked().connect( SigC::bind( mem_fun( *this, &seqedit::popup_menu), m_menu_length )); ++ m_button_length->signal_clicked().connect( sigc::bind( mem_fun( *this, &seqedit::popup_menu), m_menu_length )); + m_tooltips->set_tip( *m_button_length, "Sequence length in Bars." ); + m_entry_length = manage( new Entry()); + m_entry_length->set_width_chars(2); +@@ -664,7 +664,7 @@ seqedit::fill_top_bar( void ) + /* snap */ + m_button_snap = manage( new Button()); + m_button_snap->add( *manage( new Image(Gdk::Pixbuf::create_from_xpm_data( snap_xpm )))); +- m_button_snap->signal_clicked().connect( SigC::bind( mem_fun( *this, &seqedit::popup_menu), m_menu_snap )); ++ m_button_snap->signal_clicked().connect( sigc::bind( mem_fun( *this, &seqedit::popup_menu), m_menu_snap )); + m_tooltips->set_tip( *m_button_snap, "Grid snap." ); + m_entry_snap = manage( new Entry()); + m_entry_snap->set_width_chars(5); +@@ -677,7 +677,7 @@ seqedit::fill_top_bar( void ) + /* note_length */ + m_button_note_length = manage( new Button()); + m_button_note_length->add( *manage( new Image(Gdk::Pixbuf::create_from_xpm_data( note_length_xpm )))); +- m_button_note_length->signal_clicked().connect( SigC::bind( mem_fun( *this, &seqedit::popup_menu), m_menu_note_length )); ++ m_button_note_length->signal_clicked().connect( sigc::bind( mem_fun( *this, &seqedit::popup_menu), m_menu_note_length )); + m_tooltips->set_tip( *m_button_note_length, "Note Length." ); + m_entry_note_length = manage( new Entry()); + m_entry_note_length->set_width_chars(5); +@@ -690,7 +690,7 @@ seqedit::fill_top_bar( void ) + /* zoom */ + m_button_zoom = manage( new Button()); + m_button_zoom->add( *manage( new Image(Gdk::Pixbuf::create_from_xpm_data( zoom_xpm )))); +- m_button_zoom->signal_clicked().connect( SigC::bind( mem_fun( *this, &seqedit::popup_menu), m_menu_zoom )); ++ m_button_zoom->signal_clicked().connect( sigc::bind( mem_fun( *this, &seqedit::popup_menu), m_menu_zoom )); + m_tooltips->set_tip( *m_button_zoom, "Zoom. Pixels to Ticks" ); + m_entry_zoom = manage( new Entry()); + m_entry_zoom->set_width_chars(4); +@@ -705,7 +705,7 @@ seqedit::fill_top_bar( void ) + /* key */ + m_button_key = manage( new Button()); + m_button_key->add( *manage( new Image(Gdk::Pixbuf::create_from_xpm_data( key_xpm )))); +- m_button_key->signal_clicked().connect( SigC::bind( mem_fun( *this, &seqedit::popup_menu), m_menu_key )); ++ m_button_key->signal_clicked().connect( sigc::bind( mem_fun( *this, &seqedit::popup_menu), m_menu_key )); + m_tooltips->set_tip( *m_button_key, "Key of Sequence" ); + m_entry_key = manage( new Entry()); + m_entry_key->set_width_chars(5); +@@ -717,7 +717,7 @@ seqedit::fill_top_bar( void ) + /* music scale */ + m_button_scale = manage( new Button()); + m_button_scale->add( *manage( new Image(Gdk::Pixbuf::create_from_xpm_data( scale_xpm )))); +- m_button_scale->signal_clicked().connect( SigC::bind( mem_fun( *this, &seqedit::popup_menu), m_menu_scale )); ++ m_button_scale->signal_clicked().connect( sigc::bind( mem_fun( *this, &seqedit::popup_menu), m_menu_scale )); + m_tooltips->set_tip( *m_button_scale, "Musical Scale" ); + m_entry_scale = manage( new Entry()); + m_entry_scale->set_width_chars(5); +@@ -745,17 +745,17 @@ seqedit::fill_top_bar( void ) + #if 0 + /* Select */ + m_radio_select = manage( new RadioButton( "Sel", true )); +- m_radio_select->signal_clicked().connect( SigC::bind(mem_fun( *this, &seqedit::mouse_action ), e_action_select )); ++ m_radio_select->signal_clicked().connect( sigc::bind(mem_fun( *this, &seqedit::mouse_action ), e_action_select )); + m_hbox3->pack_start( *m_radio_select, false, false ); + + /* Draw */ + m_radio_draw = manage( new RadioButton( "Draw" )); +- m_radio_draw->signal_clicked().connect( SigC::bind(mem_fun( *this, &seqedit::mouse_action ), e_action_draw )); ++ m_radio_draw->signal_clicked().connect( sigc::bind(mem_fun( *this, &seqedit::mouse_action ), e_action_draw )); + m_hbox3->pack_start( *m_radio_draw, false, false ); + + /* Grow */ + m_radio_grow = manage( new RadioButton( "Grow" )); +- m_radio_grow->signal_clicked().connect( SigC::bind(mem_fun( *this, &seqedit::mouse_action ), e_action_grow )); ++ m_radio_grow->signal_clicked().connect( sigc::bind(mem_fun( *this, &seqedit::mouse_action ), e_action_grow )); + m_hbox3->pack_start( *m_radio_grow, false, false ); + + /* Stretch */ +@@ -800,7 +800,7 @@ seqedit::popup_midibus_menu( void ) + mastermidibus *masterbus = m_mainperf->get_master_midi_bus(); + for ( int i=0; i< masterbus->get_num_out_buses(); i++ ){ + m_menu_midibus->items().push_back(MenuElem(masterbus->get_midi_out_bus_name(i), +- SigC::bind(mem_fun(*this,&seqedit::set_midi_bus), i))); ++ sigc::bind(mem_fun(*this,&seqedit::set_midi_bus), i))); + } + + m_menu_midibus->popup(0,0); +@@ -832,7 +832,7 @@ seqedit::popup_midich_menu( void ) + string(")") ); + } + m_menu_midich->items().push_back(MenuElem(name, +- SigC::bind(mem_fun(*this,&seqedit::set_midi_channel), ++ sigc::bind(mem_fun(*this,&seqedit::set_midi_channel), + i ))); + } + +@@ -853,7 +853,7 @@ seqedit::popup_sequence_menu( void ) + m_menu_sequences = manage( new Menu()); + + m_menu_sequences->items().push_back(MenuElem("Off", +- SigC::bind(mem_fun(*this, &seqedit::set_background_sequence), -1))); ++ sigc::bind(mem_fun(*this, &seqedit::set_background_sequence), -1))); + m_menu_sequences->items().push_back( SeparatorElem( )); + + for ( int ss=0; ssget_name() ); + + menu_ss->items().push_back(MenuElem(name, +- SigC::bind(mem_fun(*this,&seqedit::set_background_sequence), i))); ++ sigc::bind(mem_fun(*this,&seqedit::set_background_sequence), i))); + + } + } +@@ -964,29 +964,29 @@ seqedit::popup_event_menu( void ) + + m_menu_data->items().push_back( ImageMenuElem( "Note On Velocity", + *create_menu_image( note_on ), +- SigC::bind(mem_fun(*this,&seqedit::set_data_type), (unsigned char) EVENT_NOTE_ON, 0 ))); ++ sigc::bind(mem_fun(*this,&seqedit::set_data_type), (unsigned char) EVENT_NOTE_ON, 0 ))); + + m_menu_data->items().push_back( SeparatorElem( )); + + m_menu_data->items().push_back( ImageMenuElem( "Note Off Velocity", + *create_menu_image( note_off ), +- SigC::bind(mem_fun(*this,&seqedit::set_data_type), (unsigned char) EVENT_NOTE_OFF, 0 ))); ++ sigc::bind(mem_fun(*this,&seqedit::set_data_type), (unsigned char) EVENT_NOTE_OFF, 0 ))); + + m_menu_data->items().push_back( ImageMenuElem( "AfterTouch", + *create_menu_image( aftertouch ), +- SigC::bind(mem_fun(*this,&seqedit::set_data_type), (unsigned char) EVENT_AFTERTOUCH, 0 ))); ++ sigc::bind(mem_fun(*this,&seqedit::set_data_type), (unsigned char) EVENT_AFTERTOUCH, 0 ))); + + m_menu_data->items().push_back( ImageMenuElem( "Program Change", + *create_menu_image( program_change ), +- SigC::bind(mem_fun(*this,&seqedit::set_data_type), (unsigned char) EVENT_PROGRAM_CHANGE, 0 ))); ++ sigc::bind(mem_fun(*this,&seqedit::set_data_type), (unsigned char) EVENT_PROGRAM_CHANGE, 0 ))); + + m_menu_data->items().push_back( ImageMenuElem( "Channel Pressure", + *create_menu_image( channel_pressure ), +- SigC::bind(mem_fun(*this,&seqedit::set_data_type), (unsigned char) EVENT_CHANNEL_PRESSURE, 0 ))); ++ sigc::bind(mem_fun(*this,&seqedit::set_data_type), (unsigned char) EVENT_CHANNEL_PRESSURE, 0 ))); + + m_menu_data->items().push_back( ImageMenuElem( "Pitch Wheel", + *create_menu_image( pitch_wheel ), +- SigC::bind(mem_fun(*this,&seqedit::set_data_type), (unsigned char) EVENT_PITCH_WHEEL , 0 ))); ++ sigc::bind(mem_fun(*this,&seqedit::set_data_type), (unsigned char) EVENT_PITCH_WHEEL , 0 ))); + + m_menu_data->items().push_back( SeparatorElem( )); + +@@ -1007,7 +1007,7 @@ seqedit::popup_event_menu( void ) + + menu_cc->items().push_back( ImageMenuElem( controller_name, + *create_menu_image( ccs[i*16+j]), +- SigC::bind(mem_fun(*this,&seqedit::set_data_type), ++ sigc::bind(mem_fun(*this,&seqedit::set_data_type), + (unsigned char) EVENT_CONTROL_CHANGE, i*16+j))); + } + m_menu_data->items().push_back( MenuElem( string(b), *menu_cc )); +diff -up seq24-0.8.7/src/seqmenu.cpp.BAD seq24-0.8.7/src/seqmenu.cpp +--- seq24-0.8.7/src/seqmenu.cpp.BAD 2008-06-20 10:02:17.000000000 -0400 ++++ seq24-0.8.7/src/seqmenu.cpp 2008-06-20 10:02:32.000000000 -0400 +@@ -104,7 +104,7 @@ seqmenu::popup_menu( void ) + } + + menu_channels->items().push_back(MenuElem(name, +- SigC::bind(mem_fun(*this,&seqmenu::set_bus_and_midi_channel), ++ sigc::bind(mem_fun(*this,&seqmenu::set_bus_and_midi_channel), + i, j ))); + } + } diff --git a/seq24-buffer-overflow.patch b/seq24-buffer-overflow.patch new file mode 100644 index 0000000..d62b945 --- /dev/null +++ b/seq24-buffer-overflow.patch @@ -0,0 +1,11 @@ +--- src/seqdata.cpp~ 2006-05-17 21:40:15.000000000 -0700 ++++ src/seqdata.cpp 2008-07-11 07:44:12.000000000 -0700 +@@ -118,7 +118,7 @@ + 6, + 30 ); + +- char val[4]; ++ char val[5]; + sprintf( val, "%3d\n", i ); + char num[6]; + memset( num, 0, 6); diff --git a/seq24-gcc43.patch b/seq24-gcc43.patch new file mode 100644 index 0000000..7f2d7df --- /dev/null +++ b/seq24-gcc43.patch @@ -0,0 +1,263 @@ +--- src/font_w.xpm-dist 2007-10-22 15:52:50.000000000 +0200 ++++ src/font_w.xpm 2007-10-22 15:53:09.000000000 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * font_w_xpm[] = { ++static const char * font_w_xpm[] = { + "145 209 2 1", + " c #000000", + ". c #FFFFFF", +--- src/zoom.xpm-dist 2007-10-22 15:54:24.000000000 +0200 ++++ src/zoom.xpm 2007-10-22 15:56:20.000000000 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * zoom_xpm[] = { ++static const char * zoom_xpm[] = { + "16 14 10 1", + " c None", + ". c #000000", +--- src/play2.xpm-dist 2007-10-22 15:54:24.000000000 +0200 ++++ src/play2.xpm 2007-10-22 15:55:30.000000000 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * play2_xpm[] = { ++static const char * play2_xpm[] = { + "16 11 5 1", + " c None", + ". c #000000", +--- src/length.xpm-dist 2007-10-22 15:54:24.000000000 +0200 ++++ src/length.xpm 2007-10-22 15:54:52.000000000 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * length_xpm[] = { ++static const char * length_xpm[] = { + "36 11 2 1", + " c None", + ". c #000000", +--- src/undo.xpm-dist 2007-10-22 15:54:24.000000000 +0200 ++++ src/undo.xpm 2007-10-22 15:56:16.000000000 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * undo_xpm[] = { ++static const char * undo_xpm[] = { + "16 14 3 1", + " c None", + ". c #000000", +--- src/copy.xpm-dist 2007-10-22 15:54:24.000000000 +0200 ++++ src/copy.xpm 2007-10-22 15:54:32.000000000 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * copy_xpm[] = { ++static const char * copy_xpm[] = { + "33 11 4 1", + " c None", + ". c #000000", +--- src/event.cpp-dist 2007-10-22 15:46:20.000000000 +0200 ++++ src/event.cpp 2007-10-22 15:47:03.000000000 +0200 +@@ -18,6 +18,7 @@ + // + //----------------------------------------------------------------------------- + #include "event.h" ++#include + + event::event() + { +--- src/midi.xpm-dist 2007-10-22 15:54:24.000000000 +0200 ++++ src/midi.xpm 2007-10-22 15:55:12.000000000 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * midi_xpm[] = { ++static const char * midi_xpm[] = { + "14 14 4 1", + " c None", + ". c #000000", +--- src/stop.xpm-dist 2007-10-22 15:54:24.000000000 +0200 ++++ src/stop.xpm 2007-10-22 15:56:03.000000000 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * stop_xpm[] = { ++static const char * stop_xpm[] = { + "15 11 5 1", + " c None", + ". c #000000", +--- src/menu_empty.xpm-dist 2007-10-22 15:54:24.000000000 +0200 ++++ src/menu_empty.xpm 2007-10-22 15:55:02.000000000 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * menu_empty_xpm[] = { ++static const char * menu_empty_xpm[] = { + "10 10 2 1", + " c None", + ". c #000000", +--- src/note_length.xpm-dist 2007-10-22 15:54:24.000000000 +0200 ++++ src/note_length.xpm 2007-10-22 15:55:17.000000000 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * note_length_xpm[] = { ++static const char * note_length_xpm[] = { + "29 12 2 1", + " c None", + ". c #000000", +--- src/expand.xpm-dist 2007-10-22 15:54:24.000000000 +0200 ++++ src/expand.xpm 2007-10-22 15:54:42.000000000 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * expand_xpm[] = { ++static const char * expand_xpm[] = { + "33 11 4 1", + " c None", + ". c #000000", +--- src/rec.xpm-dist 2007-10-22 15:54:24.000000000 +0200 ++++ src/rec.xpm 2007-10-22 15:55:38.000000000 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * rec_xpm[] = { ++static const char * rec_xpm[] = { + "36 14 10 1", + " c None", + ". c #000000", +--- src/collapse.xpm-dist 2007-10-22 15:54:15.000000000 +0200 ++++ src/collapse.xpm 2007-10-22 15:54:19.000000000 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * collapse_xpm[] = { ++static const char * collapse_xpm[] = { + "27 11 3 1", + " c None", + ". c #000000", +--- src/tools.xpm-dist 2007-10-22 15:54:24.000000000 +0200 ++++ src/tools.xpm 2007-10-22 15:56:12.000000000 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * tools_xpm[] = { ++static const char * tools_xpm[] = { + "13 14 5 1", + " c None", + ". c #000000", +--- src/seq24.xpm-dist 2007-10-22 15:53:53.000000000 +0200 ++++ src/seq24.xpm 2007-10-22 15:53:58.000000000 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * seq24_xpm[] = { ++static const char * seq24_xpm[] = { + "124 32 3 1", + " c None", + ". c None", +--- src/loop.xpm-dist 2007-10-22 15:54:24.000000000 +0200 ++++ src/loop.xpm 2007-10-22 15:54:58.000000000 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * loop_xpm[] = { ++static const char * loop_xpm[] = { + "33 12 3 1", + " c None", + ". c #000000", +--- src/scale.xpm-dist 2007-10-22 15:54:24.000000000 +0200 ++++ src/scale.xpm 2007-10-22 15:55:43.000000000 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * scale_xpm[] = { ++static const char * scale_xpm[] = { + "30 14 2 1", + " c None", + ". c #000000", +--- src/key.xpm-dist 2007-10-22 15:54:24.000000000 +0200 ++++ src/key.xpm 2007-10-22 15:54:48.000000000 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * key_xpm[] = { ++static const char * key_xpm[] = { + "13 14 3 1", + " c None", + ". c #000000", +--- src/font.cpp-dist 2007-10-22 15:52:30.000000000 +0200 ++++ src/font.cpp 2007-10-22 15:52:43.000000000 +0200 +@@ -25,6 +25,7 @@ + #include "font_b.xpm" + + #include ++#include + + font::font( ) + { +--- src/down.xpm-dist 2007-10-22 15:54:24.000000000 +0200 ++++ src/down.xpm 2007-10-22 15:54:36.000000000 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * down_xpm[] = { ++static const char * down_xpm[] = { + "7 14 2 1", + " c None", + ". c #000000", +--- src/snap.xpm-dist 2007-10-22 15:54:24.000000000 +0200 ++++ src/snap.xpm 2007-10-22 15:55:59.000000000 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * snap_xpm[] = { ++static const char * snap_xpm[] = { + "29 12 5 1", + " c None", + ". c #000000", +--- src/font_b.xpm-dist 2007-10-22 15:52:48.000000000 +0200 ++++ src/font_b.xpm 2007-10-22 15:53:04.000000000 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * font_b_xpm[] = { ++static const char * font_b_xpm[] = { + "145 209 3 1", + " c None", + ". c #000000", +--- src/bus.xpm-dist 2007-10-22 15:54:08.000000000 +0200 ++++ src/bus.xpm 2007-10-22 15:54:12.000000000 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * bus_xpm[] = { ++static const char * bus_xpm[] = { + "36 14 4 1", + " c None", + ". c #000000", +--- src/perfedit.xpm-dist 2007-10-22 15:54:24.000000000 +0200 ++++ src/perfedit.xpm 2007-10-22 15:55:25.000000000 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * perfedit_xpm[] = { ++static const char * perfedit_xpm[] = { + "23 14 11 1", + " c None", + ". c #000000", +--- src/thru.xpm-dist 2007-10-22 15:54:24.000000000 +0200 ++++ src/thru.xpm 2007-10-22 15:56:08.000000000 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * thru_xpm[] = { ++static const char * thru_xpm[] = { + "62 14 10 1", + " c None", + ". c #000000", +--- src/play.xpm-dist 2007-10-22 15:54:24.000000000 +0200 ++++ src/play.xpm 2007-10-22 15:55:34.000000000 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * play_xpm[] = { ++static const char * play_xpm[] = { + "36 14 10 1", + " c None", + ". c #000000", +--- src/sequences.xpm-dist 2007-10-22 15:54:24.000000000 +0200 ++++ src/sequences.xpm 2007-10-22 15:55:55.000000000 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * sequences_xpm[] = { ++static const char * sequences_xpm[] = { + "30 14 3 1", + " c None", + ". c #000000", +--- src/menu_full.xpm-dist 2007-10-22 15:54:24.000000000 +0200 ++++ src/menu_full.xpm 2007-10-22 15:55:07.000000000 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * menu_full_xpm[] = { ++static const char * menu_full_xpm[] = { + "10 10 2 1", + " c None", + ". c #000000", diff --git a/seq24-stack-smash.patch b/seq24-stack-smash.patch new file mode 100644 index 0000000..f22756b --- /dev/null +++ b/seq24-stack-smash.patch @@ -0,0 +1,11 @@ +--- src/seqedit.cpp~ 2006-05-30 07:04:52.000000000 -0700 ++++ src/seqedit.cpp 2006-09-16 23:48:40.000000000 -0700 +@@ -425,7 +425,7 @@ + + holder = manage( new Menu()); + +- char num[6]; ++ char num[64]; + + holder2 = manage( new Menu()); + for ( int i=-12; i<=12; ++i ){ diff --git a/seq24.desktop b/seq24.desktop new file mode 100644 index 0000000..7eaee69 --- /dev/null +++ b/seq24.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Name=Seq24 +Comment=Real-time midi sequencer +Icon=seq24.png +Type=Application +Exec=seq24 +Terminal=false +StartupWMClass=seq24 +Categories=Application;AudioVideo;X-Sequencers;X-MIDI; +Encoding=UTF-8 diff --git a/seq24.png b/seq24.png new file mode 100644 index 0000000..2f508e1 Binary files /dev/null and b/seq24.png differ diff --git a/seq24.spec b/seq24.spec new file mode 100644 index 0000000..0e9ba5d --- /dev/null +++ b/seq24.spec @@ -0,0 +1,168 @@ +Summary: Real-time midi sequencer +Name: seq24 +Version: 0.8.7 +Release: 13%{?dist} +License: GPLv2+ +Group: Applications/Multimedia +URL: http://www.filter24.org/seq24/ +Source: http://filter24.org/seq24/seq24-%{version}.tar.gz +Source1: seq24.png +Source2: seq24.desktop +Patch0: seq24-stack-smash.patch +Patch1: seq24-gcc43.patch +Patch2: seq24-0.8.7-sigc22-fix.patch +Patch3: seq24-buffer-overflow.patch +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +BuildRequires: lash-devel gtkmm24-devel + +Requires: hicolor-icon-theme + +BuildRequires: desktop-file-utils + +%description +Seq24 is a real-time midi sequencer. It provides a very simple +interface for editing and playing midi 'loops'. + +%prep +%setup -q +%patch0 -p0 -b .stack-smash~ +%patch1 -p0 -b .gcc43~ +%patch2 -p1 -b .sigc22 +%patch3 -p0 -b .buffer-overflow + +%build +echo %configure +%configure +make %{?_smp_mflags} + +%install +rm -rf $RPM_BUILD_ROOT +make DESTDIR=$RPM_BUILD_ROOT install + +# Rename the "dump" command to something more specific. +mv $RPM_BUILD_ROOT%{_bindir}/dump $RPM_BUILD_ROOT%{_bindir}/seq24-dump + +mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/64x64/apps +install -m 644 %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/64x64/apps/seq24.png + +mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications +desktop-file-install --vendor fedora \ + --dir $RPM_BUILD_ROOT%{_datadir}/applications \ + %{SOURCE2} + +%clean +rm -rf $RPM_BUILD_ROOT + +%post +# update icon themes +touch --no-create %{_datadir}/icons/hicolor || : +%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : + +%postun +# update icon themes +touch --no-create %{_datadir}/icons/hicolor || : +%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : + +%files +%defattr(-,root,root,-) +%doc AUTHORS ChangeLog COPYING README RTC SEQ24 TODO seq24usr.example +%{_bindir}/* +%{_datadir}/applications/*%{name}.desktop +%{_datadir}/icons/hicolor/64x64/apps/seq24.png + +%changelog +* Fri Jul 11 2008 Anthony Green 0.8.7-13 +- Add buffer overflow fix. + +* Fri Jun 20 2008 Tom "spot" Callaway 0.8.7-12 +- Fix license tag +- Fix compile against libsigc++ 2.2 + +* Mon Mar 03 2008 Anthony Green 0.8.7-11 +- Update gcc 4.3 patch. + +* Thu Feb 28 2008 Anthony Green 0.8.7-10 +- Update for gcc 4.3. + +* Tue Oct 09 2007 Anthony Green 0.8.7-8 +- Rebuilt for new lash again. + +* Mon Oct 08 2007 Anthony Green 0.8.7-7 +- Rebuilt for new lash. + +* Thu Oct 05 2006 Christian Iseli 0.8.7-6 + - rebuilt for unwind info generation, broken in gcc-4.1.1-21 + +* Tue Sep 26 2006 Anthony Green 0.8.7-5 +- Rename "dump" to "seq-dump". +- Simplify description. + +* Mon Sep 25 2006 Anthony Green 0.8.7-4 +- Fix SOURCE reference. +- Add TODO and seq24usr.example to docs. +- Clean up macro usage. + +* Tue Sep 19 2006 Anthony Green 0.8.7-3 +- Remove Require(post,postun) for gtk2, as per the packaging + guidelines. + +* Tue Sep 19 2006 Anthony Green 0.8.7-2 +- Install the icon in the hicolor tree. +- Require hicolor-icon-theme. +- Add dist tag to Release. +- Fix post/postun scripts and Requires. + +* Sat Sep 16 2006 Anthony Green 0.8.7-1 +- updated to 0.8.7. +- first Fedora build. +- clean up Requires and BuildRequires. +- move .desktop file to %%{SOURCE2}. +- add stack-smash preventing patch. +- add %%post and %%postun scriptlets. + +* Sat May 6 2006 Fernando Lopez-Lezcano 0.8.6-1 +- updated to 0.8.6 +- added Planet CCRMA categories to desktop file, added icon + +* Fri Mar 31 2006 Fernando Lopez-Lezcano 0.8.4-1 +- updated to 0.8.4 +- added dependency for building on fc5 +- add generic bindir file list, includes new "dump" command +- added lash support + +* Wed May 4 2005 Fernando Lopez-Lezcano 0.6.3-1 +- updated to 0.6.3 + +* Tue Mar 22 2005 Fernando Lopez-Lezcano 0.6.2-1 +- updated to 0.6.2 + +* Fri Jan 21 2005 Fernando Lopez-Lezcano 0.6.0-1 +- updated to 0.6.0, now requires gtkmm2 + +* Sun Dec 19 2004 Fernando Lopez-Lezcano +- spec file cleanup + +* Sun Aug 29 2004 Fernando Lopez-Lezcano 0.5.2-1 +- updated to 0.5.2 + +* Thu Jul 29 2004 Fernando Lopez-Lezcano 0.5.1-1 +- updated to 0.5.1 + +* Wed May 5 2004 Fernando Lopez-Lezcano 0.5.0-2 +- fixed missing defattr in file list + +* Wed May 5 2004 Fernando Lopez-Lezcano 0.5.0-1 +- updated to 0.5.0 + +* Wed Jan 21 2004 Fernando Lopez-Lezcano 0.4.4-1 +- updated to 0.4.4 + +* Thu Nov 20 2003 Fernando Lopez-Lezcano 0.4.2-1 +- spec file tweaks, add release tags + +* Mon May 19 2003 Fernando Lopez-Lezcano 0.4.2-1 +- updated to 0.4.2 + +* Wed Mar 19 2003 Fernando Lopez-Lezcano 0.4.1-1 +- initial build diff --git a/sources b/sources new file mode 100644 index 0000000..0613073 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +b2c39dad73f803727c39c2e2e443ebdb seq24-0.8.7.tar.gz