Changeset 474
- Timestamp:
- 01/23/07 00:45:23 (2 years ago)
- Files:
-
- sweep/branches/sweep-info-panel/src/info-panel.c (modified) (8 diffs)
- sweep/branches/sweep-info-panel/src/sample-display.c (modified) (9 diffs)
- sweep/branches/sweep-info-panel/src/sample-display.h (modified) (1 diff)
- sweep/branches/sweep-info-panel/src/view.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
sweep/branches/sweep-info-panel/src/info-panel.c
r473 r474 2026 2026 #endif 2027 2027 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); 2029 2030 return; 2031 } 2030 2032 2031 2033 model = view->sample->info_panel->sample; … … 2064 2066 if (ssec <= 0) 2065 2067 { 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); 2068 2070 return; 2069 2071 } … … 2177 2179 2178 2180 } 2181 2182 gtk_window_add_accel_group (GTK_WINDOW(view->window), view->accel_group); 2183 2179 2184 } 2180 2185 … … 2592 2597 } 2593 2598 2599 void 2600 info_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 2594 2608 static GtkWidget * 2595 2609 info_panel_create_sample_view (sw_view * view) … … 2631 2645 INFO_PANEL_SAMPLE_COL_EDITABLE_VALUE); 2632 2646 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); 2635 2649 2636 2650 return treeview; … … 2669 2683 gtk_tree_view_column_add_attribute (col, renderer, "editable", 2670 2684 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); 2673 2687 2674 2688 renderer = gtk_cell_renderer_text_new (); … … 2679 2693 INFO_PANEL_SELECTIONS_COL_EDITABLE_VALUE); 2680 2694 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); 2685 2698 2686 2699 return treeview; … … 2780 2793 INFO_PANEL_MARKERS_COL_EDITABLE_VALUE); 2781 2794 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); 2786 2798 2787 2799 return treeview; sweep/branches/sweep-info-panel/src/sample-display.c
r473 r474 2006 2006 * new_win_start); 2007 2007 */ 2008 s->hand_scroll_delta *= 0.9 8;2009 2010 return ( s->hand_scroll_delta != 0);2008 s->hand_scroll_delta *= 0.95; 2009 2010 return ( abs (s->hand_scroll_delta) >= 1 ); 2011 2011 } 2012 2012 … … 2029 2029 } 2030 2030 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; 2032 2033 2033 2034 return (new_win_start > 0); … … 2052 2053 } 2053 2054 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; 2055 2057 2056 2058 return (new_win_start >= (s->view->end - win_length)); … … 2238 2240 offset_xpos = OFFSET_TO_XPOS (sample->user_offset); 2239 2241 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 2306 2242 new_win_start = 2307 2243 s->selecting_wins0 + (s->selecting_x0 - x) * vlen / s->width; 2308 2244 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 2375 2245 new_win_start = CLAMP (new_win_start, 0, 2376 2246 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 2399 2247 2400 2248 new_offset = new_win_start + offset_xpos * vlen / s->width; … … 2450 2298 2451 2299 static void 2452 sample_display_handle_hand_motion (SampleDisplay * s, int x, int y)2300 sample_display_handle_hand_motion (SampleDisplay * s, int x, int y) 2453 2301 { 2454 2302 gdouble move, vstart, vend; … … 2507 2355 2508 2356 static void 2509 sample_display_handle_marker_motion (SampleDisplay * s, int x, int y)2357 sample_display_handle_marker_motion (SampleDisplay * s, int x, int y) 2510 2358 { 2511 2359 sw_mark *mark; … … 2514 2362 sw_framecount_t offset, off1, off2; 2515 2363 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); 2522 2380 2523 2381 if (sample->tmp_mark) 2524 {2382 { 2525 2383 2526 2384 sample->tmp_mark->frame = offset; 2527 2385 mod = TRUE; 2528 2386 2529 } 2530 else 2531 { 2387 } else { 2532 2388 for (gl = sample->sounddata->marks; gl; gl = gl->next) 2533 2389 { … … 2552 2408 */ 2553 2409 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 2570 2413 break; 2571 2414 } … … 2574 2417 2575 2418 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 } 2576 2468 2577 2469 if (mod) sweep/branches/sweep-info-panel/src/sample-display.h
r470 r474 111 111 gint hand_scroll_tag; /* gtk_timeout tag for natural 112 112 * hand scrolling */ 113 g int hand_scroll_delta; /* natural hand scrolling */113 gfloat hand_scroll_delta; /* natural hand scrolling */ 114 114 115 115 /* sweep/branches/sweep-info-panel/src/view.c
r470 r474 1193 1193 ** and is quite a bit neater than the old stuff. 1194 1194 */ 1195 //noteplay_setup (subsubmenu, view, accel_group);1195 noteplay_setup (subsubmenu, view, accel_group); 1196 1196 1197 1197 … … 3160 3160 * implement my own 3161 3161 * 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 */ 3166 3171 create_view_menu (view, view->menubar); 3167 3172
