X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=gtk%2Fsrc%2Fhb-backend.h;h=1ccb53eac876d6a468925a45d4829311df77d63e;hb=0884cb45aeeb60a46effe1d1056a61fe68300ea7;hp=69fd0efd4e9aecc11c58e71d06ffd469477f6a39;hpb=8751ff185218052195414eae0e4cbc61a094f72b;p=handbrake-jp%2Fhandbrake-jp-git.git diff --git a/gtk/src/hb-backend.h b/gtk/src/hb-backend.h index 69fd0efd..1ccb53ea 100644 --- a/gtk/src/hb-backend.h +++ b/gtk/src/hb-backend.h @@ -53,12 +53,19 @@ typedef struct ghb_instance_status_t queue; } ghb_status_t; -#define GHB_SCALE_KEEP_NONE 0 -#define GHB_SCALE_KEEP_WIDTH 1 -#define GHB_SCALE_KEEP_HEIGHT 2 +#define GHB_PIC_KEEP_WIDTH 0x01 +#define GHB_PIC_KEEP_HEIGHT 0x02 +#define GHB_PIC_KEEP_DISPLAY_WIDTH 0x04 +#define GHB_PIC_KEEP_DISPLAY_HEIGHT 0x08 +#define GHB_PIC_KEEP_DAR 0x10 +#define GHB_PIC_KEEP_PAR 0x20 typedef struct { + gchar *path; + gchar *name; + gint index; + gint type; gint width; gint height; gint crop[4]; @@ -71,6 +78,7 @@ typedef struct gint minutes; gint seconds; gint64 duration; + gint angle_count; } ghb_title_info_t; typedef struct @@ -91,9 +99,10 @@ void ghb_vquality_range( gdouble *max, gdouble *step, gdouble *page, - gint *digits); + gint *digits, + gboolean *inverted); //const gchar* ghb_get_rate_string(gint rate, gint type); -void ghb_combo_init(GtkBuilder *builder); +void ghb_combo_init(signal_user_data_t *ud); void ghb_backend_init(gint debug); void ghb_backend_close(void); void ghb_add_job(GValue *js, gint unique_id); @@ -115,10 +124,14 @@ gint ghb_get_queue_state(); void ghb_get_status(ghb_status_t *status); void ghb_track_status(void); void ghb_backend_scan(const gchar *path, gint titleindex, gint preview_count); +void ghb_backend_scan_stop(); void ghb_backend_queue_scan(const gchar *path, gint titleindex); gboolean ghb_get_title_info(ghb_title_info_t *tinfo, gint titleindex); +void ghb_par_init(signal_user_data_t *ud); void ghb_set_scale(signal_user_data_t *ud, gint mode); GValue* ghb_get_chapters(gint titleindex); +void ghb_get_chapter_duration(gint ti, gint ii, gint *hh, gint *mm, gint *ss); +void ghb_part_duration(gint tt, gint sc, gint ec, gint *hh, gint *mm, gint *ss); gint ghb_get_best_mix(gint titleindex, gint track, gint acodec, gint mix); gboolean ghb_ac3_in_audio_list(const GValue *audio_list); gboolean ghb_audio_is_passthru(gint acodec); @@ -126,30 +139,49 @@ gint ghb_get_default_acodec(void); gboolean ghb_get_audio_info( ghb_audio_info_t *ainfo, gint titleindex, gint audioindex); void ghb_set_passthru_bitrate_opts(GtkBuilder *builder, gint bitrate); -void ghb_set_default_bitrate_opts(GtkBuilder *builder, gint last_rate); +void ghb_set_default_bitrate_opts( + GtkBuilder *builder, gint first_rate, gint last_rate); void ghb_grey_combo_options(GtkBuilder *builder); void ghb_update_ui_combo_box( - GtkBuilder *builder, const gchar *name, gint user_data, gboolean all); + signal_user_data_t *ud, const gchar *name, gint user_data, gboolean all); +gchar* ghb_get_source_audio_lang(gint titleindex, gint track); gint ghb_find_audio_track( - gint titleindex, const gchar *lang, - gint acodec, GHashTable *track_indices); + gint titleindex, const gchar *lang, gint acodec, + gint fallback_acodec, GHashTable *track_indices); +void ghb_add_all_subtitles(signal_user_data_t *ud, gint titleindex); +gint ghb_find_pref_subtitle_track(const gchar *lang); +gint ghb_find_subtitle_track( + gint titleindex, const gchar *lang, gboolean burn, + gboolean force, gint source, GHashTable *track_indices); +gint ghb_pick_subtitle_track(signal_user_data_t *ud); +gint ghb_find_cc_track(gint titleindex); gint ghb_longest_title(void); gchar* ghb_build_x264opts_string(GValue *settings); GdkPixbuf* ghb_get_preview_image( gint titleindex, gint index, signal_user_data_t *ud, - gboolean borders, gint *width, gint *height); + gint *width, gint *height); gint ghb_calculate_target_bitrate(GValue *settings, gint titleindex); gchar* ghb_dvd_volname(const gchar *device); gint ghb_get_title_number(gint titleindex); +gint ghb_subtitle_track_source(signal_user_data_t *ud, gint track); +const char* ghb_subtitle_track_source_name(signal_user_data_t *ud, gint track); +gchar* ghb_subtitle_track_lang(signal_user_data_t *ud, gint track); gboolean ghb_validate_vquality(GValue *settings); gboolean ghb_validate_audio(signal_user_data_t *ud); +gboolean ghb_validate_subtitles(signal_user_data_t *ud); gboolean ghb_validate_video(signal_user_data_t *ud); gboolean ghb_validate_filters(signal_user_data_t *ud); gboolean ghb_validate_filter_string(const gchar *str, gint max_fields); void ghb_hb_cleanup(gboolean partial); -gint ghb_lookup_combo_int(const gchar *name, const GValue *acodec); -const gchar* ghb_lookup_combo_option(const gchar *name, const GValue *acodec); +gint ghb_lookup_combo_int(const gchar *name, const GValue *gval); +gdouble ghb_lookup_combo_double(const gchar *name, const GValue *gval); +const gchar* ghb_lookup_combo_option(const gchar *name, const GValue *gval); +const gchar* ghb_lookup_combo_string(const gchar *name, const GValue *gval); gchar* ghb_get_tmp_dir(); +gint ghb_select_audio_codec(signal_user_data_t *ud, gint track); +const gchar* ghb_select_audio_codec_str(signal_user_data_t *ud, gint track); +gint ghb_find_closest_audio_bitrate(gint codec, gint rate); +GValue* ghb_lookup_acodec_value(gint val); #endif // _HBBACKEND_H_