unknownbrackets / maxcso

Fast cso compressor
ISC License
402 stars 23 forks source link

GUI Development #21

Open sethfoxen opened 6 years ago

sethfoxen commented 6 years ago

I'm very beginner, I took a VB class in highschool back in 2011, but I wrote up a simple GUI for maxcso that I wanted to put out there. The only real option right now is selecting the thread count, but other than that it passes no other arguments. I'm not distributing maxcso, as the GUI I've wrote requires a compiled maxcso binary along side it in it's folder, so it's all my work. I'd love to have someone take a look at it, and see if it works well, and offer any improvements!

The repo is at https://github.com/sethfoxen/maxcsoGUI

unknownbrackets commented 6 years ago

Will take a look.

If you want, you can also try writing a GUI that runs maxcso as a library. The CLI is actually just using the "main library" here:

https://github.com/unknownbrackets/maxcso/blob/master/cli/cli.cpp

So for example, a progress bar could be implemented using the maxcso::TASK_INPROGRESS status.

But that doesn't mean anything is wrong with calling the exe (although that might be somewhat Windows only.)

-[Unknown]

sethfoxen commented 6 years ago

It's limited, and I have have pretty much ZERO experience with any practical coding, and really was just looking for something to simplify batch compression. Wanted to keep it simple. Download a maxcso release, pop it in the GUIs folder, and there you have it. I've added a few more arguments, just calling the exe makes it simpler to implement changes. Added a new compression method? Simply add a line, a checkbox, and rebuild.

Evolution0 commented 5 years ago

I got one in the works myself currently using Python and Tkinter (because its simple and works on damn near everything)

It currently can:

Not sure if I want to keep the progress bar or simply add percentages beside filenames then transition to a checkmark or something when they are done.

The rest of the options will likely be added as advanced options that can be shown on toggle as to keep the UI simple.

Ugly screenshot as I haven't adjusted the layout: MaxCSOGUIv1

Files in the list not shown yet as its still ugly full paths and I need format it better.

unknownbrackets commented 5 years ago

That's interesting. I'd suggest defaulting the threads to at least half the available (if not all, like maxcso does by default), because maxcso tries multiple methods and can be slower with only a single thread. It's designed to scale very well with additional threads.

-[Unknown]