summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoreugeni <eugeni@b3059339-0415-0410-9bf9-f77b7e298cf2>2008-01-23 21:18:32 +0000
committereugeni <eugeni@b3059339-0415-0410-9bf9-f77b7e298cf2>2008-01-23 21:18:32 +0000
commitf817a5dc521e9302a142cdef19488410606e6ae9 (patch)
tree325cf5a7951b965f1656e7f8281a480211aeb6ec
parent00cce8eb303195eb779a5bedbe38d52d3adb61dd (diff)
downloadmpv-f817a5dc521e9302a142cdef19488410606e6ae9.tar.bz2
mpv-f817a5dc521e9302a142cdef19488410606e6ae9.tar.xz
Add ass_use_margins command and property to shift subtitles to margins and back
on the fly. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25842 b3059339-0415-0410-9bf9-f77b7e298cf2
-rw-r--r--command.c28
-rw-r--r--input/input.c3
-rw-r--r--input/input.h1
3 files changed, 32 insertions, 0 deletions
diff --git a/command.c b/command.c
index 3eaa76028d..7c37ff7f88 100644
--- a/command.c
+++ b/command.c
@@ -1742,6 +1742,27 @@ static int mp_property_sub_visibility(m_option_t * prop, int action,
}
}
+#ifdef USE_ASS
+/// Use margins for libass subtitles (RW)
+static int mp_property_ass_use_margins(m_option_t * prop, int action,
+ void *arg, MPContext * mpctx)
+{
+ if (!mpctx->sh_video)
+ return M_PROPERTY_UNAVAILABLE;
+
+ switch (action) {
+ case M_PROPERTY_SET:
+ if (!arg)
+ return M_PROPERTY_ERROR;
+ case M_PROPERTY_STEP_UP:
+ case M_PROPERTY_STEP_DOWN:
+ ass_force_reload = 1;
+ default:
+ return m_property_flag(prop, action, arg, &ass_use_margins);
+ }
+}
+#endif
+
/// Show only forced subtitles (RW)
static int mp_property_sub_forced_only(m_option_t * prop, int action,
void *arg, MPContext * mpctx)
@@ -2049,6 +2070,10 @@ static const m_option_t mp_properties[] = {
{ "sub_scale", mp_property_sub_scale, CONF_TYPE_FLOAT,
M_OPT_RANGE, 0, 100, NULL },
#endif
+#ifdef USE_ASS
+ { "ass_use_margins", mp_property_ass_use_margins, CONF_TYPE_FLAG,
+ M_OPT_RANGE, 0, 1, NULL },
+#endif
#ifdef USE_TV
{ "tv_brightness", mp_property_tv_color, CONF_TYPE_INT,
@@ -2177,6 +2202,9 @@ static struct {
#ifdef HAVE_FREETYPE
{ "sub_scale", MP_CMD_SUB_SCALE, 0, 0, -1, MSGTR_SubScale},
#endif
+#ifdef USE_ASS
+ { "ass_use_margins", MP_CMD_ASS_USE_MARGINS, 1, 0, -1, NULL },
+#endif
#ifdef USE_TV
{ "tv_brightness", MP_CMD_TV_SET_BRIGHTNESS, 0, OSD_BRIGHTNESS, -1, MSGTR_Brightness },
{ "tv_hue", MP_CMD_TV_SET_HUE, 0, OSD_HUE, -1, MSGTR_Hue },
diff --git a/input/input.c b/input/input.c
index 8cef6fd766..6073451c8b 100644
--- a/input/input.c
+++ b/input/input.c
@@ -98,6 +98,9 @@ static const mp_cmd_t mp_cmds[] = {
{ MP_CMD_SUB_FILE, "sub_file", 0, { { MP_CMD_ARG_INT,{-2} }, {-1,{0}} } },
{ MP_CMD_SUB_LOG, "sub_log", 0, { {-1,{0}} } },
{ MP_CMD_SUB_SCALE, "sub_scale",1, { {MP_CMD_ARG_FLOAT,{0}}, {MP_CMD_ARG_INT,{0}}, {-1,{0}} } },
+#ifdef USE_ASS
+ { MP_CMD_ASS_USE_MARGINS, "ass_use_margins", 0, { {MP_CMD_ARG_INT,{-1}}, {-1,{0}} } },
+#endif
{ MP_CMD_GET_PERCENT_POS, "get_percent_pos", 0, { {-1,{0}} } },
{ MP_CMD_GET_TIME_POS, "get_time_pos", 0, { {-1,{0}} } },
{ MP_CMD_GET_TIME_LENGTH, "get_time_length", 0, { {-1,{0}} } },
diff --git a/input/input.h b/input/input.h
index 1cfb4b23ed..c75f370ca7 100644
--- a/input/input.h
+++ b/input/input.h
@@ -107,6 +107,7 @@
#define MP_CMD_SUB_VOB 103
#define MP_CMD_SUB_DEMUX 104
#define MP_CMD_SWITCH_ANGLE 105
+#define MP_CMD_ASS_USE_MARGINS 106
#define MP_CMD_GUI_EVENTS 5000
#define MP_CMD_GUI_LOADFILE 5001