From 696a8c5609ca1bf260176cb9c43f483463a72c97 Mon Sep 17 00:00:00 2001 From: wm4 Date: Thu, 26 Sep 2013 17:49:54 +0200 Subject: osd_libass: add "Default" dummy style This is pretty much a hack for the OSC. It will allow it to rely on a somewhat predictable style, instead of having to overwrite all user OSD settings manually with override tags. --- sub/ass_mp.c | 3 ++- sub/ass_mp.h | 3 ++- sub/osd_libass.c | 7 +++++++ 3 files changed, 11 insertions(+), 2 deletions(-) (limited to 'sub') diff --git a/sub/ass_mp.c b/sub/ass_mp.c index c46daf415e..ac36e2d954 100644 --- a/sub/ass_mp.c +++ b/sub/ass_mp.c @@ -39,7 +39,8 @@ // res_y should be track->PlayResY // It determines scaling of font sizes and more. -void mp_ass_set_style(ASS_Style *style, int res_y, struct osd_style_opts *opts) +void mp_ass_set_style(ASS_Style *style, int res_y, + const struct osd_style_opts *opts) { if (opts->font) { free(style->FontName); diff --git a/sub/ass_mp.h b/sub/ass_mp.h index c0fba934eb..52c793c9b7 100644 --- a/sub/ass_mp.h +++ b/sub/ass_mp.h @@ -44,7 +44,8 @@ struct MPOpts; struct mp_osd_res; struct osd_style_opts; -void mp_ass_set_style(ASS_Style *style, int res_y, struct osd_style_opts *opts); +void mp_ass_set_style(ASS_Style *style, int res_y, + const struct osd_style_opts *opts); void mp_ass_add_default_styles(ASS_Track *track, struct MPOpts *opts); diff --git a/sub/osd_libass.c b/sub/osd_libass.c index 45edbc7cc8..29db58f464 100644 --- a/sub/osd_libass.c +++ b/sub/osd_libass.c @@ -90,6 +90,13 @@ static void create_osd_ass_track(struct osd_state *osd, struct osd_object *obj) mp_ass_set_style(style, MP_ASS_FONT_PLAYRESY, osd->opts->osd_style); // Set to neutral base direction, as opposed to VSFilter LTR default style->Encoding = -1; + + sid = ass_alloc_style(track); + style = track->styles + sid; + style->Name = strdup("Default"); + const struct osd_style_opts *def = osd_style_conf.defaults; + mp_ass_set_style(style, MP_ASS_FONT_PLAYRESY, def); + style->Encoding = -1; } obj->osd_track = track; -- cgit v1.2.3