Just wondering, what is this random unpopulated (and moveable) box all about when the program starts?
That’s the (very new) legend. When there’s no data it’s empty but as soon as you run a test it will fill in with the legend stuff. At some point I’ll hide it with no data but for now it’s just there as empty when you start - assuming Legend is checked on.
Mark
By the way, if you haven’t tried the Legend, when you mouse over the legend entries it will tell you what Palette Index they are so it’s easy to change their color by using the Edit Palette button (which now has the indices showing for each color). This includes marker colors. The palette is saved in configurations.
@beachside I’ve just posted the latest version with, among other things, the ability to view frequency response in dBr (and all the other units). Please let me know if it works
and if it does what you want. A moderate amount of the Response tab code was updated to allow this, so errors may exist.
For everyone else, there are a number of changes in this version that improve esthetics (such as not having line colors invert when you mouse over them, better default graph background colors, …) and some light bug fixes.
I’ve also added some pretty smart line smoothing to the chirp tests in the Response tab so results will look slightly different.
Mark
Awesome, I’ve just updated and will give it a go. Thanks for all your ongoing efforts Mark.
Hi Mark.
Thanks for adding that!
I just gave it a try, and if I take a sweep then select dBr for the Y axis, 1KHz is -3.76dBr, not zero.
Not sure if I’m doing something wrong.
Did you get something similar John?
@beachside I’m sorry I wasn’t specific in the post. dBr can be either based on a frequency’s value or based on maximum measurement or a specific dB. This is based on maximum (like all the spectral tests) - so I don’t yet have a frequency based dBr for now. If you are looking for 3dB bandwidths then it automatically uses the correct (peak) frequency. I’m planning to add additional / frequency selection somewhere with the next update but I’m still considering what and where.
Note when you did a ‘fit to data’ on the Y axis the maximum value was zero.
Mark
Just had another try, and I think I found why I’m getting something different. Found some strange results.
I was testing a DAC response, testing at -6dBFS using the Play Device output. Play Device Channels was set to ‘L+R’ in that last sweep I posted, and I’m only displaying the left channel. If I change the Play Device Channels setting to just ‘L’, I get a totally different response that does hit 0dBr! Something odd there. ![]()
Hi @beachside
I’m not entirely sure what you’re trying to describe here. Could you post the full app screen showing left and right so I can see the axes and settings? Just use the Photo button upper right of the app. Thanks.
Mark
Sorry Mark for the confusion. I’ve grabbed some screenshots.
I’m only sweeping the left channel of a DAC using the new USB mirror output.
With the Play Device set to ‘L+R’ :
And with the Play Device set to ‘Left’ a different response :
I’m not sure why changing the the Play Device to just left when I’m only displaying left would change the response. But it’s possible I’m doing something dumb. ![]()
Is it possible to adjust text color? If I select black background, text remains black… With dark theme text is white, but there are issues with themes. Or is it possible to modify default themes/do custom themes?
Hi @TimoJ ,
Unfortunately, the current Windows theme support in C# is still Microsoft-beta and not great. In order to support it I can’t customize the controls as much as one would like so the only way to get a dark background with good text support is to select the Dark theme in Settings. This works quite well but you have to save the configuration as default and then on restart it will be just what you’re looking for.
If you have issues with the Dark theme let me know and I may be able to improve specific theme crud.
The plot background colors are adjustable and, on restart, will display legends and other plot items on stuff readably as far as I know (though the legend itself is quite new so…).
Mark
Hi @beachside
I think what you’re seeing seems ok. The use of mixed external/internal source is what’s messing this stuff up. To accommodate external sources I have to smartly detect the start of data. This is pretty simple (more or less) when both inputs come from the same source.
When only one input is from an external source it’s messy. I don’t want to have different time delays for the two sources or phase correlation is a mess and the external input time delay math is iffy anyway. A chirp with too little/much time delay will produce very much what you’re seeing here in the left channel. I think if you try the same experiment with a discrete sweep (points per octave) you’ll see much more correlation because the delay doesn’t have the same low-frequency impact.
This code is still pretty early so I may be able to improve the result you’re seeing. It’s an unusual configuration so hasn’t gotten much TLC.
Note that the program always reads both inputs no matter which one(s) you currently have set to viewable. Otherwise (a) you wouldn’t be able to turn one back on after the run and (b) it would be pretty suspicious if results change when you change which channels you look at.
Tab headers (Spectrum, Intermodulation, Scope etc) should have a more prominent background color, perhaps using the same blue as the attenuator steps?
In “THD vs amplification” and “THD vs frequency”, the controls on the right take too much vertical space, causing a scrollbar to appear. The issue is worse (longer scrollbar) when both channels are visible. I would like to use a window height of 1024 px without scrollbars. With no theme selected, no scrollbars appear.
Version 1.1.46 discussion→
So, @beachside here’s my first real pass at dBr support. I’m pretty happy with the GUI and the implementation but it was a lot of refactoring (serious code changes that have no visible effect). I think everything is still working well.
When I started QA40xPlot the idea was to have a very simple useful application but, as the application matures that ‘simple’ always becomes not-so-simple. I’ve spent some time trying to decide how to shoehorn more functionality without the cost of more complexity.
I don’t like having controls that disappear and reappear but I’ve done that for the dBr implementation in a way that I think is user-friendly. I plan to use a similar approach for some other upgrades that I’ve delayed due to GUI complexity. You can see this simply by selecting dBr in any of the spectral tests.
dBr now has three options. Max (the usual) sets each channel to 0dBr at the peak reading, @Frq sets 0 dBr at a frequency, finally Add just applies a fixed offset to the dBV value.
Hopefully this works for folks.
Mark
@TimoJ so…. unfortunately, the control sizing/spacing is Theme dependent. Dark and Light theme controls are just fatter and have more whitespace to support touchscreens. It seems non-repairable - and I’ve tried a few ways. The None
theme works fine and is slimmed but the others not so much. this is part of why I added expanders and save their state to the configuration.
There are things you can still do.
- Close Graph Data and Options expanders on the right. Close any other expanders you don’t use.
- Display fewer data outputs. One thing eating up space here is the cursor display. I’ll see about changing the cursor output window to an expander [done].
In 1.1.41 I improved the themed tabs to be much slimmer and you might find you don’t need color emphasis now that the tabs don’t sprawl over two or three lines. Give it a try if you haven’t recently. I could easily stuff a separator line in there, though, if you think it still needs it.
Mark
My hope is that when Microsoft gets Themes out of beta for C# they’ll fix the issues that make it so hard to customize a themed gui. Their current implementation is rough.
Version 1.2 is here!
Since I’ve been trying to update QA40xPlot esthetics during the holidays, it’s worth discussing the new GUI changes.
QA40xPlot has always been a little GUI-heavy, by which I mean that the GUI data entry takes up a bunch of screen real-estate compared with the actual Plot area. This makes it more user-complex and less versatile than I would like. I added Expanders (the things with arrows that let you collapse parts of the GUI) to help, but the plan was always to remove the tabs and make something slimmer eventually. That’s now.
There is a new option to let you turn off the tabs and instead use menus. The tabs will, over time, be deprecated and removed unless you all argue against it. Tabs are simple and very quick but eat a lot of screen area.
See below→
Tabs vs Menus
How to switch between the two in Settings →
The new Page menu lets you pick which test/page to look at (just like picking a tab).
The new Command menu is the old right-hand-side button list.
Note that as part of this update the app now remembers your current page if you auto-save configuration.
Comments are welcome.
Mark
I like tabs better.. I would even expand Response tab’s test types to separate tabs. And maybe allow user to select which tabs are visible.
Totally prefer menus over tabs. This is a welcome improvement. Ever since MS put tabs into MS office (in 2007), I’ve hated tabs.
Huge waste of pixels and space (tabs) and I love that you’ve used alt p + (letter). Ctrl and Alt keys are hardwired into my brain since the MSDOS days.
Keep up the good work!
John
I like the tabs but I get that they can be a bit restrictive as / if the program develops. Haven’t tried the new version yet, that’s a tonight job. Assuming you can use keyboard shortcuts to hop between screens? Absoloutely love this software, the bundled application to me is just so clunky. Real time measurements are nice and clear but time and time again I found myself not quite knowing what was going on with it. Thanks for all the work you are putting in!










