Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hamlib control program #1223

Closed
mdblack98 opened this issue Jan 21, 2023 · 16 comments
Closed

Hamlib control program #1223

mdblack98 opened this issue Jan 21, 2023 · 16 comments
Milestone

Comments

@mdblack98
Copy link
Contributor

Create a portable GUI control program for Hamlib to control most functions. Depends on multicast capability being created.
In particular...
Freq
Mode
PTT
AutoTune
RF Power
AF Level
Front/Rear select for USB and USBD
and others....

@mdblack98 mdblack98 added this to the 4.6 milestone Jan 21, 2023
@N0NB
Copy link
Contributor

N0NB commented Jan 22, 2023

I suspect you have a language and toolkit in mind.

@mdblack98
Copy link
Contributor Author

C# and GTK at the moment. Can use "dotnet build" on Windows, Linux, and MAC.

@N0NB
Copy link
Contributor

N0NB commented Jan 22, 2023

Interesting. I doubt you'll get much help from the Linux side and I was unaware that there is any way to build a C# app for Linux or that there is any .NET support for Linux. GTK seems to be poorly supported on Windows, at least that is what I read elsewhere and, IMO, the choices made for GTK3 will be foreign on Windows. As I see it, GTK4 is hopeless for any software outside of GNOME.

I don't have a recommendation. I've dabbled with other GUI projects over the years and I generally like the look and feel of Qt apps, but it is a huge beast and depends on C++ (mostly) which to me is completely beyond the realm of hobbyist friendly.

It's getting to the point that maybe only an AI can write a GUI program!

@mdblack98
Copy link
Contributor Author

mdblack98 commented Jan 22, 2023 via email

mdblack98 added a commit that referenced this issue Jan 22, 2023
Should compile on Windows, Linux, and MacOS with appropriate dotnet package installed
See README.TXT in directory
#1223
@PianetaRadio
Copy link
Contributor

I'm with the same opinion of Nate, QT is a very good development platform.
See my GUI https://github.com/PianetaRadio/CatRadio

@markjfine
Copy link

Qt is really the best option if you're looking cross-platform, however, just be aware that everything falls apart with every major new version making it hard to maintain. Things quickly get deprecated and the GUI practically needs a major rewrite every time, such as recently when it went from 5.15 to 6.0. Have seen this very thing on DReaM over the years.

@mdblack98
Copy link
Contributor Author

mdblack98 commented Jan 22, 2023 via email

@N0NB
Copy link
Contributor

N0NB commented Jan 22, 2023

I was completely unaware of there being Dot NET stuff in the current Debian Stable repository but there is: https://packages.debian.org/bullseye/libgtk3.0-cil

This should also be in Ubuntu flavors as well.

@N0NB
Copy link
Contributor

N0NB commented Jan 22, 2023

There is also: https://packages.debian.org/bullseye/libgtk-dotnet3.0-cil

which might be more of what you're looking for, Mike. I'm not sure as this is entirely new territory for me.

@N0NB
Copy link
Contributor

N0NB commented Jan 22, 2023

Those two packages may be the only ones in Debian proper as I find nothing for the dotnet-sdk package in the Debian Unstable repository. There is this link from Microsoft: https://learn.microsoft.com/en-us/dotnet/core/install/linux-debian

@mdblack98
Copy link
Contributor Author

mdblack98 commented Jan 22, 2023 via email

@N0NB
Copy link
Contributor

N0NB commented Jan 22, 2023 via email

@N0NB
Copy link
Contributor

N0NB commented Jan 22, 2023

Qt is really the best option if you're looking cross-platform, however, just be aware that everything falls apart with every major new version making it hard to maintain. Things quickly get deprecated and the GUI practically needs a major rewrite every time, such as recently when it went from 5.15 to 6.0. Have seen this very thing on DReaM over the years.

I guess they have their reasons for making changes so rapidly. I suppose I'm getting to the point in life where I value stability. In that vein there is always Tk.

;)

@markjfine
Copy link

Qt is way too C++ dependent and I don't want to add that in. Plus their recent breaking of the API has really turned me off to Qt. It's not completely out of the question though depending on the roadblocks I run into with portability and capability.

Yup. I will kinda agree. And the API breaking, as I intimated, is a semi-regular thing. The only thing that could be worse wrt constant deprecation is Java - learned that many years ago, developing an ADRG map server / application way before ESRI was even a thing.

@N0NB
Copy link
Contributor

N0NB commented Jan 22, 2023

Aside from the things already discussed, after thinking about this for a while, I think that anything that depends on the proprietary .NET SDK should be in its own repository and not a part of Hamlib proper. If the bindings for C# do not rely on the SDK then they should remain in the Hamlib tree.

@mdblack98
Copy link
Contributor Author

See #695

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants