Page 30 of 41

Re: SleepyHead Qt v0.8 alpha

Posted: Sun Sep 04, 2011 3:32 pm
by archangle
jedimark wrote:It doesn't have to be built with the new version.. But worth upgrading I guess.

The Qt guys apparently live in a world of unlimited bandwidth and fast connections..
OK, I got it to build. Ran fine in the debug environment. Fumbled around for a while and figured out how to make it build an .exe file.

Being a glutton for punishment and an old verification guy, I wanted to pull in the dlls myself instead of simply copying them from an older sleepyhead package. Too many different versions of each dll in the Qt directories. I got a copy of each DLL named in the zip file off of my own version of the Qt distribution, but that didn't work.

Once I copied the dlls from the SH .zip file, my compiled .exe file runs fine.

I'll tinker again with the dlls the next time I feel masochistic. Is there a particular path to follow to find the right dlls?

Do you think you'll eventually build the dlls into the exe file?

Re: SleepyHead Qt v0.8 alpha

Posted: Sun Sep 04, 2011 5:09 pm
by jedimark
archangle wrote:
jedimark wrote:It doesn't have to be built with the new version.. But worth upgrading I guess.

The Qt guys apparently live in a world of unlimited bandwidth and fast connections..
OK, I got it to build. Ran fine in the debug environment. Fumbled around for a while and figured out how to make it build an .exe file.

Being a glutton for punishment and an old verification guy, I wanted to pull in the dlls myself instead of simply copying them from an older sleepyhead package. Too many different versions of each dll in the Qt directories. I got a copy of each DLL named in the zip file off of my own version of the Qt distribution, but that didn't work.

Once I copied the dlls from the SH .zip file, my compiled .exe file runs fine.

I'll tinker again with the dlls the next time I feel masochistic. Is there a particular path to follow to find the right dlls?

Do you think you'll eventually build the dlls into the exe file?
You just found the easiest path to the correct dll's. Yes, hunting them down really is that frustrating. There is a tool called depends.exe available that was supposed to make it easier, which I found it atrocious. I ended up cheating by using wine.. It spews dll errors when they are missing.

Statically built .exe's, while possible (with a lot of mucking around) are not officially supported by qt or me. Their idea is you only need one copy of them on you system. Mine is it is a lot lighter for distributing updates, which will be automatic one day. Most apps are built dynamically linked like this.

It's not just a simple matter of compiling SleepyHead statically.. It requires a full rebuild of qt from source code. Takes ages and breaks all the time. Plus the binaries are huge, and antivirus software whines when I use an executable packer to bring the size down.

Re: SleepyHead Qt v0.8 alpha

Posted: Sun Sep 04, 2011 5:30 pm
by archangle
jedimark wrote:
You just found the easiest path to the correct dll's. Yes, hunting them down really is that frustrating. There is a tool called depends.exe available that was supposed to make it easier, which I found it atrocious. I ended up cheating by using wine.. It spews dll errors when they are missing.
I think you're addressing a slightly different problem that what I had. I assumed I needed the dlls names in the zip file, I was looking to getting them from Qt, not from the zip file.

My problem is that there are several different versions of DLLs with the same name in the Qt distribution. For instance, there are 8 different QtCore4.dll files in 4 sizes in the QtSDK tree. Even once I figured out I needed QtCore4.dll, I had to figure out which one. I can probably figure out that I need the \QtSDK\Desktop\Qt\4.7.3\mingw version, but that's a guess, and I need to do that guessing for all 14 dlls, and they don't all seem to be in that directory.

As I said, I did get it to build and run just copying the DLLs, so it's not a big deal.

Re: SleepyHead Qt v0.8 alpha

Posted: Sun Sep 04, 2011 6:18 pm
by Otter
Okay, let's see if I can blow this thing up.

0.8.4 didn't have any trouble with the old SleepApp folder...
except that the FL and snore graphs are blank. Was this expected? Newly imported data shows FL and snore.

Importing directories with hundreds of erroneous SAD.edf files still crashes SH.

I'm still seeing sub-decasecond hypopneas. No biggie in an alpha, though. It's easy to mentally add 10 seconds if you know you need to.

The dates for the AHI and usage tooltips appear to be one day behind.

New mouse stuff seems to work. Being able to zoom all the way out with a flick of the scroll wheel is going to be nice.

But is there a way to scroll horizontally through the data? I was in the habit of using the arrow keys for that, but now they seem to be stuck on the left pane. If I click on the calendar, the arrow keys switch days even if I later click on a graph. And if I click on the lower tabs, the arrow keys do nothing.

Trying to find a way to scroll with the mouse, I manged to crash SH again. Zoom in as far as it will go with the mouse buttons or scroll wheel, then select a short section of data. If it doesn't crash the first time, select a short section again.

I see what you mean about the tooltips not going away, but a quick right click, left click is an easy workaround.

Left pane now shows all seven days and can be made wider. Would be nice to be able to narrow this or make it go away to see more data on the right.

I like the inclusion of session stats. Was that there before? Please consider hiding SessionID somehow and displaying the duration of each session instead. That would be really useful when trying to figure out how long I actually slept.

Graphs are resizable. It's a little difficult to make the bottom one bigger, though.

Memory usage is down about 15 or 20 MB under xp x64 too. When you posted about that before, I thought you said that it was down to 20 MB, which blew my mind a little. I'm actually kind of relieved that it's not true.

It's looking good, Mark. I'm really grateful to you for doing this. Because there is no simple way to install ResScan on my system, SH has made a huge difference to me.

Re: SleepyHead Qt v0.8 alpha

Posted: Sun Sep 04, 2011 7:54 pm
by jedimark
Otter wrote:Okay, let's see if I can blow this thing up.
0.8.4 didn't have any trouble with the old SleepApp folder...
except that the FL and snore graphs are blank. Was this expected? Newly imported data shows FL and snore.
It looks like I forgot to increment the internal ResMed loader version number yet again.. If I had of done that, it would of offered to automatically clean up..
Importing directories with hundreds of erroneous SAD.edf files still crashes SH.
SAD.edf is the S9's oximetry attachment data files.. Do/did you have one of them? It shouldn't crash if they are empty.
Does it crash during import, or after? You can put the debug window to full screen by dragging it up all the way.. If you do it before you import, you might be able to see the file it's crashing on..
I'm still seeing sub-decasecond hypopneas. No biggie in an alpha, though. It's easy to mentally add 10 seconds if you know you need to.
I thought I added the 10 seconds in event tab. It gets applied in the loader during import.. So if you looked before reimporting it might have been different.
If it's still not working, I must of made a typo near that section of code..
The dates for the AHI and usage tooltips appear to be one day behind.
When zoomed in, the dates are shown on the left side of the bar. It allowed reuse of the same x-axis tickers. It needs a bit of tweaking to make more sense, but I really don't want different alignment between the graphs like what was happening in the last overview screen. (it was very screwy)
I need some way of telling the x-axis tickers to offset for bar graphs... or offseting the actual bars themselves by half a bar, and plot the xtickers starting a half day earlier.
New mouse stuff seems to work. Being able to zoom all the way out with a flick of the scroll wheel is going to be nice.
But is there a way to scroll horizontally through the data? I was in the habit of using the arrow keys for that, but now they seem to be stuck on the left pane. If I click on the calendar, the arrow keys switch days even if I later click on a graph. And if I click on the lower tabs, the arrow keys do nothing.
Right click and drag on event flags (which is the control graph) allows panning the selection area horizontally.
Being a total GUI & Graph Rewrite, there is no cursor key support yet.. It hasn't been forgotten, just has to be rewritten to fit the new graphing system.
It would be a little confusing at the moment anyway, with the overview graphs shoved in temporarily. The graphs are no longer separate widgets, there is no real way of telling which individual graph was supposed to get a keypress. It will work fine when there is just the normal linked graphs on the screen, as moving one will move them all anyway.. (you will still have to focus the graph area to use the keyboard there, like before)
Trying to find a way to scroll with the mouse, I manged to crash SH again. Zoom in as far as it will go with the mouse buttons or scroll wheel, then select a short section of data. If it doesn't crash the first time, select a short section again.
Hmm. Nice Catch. This one is easily solveable at least.. I just need to limit the selection area to stop you from being able to zoom that far in.
I see what you mean about the tooltips not going away, but a quick right click, left click is an easy workaround.
It will be solved when I write a proper ToolTip object with a timer. Right now it's just a dirty hack to demonstrate the concept.
Left pane now shows all seven days and can be made wider. Would be nice to be able to narrow this or make it go away to see more data on the right.
You can drag the left pane all the way to the left to collapse it.. Just keep dragging past the point where it stops.. Can get it back by dragging from the edge.
I'd love to narrow the left pane. I'm not fond of the 4 bits of info (min,avg,p90 & max) for each channel stacked that wide.. I'm not sure how to present that data without being ugly.. Ideas are very welcome..
I like the inclusion of session stats. Was that there before? Please consider hiding SessionID somehow and displaying the duration of each session instead. That would be really useful when trying to figure out how long I actually slept.
Session stats has been there since the beginning.. down the bottom, usually off screen.
The full SessionID is important at this stage for debugging loader problems.. But there will be a way to show the individual session length too.
Graphs are resizable. It's a little difficult to make the bottom one bigger, though.
That last ones tricky.. Turning off the debug window in Help makes it easier to grab at least.. I need to make the splitter just a little bit taller.
Having to drag it offscreen is a pain, but if it scrolled up as it was dragging, I'd have to deal with repositioning the mouse cursor.. I'll tinker further on it..
Memory usage is down about 15 or 20 MB under xp x64 too. When you posted about that before, I thought you said that it was down to 20 MB, which blew my mind a little. I'm actually kind of relieved that it's not true.
100MB is nothing for an app that works with this much data.. I was extremely pleased the new graphing system turned out to be so light.. A totally unexpected side effect. Most of the bloat in SleepyHead is now just Qt base libraries.. (and most of that is the silly web browser)

Still, what's the point of having multi-gigabyte RAM in systems if we can't abuse it occasionally
It's looking good, Mark. I'm really grateful to you for doing this. Because there is no simple way to install ResScan on my system, SH has made a huge difference to me.
I'm glad you find it useful..

Re: SleepyHead Qt v0.8 alpha

Posted: Mon Sep 05, 2011 6:21 am
by Otter
jedimark wrote:
Importing directories with hundreds of erroneous SAD.edf files still crashes SH.
SAD.edf is the S9's oximetry attachment data files.. Do/did you have one of them?
No, I don't have the absurdly expensive oximeter, but one of the s9's many firmware bugs provides a low-cost alternative. My machine just kept cranking out a new SAD every minute or three for no obvious reason. This happened two or three times before I started rebooting twice a week.
It shouldn't crash if they are empty.
They're empty, but there are more than 600 of them for just one night.
Does it crash during import, or after?
During.
You can put the debug window to full screen by dragging it up all the way.. If you do it before you import, you might be able to see the file it's crashing on..
I'll try that after I've had some sleep.
I thought I added the 10 seconds in event tab. It gets applied in the loader during import.. So if you looked before reimporting it might have been different.
If it's still not working, I must of made a typo near that section of code..
Ah, okay. Newly imported hypopneas do look closer. I'll try to verify that 10 was the right number sometime soon.
The dates for the AHI and usage tooltips appear to be one day behind.
When zoomed in, the dates are shown on the left side of the bar. It allowed reuse of the same x-axis tickers. It needs a bit of tweaking to make more sense, but I really don't want different alignment between the graphs like what was happening in the last overview screen. (it was very screwy)
I need some way of telling the x-axis tickers to offset for bar graphs... or offseting the actual bars themselves by half a bar, and plot the xtickers starting a half day earlier.
Sorry, I should have been more clear. I was comparing my AHI and usage numbers from the tooltips with the data in the details tab. The tooltip numbers are correct, but the date is one day behind. For instance, Sept. 1 my AHI was 0.49, and for Sept. 2 it was 0.25. If I highlight the last bar (forgot to put the card back in the machine, so that should be the 2nd), the tool top says "9/1 AHI 0.25".
Right click and drag on event flags (which is the control graph) allows panning the selection area horizontally.
Being a total GUI & Graph Rewrite, there is no cursor key support yet.. It hasn't been forgotten, just has to be rewritten to fit the new graphing system.
Ah, okay, thanks. That'll do for now. Continuous scrolling is really good for getting a feel breathing patterns, though, so I'm glad that's coming back.
You can drag the left pane all the way to the left to collapse it.. Just keep dragging past the point where it stops.. Can get it back by dragging from the edge.
Aha! I just gave up too soon.
I'd love to narrow the left pane. I'm not fond of the 4 bits of info (min,avg,p90 & max) for each channel stacked that wide.. I'm not sure how to present that data without being ugly.. Ideas are very welcome..
Hmmm. Since that's daily summary data, people probably won't be looking at that and the graphs at the same time. Maybe go ahead and collapse it, and add an obvious button to expand/collapse. Better yet, let the left pane hog as much screen as it needs for the details tab, but resize the pane for the events tab, which is more likely to be up when people are poking around in the right pane.
Session stats has been there since the beginning.. down the bottom, usually off screen.
Had a vague memory of that, but thought it might just be the fog.
The full SessionID is important at this stage for debugging loader problems.. But there will be a way to show the individual session length too.
Yeah, I figured the SID was there for debugging at this stage. Later on, I doubt it will be used very often, though.
Graphs are resizable. It's a little difficult to make the bottom one bigger, though.
That last ones tricky.. Turning off the debug window in Help makes it easier to grab at least.. I need to make the splitter just a little bit taller.
Having to drag it offscreen is a pain, but if it scrolled up as it was dragging, I'd have to deal with repositioning the mouse cursor.. I'll tinker further on it..
Why not just give add an extra graph at the bottom? Maybe it could display text if you needed somewhere to put some information that won't be used that often. Or it could have sleep-themed art. For now, a blank graph would give us somewhere to drag the border, and as it would be down at the bottom, it wouldn't get in the way.
Still, what's the point of having multi-gigabyte RAM in systems if we can't abuse it occasionally
To run the latest bloatware, of course.

Re: SleepyHead Qt v0.8 alpha

Posted: Mon Sep 05, 2011 7:36 am
by jedimark
Otter, your machine doesn't sound healthy.. Your internal clock in your S9 could be fooey? flat cmos clock battery?

Whatever the case, it shouldn't dump anywhere near that amount of SAD.edf files.
It could also be a sign of a read error on your SD card.

As for the dates, Jimbo sent a screenshot.. Very screwy indeed. I made a minor fix in the source code, but I couldn't replicate this one to begin with.

Cursor keys zoom and pan just got redone. The way the new graphing system works, they will only move the first "group" of a graph "view". ie, only CPAP data that's linked together can move by keys. Unlinked stuff, like oximetry can't at this stage.. That requires implementing focus control for non-widget objects.. A little messy.. and I don't wanna spoil my new input handling code just yet..

Re: SleepyHead Qt v0.8 alpha

Posted: Mon Sep 05, 2011 1:13 pm
by fiberfan
I had to fight ResScan to get data when I slept past noon which reminded me that I love SleepyHead's import that automatically dumps duplicate data and I don't have to tell it how many days of detailed data to import!

0.8.4 I get graphs with tick marks and labels on the y axis for and no other data on Leak, Snore and Flow Limitation. All 3 graphs work fine in 0.8.3. The Ti chart in 0.8.4 has y and x axis labels tick marks and the x lines within the chart but now data. Again the chart works fine in 0.8.3.

If you want screen shots or data let me know.

The pressure graph in 0.8.4 is still showing a middle line with data that isn't displayed in ResScan. I have no idea what this data is since - either the data series don't have hints or hints are working on my 64 bit Win7 computer.

Re: SleepyHead Qt v0.8 alpha

Posted: Mon Sep 05, 2011 1:33 pm
by archangle
I have seen some intermittent missing letters on the labels for things on SH. Version 0.8.3, I believe.

I believe my problem is caused by some sort of memory shortage in Windows, not a problem with SleepyHead. I get some strange problems with other programs as well. It seems to go away when I kill some other processes.

Here's a slightly different strange display I got earlier today that went away when I tried again.

http://img545.imageshack.us/img545/4251/shlines.jpg

Once again, I think it's a Windoze problem, not SH, but I'll post it anyway.

By the way, I think this was the executable I compiled locally, but it wouldn't do it when I tried it again.

Re: SleepyHead Qt v0.8 alpha

Posted: Mon Sep 05, 2011 5:43 pm
by Otter
jedimark wrote:Otter, your machine doesn't sound healthy.. Your internal clock in your S9 could be fooey? flat cmos clock battery?
It keeps time and remembers settings when the power goes out. It has occurred to me the general flakiness might be a hardware issue, but someone else reported the SAD thing, and there are plenty of other more popular firmware bugs.
Whatever the case, it shouldn't dump anywhere near that amount of SAD.edf files.
Obviously. Reformatting and rebooting regularly keeps it from doing that and eliminates skew and other weirdness as well.
It could also be a sign of a read error on your SD card.
Maybe. Seems a little exotic given that R&R once or twice a week keeps it from happening. Card checks out okay too, and I haven't had any trouble with any or the other files.

I'll bug my DME about this one of these days. Maybe there's a firmware upgrade or a way to check the system memory.
As for the dates, Jimbo sent a screenshot.. Very screwy indeed. I made a minor fix in the source code, but I couldn't replicate this one to begin with.
Now that's just weird. I'd have thought a bug like that would always show up. If you think it's something in the data, I can import a few days at a time when I redo SleepApp and send you a small set that shows the lagging dates. Could day split or the combine sessions slider have anything to do with it?

Re: SleepyHead Qt v0.8 alpha

Posted: Mon Sep 05, 2011 5:50 pm
by Otter
fiberfan wrote:The pressure graph in 0.8.4 is still showing a middle line with data that isn't displayed in ResScan. I have no idea what this data is since - either the data series don't have hints or hints are working on my 64 bit Win7 computer.
The middle line is a low-res pressure trace Mark found. I believe it represents average pressure. In my data, it stays just above EPAP/Exp Pressure, and looking at the mask pressure wave form, that makes sense if the undocumented pressure is a moving average.

Re: SleepyHead Qt v0.8 alpha

Posted: Mon Sep 05, 2011 8:14 pm
by jedimark
archangle wrote:I have seen some intermittent missing letters on the labels for things on SH. Version 0.8.3, I believe.

I believe my problem is caused by some sort of memory shortage in Windows, not a problem with SleepyHead. I get some strange problems with other programs as well. It seems to go away when I kill some other processes.

Here's a slightly different strange display I got earlier today that went away when I tried again.

http://img545.imageshack.us/img545/4251/shlines.jpg

Once again, I think it's a Windoze problem, not SH, but I'll post it anyway.

By the way, I think this was the executable I compiled locally, but it wouldn't do it when I tried it again.
He he. Those lines are funny.. Was caused by a screw up with shared line buffer and "multithreading", it should be fixed now. I was drawing lines adding each set of points separately.. Seeing it muck up is proof drawing tasks are running concurrently. Now if only I could actually make it draw faster using more cpus than slower..

GIT pull will update your local source to current copy..

Re: SleepyHead Qt v0.8 alpha

Posted: Mon Sep 05, 2011 8:30 pm
by jedimark
fiberfan wrote:I had to fight ResScan to get data when I slept past noon which reminded me that I love SleepyHead's import that automatically dumps duplicate data and I don't have to tell it how many days of detailed data to import!

0.8.4 I get graphs with tick marks and labels on the y axis for and no other data on Leak, Snore and Flow Limitation. All 3 graphs work fine in 0.8.3. The Ti chart in 0.8.4 has y and x axis labels tick marks and the x lines within the chart but now data. Again the chart works fine in 0.8.3.

If you want screen shots or data let me know.

The pressure graph in 0.8.4 is still showing a middle line with data that isn't displayed in ResScan. I have no idea what this data is since - either the data series don't have hints or hints are working on my 64 bit Win7 computer.
Weird on the Ti.. I'm getting it displaying here.

I've fixed a few of those "bugs" in the latest few rounds of updates.. I was doing expecting an integer to hold a floating point value containing the graph minimum and maximum y values.. Can't believe I missed that one for so long..

These kinda errors should be fixed now.

That middle pressure graph is the called Mask Pressure in the EDF data files. The high resolution graph above it is also called Mask Pressure. I think the low res one is just an average of the high resolution one.

Re: SleepyHead Qt v0.8 alpha

Posted: Mon Sep 05, 2011 11:22 pm
by archangle
jedimark wrote:
He he. Those lines are funny.. Was caused by a screw up with shared line buffer and "multithreading", it should be fixed now. I was drawing lines adding each set of points separately.. Seeing it muck up is proof drawing tasks are running concurrently. Now if only I could actually make it draw faster using more cpus than slower..

GIT pull will update your local source to current copy..
OK, I think I got the current version and compiled it. I don't see the lines, but I couldn't reliably reproduce it before.

I was thinking it was some kind of clever new data analysis showing where the data came from or something.

By the way, September 3 shows up in red on the calendar. Everything else is blue if there's data and black if no data. What's red mean?

Re: SleepyHead Qt v0.8 alpha

Posted: Mon Sep 05, 2011 11:47 pm
by jedimark
archangle wrote:
jedimark wrote:
He he. Those lines are funny.. Was caused by a screw up with shared line buffer and "multithreading", it should be fixed now. I was drawing lines adding each set of points separately.. Seeing it muck up is proof drawing tasks are running concurrently. Now if only I could actually make it draw faster using more cpus than slower..

GIT pull will update your local source to current copy..
OK, I think I got the current version and compiled it. I don't see the lines, but I couldn't reliably reproduce it before.

I was thinking it was some kind of clever new data analysis showing where the data came from or something.

By the way, September 3 shows up in red on the calendar. Everything else is blue if there's data and black if no data. What's red mean?
It's actually a conspiracy.. I didn't want you to know about my super secret new subliminal mind control technique using these seemingly random lines, so I "hided" them in the current source version. They're still there.. only masked from your conciousness.. Only conspiracy theorists and insane people should should see them from now on..

The graph area is now one big OpenGL widget, meaning I could do fun stuff like 3D rendered teapots or particle fireworks over the top.. I could map the graphs to the sides of a cube..
Oh the things I could do if I was still a fun & exciting person.. I miss doing game development.. :-}

Red currently means there is oximeter data as well as cpap data available for that day. Blue means just cpap, and black but in bold means there's either a journal note or oximeter data available..