gliscowo / isometric-renders

Creates high-resolution isometric screenshots of Minecraft's game objects
https://modrinth.com/mod/isometric-renders
MIT License
109 stars 13 forks source link

[macOS] Fixed Export to Clipboard and FFmpeg detection. #55

Closed qwerasd205 closed 10 months ago

qwerasd205 commented 1 year ago

Addresses #46 and #54.

qwerasd205 commented 1 year ago

Related to this PR, you might consider adding a config/options screen, and providing options for "always copy to clipboard after export" and a place to enter an explicit ffmpeg path if it still couldn't be found automatically.

qwerasd205 commented 1 year ago

I've begun cleaning up and refactoring/reworking my code to make it more robust and maintainable.

qwerasd205 commented 1 year ago

Alright, that should be more robust, and also gets things going in the right direction for the config stuff.

Needs Windows/Linux testing

I haven't tested this code on anything but macOS- and since I touched the way non-macOS stuff is handled in some places, it needs testing on Windows and Linux before accepting these changes. LWJGL can be very tempermental with FS related stuff; while working on this I encountered a very non-obvious segfault on macOS, so even though it doesn't seem like anything I changed should cause any problems or different behaviors, it's better safe than sorry- you should probably check to be sure.

gliscowo commented 1 year ago

Hey there,

I'd like to begin this by saying that I really appreciate you taking the time and effort to make a clean implementation for these features. It's nice to see you care about the mod

I'm afraid, however, that I need to express my discomfort with the general goal being chased here. There are two primary reasons for this:

I'm interested to hear your opinion on these issues Cheers

qwerasd205 commented 1 year ago

I'd like to begin this by saying that I really appreciate you taking the time and effort to make a clean implementation for these features. It's nice to see you care about the mod

Well, as someone who uses the mod regularly, I have an interest in making it better, for myself if no one else. I'd like to thank you for making such a great mod in the first place.

To address your concerns:

If you do end up deciding that it's still not worth it to do this, I understand- and I'll either just make a fork of the mod (which I'd like to avoid if possible since it feels a little disrespectful), or a stand-alone patcher/compatibility mod (which I'd also like to avoid since the code would be... less than ideal for such a thing).

As for your second item:

If having more classes gives you an uncomfortable feeling, one option that could be explored (I'd be more than happy to take a shot at writing it) is to go back to a unified class for both resolving the FFmpeg command and running the FFmpeg jobs (though I personally find this sort of coupling to be more uncomfortable than just having the additional file), but just rework it to be more generic. A unified, generified FFmpeg handler class would also make implementing configurable FFmpeg settings (as I suggested in #56) much more straightforward.

Ultimately (obviously) it's your choice- but I think using decoupled generic interfaces like this is over-all a positive, and would help make implementing new features and changes to existing behaviour over-all simpler. I hope to contribute several QOL changes and improvements to this mod (the details of which I won't get in to here, we can talk about my ideas on the Discord if you're curious) and I'm willing to put in a considerable amount of developer time to do so, but if your vision for this mod is more of an ultra-lightweight "just enough to work" arrangement I may be better off making a fork or stand-alone tweak mod.

I hope I assuaged your concerns, though, with regards to most of it, and if so then you can get back to me about whether to trim down the FFmpegResolver and/or try my hand at a single unified FFmpeg handler class.

Thanks once again for making this mod, and thanks for the response ^-^ I hope my answers weren't too long and rambly 😅

qwerasd205 commented 10 months ago

Never mind I guess