Skip to content

Commit ddca2c0

Browse files
authored
Merge pull request #15 from MrExplode/timecode-issues
Removed not correct code
2 parents 17d0220 + 4ae7af7 commit ddca2c0

File tree

1 file changed

+6
-125
lines changed

1 file changed

+6
-125
lines changed

src/main/java/ch/bildspur/artnet/packets/ArtTimePacket.java

Lines changed: 6 additions & 125 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,6 @@ public class ArtTimePacket extends ArtNetPacket {
1414
private int hours;
1515
private int type;
1616

17-
public long encoded;
18-
1917
public ArtTimePacket() {
2018
super(PacketType.ART_TIMECODE);
2119
setData(new byte[19]);
@@ -32,133 +30,21 @@ public boolean parse(byte[] raw) {
3230
minutes = data.getInt8(16);
3331
hours = data.getInt8(17);
3432
type = data.getInt8(18);
35-
encoded = encode(hours, minutes, seconds, frames, type);
3633
return true;
3734
}
3835

3936
/**
40-
* Increment the timecode by 1.
37+
* Set the time in one method.
38+
* @param hour hours
39+
* @param min minutes
40+
* @param sec seconds
41+
* @param frame frames
4142
*/
42-
public void increment() {
43-
encoded++;
44-
int[] val = decode(encoded, type);
45-
frames = val[3];
46-
seconds = val[2];
47-
minutes = val[1];
48-
hours = val[0];
49-
updateData();
50-
}
51-
52-
/**
53-
* Decrement the timecode by 1;
54-
*/
55-
public void decrement() {
56-
encoded--;
57-
int[] val = decode(encoded, type);
58-
frames = val[3];
59-
seconds = val[2];
60-
minutes = val[1];
61-
hours = val[0];
62-
updateData();
63-
}
64-
65-
/**
66-
* Convert the separate values into one long value, for easy increment/decrement
67-
*
68-
* @param hour number of hours
69-
* @param min number of minutes
70-
* @param sec number of seconds
71-
* @param frame number of frames
72-
* @param frameType the type of the timecode
73-
* @return the encoded time value
74-
*/
75-
public long encode(int hour, int min, int sec, int frame, int frameType) {
76-
int framerate = 30;
77-
switch (frameType) {
78-
case 0:
79-
//film
80-
framerate = 24;
81-
break;
82-
case 1:
83-
//ebu
84-
framerate = 25;
85-
break;
86-
case 2:
87-
//df
88-
throw new IllegalArgumentException("DF type not implemented! Do you wanna implement it yourself?");
89-
case 3:
90-
//smtpe
91-
framerate = 30;
92-
break;
93-
default:
94-
framerate = 30;
95-
break;
96-
}
97-
98-
int hour_fr = hour * 60 * 60 * framerate;
99-
int min_fr = min * 60 * framerate;
100-
int sec_fr = sec * framerate;
101-
102-
return hour_fr + min_fr + sec_fr + frame;
103-
}
104-
105-
/**
106-
* Decodes the encoded timecode value.<br>
107-
* Elements of the returning int array:<br>
108-
* 0: hour<br>
109-
* 1: minute<br>
110-
* 2: second<br>
111-
* 3: frame<br>
112-
*
113-
* @param frames the encoded time data
114-
* @param frameType the type of the timecode
115-
* @return the decoded time values
116-
*/
117-
public int[] decode(long frames, int frameType) {
118-
int framerate = 30;
119-
switch (frameType) {
120-
case 0:
121-
framerate = 24;
122-
break;
123-
case 1:
124-
framerate = 25;
125-
break;
126-
case 2:
127-
throw new IllegalArgumentException("DF type not implemented! Do you wanna implement it yourself?");
128-
case 3:
129-
framerate = 30;
130-
break;
131-
default:
132-
framerate = 30;
133-
break;
134-
}
135-
136-
int[] dec = new int[4];
137-
138-
int hour = ((int) frames / 60 / 60 / framerate);
139-
frames = frames - (hour * 60 * 60 * framerate);
140-
dec[0] = hour;
141-
142-
int min = ((int) frames / 60 / framerate);
143-
frames = frames - (min * 60 * framerate);
144-
dec[1] = min;
145-
146-
int sec = ((int) frames / framerate);
147-
frames = frames - (sec * framerate);
148-
dec[2] = sec;
149-
150-
int frame = (int) frames;
151-
dec[3] = frame;
152-
153-
return dec;
154-
}
155-
15643
public void setTime(int hour, int min, int sec, int frame) {
15744
this.hours = hour;
15845
this.minutes = min;
15946
this.seconds = sec;
16047
this.frames = frame;
161-
this.encoded = encode(hours, minutes, seconds, frames, type);
16248
updateData();
16349
}
16450

@@ -171,8 +57,7 @@ public int getFrames() {
17157

17258

17359
public void setFrames(int frames) {
174-
this.frames = frames & 0x0f;
175-
this.encoded = encode(hours, minutes, seconds, this.frames, type);
60+
this.frames = frames;
17661
updateData();
17762
}
17863

@@ -186,7 +71,6 @@ public int getSeconds() {
18671

18772
public void setSeconds(int seconds) {
18873
this.seconds = seconds;
189-
this.encoded = encode(hours, minutes, this.seconds, frames, type);
19074
updateData();
19175
}
19276

@@ -200,7 +84,6 @@ public int getMinutes() {
20084

20185
public void setMinutes(int minutes) {
20286
this.minutes = minutes;
203-
this.encoded = encode(hours, this.minutes, seconds, frames, type);
20487
updateData();
20588
}
20689

@@ -214,7 +97,6 @@ public int getHours() {
21497

21598
public void setHours(int hours) {
21699
this.hours = hours;
217-
this.encoded = encode(this.hours, minutes, seconds, frames, type);
218100
updateData();
219101
}
220102

@@ -232,7 +114,6 @@ public int getFrameType() {
232114
*/
233115
public void setFrameType(int type) {
234116
this.type = type;
235-
this.encoded = encode(hours, minutes, seconds, frames, this.type);
236117
updateData();
237118
}
238119

0 commit comments

Comments
 (0)