Skip to content

Commit

Permalink
Add beat packet support and analysis.
Browse files Browse the repository at this point in the history
And prepare for release 0.1.1
  • Loading branch information
brunchboy committed May 2, 2016
1 parent 03a8769 commit f6a5576
Show file tree
Hide file tree
Showing 9 changed files with 418 additions and 126 deletions.
11 changes: 9 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,11 @@ All notable changes to this project will be documented in this file.
This change log follows the conventions of
[keepachangelog.com](http://keepachangelog.com/).

## [Unreleased]
## [Unreleased][unreleased]

Nothing so far.

## [0.1.1] - 2016-05-01

### Added

Expand All @@ -16,8 +20,10 @@ This change log follows the conventions of
rendered as text rather than hex, to aid in reading the packet.
- A section at the bottom of the packet capture windows now displays
the known interpretations of packet fields.
- A packet timestamp.
- Many more bytes in the CDJ status packets have known meanings.
- More bytes in the mixer status packet have known meanings.
- Windows analyzing packets broadcast to port 50001.

## 0.1.0 - 2016-04-26

Expand All @@ -26,5 +32,6 @@ This change log follows the conventions of
- Intial early release.


[Unreleased]: https:/your-name/dysentery/compare/0.1.0...HEAD
[unreleased]: https:/brunchboy/dysentery/compare/v0.1.0...HEAD
[0.1.1]: https:/brunchboy/dysentery/compare/v0.1.0...v0.1.1

30 changes: 19 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,17 +74,25 @@ helps to identify what parts of the packet change when you do
something on the device being analyzed.

To further focus analysis, if a byte has a value that we expect, it is
colored green; if it has an unexpected value, it is colored red. If
you see any red values, they show areas where puzzles remain to be
solved. Bytes which are expected to contain text are rendered as text
rather than hex, to make them more readable.

<img src="doc/assets/PacketWindow.png" width="800" alt="Packet Window">

Underneath the raw byte values, it displays a an interpretation of the
meaning of the packet, as best we can currently understand it, with
italic field labels corresponding to the byte fields identified in
Figure 10 of the
colored green; if it has an unexpected value, it is colored red. Bytes
that we don&rsquo;t yet understand are colored white. If you see any
white values changing, that is a puzzle that remains to be
solved&mdash;see if you can identify any pattern, or figure out what
they might convey. If you do, or if any byte value shows up in red,
please [open an Issue](https:/brunchboy/dysentery/issues)
to let us know. Bytes which are expected to contain the device name
are rendered as text rather than hex, to make them more readable.

<img src="doc/assets/PacketWindow.png" width="600" alt="Packet Window">

Underneath the raw byte values there is a timestamp which shows when
the most recent packet was received. As with the byte values, its
background will flash blue when the timestamp changes, and fade to
black over the next second, until the next packet is received.

Beneath the timestamp is a an interpretation of the meaning of the
packet, as best we can currently understand it, with italic field
labels corresponding to the byte fields identified in Figure 10 of the
[Packet Analysis document](doc/assets/CaptureAnalysis.pdf).

> If you have access to any Pioneer Nexus gear, please run Dysentery
Expand Down
Binary file modified doc/assets/CaptureAnalysis.pdf
Binary file not shown.
238 changes: 168 additions & 70 deletions doc/assets/CaptureAnalysis.tex

Large diffs are not rendered by default.

Binary file modified doc/assets/PacketWindow.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion resources/templates/mixer-50002.tmpl
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<html>
<font color="white">
<em>BPM</em>: {{bpm}}; &nbsp; <em>B</em>: {{bar-beat}}
<em>BPM</em>: {{bpm}}; &nbsp; <em>B<sub>b</sub></em>: {{bar-beat}}
<br/>

<center><img src="{{bar-image}}"></center>
Expand Down
12 changes: 12 additions & 0 deletions resources/templates/player-50001.tmpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<html>
<font color="white">
<em>BPM</em> (track): {{bpm}}; &nbsp; effective BPM: {{effective-bpm}}
<br/>

<em>Pitch</em>: {{pitch}} &nbsp;
<em>B<sub>b</sub></em>: {{bar-beat}}
<br/>

<center><img src="{{bar-image}}"></center>
</font>
</html>
2 changes: 1 addition & 1 deletion src/dysentery/finder.clj
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@
(try (.receive socket packet)
packet
(catch Exception e
(timbre/warn e "Problem reading from DJ Link socket, shutting down.")
(timbre/error e "Problem reading from DJ Link socket, shutting down.")
(shut-down)))))

(def max-packet-interval
Expand Down
Loading

0 comments on commit f6a5576

Please sign in to comment.