Mercurial > mplayer.hg
changeset 25814:4ba9b9bdf123
Add ass_use_margins command and property to shift subtitles to margins and back
on the fly.
author | eugeni |
---|---|
date | Wed, 23 Jan 2008 21:18:32 +0000 |
parents | ba7bd4f7e322 |
children | 8920f8a26c05 |
files | command.c input/input.c input/input.h |
diffstat | 3 files changed, 32 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/command.c Wed Jan 23 21:18:30 2008 +0000 +++ b/command.c Wed Jan 23 21:18:32 2008 +0000 @@ -1742,6 +1742,27 @@ } } +#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 @@ { "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 @@ #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 },
--- a/input/input.c Wed Jan 23 21:18:30 2008 +0000 +++ b/input/input.c Wed Jan 23 21:18:32 2008 +0000 @@ -98,6 +98,9 @@ { 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}} } },
--- a/input/input.h Wed Jan 23 21:18:30 2008 +0000 +++ b/input/input.h Wed Jan 23 21:18:32 2008 +0000 @@ -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