freedv-gui/.github
Mooneer Salem 2a290d809a
Enable color emojis in the FreeDV Reporter window (#861)
* WIP patch to wxWidgets to enable color emojis on Windows.

* WIP rewrite of FreeDV Reporter window to use wxDataViewCtrl.

* Apparently we need to associate the model before adding columns.

* Force render the Msg column using Direct2D, causing emojis to display in color.

* Move ReportMessageRenderer to a separate file.

* Only use ReportMessageRenderer on Windows. Also, make sure we don't show ellipsis unless for the Msg field.

* Bring back preservation of sort column.

* Bring back preservation of Msg column width.

* Support Request QSY functionality again.

* Fix rendering issues on macOS.

* Fix Windows compiler errors.

* Fix rendering issue on Windows from previous commits.

* Use correct selection foreground color when rendering with Direct2D.

* Set minimum column widths.

* Column headings should be centered.

* Batch up item changed notifications during refresh.

* Reenable clipboard and tooltip support.

* Ellipsize message text on Windows.

* Allow tooltips to at least show when clicking on a row.

* Have emojis display in color in tooltips as well.

* Add warning message when not building wxWidgets ourselves.

* Only notify of adding new connection if visible.

* Add additional checks around ItemAdded/ItemDeleted.

* Add/remove items individually every refresh to avoid intermittent Linux crashes.

* Defer memory deallocation until after the UI actually removes the item from view.

* Another attempt at fixing the crash.

* Need to validate pointer in GetAttr() too.

* Undo previous changes, try locking allReporterData_ instead.

* Fix Hamlib compiler failure due to changes in 4.6.

* Add some missed locks.

* Replace locks with assertions that we're on the main thread.

* Probably don't need to defer delete.

* Add additional checking around query methods.

* Warning cleanup.

* Make sure items are unselected before deleting.

* Unselect selected user once QSY request has been sent.

* Force a complete redraw when rows go away.

* Try another way of forcing a redraw.

* We only need to call Cleared() once per row.

* Improve CPU usage.

* Aggressively clear selected users when not actively interacting with them.

* Sort by connect time if no columns are selected for sorting.

* PAIn thread should be RT too (missed from previous PR).

* Force a re-sort on connect.

* Resort on every update from the server.

* Sort fix that hopefully doesn't crash.

* Some minor additional changes.

* Disable PAIn thread and just rely on the normal PulseAudio callbacks for passing audio in and out.

* Make re-sorting happen only once a second.

* Try putting mutexes around all data access.

* Increase RLIMIT_RTTIME just in case.

* Add missed locks.

* RT limit was set too high.

* Sleep for less time than latency if possible.

* Fix crash in TapStep while stopping.

* Defer FreeDV Reporter initialization on startup to make sure GUI is up beforehand.

* Try again to get RTKit to work in the GH environment.

* Try capping maxlength to avoid RX FIFO full errors.

* Increase max buffer size due to overrun errors.

* Default maxlength for output devices to prevent overruns.

* Try bringing back PAin thread. WIP

* Add missed PulseAudio locking.

* Remove more missed mallocs from RT path.

* Remove unneeded code from PulseAudio logic.

* Tab cleanup.

* Increase RX FIFO size.

* Force sleep if we take much longer than expected (avoids kill by rtkit).

* Forgot to check in file.

* Fix compiler error for real.

* Fix issue causing occasionally being unable to get the mic input on macOS.

* Add timeout for EOO in case we lose input devices.

* Add additional protection to prevent the OS from killing the app.

* macOS: get device names an alternate way to avoid empty names for certain devices.

* Make RX plots more reliable when pipewire sends multiple seconds of RX audio at once.

* Oops, used wrong comparison for EOO timeout.

* Catch SIGXCPU in case we exceed RT limits.

* Prevent RX processing from occurring if there's no space in the output FIFO.

* Apparently I was setting the soft and hard rlimits to be the same.

* Lower soft RT limit to 10ms.

* Disable RT scheduling on Linux.

* Added additional protection against server-caused race condition.

* Defer add to table until after we get connection successful message.

* Add missed lock on connect successful message.

* Add missed visibility check.

* Fix issue on Linux.

* Add additional logging to help diagnose duplicate callsign issue.

* Downgrade additional logging to debug/verbose only.

* Fix bug where incorrect SNR was being reported for RADE signals after EOO received.

* Back out previous change buffering rows until fully connected as it doesn't work properly on Windows.

* Fix right-click menu regression.

* Fix issue preventing column sorting on Windows.

* Upgrade wxWidgets to 3.2.8.

* Right-click should not select items.
2025-05-01 12:29:38 -07:00
..
ISSUE_TEMPLATE OK, trying again. 2024-10-21 07:07:13 -07:00
workflows Enable color emojis in the FreeDV Reporter window (#861) 2025-05-01 12:29:38 -07:00