diff options
author | wm4 <wm4@nowhere> | 2014-11-17 22:43:30 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2014-11-17 22:48:38 +0100 |
commit | 469eb321e8ec123936ebe74ab01e1c24341ba486 (patch) | |
tree | 38216c2680be1a1ce6f1d0d01387df55c0d2ebf5 | |
parent | ebd41bdf6c04bdad5a6e4a737bbd2d338f2c8887 (diff) | |
download | mpv-469eb321e8ec123936ebe74ab01e1c24341ba486.tar.bz2 mpv-469eb321e8ec123936ebe74ab01e1c24341ba486.tar.xz |
command: adjust previous commit
Due to the current code structure, the "current" entry and the entry
which is playing can be different. This is probably silly, but still
try to mark the entries correctly.
Refs #1260.
-rw-r--r-- | DOCS/man/input.rst | 13 | ||||
-rw-r--r-- | player/command.c | 4 |
2 files changed, 10 insertions, 7 deletions
diff --git a/DOCS/man/input.rst b/DOCS/man/input.rst index df045a4e26..20c61f38a1 100644 --- a/DOCS/man/input.rst +++ b/DOCS/man/input.rst @@ -1214,12 +1214,12 @@ Property list ``playlist/N/filename`` Filename of the Nth entry. - ``playlist/N/playing`` + ``playlist/N/current``, ``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.) + Unavailable or ``no`` otherwise. When changing files, ``current`` and + ``playing`` can be different, because the currently playing file hasn't + been unloaded yet; in this case, ``current`` refers to the new + selection. (Since mpv 0.7.0.) 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 @@ -1230,7 +1230,8 @@ Property list MPV_FORMAT_NODE_ARRAY MPV_FORMAT_NODE_MAP (for each playlist entry) "filename" MPV_FORMAT_STRING - "playing" MPV_FORMAT_FLAG (might be missing; since mpv 0.7.0) + "current" MPV_FORMAT_FLAG (might be missing; since mpv 0.7.0) + "playing" MPV_FORMAT_FLAG (same) ``track-list`` List of audio/video/sub tracks, current entry marked. Currently, the raw diff --git a/player/command.c b/player/command.c index a0b459d6fa..f6c20a6cb1 100644 --- a/player/command.c +++ b/player/command.c @@ -2849,9 +2849,11 @@ static int get_playlist_entry(int item, int action, void *arg, void *ctx) if (!e) return M_PROPERTY_ERROR; - bool playing = e == mpctx->playing; + bool current = mpctx->playlist->current == e; + bool playing = mpctx->playing == e; struct m_sub_property props[] = { {"filename", SUB_PROP_STR(e->filename)}, + {"current", SUB_PROP_FLAG(1), .unavailable = !current}, {"playing", SUB_PROP_FLAG(1), .unavailable = !playing}, {0} }; |