Index: Gui/cfg.c =================================================================== --- Gui/cfg.c (wersja 20208) +++ Gui/cfg.c (kopia robocza) @@ -18,6 +18,8 @@ #include "interface.h" #include "mplayer/play.h" +extern int ass_enabled; + // --- params int gtkEnableAudioEqualizer = 0; @@ -139,6 +141,7 @@ { "osd_level",&osd_level,CONF_TYPE_INT,CONF_RANGE,0,3,NULL }, { "sub_auto_load",&sub_auto,CONF_TYPE_FLAG,0,0,1,NULL }, { "sub_unicode",&sub_unicode,CONF_TYPE_FLAG,0,0,1,NULL }, + { "ass_enabled",&ass_enabled,CONF_TYPE_FLAG,0,0,1,NULL }, { "sub_pos",&sub_pos,CONF_TYPE_INT,CONF_RANGE,0,200,NULL }, { "sub_overlap",&suboverlap_enabled,CONF_TYPE_FLAG,0,0,0,NULL }, #ifdef USE_ICONV Index: Gui/mplayer/gtk/opts.c =================================================================== --- Gui/mplayer/gtk/opts.c (wersja 20208) +++ Gui/mplayer/gtk/opts.c (kopia robocza) @@ -21,6 +21,8 @@ #include "fs.h" #include "common.h" +extern int ass_enabled; + typedef struct sh_video_t sh_video_t; typedef struct sh_audio_t sh_audio_t; @@ -67,6 +69,7 @@ static GtkWidget * CBSubOverlap; static GtkWidget * CBDumpMPSub; static GtkWidget * CBDumpSrt; +static GtkWidget * CBUseASS; static GtkWidget * CBPostprocess; static GtkWidget * CBCache; static GtkWidget * CBLoadFullscreen; @@ -259,6 +262,7 @@ gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBDumpMPSub ),gtkSubDumpMPSub ); gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBDumpSrt ),gtkSubDumpSrt ); gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBSubUnicode ),sub_unicode ); + gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBUseASS ),ass_enabled ); gtk_adjustment_set_value( HSSubDelayadj,sub_delay ); gtk_adjustment_set_value( HSSubFPSadj,sub_fps ); gtk_adjustment_set_value( HSSubPositionadj,sub_pos ); @@ -394,6 +398,10 @@ gtk_widget_set_sensitive( HSSubFPS,FALSE ); #endif +#ifndef USE_ASS + gtk_widget_set_sensitive( CBUseASS,FALSE ); +#endif + #ifndef USE_OSD gtk_widget_set_sensitive( RBOSDNone,FALSE ); gtk_widget_set_sensitive( RBOSDTandP,FALSE ); @@ -539,6 +547,7 @@ gtkSubDumpMPSub=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBDumpMPSub ) ); gtkSubDumpSrt=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBDumpSrt ) ); sub_unicode=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBSubUnicode ) ); + ass_enabled=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBUseASS ) ); sub_delay=HSSubDelayadj->value; sub_fps=HSSubFPSadj->value; sub_pos=(int)HSSubPositionadj->value; @@ -1027,6 +1036,7 @@ CBSubUnicode=AddCheckButton( MSGTR_PREFERENCES_SUB_Unicode,vbox9 ); CBDumpMPSub=AddCheckButton( MSGTR_PREFERENCES_SUB_MPSUB,vbox9 ); CBDumpSrt=AddCheckButton( MSGTR_PREFERENCES_SUB_SRT,vbox9 ); + CBUseASS=AddCheckButton( MSGTR_PREFERENCES_SUB_ASS,vbox9 ); label=AddLabel( MSGTR_PREFERENCES_SubtitleOSD,NULL ); gtk_notebook_set_tab_label( GTK_NOTEBOOK( notebook1 ),gtk_notebook_get_nth_page( GTK_NOTEBOOK( notebook1 ),2 ),label ); Index: help/help_mp-en.h =================================================================== --- help/help_mp-en.h (wersja 20208) +++ help/help_mp-en.h (kopia robocza) @@ -858,6 +865,7 @@ #define MSGTR_PREFERENCES_SUB_MPSUB "Convert the given subtitle to MPlayer's subtitle format" #define MSGTR_PREFERENCES_SUB_SRT "Convert the given subtitle to the time based SubViewer (SRT) format" #define MSGTR_PREFERENCES_SUB_Overlap "Toggle subtitle overlapping" +#define MSGTR_PREFERENCES_SUB_ASS "SSA/ASS subtitle rendering" #define MSGTR_PREFERENCES_Font "Font:" #define MSGTR_PREFERENCES_FontFactor "Font factor:" #define MSGTR_PREFERENCES_PostProcess "Enable postprocessing"