Hm, that is totally weird!
I think it's actually an issue with that example–which frankly is pretty old, sorry!
Try using the "getNumPeople" method in the Processing library instead, e.g.
int count = tspsReceiver.getNumPeople();
That will give you direct access to the current count from TSPS. If you use the OSC directly (in your final plan!), the 'numPeople' parameter is the very first argument in the OSC packet from TSPS.
The count discrepancy is from the Processing doing some counting on the client-side and deciding if/when a person is 'new' or 'old'. It's maybe a bit counter-intuitive, but what it does is prevent the 'personEntered' event from firing if TSPS loses a person and re-gains them quickly.
Hope that helps!
I somehow missed this. Thanks for your response.
You're right. I'm using the OSC signals via the Open Sound Control Library for Clojure. It's perfect.