summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul B Mahol <onemda@gmail.com>2013-05-14 12:10:27 +0000
committerwm4 <wm4@nowhere>2013-05-14 23:32:07 +0200
commit83570fc0fb7aee06411c037842ec941c1f920483 (patch)
treeb14002a3252fce104a7f1d45ffe6e26ae4dcc69f
parentf562a41ca2abb7efe5fbb40954fb29f5db99f874 (diff)
downloadmpv-83570fc0fb7aee06411c037842ec941c1f920483.tar.bz2
mpv-83570fc0fb7aee06411c037842ec941c1f920483.tar.xz
add osd-scale command
Signed-off-by: Paul B Mahol <onemda@gmail.com> Modified to add docs for --osd-scale option, and adjusted to the previous commit by wm4.
-rw-r--r--DOCS/man/en/input.rst1
-rw-r--r--DOCS/man/en/options.rst3
-rw-r--r--core/cfg-mplayer.h1
-rw-r--r--core/command.c1
-rw-r--r--core/defaultopts.c1
-rw-r--r--core/options.h1
-rw-r--r--sub/osd_libass.c8
7 files changed, 16 insertions, 0 deletions
diff --git a/DOCS/man/en/input.rst b/DOCS/man/en/input.rst
index 5ae78ca06d..2833f965b0 100644
--- a/DOCS/man/en/input.rst
+++ b/DOCS/man/en/input.rst
@@ -268,6 +268,7 @@ option.
Name W Comment
=========================== = ==================================================
osd-level x see ``--osd-level``
+osd-scale x osd font size multiplicator, see ``--osd-scale``
loop x see ``--loop``
speed x see ``--speed``
filename currently played file (path stripped)
diff --git a/DOCS/man/en/options.rst b/DOCS/man/en/options.rst
index 453b49d30e..524018db3d 100644
--- a/DOCS/man/en/options.rst
+++ b/DOCS/man/en/options.rst
@@ -1443,6 +1443,9 @@
Default: 10.
+--osd-scale=<factor>
+ OSD font size multiplicator, multiplied with ``--osd-font-size`` value.
+
--osd-shadow-color=<#RRGGBB>, --sub-text-shadow-color=<#RRGGBB>
See ``--osd-color``. Color used for OSD/sub text shadow.
diff --git a/core/cfg-mplayer.h b/core/cfg-mplayer.h
index b386cb53e8..18a1c30324 100644
--- a/core/cfg-mplayer.h
+++ b/core/cfg-mplayer.h
@@ -624,6 +624,7 @@ const m_option_t mplayer_opts[]={
({"0", 0}, {"1", 1}, {"2", 2}, {"3", 3})),
OPT_INTRANGE("osd-duration", osd_duration, 0, 0, 3600000),
OPT_FLAG("osd-fractions", osd_fractions, 0),
+ OPT_FLOATRANGE("osd-scale", osd_scale, 0, 0, 100),
OPT_DOUBLE("sstep", step_sec, CONF_MIN, 0),
diff --git a/core/command.c b/core/command.c
index 17b9f654d3..605520aab8 100644
--- a/core/command.c
+++ b/core/command.c
@@ -1361,6 +1361,7 @@ static int mp_property_alias(m_option_t *prop, int action, void *arg,
static const m_option_t mp_properties[] = {
// General
M_OPTION_PROPERTY("osd-level"),
+ M_OPTION_PROPERTY_CUSTOM("osd-scale", property_osd_helper),
M_OPTION_PROPERTY("loop"),
M_OPTION_PROPERTY_CUSTOM("speed", mp_property_playback_speed),
{ "filename", mp_property_filename, CONF_TYPE_STRING,
diff --git a/core/defaultopts.c b/core/defaultopts.c
index 3ffc5e2555..c07580a872 100644
--- a/core/defaultopts.c
+++ b/core/defaultopts.c
@@ -49,6 +49,7 @@ void set_default_mplayer_options(struct MPOpts *opts)
.osd_bar_align_y = 0.5,
.osd_bar_w = 75.0,
.osd_bar_h = 3.125,
+ .osd_scale = 1,
.loop_times = -1,
.ordered_chapters = 1,
.chapter_merge_threshold = 100,
diff --git a/core/options.h b/core/options.h
index b5370ebac7..34254d69aa 100644
--- a/core/options.h
+++ b/core/options.h
@@ -174,6 +174,7 @@ typedef struct MPOpts {
float osd_bar_align_y;
float osd_bar_w;
float osd_bar_h;
+ float osd_scale;
struct osd_style_opts *osd_style;
struct osd_style_opts *sub_text_style;
float sub_scale;
diff --git a/sub/osd_libass.c b/sub/osd_libass.c
index 495bce2b73..d157f7925c 100644
--- a/sub/osd_libass.c
+++ b/sub/osd_libass.c
@@ -147,11 +147,19 @@ static char *mangle_ass(const char *in)
static void update_osd(struct osd_state *osd, struct osd_object *obj)
{
+ struct MPOpts *opts = osd->opts;
+
create_osd_ass_track(osd, obj);
clear_obj(obj);
if (!osd->osd_text[0])
return;
+ struct osd_style_opts font = *opts->osd_style;
+ font.font_size *= opts->osd_scale;
+
+ ASS_Style *style = obj->osd_track->styles + obj->osd_track->default_style;
+ mp_ass_set_style(style, &font);
+
char *text = mangle_ass(osd->osd_text);
add_osd_ass_event(obj->osd_track, text);
talloc_free(text);