maxcso icon indicating copy to clipboard operation
maxcso copied to clipboard

GUI Development

Open sethfoxen opened this issue 7 years ago • 4 comments
trafficstars

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

sethfoxen avatar Oct 24 '18 05:10 sethfoxen

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]

unknownbrackets avatar Oct 26 '18 20:10 unknownbrackets

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.

sethfoxen avatar Oct 27 '18 00:10 sethfoxen

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

It currently can:

  • Use either x86 or x64 releases
  • Detect the number of threads available on a system and allow the user to set how many to dedicate with a slider (Windows and Linux, defaults to 1)
  • Allow multiple files to be chosen with filtering so only supported formats are shown (+ Ignore duplicates)
  • Set output format
  • Choose methods

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.

Evolution0 avatar Jun 23 '19 03:06 Evolution0

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]

unknownbrackets avatar Jun 24 '19 02:06 unknownbrackets