-
Notifications
You must be signed in to change notification settings - Fork 23
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
Work better with Windows #120
Comments
ffmpeg and timidity both have location variables, so only one more would be needed to find lilypond. I forgot to mention above that I had to take the version string out of my .ly file because it couldn't find convert-ly.py. Even though it found lilypond just fine. The error was this:
It exists in the same lilypond/bin directory as lilypond.exe, but I suppose it doesn't work because file associations aren't set up. There is python.exe in that directory (with lilypond and convert-ly.py) and
works from the command line. The python command works everywhere when lilypond's path is in the path. A flag of some kind to indicate whether to call |
@aspiers I pushed a few more commits. Please review and comment. Remaining issues:
The command is:
and generates:
And if I run that on the command line (in wine) then it works without issue with C:\lilypond-2.24.3\bin in the path. There is a python.exe in C:\lilypond-2.24.3\bin. From ly2video it doesn't work. It runs convert-ly, but the part that redirects it to the temp file doesn't work. I wonder if it's related to the next problem.
Not sure what is causing this.
The above only occurs once when ly2video starts. Cause unknown. It doesn't seem to cause harm.
The above occurs twice when lilypond starts. It happens without ly2video. Cause unknown. It doesn't seem to cause harm. |
This is a full log of running on wine. The avi was generated and played back as it should.
|
I don't use Windows so I can't help with the 2nd or 3rd issues you describe - I recommend trying Google / StackOverflow / ChatGPT etc. For the first issue, I suspect there may be some issue with running a UNIX (POSIX) shell command via Whatever the cause, most likely that |
Using ly2video on Windows seems hard. I've only tried it via Wine.
I know github can package python projects into an exe, but I figured I'd try it locally first. Eventually, it could become a github action to ease the pain of using it on windows. The same could be done for linux if it made sense.
In a new wineprefix, I installed python, ly2video requirements, and auto-py-to-exe (pyinstaller). This created an executable from ly2video.git that ran under wine. That was easy and doesn't require the end user to have python installed
However, the external dependencies, lilypond, ffmpeg, and timidity, are a bit of a pain.
Neither lilypond or ffmpeg, come with installers. That means you have to place them somewhere and tell ly2video where they are via the PATH variable. Then timidity has the same problem, but doesn't come with any soundfonts.
On Ubuntu anyway, you can just "apt-get install tmidity" and it will play midi right out of the box. On Windows, it's a different story.
On Ubuntu timidity uses the FluidR3_GM.sf2 soundfont. It's available in various places.
Since timidity is a bear to install on windows (for someone less savvy), it would be nice to provide a working zip file with timidity and the soundfont ready to go. I don't know if it's in the scope of ly2video to host that soundfont. There is another project that has the soundfont in a sister repo where they are added as Release artefacts. Because they are too big to commit to github:
https://github.com/pianobooster/fluid-soundfont/releases
It's a one time operation. Then I guess a github action could wrap them into a zip file.
To make timidity work on Windows, I borrowed the timidity.cfg from my machine with slight modification. Running ly2video in wine produces a video file with sound. So it works, but there's also an error message at the end:
The temp directory is deleted so I don't know what that error means yet.
I think some solutions might involve telling ly2video where lilypond and ffmpeg are installed, like is done for timidity. And then providing a way to install timidity along with ly2video. It might also be a good idea to add a config file and look for it in the directory where ly2video is. Then ly2video could be deployed as a bundle, pulling from the release builds of lilypond, ffmpeg, and timidity. Maybe this is done in a sister repo.
Lastly, it might be easier to let the user make the audio file however they want and then pass that file in through a command line argument. Is there any reason this can't be done?
The text was updated successfully, but these errors were encountered: