mirror of
https://github.com/mpv-player/mpv
synced 2024-12-20 05:42:19 +00:00
017b3fa9db
This makes the player wait until each script is loaded. Do this to give the script a chance to setup all its event handlers. It might also be useful to allow a script to change options that matter for playback. While waiting for a script to be loaded, the player actually accepts input. This is needed because the scripts can execute player commands anyway while they are being "loaded". The player won't react to most commands though: it can't quit or navigate the playlist in this state. For deciding whether a script is finally loaded, we use a cheap hack: if mpv_wait_event() is called, it's considered loaded. Let's hope this is good enough. I think it's better than introducing explicit API for this. Although I'm sure this will turn out as too simplistic some time in the future, the same would probably happen with a more explicit API.
29 lines
931 B
C
29 lines
931 B
C
#ifndef MP_CLIENT_H_
|
|
#define MP_CLIENT_H_
|
|
|
|
#include <stdint.h>
|
|
|
|
#include "libmpv/client.h"
|
|
|
|
struct MPContext;
|
|
struct mpv_handle;
|
|
struct mp_client_api;
|
|
struct mp_log;
|
|
|
|
void mp_clients_init(struct MPContext *mpctx);
|
|
void mp_clients_destroy(struct MPContext *mpctx);
|
|
int mp_clients_num(struct MPContext *mpctx);
|
|
bool mp_clients_all_initialized(struct MPContext *mpctx);
|
|
|
|
void mp_client_broadcast_event(struct MPContext *mpctx, int event, void *data);
|
|
int mp_client_send_event(struct MPContext *mpctx, const char *client_name,
|
|
int event, void *data);
|
|
bool mp_client_event_is_registered(struct MPContext *mpctx, int event);
|
|
void mp_client_property_change(struct MPContext *mpctx, const char *name);
|
|
|
|
struct mpv_handle *mp_new_client(struct mp_client_api *clients, const char *name);
|
|
struct mp_log *mp_client_get_log(struct mpv_handle *ctx);
|
|
struct MPContext *mp_client_get_core(struct mpv_handle *ctx);
|
|
|
|
#endif
|