mpv-player / mpv-player/mpv

command 'change-list glsl-shaders toggle' only resolve the first path

Open
#14,579 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

os:win
Dominant language
C
Stars
37k
Forks
3.5k
Avg merge
1d 10h
Merged PRs (30d)
22

Description

mpv Information
mpv v0.38.0-601-gf470b63a Copyright © 2000-2024 mpv/MPlayer/mplayer2 projects
 built on Jul 12 2024 00:10:02
libplacebo version: v7.349.0 (v7.349.0-dirty)
FFmpeg version: N-116241-g70c6b904b
FFmpeg library versions:
   libavcodec      61.10.100
   libavdevice     61.2.100
   libavfilter     10.2.102
   libavformat     61.5.101
   libavutil       59.28.100
   libswresample   5.2.100
   libswscale      8.2.100
Other Information
  • Windows version:
  • GPU model, driver and version:
  • Source of mpv:
  • Introduced in version:
Reproduction Steps

Use shortcut key binding and script execution commands respectively. The shortcut key binding can be executed correctly, but the script execution error occurs

This problem only occurs after version 0.38. The script can run correctly in version 0.37.

mpv 1c9c2f5 Copyright © 2000-2023 mpv/MPlayer/mplayer2 projects
 built on Dec 10 2023 12:02:48
libplacebo version: v6.338.0-62-g52314e0-dirty
FFmpeg version: N-112938-g12e25af7a
FFmpeg library versions:
   libavutil       58.32.100
   libavcodec      60.35.100
   libavformat     60.18.100
   libswscale      7.6.100
   libavfilter     9.14.100
   libswresample   4.13.100
Ctrl+0  change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl;~~/shaders/Anime4K_Restore_CNN_VL.glsl"

function cb() {
  mp.command('change-list glsl-shaders toggle "~~/shaders/Anime4K_Clamp_Highlights.glsl;~~/shaders/Anime4K_Restore_CNN_VL.glsl"')
}
setTimeout(cb, 1000)

From the error report, we can see that only the ~~ of the first shader path is processed.

[file] Cannot open file 'C:/Users/Ace/Downloads/mpv-x86_64-v3-20240718-git-ed77616/portable_config/shaders/Anime4K_Clamp_Highlights.glsl;~~/shaders/Anime4K_Restore_CNN_VL.glsl;~~/shaders/Anime4K_Upscale_CNN_x2_VL.glsl;~~/shaders/Anime4K_Restore_CNN_M.glsl;~~/shaders/Anime4K_AutoDownscalePre_x2.glsl;~~/shaders/Anime4K_AutoDownscalePre_x4.glsl;~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl': Invalid argument
Expected Behavior

All shader paths in script execution commands are processed correctly

Actual Behavior

Only the first path is processed

Log File

log.log

Sample Files

No response

I carefully read all instruction and confirm that I did the following:
  • I tested with the latest mpv version to validate that the issue is not already fixed.
  • I provided all required information including system and mpv version.
  • I produced the log file with the exact same set of files, parameters, and conditions used in "Reproduction Steps", with the addition of --log-file=output.txt.
  • I produced the log file while the behaviors described in "Actual Behavior" were actively observed.
  • I attached the full, untruncated log file.
  • I attached the backtrace in the case of a crash.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the JavaScript mp.command call and the equivalent Ctrl+0 binding on mpv 0.38 and 0.37, then compare how the command and semicolon-separated shader paths are handled. Trace the command/script execution path responsible for change-list and verify that every shader path resolves correctly in the reproduction.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, javascript
Domain
cli
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.