edfcore 0.6.31 → 0.6.33
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/constants.d.ts +1 -1
- package/dist/constants.js +1 -1
- package/docs/CHANGELOG.md +31 -0
- package/package.json +1 -1
- package/src/constants.ts +1 -1
package/dist/constants.d.ts
CHANGED
|
@@ -109,5 +109,5 @@ export declare const SIGNAL_FIELD_BLOCK_OFFSETS: {
|
|
|
109
109
|
readonly reserved: 224;
|
|
110
110
|
};
|
|
111
111
|
/** Published package version. Kept in sync with package.json by a test. */
|
|
112
|
-
export declare const VERSION = "0.6.
|
|
112
|
+
export declare const VERSION = "0.6.33";
|
|
113
113
|
//# sourceMappingURL=constants.d.ts.map
|
package/dist/constants.js
CHANGED
package/docs/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,37 @@ alone does not tell you whether you were affected.
|
|
|
6
6
|
edfcore is pre-1.0. Patch releases have carried behaviour changes where the old behaviour was a
|
|
7
7
|
defect; those are called out below.
|
|
8
8
|
|
|
9
|
+
## 0.6.33
|
|
10
|
+
|
|
11
|
+
- **Added** a sixteenth shape to the `AWKWARD` matrix: BDF+D, 24-bit samples and a discontinuity in
|
|
12
|
+
one file. The matrix held both halves and never together — every BDF shape in it ran end to end,
|
|
13
|
+
and every discontinuous shape was 16-bit EDF — so a three-byte stride and a chunk boundary that
|
|
14
|
+
is not the nominal grid had never met.
|
|
15
|
+
- They meet in one arithmetic. A read across a gap resolves a record range per contiguous run, and
|
|
16
|
+
each run's bytes are addressed as `headerByteLength + record * recordByteLength +
|
|
17
|
+
signal.recordByteOffset`, where every term is a multiple of `bytesPerSample` — 3 here and 2
|
|
18
|
+
everywhere else in the matrix — and a sign extension that is right for a 16-bit sample is wrong
|
|
19
|
+
for a 24-bit one. An off-by-one in either would show on this file and on no other.
|
|
20
|
+
- Thirty sweeps run over the matrix and all of them pass over it. `twenty-four-bits-across-a-gap.
|
|
21
|
+
test.ts` checks the crossing is real rather than nominal: two segments, a seven-second hole, and
|
|
22
|
+
the same samples through `readWindow` across the join as through the whole record range.
|
|
23
|
+
|
|
24
|
+
## 0.6.32
|
|
25
|
+
|
|
26
|
+
- **Added** a fifteenth shape to the `AWKWARD` matrix: a file with two annotation channels of
|
|
27
|
+
different widths. EDF+ permits more than one and is specific about the asymmetry — the FIRST
|
|
28
|
+
carries the timekeeping TAL that states each record's onset, and any of them may carry events.
|
|
29
|
+
Two scorers writing into one file, or a device separating its own markers from a technician's
|
|
30
|
+
notes, produce exactly this.
|
|
31
|
+
- `secondary-annotation-signal.test.ts` covers the decoding. What the matrix had never held is a
|
|
32
|
+
file where the answer to "the annotations channel" is two channels of different widths, so a
|
|
33
|
+
helper that finds one and stops loses half the events silently and a fixed stride through the
|
|
34
|
+
record is wrong for one of them. That is the failure a sweep over a whole file can see and a
|
|
35
|
+
targeted test cannot. Every sweep passes over it.
|
|
36
|
+
- `two-scorers-two-channels.test.ts` also pins the property the sweeps do not state: one
|
|
37
|
+
`readAnnotations` call with no `signalIndices` returns both scorers, sorted together rather than
|
|
38
|
+
one channel after the other, each carrying the `signalIndex` that says which scorer wrote it.
|
|
39
|
+
|
|
9
40
|
## 0.6.31
|
|
10
41
|
|
|
11
42
|
- **Added** a fourteenth shape to the `AWKWARD` matrix: a file whose last record is half there.
|
package/package.json
CHANGED
package/src/constants.ts
CHANGED