Skip to content

Commit d8d80f8

Browse files
committed
Fixes timestamps being 1h off (thanks @pjagielski) [fix #68]
1 parent cdbae4d commit d8d80f8

File tree

2 files changed

+8
-6
lines changed

2 files changed

+8
-6
lines changed

modules/core/src/main/java/com/illposed/osc/argument/OSCTimeTag64.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,10 @@ public class OSCTimeTag64 implements Cloneable, Serializable, Comparable<OSCTime
5050
* and {@link Date#getTime()}).
5151
* This is "1-Jan-1900 @ 00:00:00", and we use UTC as time-zone.
5252
* Dates before this can not be represented with an OSC Time-tag.
53+
* @see https://stackoverflow.com/questions/8805832/number-of-seconds-from-1st-january-1900-to-start-of-unix-epoch/8805949#8805949
54+
* @see https://github.com/adzialocha/osc-js/blob/d531474/src/atomic/timetag.js#L10
5355
*/
54-
public static final long EPOCH_START_JAVA_TIME_0 = -2208992400000L;
56+
public static final long EPOCH_START_JAVA_TIME_0 = -2208988800000L;
5557
// Public API
5658
/**
5759
* Start of the current epoch expressed in Java time.

modules/core/src/test/java/com/illposed/osc/OSCMessageTest.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,7 @@ public void testArgumentTimestamp0() {
250250
args.add(OSCTimeTag64.valueOf(new Date(0L)));
251251
final OSCMessage message = new OSCMessage("/ts/0", args);
252252
final byte[] answer
253-
= { 47, 116, 115, 47, 48, 0, 0, 0, 44, 116, 0, 0, -125, -86, -116, -112, 0, 0, 0, 0
253+
= { 47, 116, 115, 47, 48, 0, 0, 0, 44, 116, 0, 0, -125, -86, 126, -128, 0, 0, 0, 0
254254
};
255255
final byte[] result = convertMessageToByteArray(message);
256256
checkResultEqualsAnswer(result, answer);
@@ -265,7 +265,7 @@ public void testArgumentTimestamp2000() {
265265
args.add(OSCTimeTag64.valueOf(calendar.getTime()));
266266
final OSCMessage message = new OSCMessage("/ts/2000", args);
267267
final byte[] answer
268-
= { 47, 116, 115, 47, 50, 48, 48, 48, 0, 0, 0, 0, 44, 116, 0, 0, -68, 22, 126, -112,
268+
= { 47, 116, 115, 47, 50, 48, 48, 48, 0, 0, 0, 0, 44, 116, 0, 0, -68, 22, 112, -128,
269269
0, 0, 0, 0 };
270270
final byte[] result = convertMessageToByteArray(message);
271271
checkResultEqualsAnswer(result, answer);
@@ -281,7 +281,7 @@ public void testArgumentTimestampAfterFeb2036() {
281281
final OSCMessage message = new OSCMessage("/ts/afterFeb2036", args);
282282
final byte[] answer
283283
= { 47, 116, 115, 47, 97, 102, 116, 101, 114, 70, 101, 98, 50, 48, 51, 54, 0, 0, 0,
284-
0, 44, 116, 0, 0, 1, -80, 31, 16, 0, 0, 0, 0 };
284+
0, 44, 116, 0, 0, 1, -80, 17, 0, 0, 0, 0, 0 };
285285
final byte[] result = convertMessageToByteArray(message);
286286
checkResultEqualsAnswer(result, answer);
287287
}
@@ -444,7 +444,7 @@ public void testArgumentCollectionsMixed() {
444444
0, 99, 109, 105, 100, 100, 108, 101, 65, 114, 103, 0, 0, 0, 0, 0, 0, 1, 63,
445445
-128, 0, 0, 63, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -99, -1, 0, 1, 99, 0, 0, 0,
446446
0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 104, 104, 101, 108, 108, 111, 32, 119, 111,
447-
114, 108, 100, 33, 0, 0, 0, 0, -125, -86, -116, -112, 0, 0, 0, 0, 108, 97, 115,
447+
114, 108, 100, 33, 0, 0, 0, 0, -125, -86, 126, -128, 0, 0, 0, 0, 108, 97, 115,
448448
116, 65, 114, 103, 0 };
449449
final byte[] result = convertMessageToByteArray(message);
450450
checkResultEqualsAnswer(result, answer);
@@ -493,7 +493,7 @@ public void testArgumentCollectionsRecursiveMixed() {
493493
0, 0, 1, 0, 0, 0, 108, 0, 0, 0, 0, 0, 0, 0, 1, 63, -128, 0, 0, 63, -16, 0, 0, 0,
494494
0, 0, 0, 0, 0, 0, 5, -99, -1, 0, 1, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
495495
0, 104, 104, 101, 108, 108, 111, 32, 119, 111, 114, 108, 100, 33, 0, 0, 0, 0,
496-
-125, -86, -116, -112, 0, 0, 0, 0, -1, -1, -1, -1, 0, 0, 0, 104, 64, 35, -52,
496+
-125, -86, 126, -128, 0, 0, 0, 0, -1, -1, -1, -1, 0, 0, 0, 104, 64, 35, -52,
497497
-52, -52, -52, -52, -51, 0, 0, 0, 101, 64, 33, -103, -103, -103, -103, -103,
498498
-102, 64, 30, -52, -52, -52, -52, -52, -51, 108, 97, 115, 116, 65, 114, 103,
499499
0 };

0 commit comments

Comments
 (0)