Changeset 474

Show
Ignore:
Timestamp:
01/23/07 00:45:23 (2 years ago)
Author:
radekk
Message:

Marker scrolling doesn't work now. Still working on it.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • sweep/branches/sweep-info-panel/src/info-panel.c

    r473 r474  
    20262026#endif 
    20272027 
    2028   if (view->sample->info_panel == NULL) 
     2028  if (view->sample->info_panel == NULL){ 
     2029    gtk_window_add_accel_group (GTK_WINDOW(view->window), view->accel_group); 
    20292030    return; 
     2031  } 
    20302032 
    20312033  model = view->sample->info_panel->sample; 
     
    20642066          if (ssec <= 0) 
    20652067            { 
    2066               info_panel_error_dialog (view->window, 
    2067                                       _("Invalid time specification...")); 
     2068              info_panel_error_dialog (view->window, _("Invalid time specification...")); 
     2069              gtk_window_add_accel_group (GTK_WINDOW(view->window), view->accel_group); 
    20682070              return; 
    20692071            } 
     
    21772179 
    21782180    } 
     2181 
     2182  gtk_window_add_accel_group (GTK_WINDOW(view->window), view->accel_group); 
     2183 
    21792184} 
    21802185 
     
    25922597} 
    25932598 
     2599void 
     2600info_panel_edit_started_cb (GtkCellRenderer *renderer, GtkCellEditable *editable, gchar *path, sw_view * view) 
     2601{ 
     2602 
     2603  g_print("EDIT - STARTED\n"); 
     2604 
     2605  gtk_window_remove_accel_group (GTK_WINDOW(view->window), view->accel_group); 
     2606} 
     2607 
    25942608static GtkWidget * 
    25952609info_panel_create_sample_view (sw_view * view) 
     
    26312645                                      INFO_PANEL_SAMPLE_COL_EDITABLE_VALUE); 
    26322646 
    2633   g_signal_connect (renderer, "edited", 
    2634                    (GCallback) info_panel_sample_edited_value_cb, view); 
     2647  g_signal_connect (renderer, "edited", (GCallback) info_panel_sample_edited_value_cb, view); 
     2648  g_signal_connect(renderer, "editing-started", (GCallback) info_panel_edit_started_cb, view); 
    26352649 
    26362650  return treeview; 
     
    26692683  gtk_tree_view_column_add_attribute (col, renderer, "editable", 
    26702684                                      INFO_PANEL_SELECTIONS_COL_EDITABLE_NAME); 
    2671   g_signal_connect (renderer, "edited", 
    2672                    (GCallback) info_panel_selections_edited_name_cb, view); 
     2685  g_signal_connect (renderer, "edited", (GCallback) info_panel_selections_edited_name_cb, view); 
     2686  g_signal_connect (renderer, "editing-started", (GCallback) info_panel_edit_started_cb, view); 
    26732687 
    26742688  renderer = gtk_cell_renderer_text_new (); 
     
    26792693                                      INFO_PANEL_SELECTIONS_COL_EDITABLE_VALUE); 
    26802694 
    2681   g_signal_connect (renderer, "edited", 
    2682                     (GCallback) info_panel_selections_edited_value_cb, view); 
    2683   g_signal_connect (treeview, "button-press-event", 
    2684                     (GCallback) info_panel_selections_bpress_cb, view); 
     2695  g_signal_connect (renderer, "edited", (GCallback) info_panel_selections_edited_value_cb, view); 
     2696  g_signal_connect (renderer, "editing-started", (GCallback) info_panel_edit_started_cb, view); 
     2697  g_signal_connect (treeview, "button-press-event", (GCallback) info_panel_selections_bpress_cb, view); 
    26852698 
    26862699  return treeview; 
     
    27802793                                      INFO_PANEL_MARKERS_COL_EDITABLE_VALUE); 
    27812794 
    2782   g_signal_connect (renderer, "edited", 
    2783                     (GCallback) info_panel_markers_edited_value_cb, view); 
    2784   g_signal_connect (treeview, "button-press-event", 
    2785                     (GCallback) info_panel_markers_bpress_cb, view); 
     2795  g_signal_connect (renderer, "edited", (GCallback) info_panel_markers_edited_value_cb, view); 
     2796  g_signal_connect (renderer, "editing-started", (GCallback) info_panel_edit_started_cb, view); 
     2797  g_signal_connect (treeview, "button-press-event", (GCallback) info_panel_markers_bpress_cb, view); 
    27862798 
    27872799  return treeview; 
  • sweep/branches/sweep-info-panel/src/sample-display.c

    r473 r474  
    20062006   * new_win_start);  
    20072007   */ 
    2008   s->hand_scroll_delta *= 0.98
    2009  
    2010   return (s->hand_scroll_delta != 0); 
     2008  s->hand_scroll_delta *= 0.95
     2009 
     2010  return ( abs (s->hand_scroll_delta) >= 1 ); 
    20112011} 
    20122012 
     
    20292029    } 
    20302030 
    2031   s->view->sample->tmp_sel->sel_start = new_win_start; 
     2031  if (s->view->sample->tmp_sel) 
     2032    s->view->sample->tmp_sel->sel_start = new_win_start; 
    20322033 
    20332034  return (new_win_start > 0); 
     
    20522053    } 
    20532054 
    2054   s->view->sample->tmp_sel->sel_end = s->view->end; 
     2055  if (s->view->sample->tmp_sel) 
     2056    s->view->sample->tmp_sel->sel_end = s->view->end; 
    20552057 
    20562058  return (new_win_start >= (s->view->end - win_length)); 
     
    22382240    offset_xpos = OFFSET_TO_XPOS (sample->user_offset); 
    22392241 
    2240  
    2241  
    2242  
    2243  
    2244  
    2245  
    2246  
    2247  
    2248  
    2249  
    2250  
    2251  
    2252  
    2253  
    2254  
    2255  
    2256  
    2257  
    2258  
    2259  
    2260  
    2261  
    2262  
    2263  
    2264  
    2265  
    2266  
    2267  
    2268  
    2269  
    2270  
    2271  
    2272  
    2273  
    2274  
    2275  
    2276  
    2277  
    2278  
    2279  
    2280  
    2281  
    2282  
    2283  
    2284  
    2285  
    2286  
    2287  
    2288  
    2289  
    2290  
    2291  
    2292  
    2293  
    2294  
    2295  
    2296  
    2297  
    2298  
    2299  
    2300  
    2301  
    2302  
    2303  
    2304  
    2305  
    23062242    new_win_start = 
    23072243    s->selecting_wins0 + (s->selecting_x0 - x) * vlen / s->width; 
    23082244 
    2309  
    2310  
    2311  
    2312  
    2313  
    2314  
    2315  
    2316  
    2317  
    2318  
    2319  
    2320  
    2321  
    2322  
    2323  
    2324  
    2325  
    2326  
    2327  
    2328  
    2329  
    2330  
    2331  
    2332  
    2333  
    2334  
    2335  
    2336  
    2337  
    2338  
    2339  
    2340  
    2341  
    2342  
    2343  
    2344  
    2345  
    2346  
    2347  
    2348  
    2349  
    2350  
    2351  
    2352  
    2353  
    2354  
    2355  
    2356  
    2357  
    2358  
    2359  
    2360  
    2361  
    2362  
    2363  
    2364  
    2365  
    2366  
    2367  
    2368  
    2369  
    2370  
    2371  
    2372  
    2373  
    2374  
    23752245    new_win_start = CLAMP (new_win_start, 0, 
    23762246                           sample->sounddata->nr_frames - vlen); 
    2377  
    2378  
    2379  
    2380  
    2381  
    2382  
    2383  
    2384  
    2385  
    2386  
    2387  
    2388  
    2389  
    2390  
    2391  
    2392  
    2393  
    2394  
    2395  
    2396  
    2397  
    2398  
    23992247 
    24002248    new_offset = new_win_start + offset_xpos * vlen / s->width; 
     
    24502298 
    24512299static void 
    2452   sample_display_handle_hand_motion (SampleDisplay * s, int x, int y) 
     2300sample_display_handle_hand_motion (SampleDisplay * s, int x, int y) 
    24532301{ 
    24542302  gdouble move, vstart, vend; 
     
    25072355 
    25082356static void 
    2509   sample_display_handle_marker_motion (SampleDisplay * s, int x, int y) 
     2357sample_display_handle_marker_motion (SampleDisplay * s, int x, int y) 
    25102358{ 
    25112359  sw_mark *mark; 
     
    25142362  sw_framecount_t offset, off1, off2; 
    25152363  gboolean mod = FALSE; 
    2516  
    2517     offset = XPOS_TO_OFFSET (x); 
    2518     off1 = XPOS_TO_OFFSET (x - 5); 
    2519     off2 = XPOS_TO_OFFSET (x + 5); 
    2520  
    2521     g_mutex_lock (sample->sounddata->marks_mutex); 
     2364  gboolean scroll_left = FALSE, scroll_right = FALSE; 
     2365 
     2366  if (x < 0) { 
     2367    scroll_left = TRUE; 
     2368    x = 0; 
     2369  } else 
     2370  if (x >= s->width - 1) { 
     2371    scroll_right = TRUE; 
     2372    x = s->width - 1; 
     2373  } 
     2374 
     2375  offset = XPOS_TO_OFFSET (x); 
     2376  off1 = XPOS_TO_OFFSET (x - 5); 
     2377  off2 = XPOS_TO_OFFSET (x + 5); 
     2378 
     2379  g_mutex_lock (sample->sounddata->marks_mutex); 
    25222380 
    25232381  if (sample->tmp_mark) 
    2524    
     2382 
    25252383 
    25262384      sample->tmp_mark->frame = offset; 
    25272385      mod = TRUE; 
    25282386 
    2529     } 
    2530   else 
    2531     { 
     2387  } else { 
    25322388      for (gl = sample->sounddata->marks; gl; gl = gl->next) 
    25332389        { 
     
    25522408               */ 
    25532409              mark->frame = offset; 
    2554 #if 0 
    2555               markdata = g_malloc0 (sizeof (MarkerData)); 
    2556  
    2557               markdata->offset = offset; 
    2558               markdata->mark_modify = mark; 
    2559  
    2560               /* 
    2561                * register modification  
    2562                */ 
    2563               perform_marker_immediate_op (sample, 
    2564                                            _("Modify Time marker"), 
    2565                                            (SweepFilter) 
    2566                                            sample_display_mod_marker, 
    2567                                            NULL, markdata); 
    2568 #endif 
    2569               mod = TRUE; 
     2410 
     2411              mod = TRUE; 
     2412 
    25702413              break; 
    25712414            } 
     
    25742417 
    25752418  g_mutex_unlock (s->view->sample->sounddata->marks_mutex); 
     2419 
     2420  if (scroll_left && s->scroll_left_tag == 0){ 
     2421 
     2422    if (s->scroll_right_tag != 0){ 
     2423 
     2424      g_source_remove (s->scroll_right_tag); 
     2425      s->scroll_right_tag = 0; 
     2426 
     2427    } 
     2428 
     2429    g_print ("Scroll left\n"); 
     2430 
     2431    s->scroll_left_tag = g_timeout_add (100, sample_display_scroll_left, (gpointer) s); 
     2432 
     2433  } 
     2434  else 
     2435 
     2436  if (scroll_right && s->scroll_right_tag == 0){ 
     2437   
     2438    if (s->scroll_left_tag != 0){ 
     2439   
     2440      g_source_remove (s->scroll_left_tag); 
     2441      s->scroll_left_tag = 0; 
     2442   
     2443    } 
     2444   
     2445    g_print ("Scroll right\n"); 
     2446 
     2447    s->scroll_right_tag = g_timeout_add (100, sample_display_scroll_right, (gpointer) s); 
     2448   
     2449  } 
     2450  else 
     2451   
     2452  if (!scroll_right && !scroll_left){ 
     2453   
     2454    if (s->scroll_right_tag != 0){ 
     2455   
     2456      g_source_remove (s->scroll_right_tag); 
     2457      s->scroll_right_tag = 0; 
     2458   
     2459    } 
     2460 
     2461    if (s->scroll_left_tag != 0){ 
     2462   
     2463      g_source_remove (s->scroll_left_tag); 
     2464      s->scroll_left_tag = 0; 
     2465   
     2466    } 
     2467  } 
    25762468 
    25772469  if (mod) 
  • sweep/branches/sweep-info-panel/src/sample-display.h

    r470 r474  
    111111  gint hand_scroll_tag;         /* gtk_timeout tag for natural 
    112112                                 * hand scrolling */ 
    113   gint hand_scroll_delta;     /* natural hand scrolling */ 
     113  gfloat hand_scroll_delta;   /* natural hand scrolling */ 
    114114 
    115115  /* 
  • sweep/branches/sweep-info-panel/src/view.c

    r470 r474  
    11931193   ** and is quite a bit neater than the old stuff. 
    11941194   */ 
    1195   // noteplay_setup (subsubmenu, view, accel_group); 
     1195  noteplay_setup (subsubmenu, view, accel_group); 
    11961196 
    11971197 
     
    31603160   * implement my own 
    31613161   * 
    3162    gtk_window_add_accel_group (GTK_WINDOW(view->window), accel_group); 
    3163    view->accel_group = accel_group; 
    3164    g_print("gtk_window_add_accel_group(2): %p\n", accel_group); 
    3165    */ 
     3162   * info-panel treeview data, YES! i found the right signal !!!! 
     3163   * "editing-started" is a magic word. 
     3164   */ 
     3165 
     3166  gtk_window_add_accel_group (GTK_WINDOW(view->window), accel_group); 
     3167  view->accel_group = accel_group; 
     3168  /* 
     3169  g_print("gtk_window_add_accel_group(2): %p\n", accel_group); 
     3170  */  
    31663171  create_view_menu (view, view->menubar); 
    31673172