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.
This commit is contained in:
wm4 2013-09-26 17:49:54 +02:00
parent 5a837ced0b
commit 696a8c5609
3 changed files with 11 additions and 2 deletions

View File

@ -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);

View File

@ -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);

View File

@ -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;