xenodium / ready-player

GNU General Public License v3.0
129 stars 5 forks source link

Wrong number of arguments #15

Closed NatHarari closed 1 week ago

NatHarari commented 3 weeks ago

I'm trying out read-player-mode and after evaling the following line:

(use-package ready-player :ensure t :config (ready-player-mode +1))

I get the following error: Error (use-package): ready-player/:config: Wrong number of arguments: (0 . 0), 1

xenodium commented 3 weeks ago

Hmmm... just tried exactly that and it works. Can you M-x toggle-debug-on-error and share trace? Also, do you maybe need M-x package-refresh-contents?

xenodium commented 3 weeks ago

ps. Just double checking, you have MELPA set up, right?

NatHarari commented 3 weeks ago

ps. Just double checking, you have MELPA set up, right?

Yup.

Here's the output:

Debugger entered--Lisp error: (wrong-number-of-arguments (0 . 0) 1)
  ready-player-mode(1)
  (progn (ready-player-mode 1) t)
  (condition-case err (progn (ready-player-mode 1) t) ((debug error) (funcall use-package--warning42 :config err)))
  (if (not (require 'ready-player nil t)) (display-warning 'use-package (format "Cannot load %s" 'ready-player) :error) (condition-case err (progn (ready-player-mode 1) t) ((debug error) (funcall use-package--warning42 :config err))))
  (condition-case err (if (not (require 'ready-player nil t)) (display-warning 'use-package (format "Cannot load %s" 'ready-player) :error) (condition-case err (progn (ready-player-mode 1) t) ((debug error) (funcall use-package--warning42 :config err)))) ((debug error) (funcall use-package--warning42 :catch err)))
  (progn (use-package-ensure-elpa 'ready-player '(t) 'nil) (defvar use-package--warning42 #'(lambda (keyword err) (let ((msg (format "%s/%s: %s" ... keyword ...))) (display-warning 'use-package msg :error)))) (condition-case err (if (not (require 'ready-player nil t)) (display-warning 'use-package (format "Cannot load %s" 'ready-player) :error) (condition-case err (progn (ready-player-mode 1) t) ((debug error) (funcall use-package--warning42 :config err)))) ((debug error) (funcall use-package--warning42 :catch err))))
  eval((progn (use-package-ensure-elpa 'ready-player '(t) 'nil) (defvar use-package--warning42 #'(lambda (keyword err) (let ((msg ...)) (display-warning 'use-package msg :error)))) (condition-case err (if (not (require 'ready-player nil t)) (display-warning 'use-package (format "Cannot load %s" 'ready-player) :error) (condition-case err (progn (ready-player-mode 1) t) ((debug error) (funcall use-package--warning42 :config err)))) ((debug error) (funcall use-package--warning42 :catch err)))) nil)
  elisp--eval-last-sexp(nil)
  #f(compiled-function () #<bytecode 0x1866e784ed8a>)()
  handler-bind-1(#f(compiled-function () #<bytecode 0x1866e784ed8a>) (error) eval-expression--debug)
  eval-last-sexp(nil)
  funcall-interactively(eval-last-sexp nil)
  call-interactively(eval-last-sexp nil nil)
  command-execute(eval-last-sexp)
xenodium commented 3 weeks ago

Does M-x ready-player-mode work for you?

NatHarari commented 3 weeks ago

Does M-x ready-player-mode work for you?

No. From anywhere when invoking it, I get this error (I kept debug on for this):

  file-name-nondirectory(nil)
  ready-player-mode()
  funcall-interactively(ready-player-mode)
  call-interactively(ready-player-mode record nil)
  command-execute(ready-player-mode record)
  #f(compiled-function (prefixarg &optional command-name typed) "Read a command name, then read the arguments and call the command.\nTo pass a prefix argument to the command you are\ninvoking, give a prefix argument to `execute-extended-command'.\n\nThis command provides completion when reading the command name.\nWhich completion candidates are shown can be controlled by\ncustomizing `read-extended-command-predicate'." (interactive #f(compiled-function () #<bytecode -0x1f3e06f49aa3d05d>)) #<bytecode 0xac1effe802f9bd5>)(nil "ready-player-mode" "ready")
  ad-Advice-execute-extended-command(#f(compiled-function (prefixarg &optional command-name typed) "Read a command name, then read the arguments and call the command.\nTo pass a prefix argument to the command you are\ninvoking, give a prefix argument to `execute-extended-command'.\n\nThis command provides completion when reading the command name.\nWhich completion candidates are shown can be controlled by\ncustomizing `read-extended-command-predicate'." (interactive #f(compiled-function () #<bytecode -0x1f3e06f49aa3d05d>)) #<bytecode 0xac1effe802f9bd5>) nil "ready-player-mode" "ready")
  apply(ad-Advice-execute-extended-command #f(compiled-function (prefixarg &optional command-name typed) "Read a command name, then read the arguments and call the command.\nTo pass a prefix argument to the command you are\ninvoking, give a prefix argument to `execute-extended-command'.\n\nThis command provides completion when reading the command name.\nWhich completion candidates are shown can be controlled by\ncustomizing `read-extended-command-predicate'." (interactive #f(compiled-function () #<bytecode -0x1f3e06f49aa3d05d>)) #<bytecode 0xac1effe802f9bd5>) (nil "ready-player-mode" "ready"))
  execute-extended-command(nil "ready-player-mode" "ready")
  funcall-interactively(execute-extended-command nil "ready-player-mode" "ready")
  call-interactively(execute-extended-command nil nil)
  command-execute(execute-extended-command)
NatHarari commented 3 weeks ago

I forgot to note: I'm currently on 30.0.60 with Emacs Plus. Maybe that makes a difference?

xenodium commented 3 weeks ago

Trying to figure out here how to get file-name-nondirectory(nil) from M-x ready-player-mode. Don't see it how it's possible just yet.

Can you try this:

M-x find-library RET ready-player RET M-x eval-buffer M-x ready-player-mode

NatHarari commented 3 weeks ago

That worked. No errors. Now what? 😀

NatHarari commented 3 weeks ago

It definitely works now. I can run mp4s and the rest via emacs/dired. It runs them in an external window, but it definitely works. For example: It runs an MP4/Mov file in mpv externally.

xenodium commented 3 weeks ago

I suspect it's a byte compilation issue. Do you have a ready-player.elc or .eln file? Delete those?

It definitely works now. I can run mp4s and the rest via emacs/dired.

yay :)

It runs them in an external window, but it definitely works. For example: It runs an MP4/Mov file in mpv externally.

For videos, that's the expected behaviour. Emacs displays the thumbnail and delegates to external utility for playback. You can customize which utility you prefer. See ready-player-open-playback-commands for details.

NatHarari commented 3 weeks ago

I suspect it's a byte compilation issue. Do you have a ready-player.elc or .eln file? Delete those?

Where would those be?

It runs them in an external window, but it definitely works. For example: It runs an MP4/Mov file in mpv externally.

For videos, that's the expected behaviour. Emacs displays the thumbnail and delegates to external utility for playback. You can customize which utility you prefer. See ready-player-open-playback-commands for details.

Thanks.

NatHarari commented 3 weeks ago

I found it. Hang on.

xenodium commented 3 weeks ago

.elc same directory as .el

M-x find-library RET ready-player RET M-x dired-jump RET

xenodium commented 3 weeks ago

ps. you can also just recompile it

M-x find-library RET ready-player RET M-x dired-jump RET M-x dired-do-byte-compile

NatHarari commented 3 weeks ago

Yup that worked. I have a directory of .mkv files and I clicked on one and got the ready-player interface in the buffer and it opened in the viewer externally. Is there a way to see the thumbnails? I'm not seeing them right now. But the interface on each file with the forward/backwards/replay/play buttons are all there.

xenodium commented 3 weeks ago

Seen the two sections on thumbnails and metadata? https://github.com/xenodium/ready-player?tab=readme-ov-file#metadata

Is it only for .mkv or all videos?

NatHarari commented 3 weeks ago

Yep, I have it installed. I'll figure it out in a bit. Thanks again. 😀

xenodium commented 1 week ago

I think this is now sorted for ya? Gonna close, but please reopen if otherwise.