Closed beefcat666 closed 2 years ago
Nice that you're planning on working on those new features that I don't really have the time/motivation for right now.
I'd rather not merge your changes though, because:
Also, regarding Linux support: AFAIK there is no way to set a color space conversion matrix on Intel iGPUs, and on NVIDIA you can set that matrix but nothing else. On the newest AMD cards you actually have full control over degamma, the matrix and regamma (degamma is fixed to sRGB on older GPUs), so the same as NVIDIA provides on Windows via the API that novideo_srgb uses. So while it would be significantly less capable than the Windows version for most users, I think a Linux version would still be nice to have.
No worries. I've added a few of the features already. If you're interested, I could port them over to your .NET 4.8 codebase and submit a new PR that just includes them and none of my other nonsense.
About .NET 6, I will point out a few things:
The .NET 6 specific stuff I have actually written so far is incomplete and immaterial to the enhancements I've made though, so it's not that important.
I wanted to start a dialogue and see if you were interested in what I'm doing with your code. I'll take no offense if you are uninterested in my design changes and would rather keep your code the way it is. I am also open to feedback if you are interested, but want things done a little differently.
I've upgraded the runtime from .NET Framework 4.8 to .NET 6. This will allow us to leverage newer C# language features, newer design patterns, and potentially add support for Linux. If you are using an older version of Visual Studio, it might require you to upgrade. If you use Rider, the solution should load and build just like it did before. For VS Code, you might want to install .NET Core related extensions. Client support should still extend all the way back to Windows 7.
I've moved most of the core app logic to a new assembly. This will make it easier to implement some requested features like a CLI as separate assemblies, as well as experiment with different UI frameworks (like MAUI or WinUI 3), which could make implementing some requested features easier.
See my readme for a list of features I'm looking to implement going forward.