drowe67 / freedv-gui

GUI Application for FreeDV – open source digital voice for HF radio
https://freedv.org/
GNU Lesser General Public License v2.1
206 stars 52 forks source link

Restore screen layout between re-starts of FreeDV #495

Closed barjac closed 1 year ago

barjac commented 1 year ago

I have been asked to add this 'Enhancement Request' by Matt who reads the RSGB news in the UK using FreeDV every Sunday. He has a rather complex system and uses this screen layout for FreeDV during the broadcasts:

image

As you can imagine it takes a bit of setting up each time, so it would be good if it would restore to this layout on each start.

73 Matt & Barry

tmiw commented 1 year ago

This might be non-trivial to do as currently written. For example: https://forums.wxwidgets.org/viewtopic.php?t=48127

Will keep open for now in case me or someone else gets time to investigate in the future :)

Tyrbiter commented 1 year ago

This might be non-trivial to do as currently written. For example: https://forums.wxwidgets.org/viewtopic.php?t=48127

They threw it over the wall and then ran away. That's really not ideal.

tmiw commented 1 year ago

This might be non-trivial to do as currently written. For example: https://forums.wxwidgets.org/viewtopic.php?t=48127

They threw it over the wall and then ran away. That's really not ideal.

Agreed. I do have a PR that seems to work (#497) but it's definitely not ideal as I'm literally bringing in an internal wxWidgets class verbatim (except with a different name to avoid linker issues). Apparently other projects that need similar functionality are doing the same thing so that is something we could do, but would rather we didn't if possible.

Tyrbiter commented 1 year ago

Maybe this could be provided in a 'slightly risky' version for those that need it, I understand why the newsreader would like it as he has quite a complex setup with transceiver (might be an SDR), PA and noise reduction software (quiets the PA fan) all running on one PC.

@drowe67 his setup will be an excellent test bed once we get some codec2 speech quality improvements arriving, as it is the various pieces of software he uses interact and make the quality quite strange to listen to.

tmiw commented 1 year ago

FWIW, the difference for wxTabFrame between wxWidgets 3.0 and 3.2 seems to be one #ifdef block that doesn't seem to matter for our purposes. I suspect this class actually doesn't change much but we'd still need to prove it out across multiple test builds before we consider merging (and even then, it might be worth filing an issue/PR to get wxTabFrame added to the public API or at least some sort of officially sanctioned method of saving/restoring tab state).

tmiw commented 1 year ago

I merged the changes but feel free to reopen this issue if you run into any problems.

barjac commented 1 year ago

Matt is now using this 'experimental' feature in his RSGB news broadcasts and has asked me to thank you for taking the the time and trouble to include it. It is working perfectly and he finds it much easier to set up his system now. :)