-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Made FFmpeg executable path configurable #2667
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
I've skimmed through this; looks good to me overall! Two questions:
|
Well, I didn't know Naveen was already working on it 😅. His implementation is very different from mine so depending in which one we like we can choose to merge one and close the other.
Sure, will not be a problem. Will push the changes as soon as I get some time 👍 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How would one change location to the latex executable? There are no changes about them in the default config file?
Using the TexTemplate class and passing paths to the
path (to me atleast) seems more intuitive given it is under
No, because what if the user doesn't know the path to the executable when the error occurs? |
Doesn't it confuse users? I think LaTeX should also be configurable using config files. Also, when the
When informing about that to users, the documentation page should be linked.
Check before rendering the scene itself? Also, as I explained in #2511, Manim should save the path to the executables in the config files (or somewhere else) and should always use it. This is mainly to make sure that if the user changed the PATH variable, manim still uses the executables that were configured the first time. I would also like to confirm with the user the FFmpeg and LaTeX executable that manim uses for the first time; this would make sure that the indented executables are used. |
How? The current way of configuring LaTeX (preamble, documentclass, tex_compiler) is through the TexTemplate, I just added the ability to add paths to an already present option. But I personally still do think asking interactively right after the error has occurred is not a good idea. |
While FFmpeg can be configured by the config file and LaTeX can't be configured so creates confusion, IMO.
I would like to interactively ask whenever manim runs (at least for the first time) and that could be disabled by a command-line option; not just when an error has occurred.
The main issue I would like to open that issue is that Manim shouldn't execute random executables present on PATH; instead, it should ask the user and save it for future use. If the executable is missing/doesn't work manim should ask the user again which executable to use. See the original motivation why I would want this feature here (private). |
In that case we can stop relying on the
How will you detect manim is being run the first time? |
That's what I want to do, we would only use stuff in PATH when initialising the config for the first time (if it is not already set).
If the path to the executables in config files is empty or invalid then manim is run for the first time. If the user has set the config value beforehand nothing would be asked to the users and manim would just use the values present in config files. |
I am not sure I understand the current state of the suggested solution here.
|
A dialog should be shown asking the user whether to use the executable manim found in
Usually storing them in the |
Request for status since it's been a while since last activity on this. |
Well, this PR is ready for review and merging, but the approach taken here is not accepted by everyone. You can give it a go for yourself and see if you like it. There is also #2660 which also has the same motive. You take take a look at that as well |
This reverts commit 566d2241b967ecd24f00c644a5a21bb86c32018b. Looks like this is not the direction we want configurable latex compilers to be available, hence I am reverting it.
- Changed the path to ffmpeg_executable - Consistent names across config file and config dict - Added doc for the ffmpeg_executable property
Alright, rebased and ready to merge |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm, thanks!
Overview: What does this pull request change?
FFmpeg:
FFMPEG_BIN
constant from constants.pyffmpeg_path
to manually specify where ffmpeg is located without changing thePATH
variableLaTeX:
TexTemplate
namelydvisvgm_compiler
tex_compiler
anddvisvgm_compiler
arguments of the TexTemplate constructor.Further Information and Comments
No tests
Reviewer Checklist