Stefan Schuermans commited on 2023-08-18 09:57:23
Showing 5 changed files, with 41 additions and 29 deletions.
... | ... |
@@ -1,5 +1,5 @@ |
1 | 1 |
# BlinkenLib |
2 |
-# Copyright 2004-2019 Stefan Schuermans <stefan@schuermans.info> |
|
2 |
+# Copyright 2004-2023 Stefan Schuermans <stefan@schuermans.info> |
|
3 | 3 |
# Copyleft GNU public license - http://www.gnu.org/copyleft/gpl.html |
4 | 4 |
# a blinkenarea.org project |
5 | 5 |
|
... | ... |
@@ -198,10 +198,10 @@ lib/libBlinkenLib.$(SHLIBEXT).$(VERSION): $(LIB_OBJS) | lib |
198 | 198 |
$(CC) -shared $(LIB_LDFLAGS) -o $@ $+ $(LIB_LDLIBS) |
199 | 199 |
|
200 | 200 |
lib/libBlinkenLib.$(SHLIBEXT).$(VERSION_MAJOR): lib/libBlinkenLib.$(SHLIBEXT).$(VERSION) |
201 |
- ln -s $(notdir $<) $@ |
|
201 |
+ ln -fs $(notdir $<) $@ |
|
202 | 202 |
|
203 | 203 |
lib/libBlinkenLib.$(SHLIBEXT): lib/libBlinkenLib.$(SHLIBEXT).$(VERSION_MAJOR) |
204 |
- ln -s $(notdir $<) $@ |
|
204 |
+ ln -fs $(notdir $<) $@ |
|
205 | 205 |
|
206 | 206 |
build/%.d: tools/%.c | build |
207 | 207 |
$(CC) $(CFLAGS) -MM -MT $(@:.d=.o) -o $@ $< |
... | ... |
@@ -1,5 +1,5 @@ |
1 | 1 |
/* BlinkenLib |
2 |
- Copyright 2004-2014 Stefan Schuermans <stefan@schuermans.info> |
|
2 |
+ Copyright 2004-2023 Stefan Schuermans <stefan@schuermans.info> |
|
3 | 3 |
Copyleft GNU public license - http://www.gnu.org/copyleft/gpl.html |
4 | 4 |
a blinkenarea.org project */ |
5 | 5 |
|
... | ... |
@@ -40,24 +40,6 @@ struct sBlinkenMovie { |
40 | 40 |
stBlinkenFrame **ppFrames; |
41 | 41 |
}; |
42 | 42 |
|
43 |
-#ifdef WIN32 |
|
44 |
- |
|
45 |
-static void msleep(unsigned int ms) { Sleep(ms); } |
|
46 |
- |
|
47 |
-static unsigned int get_ms() { return GetTickCount(); } |
|
48 |
- |
|
49 |
-#else |
|
50 |
- |
|
51 |
-static void msleep(unsigned int ms) { usleep(ms * 1000); } |
|
52 |
- |
|
53 |
-static unsigned int get_ms() { |
|
54 |
- struct timeval tv; |
|
55 |
- gettimeofday(&tv, NULL); |
|
56 |
- return (unsigned int)(tv.tv_usec / 1000 + tv.tv_sec * 1000); |
|
57 |
-} |
|
58 |
- |
|
59 |
-#endif |
|
60 |
- |
|
61 | 43 |
stBlinkenMovie *BlinkenMovieNew(int height, int width, int channels, |
62 | 44 |
int maxval) { |
63 | 45 |
stBlinkenMovie *pMovie; |
... | ... |
@@ -1908,7 +1890,7 @@ void BlinkenMovieSend(stBlinkenMovie *pMovie, SOCKET udpSocket, |
1908 | 1890 |
while (duration > 0) { |
1909 | 1891 |
send(udpSocket, buffer, len, 0); |
1910 | 1892 |
dur = maxidle > 0 ? mini(maxidle, duration) : duration; |
1911 |
- msleep(dur); |
|
1893 |
+ BlinkenMSleep(dur); |
|
1912 | 1894 |
duration -= dur; |
1913 | 1895 |
} |
1914 | 1896 |
} |
... | ... |
@@ -1938,7 +1920,7 @@ stBlinkenMovie *BlinkenMovieReceive(SOCKET udpSocket, int timeout, |
1938 | 1920 |
pMovie = NULL; |
1939 | 1921 |
proto = BlinkenProtoNone; |
1940 | 1922 |
pLastFrame = NULL; |
1941 |
- lastTime = get_ms(); |
|
1923 |
+ lastTime = BlinkenGetMs(); |
|
1942 | 1924 |
for (;;) { |
1943 | 1925 |
// wait for next frame |
1944 | 1926 |
FD_ZERO(&readFds); |
... | ... |
@@ -1986,7 +1968,7 @@ stBlinkenMovie *BlinkenMovieReceive(SOCKET udpSocket, int timeout, |
1986 | 1968 |
// append frame to movie |
1987 | 1969 |
if (BlinkenMovieAppendFrame(pMovie, pFrame) == 0) { |
1988 | 1970 |
// get current time |
1989 |
- curTime = get_ms(); |
|
1971 |
+ curTime = BlinkenGetMs(); |
|
1990 | 1972 |
// set duration of last frame |
1991 | 1973 |
if (pLastFrame != NULL) |
1992 | 1974 |
BlinkenFrameSetDuration(pLastFrame, curTime - lastTime); |
... | ... |
@@ -2004,7 +1986,7 @@ stBlinkenMovie *BlinkenMovieReceive(SOCKET udpSocket, int timeout, |
2004 | 1986 |
} // for( ; ; ) |
2005 | 1987 |
|
2006 | 1988 |
// get current time |
2007 |
- curTime = get_ms(); |
|
1989 |
+ curTime = BlinkenGetMs(); |
|
2008 | 1990 |
// set duration of last frame |
2009 | 1991 |
if (pLastFrame != NULL) |
2010 | 1992 |
BlinkenFrameSetDuration(pLastFrame, curTime - lastTime); |
... | ... |
@@ -1,11 +1,19 @@ |
1 | 1 |
/* BlinkenLib |
2 |
- Copyright 2004-2014 Stefan Schuermans <stefan@schuermans.info> |
|
2 |
+ Copyright 2004-2023 Stefan Schuermans <stefan@schuermans.info> |
|
3 | 3 |
Copyleft GNU public license - http://www.gnu.org/copyleft/gpl.html |
4 | 4 |
a blinkenarea.org project */ |
5 | 5 |
|
6 |
+#include "Tools.h" |
|
7 |
+ |
|
6 | 8 |
#include <stdlib.h> |
7 | 9 |
|
8 |
-#include "Tools.h" |
|
10 |
+#ifdef WIN32 |
|
11 |
+#include <windows.h> |
|
12 |
+#include <winsock2.h> |
|
13 |
+#else |
|
14 |
+#include <sys/time.h> |
|
15 |
+#include <unistd.h> |
|
16 |
+#endif |
|
9 | 17 |
|
10 | 18 |
void *BlinkenMalloc1D(int count1, int size) { |
11 | 19 |
if (count1 < 1) |
... | ... |
@@ -41,3 +49,21 @@ void **BlinkenMalloc2D(int count1, int count2, int size) { |
41 | 49 |
} |
42 | 50 |
return ptr; |
43 | 51 |
} |
52 |
+ |
|
53 |
+#ifdef WIN32 |
|
54 |
+ |
|
55 |
+void BlinkenMSleep(unsigned int ms) { Sleep(ms); } |
|
56 |
+ |
|
57 |
+unsigned int BlinkenGetMs(void) { return GetTickCount(); } |
|
58 |
+ |
|
59 |
+#else |
|
60 |
+ |
|
61 |
+void BlinkenMSleep(unsigned int ms) { usleep(ms * 1000); } |
|
62 |
+ |
|
63 |
+unsigned int BlinkenGetMs(void) { |
|
64 |
+ struct timeval tv; |
|
65 |
+ gettimeofday(&tv, NULL); |
|
66 |
+ return (unsigned int)(tv.tv_usec / 1000 + tv.tv_sec * 1000); |
|
67 |
+} |
|
68 |
+ |
|
69 |
+#endif |