Skip to content
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

Userfriendly Launcher for Audiobook Maker #64

Closed
wants to merge 4 commits into from

Conversation

deffcolony
Copy link

Pull Request Summary: A Simple Userfriendly Launcher V2

Description

This pull request introduces several features to the Audiobook Maker launcher script, providing a more user-friendly and automated experience. The primary features include:

  1. Automated Installation Process
    • The script automatically installs requirements to make audiobook maker work.
    • Miniconda will be automatically installed + creating an isolated conda environment.
    • Python 3.11 will be installed within the created conda environment.
    • Users will be asked if the script should create a shortcut on their desktop after installation to simply launch the menu again to run audiobook maker

image

  1. Automatic FFmpeg Installation

    • FFmpeg is automatically downloaded and added to the environment's PATH.
    • Users no longer need to manually install FFmpeg. (this is still possible in the installer when ffmpeg fails to auto install)
  2. User-Friendly Menu

    • A user-friendly menu is implemented, allowing users to choose various actions.
    • Options include installation of audio Audiobook Maker, Installation of engines, running the app, updating, uninstalling, and exiting the menu.

image

Usage

Users can interact with the script by simply running audiobook-launcher.bat and selecting options from the displayed menu. The script handles the installation, configuration, and uninstall of the Audiobook Maker

Testing

The script has been tested to ensure a smooth installation, proper configuration, and seamless uninstallation. User input handling and automated actions have been thoroughly tested to provide a reliable and user-friendly experience.

Additional Notes

  • Feedback from users is welcomed to further improve the script's usability.

@JarodMica
Copy link
Owner

Great! I'll test it this weekend

@deffcolony
Copy link
Author

@JarodMica any updates on this? i was wondering if i need to change something or that it can be merged

@JarodMica
Copy link
Owner

First, thanks for taking the time to make the script, finally got around to testing it right now and there some issues to check.

7zip installation issue - doesn't register correctly in the path, end up just getting the output:

other_path_stuff; C"

[DEBUG] "zip7_install_path is: "

I've already got 7zip installed on my computer as well, it could be causing this issue, possibly add an option to skip install of 7zip if already installed.

Or maybe, a solution to cover both cases I think would be just to download the .7z exe file into the audiobook root and use that instead.

The same being for ffmpeg as well. If ffmpeg and ffprobe are in the root dir or the audiobook maker, it doesn't need to be installed in the users path.

Additionally, for the package install, I run into a bit of issues with conda

[23:32:22.55] [INFO] Activating Miniconda environment...
The system cannot find the path specified.

and the rest of the installation proceeds. There are some additional issues that I think stem from not being able to find path specified, so I get the error like:

   Choose Your Destiny: 2
[23:34:00.10] [INFO] Activating Conda environment: audiobook-maker
[23:34:00.38] [INFO] Installing pip requirements
The system cannot find the path specified.
ERROR: Invalid requirement: 'modules\\tortoise_tts': Expected end or semicolon (after name and no valid version specifier)
    modules\tortoise_tts
           ^
Hint: It looks like a path. File 'modules\tortoise_tts' does not exist.
ERROR: Invalid requirement: 'modules\\dlas': Expected end or semicolon (after name and no valid version specifier)
    modules\dlas
           ^
Hint: It looks like a path. File 'modules\dlas' does not exist.
ERROR: Directory '.' is not installable. Neither 'setup.py' nor 'pyproject.toml' found.

If the script used the root of the audiobook folder, I think it might be easier that way.

@deffcolony
Copy link
Author

deffcolony commented Nov 5, 2024

@JarodMica Hi thanks for the feedback I have fixed the conda error and made it now a localized package that will be installed in the userdata folder inside audiobook_maker... i added the userdata to gitignore because its only used for users where the virtual env will be deployed into

i also fixed the 7zip so it will check if its installed and added to PATH so it can be used globally as a command the same for ffmpeg

Demo:
Be aware i run this in a virtual machine so the progress is a bit slower ofcourse and i dont pass a GPU but overall its working

vmware_W1DkU581r8.mp4

@JarodMica
Copy link
Owner

Hey @deffcolony,

I apologize for having had you spend the extra time to adjusting the script, but I won't be merging into the the repository. I realized that after some issues, it's another thing I'll have to maintain and respond to new issues with and then I'm not familiar enough with the way the batch script is created to make adjustments to it. The philosophy for why I've broken my manually installation into individual pieces is to make transparent what's being installed as I think this would enable for easier debugging on my end.

However, if it's fine with you, I can put a link to your fork for people to try out as an alternative way to install it. That way, if you make adjustments to it, it'll be the most up-to-date.

One final thing, I ran into issues on my main PC trying to install and then on my secondary, both seem to be due to curl not being found in spite of curl being available on my computers. I used pauses to debug where the point in the script was crashing.

image

@JarodMica JarodMica closed this Nov 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants