Commit Graph

2578 Commits

Author SHA1 Message Date
sawinglogz
53f1a881a3 Split parsing from importing for compliance (brick) data.
This isn't fully tested yet, since I don't currently have fileVersion 2 samples.
It has been tested with 200X devices and doesn't change behavior there,
but the slice parsing immediately bails, so it's not really being exercised.

It seems very weird that "slices", whatever they are, would only show
up on bricks, the least capable devices. This needs more investigation.
2019-05-26 14:17:58 -04:00
sawinglogz
eb75860221 Split parsing from importing for F0V2 and F0V3 summaries. 2019-05-25 21:57:29 -04:00
sawinglogz
7a153a6516 Split parsing from importing for F0V4 summaries. 2019-05-25 21:25:56 -04:00
sawinglogz
e49c947b6b Split parsing from importing for F0V6 summaries. 2019-05-25 21:08:53 -04:00
sawinglogz
b6c35c7610 Split parsing from importing for F3 (probably V6) summaries.
This looks discouragingly redundant at first glance, but eventually
the import stage will probably be unified across all families, leaving
the parsers the only difference. That'll happen after all summary
importers have been split.
2019-05-25 19:43:35 -04:00
sawinglogz
6b1b7e225c Split parsing from importing for remaining F5 summaries. 2019-05-25 19:21:46 -04:00
sawinglogz
1cd7ac7c14 Merge identical F5V0 and F5V1 and remove unused F5V2 summary parsers. 2019-05-25 18:01:09 -04:00
sawinglogz
0d8e37c94c Split parsing from importing for F0 events. 2019-05-25 17:00:44 -04:00
sawinglogz
abac19bbf1 Split parsing from importing for F3V3 events. 2019-05-24 20:09:53 -04:00
sawinglogz
5a88887cc3 Split parsing from importing for F3V6 events. 2019-05-24 19:41:42 -04:00
sawinglogz
a4612a4f24 Split parsing from importing for F5V0, F5V1, F5V2 events. 2019-05-24 17:08:51 -04:00
sawinglogz
a5b4851583 Remove unused code from PRS1 event parsers.
Also temporarily disable the time-consuming chunk unit test, since
the current work is on conversion from chunk to sessions.
2019-05-23 12:17:21 -04:00
sawinglogz
795e9414be Split parsing from importing for F5V3 summaries.
This looks even uglier than the F5V3 event split for now,
since portions of the fileVersion 3 parsing are still stuck in
PRS1Import, and can't be reasonably moved until all the parsers
are split into PRS1DataChunk.

Also, PRS1ParsedSettingEvent may be the wrong abstraction. That's
a first attempt, so that it can inherit PRS1ParsedEvent's notion
of gain and unit, and because m_parsedData is currently a list
of PRS1ParsedEvent pointers. But it has no notion of time (start=0)
and requires yet another enum to specify which setting it
represents.

This should be revisited once all the parsers have been split
and the summary parsing can be examined in more detail.
2019-05-22 20:11:48 -04:00
sawinglogz
355a85a1fc Tweak Session YAML output to print sane floats instead of full precision. 2019-05-22 19:59:10 -04:00
sawinglogz
5b959efc37 Split parsing from importing for F5V3 events.
This doesn't look much prettier yet, since it requires double the
switch statements, but the expectation is that once all event
parsers are split out from import, the import routines will be
identical among all machines, and can then be consolidated.

Regardless, it's important to drive a wedge between file parsing
and the internal database structure.
2019-05-22 11:00:45 -04:00
Seeker4
d7d1fd3095 Merge branch 'master' into SessionBar 2019-05-19 17:48:34 -07:00
Seeker4
ff2bdf3d01 Session bar now shows "no sessions present" if there are not sessions, instead of showing last days's sessions. 2019-05-19 17:44:10 -07:00
Seeker4
f5e9b2d3da Remove comment about screen capture being broken on Mac. 2019-05-19 11:17:14 -07:00
sawinglogz
f8e4ff754b Add OSCAR version number to PRS1 unit test logs. 2019-05-18 19:46:24 -04:00
sawinglogz
2bfae3531f Merge branch 'master' into prs1-overhaul 2019-05-18 19:28:45 -04:00
sawinglogz
4511ee3677 PRS1 parsing regression test: generate YAML for each parsed chunk.
Each input file's chunks get emitted into a single output YAML file. As parsing
gets separated from conversion/import, this will allow for testing and
examination of the parsed input files before they are transformed into
sessions.
2019-05-18 19:20:36 -04:00
sawinglogz
21adfb7987 Fix header parsing for 1160P event files, fix misconceptions in ReadWaveformHeader.
Now that we check header checksums, it uncovered a problem parsing 1160P event
headers. It turns out that the 1160P uses a "waveform" header for its .002
events files. So we can't use the file extension to decide which header to
parse, but there's a flag in the standard header that seems to reliably indicate
a waveform header. The 1160P events are listed at fixed intervals, as are
waveforms, so the flag has been named "interval" rather than "waveform."

The 1160P event headers have more than 2 signals in the header and an interval
longer than 1sec. This clarified the meaning of multiple waveform header fields
that were previously being parsed incorrectly.
2019-05-18 19:17:55 -04:00
Norman Heino
d0f0aed29d Improve screenshot feature
Limit screenshots to OSCAR's application window under macOS.
Use main window geometry as basis for screen capture rectangle, removing
the need for resizeing hacks.

Tested on:
* macOS 10.14
* Ubuntu 18.04
* Windows 10
2019-05-18 15:30:10 +02:00
Seeker4
c6c11fd4f9 Fix crash when taking screenshot before a profile is open. 2019-05-17 23:44:39 +00:00
Seeker4
cb1a6f97bc Pixel editing to 32x32 icon (Wave-32.png) to make white border more even. 2019-05-16 23:03:40 -07:00
Seeker4
e033a5a4ef Tweaking the white rim in the lower right corner of 32x32 icon for taskbar etc. 2019-05-16 22:33:05 -07:00
Seeker4
e80c444475 Round 3 of logo and icon revisions with extensive pixel-level editing of smaller icons. Ruth may make further changes. 2019-05-15 18:01:06 -07:00
sawinglogz
ccafa1f16e Calculate and check PRS1 CRC32 on V3 files, fix memory leak. 2019-05-15 17:41:37 -04:00
sawinglogz
1c564fb296 Calculate and check PRS1 CRC16 on V2 files. 2019-05-15 15:16:14 -04:00
sawinglogz
c8cd66992a Split PRS1DataChunk::ReadHeader into ReadHeader/ReadNormalHeaderV2/ReadNormalHeaderV3. 2019-05-15 12:32:39 -04:00
Seeker4
b58ab25f88 Update README file for logo and icon development. 2019-05-15 16:13:57 +00:00
Seeker4
3e5d3a901b Set window icon to 32x32 rather than 24x24. 2019-05-15 16:13:57 +00:00
Seeker4
d7d1446bfc Second pass at new icons with manual editing of smaller icons. 2019-05-15 16:13:57 +00:00
sawinglogz
d3c6d6445b Split PRS1DataChunk::ReadHeader into ReadHeader/ReadWaveformHeader. 2019-05-15 10:26:31 -04:00
sawinglogz
e07c4ce63c Split PRS1DataChunk::ReadHeader into ReadHeader/ReadData. 2019-05-15 08:36:31 -04:00
Norman Heino
a074cffa5b Fix macOS application menu 2019-05-15 06:49:12 +02:00
Norman Heino
a5c1e8204c Increase mask vent rate ranges 2019-05-15 06:48:18 +02:00
sawinglogz
451963de25 Move chunk parsing into PRS1DataChunk class.
The diff looks messy, but it's mostly chunk -> this search-and-replace.
2019-05-14 22:49:41 -04:00
sawinglogz
7103650023 Move PRS1Loader::ParseChunk variable declarations and V3 header unpacking to the appropriate scope. 2019-05-14 21:49:43 -04:00
sawinglogz
d7cd22c918 Separate checksum reading in PRS1Loader::ParseChunk instead of burying it with other data.
While slightly more verbose, this makes the code more clearly correct.
2019-05-14 20:47:00 -04:00
sawinglogz
d216e677e1 Simplify PRS1Loader::ParseChunk by using a chunk instead of local variables. 2019-05-14 19:57:01 -04:00
sawinglogz
74863e538a Split PRS1Loader::ParseFile in to ParseFile/ParseChunk. 2019-05-14 18:57:04 -04:00
sawinglogz
76053b0469 Check for format change before coalescing PRS1 chunks, move data warnings out of parsing. 2019-05-14 16:20:32 -04:00
sawinglogz
6e12cfea61 Remove spurious warning about weird PRS1 session IDs 2019-05-14 16:17:23 -04:00
Norman Heino
1657d2bb1f Disable dark mode in macOS
Until there is a correct implementation for dark mode colors, dark mode
is disabled. To this end a Info.plist template was placed under
Building/MacOS, containing the required setting.
2019-05-14 06:46:27 +02:00
sawinglogz
9b3aaad4b0 Move PRS1 waveform chunk coalescing out of parsing and into importing. 2019-05-13 21:23:20 -04:00
sawinglogz
f19ad331c9 Add debugging output to all error handling in PRS1 loader. 2019-05-13 21:23:20 -04:00
sawinglogz
766f08420b Comment out unused constant in CMS50 loader. 2019-05-13 12:15:06 -04:00
Seeker4
350678b48b Remove external flow from 100, 200 sizes for program use. Update icon files. 2019-05-12 09:58:27 -07:00
Seeker4
7d4999a828 Rebuild .ico and .icns files with darker wave patterns. Add new darker wave to Photoshop. 2019-05-11 23:56:04 -07:00