azonenberg changed the topic of #scopehal to: libscopehal, libscopeprotocols, and glscopeclient development and testing | https://github.com/glscopeclient/scopehal-apps | Logs: https://libera.irclog.whitequark.org/scopehal
<_whitenotifier-7> [scopehal-apps] ehntoo synchronize pull request #531: Migrate from Gdk::Color to HTML color strings - https://github.com/glscopeclient/scopehal-apps/pull/531
<_whitenotifier-7> [scopehal-apps] ehntoo edited pull request #531: Migrate from Gdk::Color to HTML color strings - https://github.com/glscopeclient/scopehal-apps/pull/531
<azonenberg> woo 96 files changed, lol. ok this will take me some time to review
<azonenberg> ehntoo: longer term it would be nice if we could use raw RGB values or something as color codes to avoid all the string parsing. but so far that's not a huge performance bottleneck
<azonenberg> it's something to think about for the future
<azonenberg> during the transition period strings are common ground both libs can work with
<azonenberg> did you notice any impact on build times from not pulling all of the GTK stuff into scopehal?
<azonenberg> ehntoo: you include dirent.h and unistd.h in scopehal, those files are unix-only
<azonenberg> in scopehal.h*
<azonenberg> should not be included on win32 as we use winapi functions there (remember the long term plan is to move away from mingw and have a native win32 build)
<d1b2> <david.rysk> note that mingw is winapi
<d1b2> <david.rysk> so something done with mingw should be mostly portable to native win32 (outside of the build system)
<d1b2> <ehntoo> I actually had a different version I'd tried earlier with a custom color class instead if that'd be preferable - I'd need to look it over again, though https://github.com/ehntoo/scopehal/commit/9fbdca9a3095c46f75111d10b552c203c575938a
<azonenberg> ehntoo: no
<azonenberg> keep the strings
<azonenberg> that's a "after we deprecate glscopeclient" refactoring
<azonenberg> just fix the includes and i can merge #710
<azonenberg> now looking at #531
<d1b2> <ehntoo> I didn't notice any build time impact
<azonenberg> ok yeah 531 is good to merge after that include fix too
<d1b2> <ehntoo> re: includes, that was my understanding, but there was some non-*nix-only usage of things included by unistd/dirent that required it. Let me comment them back out and see what it was
<azonenberg> we should not be using any posix apis on win32. if so, that's introducing a gnu/mingw dependency we shouldn't have
<azonenberg> which will be a future blocker on a visual studio native build
<d1b2> <ehntoo> ok. I'll take another pass and make sure we can get rid of them
<d1b2> <ehntoo> does anyone here know offhand if something else provides ftruncate on windows?
<d1b2> <david.rysk> stack overflow says "Use SetFilePoiner or SetFilePoinerExto set the current position to the size you want, then call SetEndOfFile."
<d1b2> <ehntoo> oh, that usage is actually #ifdef'd for windows already. never mind
<d1b2> <ehntoo> just need to update the includes
<d1b2> <david.rysk> ah
<d1b2> <ehntoo> looks like there's a couple other usages of unistd.h, fcntl.h, and dirent.h throughout the codebase. I'll open an issue to clean them up, and just take care of the new usages I added for now.
<azonenberg> We use them in a bunch of spots but they should all be ifdef'd
<_whitenotifier-7> [scopehal] ehntoo opened issue #711: Remove usages of non-portable functions/headers - https://github.com/glscopeclient/scopehal/issues/711
<_whitenotifier-7> [scopehal] ehntoo synchronize pull request #710: Initial GTK Refactor - https://github.com/glscopeclient/scopehal/pull/710
<_whitenotifier-7> [scopehal] azonenberg commented on issue #711: Remove usages of non-portable functions/headers - https://github.com/glscopeclient/scopehal/issues/711#issuecomment-1272194392
<_whitenotifier-7> [scopehal] azonenberg commented on issue #711: Remove usages of non-portable functions/headers - https://github.com/glscopeclient/scopehal/issues/711#issuecomment-1272194468
<_whitenotifier-7> [scopehal-apps] ehntoo edited pull request #531: Migrate from Gdk::Color to HTML color strings - https://github.com/glscopeclient/scopehal-apps/pull/531
<_whitenotifier-7> [scopehal] azonenberg closed pull request #710: Initial GTK Refactor - https://github.com/glscopeclient/scopehal/pull/710
<_whitenotifier-7> [scopehal] azonenberg pushed 8 commits to master [+8/-4/±194] https://github.com/glscopeclient/scopehal/compare/e807bfb4efb7...76302bff3817
<_whitenotifier-7> [scopehal] ehntoo 5f7460d - Remove graphwidget to prepare for GTK removal
<_whitenotifier-7> [scopehal] ehntoo fea37e3 - Replace Gdk::Color with HTML color strings
<_whitenotifier-7> [scopehal] ehntoo 6d48ef7 - Move ExportWizard to scopeexports, begin removing gtk
<_whitenotifier-7> [scopehal] ... and 5 more commits.
<_whitenotifier-7> [scopehal-apps] azonenberg closed pull request #531: Migrate from Gdk::Color to HTML color strings - https://github.com/glscopeclient/scopehal-apps/pull/531
<_whitenotifier-7> [scopehal-apps] azonenberg pushed 6 commits to master [+0/-0/±16] https://github.com/glscopeclient/scopehal-apps/compare/a9f2bea67dc8...b1beb8b20ebb
<d1b2> <ehntoo> I'll take a look through the code for any other posix headers to get that cleaned up
<_whitenotifier-7> [scopehal-apps] ehntoo fd5eca2 - Link graphwidget directly to glscopeclient
<_whitenotifier-7> [scopehal-apps] ehntoo d861a45 - Use html color instead of gdk::color in scopehal
<_whitenotifier-7> [scopehal-apps] ehntoo 8f23820 - Import scopeexports header directly
<_whitenotifier-7> [scopehal-apps] ... and 3 more commits.
<_whitenotifier-7> [scopehal-apps] azonenberg pushed 1 commit to master [+0/-0/±1] https://github.com/glscopeclient/scopehal-apps/compare/b1beb8b20ebb...0c33d20e906f
<_whitenotifier-7> [scopehal-apps] azonenberg 0c33d20 - Updated to latest scopehal
<_whitenotifier-7> [scopehal-apps] azonenberg pushed 1 commit to master [+0/-0/±2] https://github.com/glscopeclient/scopehal-apps/compare/0c33d20e906f...0a16306baae8
<_whitenotifier-7> [scopehal-apps] azonenberg 0a16306 - Added initial value readout for X axis cursors. See #527.
<d1b2> <azonenberg> Thoughts on this for cursor value readouts? I feel like it's good info but eats a lot of screen space
<d1b2> <azonenberg> not sure of how to do it better though
Degi has quit [Ping timeout: 246 seconds]
Degi_ has joined #scopehal
Degi_ is now known as Degi
<_whitenotifier-7> [scopehal-apps] azonenberg pushed 1 commit to master [+0/-0/±5] https://github.com/glscopeclient/scopehal-apps/compare/0a16306baae8...c9a0dc50a615
<_whitenotifier-7> [scopehal-apps] azonenberg c9a0dc5 - Added popup window for cursor readouts. See #527.
<d1b2> <azonenberg> I like this better
<_whitenotifier-7> [scopehal] ehntoo opened pull request #712: Remove usage of posix APIs - https://github.com/glscopeclient/scopehal/pull/712
<_whitenotifier-7> [scopehal-apps] ehntoo opened pull request #532: Remove usage of posix APIs - https://github.com/glscopeclient/scopehal-apps/pull/532
<_whitenotifier-7> [scopehal-apps] ehntoo edited pull request #532: Remove usage of posix APIs - https://github.com/glscopeclient/scopehal-apps/pull/532
<d1b2> <ehntoo> I also like option 2 better, especially for large displays
<d1b2> <ehntoo> it gives flexibility to keep the readouts near the waveform if desired, but you can also get them out of the way if you want
<azonenberg> yep
<azonenberg> lets go with that. then we'll figure out y axis separately
<azonenberg> ok so let me look at the new PRs...
<_whitenotifier-7> [scopehal] azonenberg closed pull request #712: Remove usage of posix APIs - https://github.com/glscopeclient/scopehal/pull/712
<_whitenotifier-7> [scopehal] azonenberg pushed 2 commits to master [+0/-0/±10] https://github.com/glscopeclient/scopehal/compare/76302bff3817...a6488a390946
<_whitenotifier-7> [scopehal] ehntoo 11823d6 - Remove usage of posix APIs
<_whitenotifier-7> [scopehal] azonenberg a6488a3 - Merge pull request #712 from ehntoo/remove-posix-api-usages Remove usage of posix APIs
<_whitenotifier-7> [scopehal] azonenberg closed issue #711: Remove usages of non-portable functions/headers - https://github.com/glscopeclient/scopehal/issues/711
<_whitenotifier-7> [scopehal-apps] azonenberg pushed 2 commits to master [+0/-0/±2] https://github.com/glscopeclient/scopehal-apps/compare/c9a0dc50a615...73f48c8cc4f1
<_whitenotifier-7> [scopehal-apps] ehntoo 08f34ab - Remove usage of posix APIs
<_whitenotifier-7> [scopehal-apps] azonenberg 73f48c8 - Merge pull request #532 from ehntoo/remove-posix-api-usages Remove usage of posix APIs
<_whitenotifier-7> [scopehal-apps] azonenberg closed pull request #532: Remove usage of posix APIs - https://github.com/glscopeclient/scopehal-apps/pull/532
<_whitenotifier-7> [scopehal-apps] azonenberg pushed 1 commit to master [+0/-0/±1] https://github.com/glscopeclient/scopehal-apps/compare/73f48c8cc4f1...e1db9d9a5957
<_whitenotifier-7> [scopehal-apps] azonenberg e1db9d9 - Updated to latest scopehal
<_whitenotifier-7> [scopehal-apps] azonenberg pushed 1 commit to master [+0/-0/±1] https://github.com/glscopeclient/scopehal-apps/compare/e1db9d9a5957...0eb8a982ae48
<_whitenotifier-7> [scopehal-apps] azonenberg 0eb8a98 - WaveformGroup: cursor table names are now color coded
bvernoux has joined #scopehal
<bvernoux> Nice I see there is lot of refactor on scopehal ...
<azonenberg> bvernoux: yeah ehntoo is working towards removing the GTK dependencies
<azonenberg> enabling a future visual studio based build of ngscopeclient without needing to pull in gtk
<d1b2> <ehntoo> pretty sure only cairo should be required for everything that goes into ngscopeclient now. unsure if that's workable under visual studio
<azonenberg> We also use sigc++ for notifications when filter parameters change
<azonenberg> but afaik that is not a big deal to use under vc++
<azonenberg> (removing it would also be a fair bit of work)
<d1b2> <david.rysk> Cairo has an msvc project apparently — https://cairographics.org/visualstudio/
<azonenberg> the Cairo should also not be too bad. in particular, we don't actually use it for rendering per se
<d1b2> <david.rysk> Hm let me dig deeper
<azonenberg> in scopeprotocols
<azonenberg> We draw the eye mask polygons which could be trivially replaced with a function that returns a list of points to be drawn via a GUI-side APIO of your choice
<azonenberg> but there is a second internal function also using cairo which converts the eye mask polygons into an on/off bitmap for pass/fail testing
<d1b2> <david.rysk> Yeah looks like Cairo should be doable
<azonenberg> So we will have to replace that second function with something else
<azonenberg> @david.rysk: it's a huge library we'd be using for like two functions
<azonenberg> it's silly to keep it around when we've gone this far
<azonenberg> even if it *can* build under vc++
<d1b2> <ehntoo> I started playing with some CMake cleanups last night. Is there a minimum version of CMake we want to support? It looks like Debian stable ships 3.18 right now.
<d1b2> <david.rysk> are we still supporting cmake 2?
<d1b2> <ehntoo> I sure hope not.
<d1b2> <ehntoo> Especially since we're using c++17
<miek> the current minimum supported version in the project is 3.16
<miek> i think that's probably still a good choice for now, that's what ubuntu 20.04 is shipping
<d1b2> <ehntoo> seems like a good target to me.
<azonenberg> Yeah. As a general guideline we should be aiming for the lowest version of all dependencies available on ubuntu, fedora, and debian stable/LTS
<azonenberg> anything newer should only be used if the cost of significant inconvenience to users (and inability to use distro packaging) is justifiable
bvernoux has quit [Quit: Leaving]
<d1b2> <DanielG> @bvernoux interestingly I can't get glscopeclient to seg-fault with the build you sent me, using the same steps as here: https://github.com/glscopeclient/scopehal/issues/705.
<_whitenotifier-7> [scopehal-apps] ehntoo opened pull request #533: Add a cache for glslang compilation on win32 CI - https://github.com/glscopeclient/scopehal-apps/pull/533