summaryrefslogtreecommitdiffstats
path: root/input/input.h
diff options
context:
space:
mode:
Diffstat (limited to 'input/input.h')
-rw-r--r--input/input.h92
1 files changed, 19 insertions, 73 deletions
diff --git a/input/input.h b/input/input.h
index ddd9016203..988565cb40 100644
--- a/input/input.h
+++ b/input/input.h
@@ -20,106 +20,49 @@
#define MPLAYER_INPUT_H
#include <stdbool.h>
+#include "bstr.h"
+#include "m_option.h"
// All command IDs
enum mp_command_type {
+ MP_CMD_IGNORE,
MP_CMD_SEEK,
- MP_CMD_AUDIO_DELAY,
MP_CMD_QUIT,
- MP_CMD_PAUSE,
- MP_CMD_GRAB_FRAMES, // deprecated: was a no-op command for years
MP_CMD_PLAYLIST_NEXT,
MP_CMD_PLAYLIST_PREV,
- MP_CMD_SUB_DELAY,
MP_CMD_OSD,
- MP_CMD_VOLUME,
- MP_CMD_MIXER_USEMASTER,
- MP_CMD_CONTRAST,
- MP_CMD_BRIGHTNESS,
- MP_CMD_HUE,
- MP_CMD_SATURATION,
- MP_CMD_FRAMEDROPPING,
MP_CMD_TV_STEP_CHANNEL,
MP_CMD_TV_STEP_NORM,
MP_CMD_TV_STEP_CHANNEL_LIST,
- MP_CMD_VO_FULLSCREEN,
- MP_CMD_SUB_POS,
MP_CMD_SCREENSHOT,
- MP_CMD_PANSCAN,
- MP_CMD_MUTE,
MP_CMD_LOADFILE,
MP_CMD_LOADLIST,
MP_CMD_PLAYLIST_CLEAR,
- MP_CMD_GAMMA,
- MP_CMD_SUB_VISIBILITY,
- MP_CMD_VOBSUB_LANG, // deprecated: combined with SUB_SELECT
- MP_CMD_GET_TIME_LENGTH,
- MP_CMD_GET_PERCENT_POS,
MP_CMD_SUB_STEP,
MP_CMD_TV_SET_CHANNEL,
MP_CMD_EDL_MARK,
- MP_CMD_SUB_ALIGNMENT,
MP_CMD_TV_LAST_CHANNEL,
- MP_CMD_OSD_SHOW_TEXT,
MP_CMD_TV_SET_FREQ,
MP_CMD_TV_SET_NORM,
- MP_CMD_TV_SET_BRIGHTNESS,
- MP_CMD_TV_SET_CONTRAST,
- MP_CMD_TV_SET_HUE,
- MP_CMD_TV_SET_SATURATION,
- MP_CMD_GET_VO_FULLSCREEN,
- MP_CMD_GET_SUB_VISIBILITY,
- MP_CMD_SUB_FORCED_ONLY,
- MP_CMD_VO_ONTOP,
- MP_CMD_SUB_SELECT,
- MP_CMD_VO_ROOTWIN,
- MP_CMD_SWITCH_VSYNC,
- MP_CMD_SWITCH_RATIO,
MP_CMD_FRAME_STEP,
- MP_CMD_SPEED_INCR,
MP_CMD_SPEED_MULT,
- MP_CMD_SPEED_SET,
MP_CMD_RUN,
- MP_CMD_SWITCH_AUDIO,
- MP_CMD_GET_TIME_POS,
MP_CMD_SUB_LOAD,
MP_CMD_KEYDOWN_EVENTS,
- MP_CMD_VO_BORDER,
- MP_CMD_SET_PROPERTY,
- MP_CMD_SET_PROPERTY_OSD,
+ MP_CMD_SET,
MP_CMD_GET_PROPERTY,
- MP_CMD_OSD_SHOW_PROPERTY_TEXT,
- MP_CMD_OSD_SHOW_PROGRESSION,
- MP_CMD_SEEK_CHAPTER,
- MP_CMD_GET_FILENAME,
- MP_CMD_GET_VIDEO_CODEC,
- MP_CMD_GET_VIDEO_BITRATE,
- MP_CMD_GET_VIDEO_RESOLUTION,
- MP_CMD_GET_AUDIO_CODEC,
- MP_CMD_GET_AUDIO_BITRATE,
- MP_CMD_GET_AUDIO_SAMPLES,
- MP_CMD_GET_META_TITLE,
- MP_CMD_GET_META_ARTIST,
- MP_CMD_GET_META_ALBUM,
- MP_CMD_GET_META_YEAR,
- MP_CMD_GET_META_COMMENT,
- MP_CMD_GET_META_TRACK,
- MP_CMD_GET_META_GENRE,
+ MP_CMD_PRINT_TEXT,
+ MP_CMD_SHOW_TEXT,
+ MP_CMD_SHOW_PROGRESS,
MP_CMD_RADIO_STEP_CHANNEL,
MP_CMD_RADIO_SET_CHANNEL,
MP_CMD_RADIO_SET_FREQ,
MP_CMD_SET_MOUSE_POS,
- MP_CMD_STEP_PROPERTY,
- MP_CMD_STEP_PROPERTY_OSD,
+ MP_CMD_ADD,
+ MP_CMD_CYCLE,
MP_CMD_RADIO_STEP_FREQ,
MP_CMD_TV_STEP_FREQ,
- MP_CMD_LOOP,
- MP_CMD_BALANCE,
- MP_CMD_SUB_SCALE,
MP_CMD_TV_START_SCAN,
- MP_CMD_SWITCH_ANGLE,
- MP_CMD_ASS_USE_MARGINS,
- MP_CMD_SWITCH_TITLE,
MP_CMD_STOP,
/// DVB commands
@@ -139,11 +82,6 @@ enum mp_command_type {
MP_CMD_VO_CMDLINE,
};
-// The arg types
-#define MP_CMD_ARG_INT 1
-#define MP_CMD_ARG_FLOAT 2
-#define MP_CMD_ARG_STRING 3
-
#define MP_CMD_MAX_ARGS 10
// Error codes for the drivers
@@ -159,6 +97,13 @@ enum mp_command_type {
// Key FIFO was full - release events may be lost, zero button-down status
#define MP_INPUT_RELEASE_ALL -5
+enum mp_on_osd {
+ MP_ON_OSD_NO = 0, // prefer not using OSD
+ MP_ON_OSD_AUTO = 1, // use default behavior of the specific command
+ MP_ON_OSD_BAR = 2, // force a bar, if applicable
+ MP_ON_OSD_MSG = 4, // force a message, if applicable
+};
+
enum mp_input_section_flags {
// If a key binding is not defined in the current section, search the
// default section for it ("default" refers to bindings with no section
@@ -169,7 +114,7 @@ enum mp_input_section_flags {
struct input_ctx;
struct mp_cmd_arg {
- int type;
+ struct m_option type;
bool optional;
union {
int i;
@@ -184,6 +129,7 @@ typedef struct mp_cmd {
struct mp_cmd_arg args[MP_CMD_MAX_ARGS];
int nargs;
int pausing;
+ enum mp_on_osd on_osd;
struct mp_cmd *queue_next;
} mp_cmd_t;
@@ -235,7 +181,7 @@ struct mp_cmd *mp_input_get_cmd(struct input_ctx *ictx, int time,
int peek_only);
/* Parse text and return corresponding struct mp_cmd. */
-struct mp_cmd *mp_input_parse_cmd(char *str);
+struct mp_cmd *mp_input_parse_cmd(bstr str);
// After getting a command from mp_input_get_cmd you need to free it using this
// function