Picorims / wav2bar

Wav2Bar is a tool to make custom audio visualization and export production videos for the audio and music industry.
GNU General Public License v3.0
88 stars 8 forks source link

Linux cli version #6

Closed rudnypc closed 1 year ago

rudnypc commented 3 years ago

Describe the solution you'd like I would like to create videos using a command line, the application can have some inputs and export the video.

Picorims commented 3 years ago

The thing is the application has never been designed with CLI in mind. It is split between chromium renderers and a Node.JS main process. Therefore CLI support would still inevitably require the GUI to be loaded even if it is invisible, which kinds of break the whole point of CLIs.

In addition, my time available for the development of this application is pretty small, so I want to focus my energy on improving the existing solution first (a lot of work in required on the user interface, and there is room for rendering performances to be improved for example). Supporting every option of every object and all the actions bound to it is a lot of work that I just can't put in the current situation.

What I could eventually consider and test is being able to export the video automatically from a given save file or json file from the command line (something like wav2bar -i descriptor.json -o output.mp4), but that would still require to write the .json manually which is much more time consuming than using the GUI.

I keep the issue open as it definitely is an interesting idea to consider, but right now this can't be implemented, sorry.

rudnypc commented 3 years ago

It's a good idea if we have the command "wav2bar -i descriptor.json -o output.mp4", I can create some project in the GUI (a template for all my videos) and save them, after that, I can change some things in json file and export a new video.

Picorims commented 3 years ago

I just released Wav2Bar 0.2.1 which has some CLI subcommands, including an export subcommand for exporting videos. Right now, it only supports .w2bzip files. To access the .json file, just rename the save file to .zip and unzip it (and vice versa to make it, making sure it is zipped the same way (same root)). The format is documented in docs/save.md. If .json direct support is a must, I can consider that for a future update, but without audio and image support.

rudnypc commented 3 years ago

Is it wrong to use like that? C:\data\Wav2Barfolder>Wav2Bar.exe --version

Picorims commented 3 years ago

What are you trying to achieve with the ">" symbol ?

Picorims commented 3 years ago

On windows, this is how it works: start /wait Wav2Bar.exe -- [args..] in the cmd (not powershell). args is either --version, or a sub-command. All arguments have to be passed through the flags, it doesn't work with >, >> or | operators.

sanbroz commented 2 years ago

What's the command line format to export video from saved file. I am using v2.2 and unable to use export command from cli. My cli is Wav2Bar.exe export --input c:\temp\wave2bar-1.w2bzip --output c:\temp\video.mp4

Picorims commented 2 years ago

Here's what I tried: start \wait Wav2Bar.exe -- export -i "path" -o "path". But I see an error when trying to write the video so there may be something wrong. Can you please attach a log file ? (If you used the zip, root/resources/app/logs, if using the installer, c:/Wav2Bar/logs) edit: if you are using the installer, run from the exe contained in the app-0.2.2 folder instead, this will output the logs directly to the terminal.

sanbroz commented 11 months ago

It will be very nice if program quits automatically if it's launched from command line, currently it displays a pop up dialog box after export completes, it will be be very useful in batch operations.

Picorims commented 11 months ago

Hello @sanbroz

This is something I tried to fix in the past, I might have a look at it again at some point (no promise though). But this issue is closed and is not the place for discussing that topic, as this is a separate feature request. Please file up a new feature request issue if that is something you would like to see being supported in a future version.