FreeTubeApp / FreeTubeApp/FreeTube
[Feature Request]: Option to apply specific color filter (pixel shader) to all images and videos
- 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 and closed issues](https://github.com/FreeTubeApp/FreeTube/issues?q=is%3Aissue+sort%3Arelevance-desc) 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
Firstly, thanks to everyone who has put their time into such a useful project that I could not do without.
Secondly - Please note, this is _NOT_ related to 6703 which is asking for something _far_ more complex.
Some Background... Due to a vision issue, I am having to use Windows with the "Inverted Colors" Accessibility Color Filter. I then have to apply the same color inversion within other software to re-normalize those colors (i.e. Photos and Videos)
For example when I find a video on Freetube that I want to watch, I have to currently spawn PotPlayer from FreeTube and then use the "Invert" pixel shader within PotPlayer as per: Right Click -> Video -> (Pixel Shaders) ... Invert.
### Proposed Solution
However it would be much for efficacious for me if this Pixel Shader (Or, if you will, Color Filter) was integrated directly into Freetube as an On/Off Toggle option/Hotkey.
This would be such that the Invert/Negative Shader/Filter was applied to all video Thumbnails, video preview and video so that the it could then be watched properly.
Code would be as below (Apologies this is in OpenGL as I am not sure what Shader language Freetube would leverage).
```
void main() {
vec4 textureColor = texture(textureUnit, texCoord); // Get pixel color
gl_FragColor = vec4(1.0 - textureColor.r, 1.0 - textureColor.g, 1.0 - textureColor.b, textureColor.a); // Invert RGB and keep alpha
}
```
### Alternatives Considered
PotPlayer
### Issue Labels
visual improvement, ease of use improvement, new feature, new optional setting, new keyboard shortcut
### Additional Information
Thank you kindly for the consideration of this request - SAVP
Contributor guide
Assessment
This issue has not been assessed yet.