diff -rupN seq24-pristine/src/globals.h seq24/src/globals.h --- seq24-pristine/src/globals.h 2009-06-10 20:56:01.218750000 -0500 +++ seq24/src/globals.h 2009-06-10 20:28:55.265625000 -0500 @@ -331,7 +331,4 @@ const char* const c_interaction_method_d extern interaction_method_e global_interactionmethod; -// makes printable text from the given key -// see seq24.cpp for implementation -char* key2text( unsigned long int val ); #endif diff -rupN seq24-pristine/src/mainwnd.cpp seq24/src/mainwnd.cpp --- seq24-pristine/src/mainwnd.cpp 2009-06-10 20:56:00.859375000 -0500 +++ seq24/src/mainwnd.cpp 2009-06-10 20:29:50.453125000 -0500 @@ -684,7 +684,8 @@ mainwnd::about_dialog( void ) dialog.set_transient_for(*this); dialog.set_name(PACKAGE_NAME); dialog.set_version(PACKAGE_VERSION); - dialog.set_comments("Interactive MIDI Sequencer"); + dialog.set_comments("Interactive MIDI Sequencer\n" + VERSION); dialog.set_copyright( "(C) 2002 - 2006 Rob C. Buse\n" @@ -854,7 +855,7 @@ mainwnd::on_key_press_event(GdkEventKey* { char buf[512]; sprintf( buf, "Midi Group Learn: Learned! key:%s (code:%d) " - "mapped", key2text( a_ev->keyval ), a_ev->keyval ); + "mapped", gdk_keyval_name( a_ev->keyval ), a_ev->keyval ); Gtk::MessageDialog dialog(*this, buf, false, Gtk::MESSAGE_QUESTION, Gtk::BUTTONS_OK, true); @@ -869,7 +870,7 @@ mainwnd::on_key_press_event(GdkEventKey* sprintf( buf, "Midi Group Learn: key:%s (code:%d) not " "one of the configured mute-group keys, to change " "see file/options menu or .seq24rc", - key2text( a_ev->keyval ), a_ev->keyval ); + gdk_keyval_name( a_ev->keyval ), a_ev->keyval ); Gtk::MessageDialog errdialog(*this, buf, false, Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK, true); errdialog.run(); diff -rupN seq24-pristine/src/midibus_portmidi.cpp seq24/src/midibus_portmidi.cpp --- seq24-pristine/src/midibus_portmidi.cpp 2009-06-10 20:56:01.359375000 -0500 +++ seq24/src/midibus_portmidi.cpp 2009-06-10 20:32:42.640625000 -0500 @@ -157,7 +157,7 @@ midibus::play( event *a_e24, unsigned ch event.message = Pm_Message(buffer[0], buffer[1], buffer[2]); - PmError err = Pm_Write( m_pms, &event, 1 ); + /*PmError err = */Pm_Write( m_pms, &event, 1 ); unlock(); } @@ -482,7 +482,7 @@ mastermidibus::flush() mastermidibus::mastermidibus() { /* temp return */ - int ret; + //int ret; /* set initial number buses */ m_num_out_buses = 0; @@ -677,6 +677,7 @@ mastermidibus::get_midi_out_bus_name( in if ( m_buses_out_active[a_bus] && a_bus < m_num_out_buses ){ return m_buses_out[a_bus]->get_name(); } + return "error..."; } @@ -686,6 +687,7 @@ mastermidibus::get_midi_in_bus_name( int if ( m_buses_in_active[a_bus] && a_bus < m_num_in_buses ){ return m_buses_in[a_bus]->get_name(); } + return "error..."; } @@ -715,7 +717,7 @@ mastermidibus::get_num_in_buses() int mastermidibus::poll_for_midi( ) { - int ret = 0; + //int ret = 0; while(1) { diff -rupN seq24-pristine/src/options.cpp seq24/src/options.cpp --- seq24-pristine/src/options.cpp 2009-06-10 20:56:01.421875000 -0500 +++ seq24/src/options.cpp 2009-06-10 20:37:37.828125000 -0500 @@ -68,14 +68,14 @@ public: void set( unsigned int val ) { char buf[256] = ""; - char* special = key2text( val ); + char* special = gdk_keyval_name( val ); if (special) - sprintf( &buf[strlen(buf)], "%s ", special ); + sprintf( &buf[strlen(buf)], "%s", special ); else - sprintf( &buf[strlen(buf)], "'%c' ", (char)val ); - sprintf( &buf[strlen(buf)], "(%u)", val ); + sprintf( &buf[strlen(buf)], "'%c'", (char)val ); set_text( buf ); - set_width_chars( strlen(buf)-3 ); + int width = strlen(buf)-1; + set_width_chars( 1 <= width ? width : 1 ); } virtual bool on_key_press_event(GdkEventKey* event) @@ -234,130 +234,124 @@ options::options (Gtk::Window & parent, vbox->pack_start (*check, false, false); } - - // KeyBoard keybinding setup (editor for .seq24rc keybindings. - vbox = manage (new VBox ()); - m_notebook->pages ().push_back (Notebook_Helpers::TabElem (*vbox, "Keyboard")); - { - Label* label; - KeyBindEntry* entry; - HBox *hbox; - - #define AddKey(text, integer) \ - label = manage (new Label( text )); \ - hbox->pack_start (*label, false, false, 4); \ - entry = manage (new KeyBindEntry( KeyBindEntry::location, &integer )); \ - hbox->pack_start (*entry, false, false, 4); - #define AddKeyL(text) \ - label = manage (new Label( text )); \ - hbox->pack_start (*label, false, false, 4); - #define AddKeyM(text, type, slot) \ - label = manage (new Label( text )); \ - hbox->pack_start (*label, false, false, 4); \ - entry = manage (new KeyBindEntry( type, NULL, m_perf, slot )); \ - hbox->pack_start (*entry, false, false, 4); - - hbox = manage (new HBox ()); - check = manage (new CheckButton ("show key labels on sequences", 0)); - check->signal_toggled (). - connect (bind (mem_fun (*this, &options::input_callback), (int)e_keylabelsonsequence, check)); - check->set_active (m_perf->m_show_ui_sequence_key); - vbox->pack_start (*check, false, false); - - hbox = manage (new HBox ()); - AddKey( "stop:", m_perf->m_key_stop ); - AddKey( "start:", m_perf->m_key_start ); - vbox->pack_start (*hbox, false, false); - - hbox = manage (new HBox ()); - AddKey( "bpm dn:", m_perf->m_key_bpm_dn ); - AddKey( "bpm up:", m_perf->m_key_bpm_up ); - vbox->pack_start (*hbox, false, false); - - hbox = manage (new HBox ()); - AddKey( "snpsht1:", m_perf->m_key_snapshot_1 ); - AddKey( "snpsht2:", m_perf->m_key_snapshot_2 ); - vbox->pack_start (*hbox, false, false); - - hbox = manage (new HBox ()); - AddKey( "replace:", m_perf->m_key_replace ); - AddKey( "queue:", m_perf->m_key_queue ); - AddKey( "keep queue:", m_perf->m_key_keep_queue ); - vbox->pack_start (*hbox, false, false); - - hbox = manage (new HBox ()); - AddKey( "scrnset dn:", m_perf->m_key_screenset_dn ); - AddKey( "scrnset up:", m_perf->m_key_screenset_up ); - vbox->pack_start (*hbox, false, false); - - hbox = manage (new HBox ()); - AddKey( "set plying scrnset:", m_perf->m_key_set_playing_screenset ); - vbox->pack_start (*hbox, false, false); - - hbox = manage (new HBox ()); - vbox->pack_start (*hbox, false, false); - - hbox = manage (new HBox ()); - AddKeyL( "sequence toggle keys >>" ); - vbox->pack_start (*hbox, false, false); - - hbox = manage (new HBox ()); - std::map::const_iterator it; - int x = 0; - - for (int ss = 0; ss < 32; ++ss) - { - int s = (ss%8) * 4 + ss/8; // count this way... 0,4,8,16... - // FIXME: keycode is not used - unsigned int keycode = m_perf->lookup_keyevent_key( s ); - char buf[16]; - sprintf( buf, "%d", s ); - AddKeyM( buf, KeyBindEntry::events, s ); - ++x; - if (x == 8) - { - vbox->pack_start (*hbox, false, false); - hbox = manage (new HBox ()); - x = 0; - } - } - vbox->pack_start (*hbox, false, false); - - hbox = manage (new HBox ()); - AddKeyL( "mute-group slots >>" ); - vbox->pack_start (*hbox, false, false); - - hbox = manage (new HBox ()); - x = 0; - - for (int s = 0; s < 32; ++s) - { - // FIXME: keycode is not used - unsigned int keycode = m_perf->lookup_keygroup_key( s ); - char buf[16]; - sprintf( buf, "%d", s ); - AddKeyM( buf, KeyBindEntry::groups, s ); - ++x; - if (x == 8) - { - vbox->pack_start (*hbox, false, false); - hbox = manage (new HBox ()); - x = 0; - } - } - vbox->pack_start (*hbox, false, false); - - hbox = manage (new HBox ()); - AddKey( "learn (while pressing a mute-group key):", - m_perf->m_key_group_learn ); - AddKey( "disable:", m_perf->m_key_group_off ); - AddKey( "enable:", m_perf->m_key_group_on ); - vbox->pack_start (*hbox, false, false); - - #undef AddKeyL - #undef AddKey - } - + // KeyBoard keybinding setup (editor for .seq24rc keybindings. + vbox = manage (new VBox ()); + m_notebook->pages ().push_back (Notebook_Helpers::TabElem (*vbox, "Keyboard")); + { + Label* label; + KeyBindEntry* entry; + HBox *hbox; + + #define AddKey(text, integer) \ + label = manage (new Label( text )); \ + hbox->pack_start (*label, false, false, 4); \ + entry = manage (new KeyBindEntry( KeyBindEntry::location, &integer )); \ + hbox->pack_start (*entry, false, false, 4); + #define AddKeyL(text) \ + label = manage (new Label( text )); \ + hbox->pack_start (*label, false, false, 4); + #define AddKeyM(text, type, slot) \ + label = manage (new Label( text )); \ + hbox->pack_start (*label, false, false, 4); \ + entry = manage (new KeyBindEntry( type, NULL, m_perf, slot )); \ + hbox->pack_start (*entry, false, false, 4); + + hbox = manage (new HBox ()); + check = manage (new CheckButton ("show key labels on sequences", 0)); + check->signal_toggled (). + connect (bind (mem_fun (*this, &options::input_callback), (int)e_keylabelsonsequence, check)); + check->set_active (m_perf->m_show_ui_sequence_key); + vbox->pack_start (*check, false, false); + + hbox = manage (new HBox ()); + AddKey( "stop:", m_perf->m_key_stop ); + AddKey( "start:", m_perf->m_key_start ); + vbox->pack_start (*hbox, false, false); + + hbox = manage (new HBox ()); + AddKey( "bpm dn:", m_perf->m_key_bpm_dn ); + AddKey( "bpm up:", m_perf->m_key_bpm_up ); + vbox->pack_start (*hbox, false, false); + + hbox = manage (new HBox ()); + AddKey( "snpsht1:", m_perf->m_key_snapshot_1 ); + AddKey( "snpsht2:", m_perf->m_key_snapshot_2 ); + vbox->pack_start (*hbox, false, false); + + hbox = manage (new HBox ()); + AddKey( "replace:", m_perf->m_key_replace ); + AddKey( "queue:", m_perf->m_key_queue ); + AddKey( "keep queue:", m_perf->m_key_keep_queue ); + vbox->pack_start (*hbox, false, false); + + hbox = manage (new HBox ()); + AddKey( "scrnset dn:", m_perf->m_key_screenset_dn ); + AddKey( "scrnset up:", m_perf->m_key_screenset_up ); + vbox->pack_start (*hbox, false, false); + + hbox = manage (new HBox ()); + AddKey( "set plying scrnset:", m_perf->m_key_set_playing_screenset ); + vbox->pack_start (*hbox, false, false); + + hbox = manage (new HBox ()); + vbox->pack_start (*hbox, false, false); + + hbox = manage (new HBox ()); + AddKeyL( "sequence toggle keys >>" ); + vbox->pack_start (*hbox, false, false); + + hbox = manage (new HBox ()); + std::map::const_iterator it; + int x = 0; + for (int ss = 0; ss < 32; ++ss) + { + int s = (ss%8) * 4 + ss/8; // count this way... 0,4,8,16... + //unsigned int keycode = m_perf->lookup_keyevent_key( s ); + char buf[16]; + sprintf( buf, "%d", s ); + AddKeyM( buf, KeyBindEntry::events, s ); + ++x; + if (x == 8) + { + vbox->pack_start (*hbox, false, false); + hbox = manage (new HBox ()); + x = 0; + } + } + vbox->pack_start (*hbox, false, false); + + hbox = manage (new HBox ()); + AddKeyL( "mute-group slots >>" ); + vbox->pack_start (*hbox, false, false); + + hbox = manage (new HBox ()); + x = 0; + for (int s = 0; s < 32; ++s) + { + //unsigned int keycode = m_perf->lookup_keygroup_key( s ); + char buf[16]; + sprintf( buf, "%d", s ); + AddKeyM( buf, KeyBindEntry::groups, s ); + ++x; + if (x == 8) + { + vbox->pack_start (*hbox, false, false); + hbox = manage (new HBox ()); + x = 0; + } + } + vbox->pack_start (*hbox, false, false); + + hbox = manage (new HBox ()); + AddKey( "learn (while pressing a mute-group key):", m_perf->m_key_group_learn ); + AddKey( "disable:", m_perf->m_key_group_off ); + AddKey( "enable:", m_perf->m_key_group_on ); + vbox->pack_start (*hbox, false, false); + + #undef AddKeyL + #undef AddKey + } + // Jack #ifdef JACK_SUPPORT VBox *vbox2 = manage (new VBox ()); diff -rupN seq24-pristine/src/optionsfile.cpp seq24/src/optionsfile.cpp --- seq24-pristine/src/optionsfile.cpp 2009-06-10 20:56:01.281250000 -0500 +++ seq24/src/optionsfile.cpp 2009-06-10 20:39:01.656250000 -0500 @@ -67,22 +67,22 @@ optionsfile::parse( perform *a_perf ) &sequence, - &a_perf->get_midi_control_toggle(i)->m_active, - &a_perf->get_midi_control_toggle(i)->m_inverse_active, + (int*)&a_perf->get_midi_control_toggle(i)->m_active, + (int*)&a_perf->get_midi_control_toggle(i)->m_inverse_active, &a_perf->get_midi_control_toggle(i)->m_status, &a_perf->get_midi_control_toggle(i)->m_data, &a_perf->get_midi_control_toggle(i)->m_min_value, &a_perf->get_midi_control_toggle(i)->m_max_value, - &a_perf->get_midi_control_on(i)->m_active, - &a_perf->get_midi_control_on(i)->m_inverse_active, + (int*)&a_perf->get_midi_control_on(i)->m_active, + (int*)&a_perf->get_midi_control_on(i)->m_inverse_active, &a_perf->get_midi_control_on(i)->m_status, &a_perf->get_midi_control_on(i)->m_data, &a_perf->get_midi_control_on(i)->m_min_value, &a_perf->get_midi_control_on(i)->m_max_value, - &a_perf->get_midi_control_off(i)->m_active, - &a_perf->get_midi_control_off(i)->m_inverse_active, + (int*)&a_perf->get_midi_control_off(i)->m_active, + (int*)&a_perf->get_midi_control_off(i)->m_inverse_active, &a_perf->get_midi_control_off(i)->m_status, &a_perf->get_midi_control_off(i)->m_data, &a_perf->get_midi_control_off(i)->m_min_value, @@ -190,11 +190,11 @@ optionsfile::parse( perform *a_perf ) &a_perf->m_key_keep_queue); next_data_line( &file ); - sscanf( m_line, "%ld", &a_perf->m_show_ui_sequence_key ); + sscanf( m_line, "%d", (int*)&a_perf->m_show_ui_sequence_key ); next_data_line( &file ); - sscanf( m_line, "%ld", &a_perf->m_key_start ); + sscanf( m_line, "%u", &a_perf->m_key_start ); next_data_line( &file ); - sscanf( m_line, "%ld", &a_perf->m_key_stop ); + sscanf( m_line, "%u", &a_perf->m_key_stop ); line_after( &file, "[jack-transport]" ); long flag = 0; @@ -418,48 +418,48 @@ optionsfile::write( perform *a_perf ) file << "\n\n\n[keyboard-control]\n"; file << "# Key #, Sequence # \n"; - file << (a_perf->key_events.size() < c_seqs_in_set ? - a_perf->key_events.size() : c_seqs_in_set) << "\n"; + file << (a_perf->key_events.size() < (size_t)c_seqs_in_set ? + a_perf->key_events.size() : (size_t)c_seqs_in_set) << "\n"; for( std::map::const_iterator i = a_perf->key_events.begin(); i != a_perf->key_events.end(); ++i ){ - sprintf( outs, "%ld %ld # %s", i->first, i->second, key2text( i->first ) ); + sprintf( outs, "%u %ld # %s", i->first, i->second, gdk_keyval_name( i->first ) ); file << string(outs) << "\n"; } file << "\n\n\n[keyboard-group]\n"; file << "# Key #, group # \n"; - file << (a_perf->key_groups.size() < c_seqs_in_set ? - a_perf->key_groups.size() : c_seqs_in_set) << "\n"; + file << (a_perf->key_groups.size() < (size_t)c_seqs_in_set ? + a_perf->key_groups.size() : (size_t)c_seqs_in_set) << "\n"; for( std::map::const_iterator i = a_perf->key_groups.begin(); i != a_perf->key_groups.end(); ++i ){ - sprintf( outs, "%ld %ld # %s", i->first, i->second, key2text(i->first) ); + sprintf( outs, "%u %ld # %s", i->first, i->second, gdk_keyval_name(i->first) ); file << string(outs) << "\n"; } file << "# bpm up, down\n" << a_perf->m_key_bpm_up << " " << a_perf->m_key_bpm_dn << " # " - << key2text( a_perf->m_key_bpm_up ) << " " - << key2text( a_perf->m_key_bpm_dn ) << "\n"; + << gdk_keyval_name( a_perf->m_key_bpm_up ) << " " + << gdk_keyval_name( a_perf->m_key_bpm_dn ) << "\n"; file << "# screen set up, down, play\n" << a_perf->m_key_screenset_up << " " << a_perf->m_key_screenset_dn << " " << a_perf->m_key_set_playing_screenset << " # " - << key2text( a_perf->m_key_screenset_up ) << " " - << key2text( a_perf->m_key_screenset_dn ) << " " - << key2text( a_perf->m_key_set_playing_screenset ) << "\n"; + << gdk_keyval_name( a_perf->m_key_screenset_up ) << " " + << gdk_keyval_name( a_perf->m_key_screenset_dn ) << " " + << gdk_keyval_name( a_perf->m_key_set_playing_screenset ) << "\n"; file << "# group on, off, learn\n" << a_perf->m_key_group_on << " " << a_perf->m_key_group_off << " " << a_perf->m_key_group_learn << " # " - << key2text( a_perf->m_key_group_on ) << " " - << key2text( a_perf->m_key_group_off ) << " " - << key2text( a_perf->m_key_group_learn ) << "\n"; + << gdk_keyval_name( a_perf->m_key_group_on ) << " " + << gdk_keyval_name( a_perf->m_key_group_off ) << " " + << gdk_keyval_name( a_perf->m_key_group_learn ) << "\n"; file << "# replace, queue, snapshot_1, snapshot 2, keep queue\n" << a_perf->m_key_replace << " " @@ -467,19 +467,19 @@ optionsfile::write( perform *a_perf ) << a_perf->m_key_snapshot_1 << " " << a_perf->m_key_snapshot_2 << " " << a_perf->m_key_keep_queue << " # " - << key2text( a_perf->m_key_replace ) << " " - << key2text( a_perf->m_key_queue ) << " " - << key2text( a_perf->m_key_snapshot_1 ) << " " - << key2text( a_perf->m_key_snapshot_2 ) << " " - << key2text( a_perf->m_key_keep_queue ) << "\n"; + << gdk_keyval_name( a_perf->m_key_replace ) << " " + << gdk_keyval_name( a_perf->m_key_queue ) << " " + << gdk_keyval_name( a_perf->m_key_snapshot_1 ) << " " + << gdk_keyval_name( a_perf->m_key_snapshot_2 ) << " " + << gdk_keyval_name( a_perf->m_key_keep_queue ) << "\n"; file << a_perf->m_show_ui_sequence_key << " # show_ui_sequence_key (1=true/0=false)\n"; file << a_perf->m_key_start << " # " - << key2text( a_perf->m_key_start ) + << gdk_keyval_name( a_perf->m_key_start ) << " start sequencer\n"; file << a_perf->m_key_stop << " # " - << key2text( a_perf->m_key_stop ) + << gdk_keyval_name( a_perf->m_key_stop ) << " stop sequencer\n"; file << "\n\n\n[jack-transport]\n\n" diff -rupN seq24-pristine/src/perfedit.cpp seq24/src/perfedit.cpp --- seq24-pristine/src/perfedit.cpp 2009-06-10 20:56:01.046875000 -0500 +++ seq24/src/perfedit.cpp 2009-06-10 20:39:09.453125000 -0500 @@ -260,7 +260,7 @@ perfedit::on_key_press_event(GdkEventKey if ( a_ev->type == GDK_KEY_PRESS ){ if ( global_print_keys ){ - printf( "key_press[%d] == %s\n", a_ev->keyval, key2text( a_ev->keyval ) ); + printf( "key_press[%d] == %s\n", a_ev->keyval, gdk_keyval_name( a_ev->keyval ) ); } // the start/end key may be the same key (i.e. SPACE) // allow toggling when the same key is mapped to both triggers (i.e. SPACEBAR) diff -rupN seq24-pristine/src/perform.cpp seq24/src/perform.cpp --- seq24-pristine/src/perform.cpp 2009-06-10 20:56:01.562500000 -0500 +++ seq24/src/perform.cpp 2009-06-10 20:39:48.562500000 -0500 @@ -101,39 +101,40 @@ perform::perform() set_key_event( GDK_i, 29 ); set_key_event( GDK_k, 30 ); set_key_event( GDK_comma, 31 ); - set_key_group( 33, 0 ); - set_key_group( 34, 1 ); - set_key_group( 163, 2 ); - set_key_group( 36, 3 ); - set_key_group( 37, 4 ); - set_key_group( 38, 5 ); - set_key_group( 47, 6 ); - set_key_group( 40, 7 ); - set_key_group( 81, 8 ); - set_key_group( 87, 9 ); - set_key_group( 69, 10 ); - set_key_group( 82, 11 ); - set_key_group( 84, 12 ); - set_key_group( 89, 13 ); - set_key_group( 85, 14 ); - set_key_group( 73, 15 ); - set_key_group( 65, 16 ); - set_key_group( 83, 17 ); - set_key_group( 68, 18 ); - set_key_group( 70, 19 ); - set_key_group( 71, 20 ); - set_key_group( 72, 21 ); - set_key_group( 74, 22 ); - set_key_group( 75, 23 ); - set_key_group( 90, 24 ); - set_key_group( 88, 25 ); - set_key_group( 67, 26 ); - set_key_group( 86, 27 ); - set_key_group( 66, 28 ); - set_key_group( 78, 29 ); - set_key_group( 77, 30 ); - set_key_group( 59, 31 ); + set_key_group( GDK_exclam, 0 ); + set_key_group( GDK_quotedbl, 1 ); + set_key_group( GDK_numbersign, 2 ); + set_key_group( GDK_dollar, 3 ); + set_key_group( GDK_percent, 4 ); + set_key_group( GDK_ampersand, 5 ); + set_key_group( GDK_parenleft, 7 ); + set_key_group( GDK_slash, 6 ); + set_key_group( GDK_semicolon, 31 ); + set_key_group( GDK_A, 16 ); + set_key_group( GDK_B, 28 ); + set_key_group( GDK_C, 26 ); + set_key_group( GDK_D, 18 ); + set_key_group( GDK_E, 10 ); + set_key_group( GDK_F, 19 ); + set_key_group( GDK_G, 20 ); + set_key_group( GDK_H, 21 ); + set_key_group( GDK_I, 15 ); + set_key_group( GDK_J, 22 ); + set_key_group( GDK_K, 23 ); + set_key_group( GDK_M, 30 ); + set_key_group( GDK_N, 29 ); + set_key_group( GDK_Q, 8 ); + set_key_group( GDK_R, 11 ); + set_key_group( GDK_S, 17 ); + set_key_group( GDK_T, 12 ); + set_key_group( GDK_U, 14 ); + set_key_group( GDK_V, 27 ); + set_key_group( GDK_W, 9 ); + set_key_group( GDK_X, 25 ); + set_key_group( GDK_Y, 13 ); + set_key_group( GDK_Z, 24 ); + m_key_bpm_up = GDK_apostrophe; m_key_bpm_dn = GDK_semicolon; @@ -141,13 +142,13 @@ perform::perform() m_key_queue = GDK_Control_R; m_key_snapshot_1 = GDK_Alt_L; m_key_snapshot_2 = GDK_Alt_R; - m_key_keep_queue = 92; + m_key_keep_queue = GDK_backslash; m_key_screenset_up = GDK_bracketright; m_key_screenset_dn = GDK_bracketleft; - m_key_set_playing_screenset = 65360; - m_key_group_on = 236; - m_key_group_off = 39; + m_key_set_playing_screenset = GDK_Home; + m_key_group_on = GDK_igrave; + m_key_group_off = GDK_apostrophe; m_key_group_learn = GDK_Insert; m_key_start = GDK_space; @@ -340,14 +341,14 @@ void perform::set_mode_group_learn (void { set_mode_group_mute(); m_mode_group_learn = true; - for (int x = 0; x < m_notify.size(); ++x) + for (size_t x = 0; x < m_notify.size(); ++x) m_notify[x]->on_grouplearnchange( true ); return; } void perform::unset_mode_group_learn (void) { - for (int x = 0; x < m_notify.size(); ++x) + for (size_t x = 0; x < m_notify.size(); ++x) m_notify[x]->on_grouplearnchange( false ); m_mode_group_learn = false; return; @@ -1332,8 +1333,8 @@ perform::output_func(void) /* current time */ long current; - long stats_loop_start; - long stats_loop_finish; + long stats_loop_start = 0; + long stats_loop_finish = 0; /* difference between last and current */ @@ -1362,10 +1363,11 @@ perform::output_func(void) bool init_clock = true; +#ifdef JACK_SUPPORT double jack_ticks_converted = 0.0; double jack_ticks_converted_last = 0.0; double jack_ticks_delta = 0.0; - +#endif for( int i=0; i<100; i++ ){ stats_all[i] = 0; stats_clock[i] = 0; diff -rupN seq24-pristine/src/seq24.cpp seq24/src/seq24.cpp --- seq24-pristine/src/seq24.cpp 2009-06-10 20:56:00.937500000 -0500 +++ seq24/src/seq24.cpp 2009-06-10 20:41:01.812500000 -0500 @@ -312,38 +312,3 @@ main (int argc, char *argv[]) } -/* declared in globals.h */ -char* key2text( unsigned long int val ) -{ - unsigned long int s[] = {GDK_Insert, GDK_Escape, GDK_Return, GDK_Delete, - GDK_BackSpace, GDK_Pause, GDK_Break, GDK_Tab, GDK_Scroll_Lock, - GDK_Left, GDK_Right, GDK_Up, GDK_Down, GDK_Page_Up, GDK_Page_Down, - GDK_Break, GDK_Num_Lock, GDK_F1, GDK_F2, GDK_F3, GDK_F4, GDK_F5, - GDK_F6, GDK_F7, GDK_F8, GDK_F9, GDK_F10, GDK_F11, GDK_F12, - GDK_Shift_L, GDK_Shift_R, GDK_Control_L, GDK_Control_R, - GDK_Caps_Lock, GDK_Alt_L, GDK_Alt_R, GDK_Home, GDK_End, '\n', '\t', 0 }; - char* str[] = {"Ins", "Esc", "Ret", "Del", - "Bck", "Paus", "Brk", "Tab", "ScLk", - "<-", "->", "Up", "Dn", "PgUp", "PgDn", - "Brk", "NmLk", "F1", "F2", "F3", "F4", "F5", - "F6", "F7", "F8", "F9", "F10", "F11", "F12", - "ShL", "ShR", "CtlL", "CtlR", - "Caps", "AltL", "AltR", "Home", "End", "Ret", "Tab", 0 }; - unsigned long int* s2 = s; - char** str2 = str; - while (*s2 != 0) { if (val == s2[0]) return str2[0]; s2++; str2++; } - //for ( int x = '!'; x <= '~'; ++x) printf( "ascii: %d '%c'\n", x, (char)x); - - static char buf[16][16]; - static int rotate = 0; //lets us use this in iostreams for example... - rotate = (rotate + 1) % 16; - strcpy( buf[rotate], "??" ); - - //printf( "%d %d %d %d - ", val, ' ' <= val, val <= '~', *s2 ); - if (*s2 == 0 && ' ' <= val && val <= '~') - { - sprintf( buf[rotate], "'%c'", (char)val ); - } - //printf( " ret: %s\n", buf[rotate] ); - return buf[rotate]; -} diff -rupN seq24-pristine/src/seqroll.cpp seq24/src/seqroll.cpp --- seq24-pristine/src/seqroll.cpp 2009-06-10 20:56:01.218750000 -0500 +++ seq24/src/seqroll.cpp 2009-06-10 20:46:53.234375000 -0500 @@ -282,7 +282,6 @@ seqroll::redraw() } - void seqroll::redraw_events() { @@ -293,14 +292,12 @@ seqroll::redraw_events() force_draw(); } - void seqroll::set_ignore_redraw(bool a_ignore) { m_ignore_redraw = a_ignore; } - void seqroll::draw_background_on_pixmap() { @@ -337,35 +334,35 @@ seqroll::update_background() for ( int i=0; i< (m_window_y / c_key_y) + 1; i++ ) { - if (global_interactionmethod == e_fruity_interaction) - { - if (0 == (((c_num_keys - i) - m_scroll_offset_key + ( 12 - m_key )) % 12)) - { - /* draw horz black lines at C */ - m_gc->set_foreground(m_dk_grey); - m_gc->set_line_attributes( 1, - Gdk::LINE_SOLID, - Gdk::CAP_NOT_LAST, - Gdk::JOIN_MITER ); - } - else if (11 == (((c_num_keys - i) - m_scroll_offset_key + ( 12 - m_key )) % 12)) - { - /* draw horz grey lines for the other notes */ - m_gc->set_foreground(m_grey); - m_gc->set_line_attributes( 1, - Gdk::LINE_ON_OFF_DASH, - Gdk::CAP_NOT_LAST, - Gdk::JOIN_MITER ); - } - } - + if (global_interactionmethod == e_fruity_interaction) + { + if (0 == (((c_num_keys - i) - m_scroll_offset_key + ( 12 - m_key )) % 12)) + { + /* draw horz black lines at C */ + m_gc->set_foreground(m_dk_grey); + m_gc->set_line_attributes( 1, + Gdk::LINE_SOLID, + Gdk::CAP_NOT_LAST, + Gdk::JOIN_MITER ); + } + else if (11 == (((c_num_keys - i) - m_scroll_offset_key + ( 12 - m_key )) % 12)) + { + /* draw horz grey lines for the other notes */ + m_gc->set_foreground(m_grey); + m_gc->set_line_attributes( 1, + Gdk::LINE_ON_OFF_DASH, + Gdk::CAP_NOT_LAST, + Gdk::JOIN_MITER ); + } + } + m_background->draw_line(m_gc, 0, i * c_key_y, m_window_x, i * c_key_y ); - - if ( m_scale != c_scale_off ) { + + if ( m_scale != c_scale_off ){ if ( !c_scales_policy[m_scale][ ((c_num_keys - i) - m_scroll_offset_key @@ -478,14 +475,12 @@ seqroll::set_snap( int a_snap ) reset(); } - void seqroll::set_note_length( int a_note_length ) { m_note_length = a_note_length; } - /* sets the music scale */ void seqroll::set_scale( int a_scale ) @@ -1055,20 +1050,20 @@ seqroll::on_key_press_event(GdkEventKey* { bool ret = false; - // the start/end key may be the same key (i.e. SPACEBAR) - // allow toggling when the same key is mapped to both triggers (i.e. SPACEBAR) - bool dont_toggle = m_perform->m_key_start != m_perform->m_key_stop; - if ( a_p0->keyval == m_perform->m_key_start && (dont_toggle || !is_pattern_playing) ){ - m_perform->position_jack( false ); - m_perform->start( false ); - m_perform->start_jack( ); - is_pattern_playing=true; - } - else if ( a_p0->keyval == m_perform->m_key_stop && (dont_toggle || is_pattern_playing) ){ - m_perform->stop_jack(); - m_perform->stop(); - is_pattern_playing=false; - } + // the start/end key may be the same key (i.e. SPACEBAR) + // allow toggling when the same key is mapped to both triggers (i.e. SPACEBAR) + bool dont_toggle = m_perform->m_key_start != m_perform->m_key_stop; + if ( a_p0->keyval == m_perform->m_key_start && (dont_toggle || !is_pattern_playing) ){ + m_perform->position_jack( false ); + m_perform->start( false ); + m_perform->start_jack( ); + is_pattern_playing=true; + } + else if ( a_p0->keyval == m_perform->m_key_stop && (dont_toggle || is_pattern_playing) ){ + m_perform->stop_jack(); + m_perform->stop(); + is_pattern_playing=false; + } if ( a_p0->type == GDK_KEY_PRESS ){ diff -rupN seq24-pristine/src/sequence.cpp seq24/src/sequence.cpp --- seq24-pristine/src/sequence.cpp 2009-06-10 20:56:01.343750000 -0500 +++ seq24/src/sequence.cpp 2009-06-10 20:47:51.390625000 -0500 @@ -1728,11 +1728,10 @@ sequence::stream_event( event *a_ev ) link_new(); if ( m_quanized_rec ){ - if (a_ev->is_note_off()) { - select_note_events( a_ev->get_timestamp(), a_ev->get_note(), - a_ev->get_timestamp(), a_ev->get_note(), e_select); + if (a_ev->is_note_off()) { + select_note_events( a_ev->get_timestamp(), a_ev->get_note(), + a_ev->get_timestamp(), a_ev->get_note(), e_select); quanize_events( EVENT_NOTE_ON, 0, m_snap_tick, 1 , true ); - } } /* update view */