| 587 | } |
| 588 | |
| 589 | static void |
| 590 | init_preview_image(signal_user_data_t *ud) |
| 591 | { |
| 592 | GtkWidget *widget; |
| 593 | |
| 594 | live_preview_stop(); |
| 595 | |
| 596 | widget = ghb_builder_widget("preview_frame"); |
| 597 | ud->preview->frame = ghb_widget_int(widget) - 1; |
| 598 | if (ud->preview->encoded[ud->preview->frame]) |
| 599 | { |
| 600 | widget = ghb_builder_widget("live_encode_progress"); |
| 601 | gtk_widget_set_visible(widget, FALSE); |
| 602 | widget = ghb_builder_widget("live_preview_progress"); |
| 603 | gtk_widget_set_visible(widget, TRUE); |
| 604 | } |
| 605 | else |
| 606 | { |
| 607 | widget = ghb_builder_widget("live_preview_progress"); |
| 608 | gtk_widget_set_visible(widget, FALSE); |
| 609 | widget = ghb_builder_widget("live_encode_progress"); |
| 610 | gtk_widget_set_visible(widget, TRUE); |
| 611 | gtk_progress_bar_set_text(GTK_PROGRESS_BAR(widget), ""); |
| 612 | gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR(widget), 0); |
| 613 | } |
| 614 | if (ud->preview->pix != NULL) |
| 615 | g_object_unref(ud->preview->pix); |
| 616 | |
| 617 | ud->preview->pix = ghb_get_preview_image(ud->preview->frame, ud); |
| 618 | |
| 619 | if (ud->preview->pix != NULL) |
| 620 | { |
| 621 | int pix_width, pix_height; |
| 622 | pix_width = gdk_pixbuf_get_width(ud->preview->pix); |
| 623 | pix_height = gdk_pixbuf_get_height(ud->preview->pix); |
| 624 | preview_set_size(ud, pix_width, pix_height); |
| 625 | } |
| 626 | |
| 627 | // Update preview buttons on summary page |
| 628 | int preview_count = ghb_dict_get_int(ud->prefs, "preview_count"); |
| 629 | g_autofree char *count_label = g_strdup_printf("%d/%d", |
| 630 | ud->preview->frame + 1, preview_count); |
| 631 | gtk_label_set_text(GTK_LABEL(ghb_builder_widget("summary_preview_count")), count_label); |
| 632 | gtk_widget_set_sensitive(ghb_builder_widget("summary_preview_last"), |
| 633 | ud->preview->frame > 0); |
| 634 | gtk_widget_set_sensitive(ghb_builder_widget("summary_preview_next"), |
| 635 | ud->preview->frame < preview_count - 1); |
| 636 | } |
| 637 | |
| 638 | void |
| 639 | ghb_set_preview_image(signal_user_data_t *ud) |
no test coverage detected