mirror of https://github.com/mpv-player/mpv
command: playlist property: return if an entry is currently playing
This actually doesn't even write/return the new sub-property, because I dislike the idea of dumping that field for every single playlist entry, even though it's "needed" only for one. Fixes #1260.
This commit is contained in:
parent
fb86750a67
commit
ebd41bdf6c
|
@ -1214,6 +1214,13 @@ Property list
|
||||||
``playlist/N/filename``
|
``playlist/N/filename``
|
||||||
Filename of the Nth entry.
|
Filename of the Nth entry.
|
||||||
|
|
||||||
|
``playlist/N/playing``
|
||||||
|
``yes`` if this entry is currently playing (or being loaded).
|
||||||
|
Unavailable or ``no`` otherwise. Can be set incorrectly when changing
|
||||||
|
files, because it's not set to ``yes`` for the brief time when the
|
||||||
|
previous file was unloaded, and loading the new entry has not started
|
||||||
|
yet. (Since mpv 0.7.0.)
|
||||||
|
|
||||||
When querying the property with the client API using ``MPV_FORMAT_NODE``,
|
When querying the property with the client API using ``MPV_FORMAT_NODE``,
|
||||||
or with Lua ``mp.get_property_native``, this will return a mpv_node with
|
or with Lua ``mp.get_property_native``, this will return a mpv_node with
|
||||||
the following contents:
|
the following contents:
|
||||||
|
@ -1223,6 +1230,7 @@ Property list
|
||||||
MPV_FORMAT_NODE_ARRAY
|
MPV_FORMAT_NODE_ARRAY
|
||||||
MPV_FORMAT_NODE_MAP (for each playlist entry)
|
MPV_FORMAT_NODE_MAP (for each playlist entry)
|
||||||
"filename" MPV_FORMAT_STRING
|
"filename" MPV_FORMAT_STRING
|
||||||
|
"playing" MPV_FORMAT_FLAG (might be missing; since mpv 0.7.0)
|
||||||
|
|
||||||
``track-list``
|
``track-list``
|
||||||
List of audio/video/sub tracks, current entry marked. Currently, the raw
|
List of audio/video/sub tracks, current entry marked. Currently, the raw
|
||||||
|
|
|
@ -2849,8 +2849,10 @@ static int get_playlist_entry(int item, int action, void *arg, void *ctx)
|
||||||
if (!e)
|
if (!e)
|
||||||
return M_PROPERTY_ERROR;
|
return M_PROPERTY_ERROR;
|
||||||
|
|
||||||
|
bool playing = e == mpctx->playing;
|
||||||
struct m_sub_property props[] = {
|
struct m_sub_property props[] = {
|
||||||
{"filename", SUB_PROP_STR(e->filename)},
|
{"filename", SUB_PROP_STR(e->filename)},
|
||||||
|
{"playing", SUB_PROP_FLAG(1), .unavailable = !playing},
|
||||||
{0}
|
{0}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue