FreeTubeApp / FreeTubeApp/FreeTube
[Feature Request]: Add known install/executable locations to `external-player-map.json`
- Dominant language
- Vue
- Stars
- 21.9k
- Forks
- 1.5k
- Avg merge
- 1d 15h
- Merged PRs (30d)
- 62
Description
### Guidelines
- [X] I have searched the issue tracker for [open](https://github.com/FreeTubeApp/FreeTube/issues?q=is%3Aopen+is%3Aissue) and [closed](https://github.com/FreeTubeApp/FreeTube/issues?q=is%3Aissue+is%3Aclosed) issues that are similar to the feature request I want to file, without success.
- [X] I have searched the [documentation](https://docs.freetubeapp.io/) for information that matches the description of the feature request I want to file, without success.
- [X] This issue contains only one feature request.
### Problem Description
By default FreeTube is only able to launch an external player if it finds it in the user's `PATH`, if it doesn't find it the user is confronted with a rather confusing error message. To get around that error message the user has to manually specify the path to the external player executable in the FreeTube settings, which especially for non-technical users that might not know where their programs are installed, is not a particularly user friendly process.
### Proposed Solution
To provide a better out-of-the-box experience known executable locations for each operating system could be added to the `external-player-map.json` file. That would mean that users that have their external player installed to a standard location, would no longer have to manually enter the path to the player executable. Users that use non-standard locations or portable versions of the external player would still have to specify the location manually, however those users are more likely to be technical and aware of where their player executable is located.
The proposed flow would be:
1. If the user has specified a custom command or path, use that.
2. Try launching the player from the PATH.
3. Try launching with the known install locations
4. If all of the above fails, then fallback to showing an error message to the user.
### Alternatives Considered
Providing a better error message so that the user knows how to fix the issue.
### Issue Labels
ease of use improvement, improvement to existing feature, support for external software
### Additional Information
_No response_
Contributor guide
Research direction
Start by locating external-player-map.json and the existing external-player launch flow. Review how custom paths and PATH lookup are handled, then identify the operating-system-specific executable locations needed for the map. Done means standard installations are tried after custom and PATH options, while the existing error fallback remains available.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- json
- Domain
- desktop
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100