Stefan Schuermans commited on 2011-10-22 19:40:19
Showing 11 changed files, with 140 additions and 189 deletions.
... | ... |
@@ -5,6 +5,10 @@ |
5 | 5 |
#ifndef INC_BlinkenLib_BlinkenColorizer |
6 | 6 |
#define INC_BlinkenLib_BlinkenColorizer |
7 | 7 |
|
8 |
+#ifdef __cplusplus |
|
9 |
+extern "C" { |
|
10 |
+#endif |
|
11 |
+ |
|
8 | 12 |
// convert string to colorizing mode |
9 | 13 |
// returns colorizing mode (>= 0) or -1 on error |
10 | 14 |
int BlinkenColorizerStr2Mode(const char *str); |
... | ... |
@@ -16,4 +20,8 @@ const char *BlinkenColorizerMode2Str(int mode); |
16 | 20 |
unsigned char BlinkenColorizerGetColor(int channels, int mode, int step, |
17 | 21 |
int y, int x, int c); |
18 | 22 |
|
23 |
+#ifdef __cplusplus |
|
24 |
+} // extern "C" |
|
25 |
+#endif |
|
26 |
+ |
|
19 | 27 |
#endif // #ifndef INC_BlinkenLib_BlinkenColorizer |
... | ... |
@@ -90,7 +90,7 @@ stBlinkenFrame *BlinkenFrameNew(int height, int width, int channels, |
90 | 90 |
pFrame->duration = duration; |
91 | 91 |
|
92 | 92 |
pFrame->ppData = |
93 |
- (unsigned char **)malloc2D(height, width * channels, |
|
93 |
+ (unsigned char **)BlinkenMalloc2D(height, width * channels, |
|
94 | 94 |
sizeof(unsigned char)); |
95 | 95 |
if (pFrame->ppData == NULL) { |
96 | 96 |
free(pFrame); |
... | ... |
@@ -395,7 +395,7 @@ void BlinkenFrameResize(stBlinkenFrame *pFrame, int height, int width, |
395 | 395 |
|
396 | 396 |
// allocate new data array |
397 | 397 |
ppData = |
398 |
- (unsigned char **)malloc2D(height, width * channels, |
|
398 |
+ (unsigned char **)BlinkenMalloc2D(height, width * channels, |
|
399 | 399 |
sizeof(unsigned char)); |
400 | 400 |
if (ppData == NULL) |
401 | 401 |
return; |
... | ... |
@@ -491,7 +491,7 @@ void BlinkenFrameScale(stBlinkenFrame *pFrame, int height, int width) |
491 | 491 |
|
492 | 492 |
// allocate new data array |
493 | 493 |
ppData = |
494 |
- (unsigned char **)malloc2D(height, width * pFrame->channels, |
|
494 |
+ (unsigned char **)BlinkenMalloc2D(height, width * pFrame->channels, |
|
495 | 495 |
sizeof(unsigned char)); |
496 | 496 |
if (ppData == NULL) |
497 | 497 |
return; |
... | ... |
@@ -612,7 +612,8 @@ void BlinkenFrameColorize(stBlinkenFrame *pFrame, int channels, int mode, |
612 | 612 |
|
613 | 613 |
// allocate new data array |
614 | 614 |
ppData = |
615 |
- (unsigned char **)malloc2D(pFrame->height, pFrame->width * channels, |
|
615 |
+ (unsigned char **)BlinkenMalloc2D(pFrame->height, |
|
616 |
+ pFrame->width * channels, |
|
616 | 617 |
sizeof(unsigned char)); |
617 | 618 |
if (ppData == NULL) |
618 | 619 |
return; |
... | ... |
@@ -869,7 +870,7 @@ int BlinkenFrameToNetwork(stBlinkenFrame *pFrame, etBlinkenProto proto, |
869 | 870 |
} |
870 | 871 |
} |
871 | 872 |
|
872 |
-stBlinkenFrame *BlinkenFrameFromNetwork(char *pData, int length, |
|
873 |
+stBlinkenFrame *BlinkenFrameFromNetwork(const char *pData, int length, |
|
873 | 874 |
etBlinkenProto * pProto) |
874 | 875 |
// returns protocol in *pProto if pProto not NULL |
875 | 876 |
{ |
... | ... |
@@ -881,32 +882,14 @@ stBlinkenFrame *BlinkenFrameFromNetwork(char *pData, int length, |
881 | 882 |
{ |
882 | 883 |
if (pProto != NULL) // return protocol |
883 | 884 |
*pProto = BlinkenProtoBlp; |
884 |
- height = ntohs(((stBlinkenProtoBlpHdr *) pData)->height); // get header |
|
885 |
- // |
|
886 |
- // |
|
887 |
- // |
|
888 |
- // |
|
889 |
- // |
|
890 |
- // data |
|
885 |
+ // get header data |
|
886 |
+ height = ntohs(((stBlinkenProtoBlpHdr *) pData)->height); |
|
891 | 887 |
width = ntohs(((stBlinkenProtoBlpHdr *) pData)->width); |
892 |
- if (length < (int)sizeof(stBlinkenProtoBlpHdr) + height * width) // check |
|
893 |
- // |
|
894 |
- // |
|
895 |
- // |
|
896 |
- // |
|
897 |
- // |
|
898 |
- // length |
|
899 |
- // of |
|
900 |
- // packet |
|
888 |
+ // check length of packet |
|
889 |
+ if (length < (int)sizeof(stBlinkenProtoBlpHdr) + height * width) |
|
901 | 890 |
return NULL; |
902 |
- if (height < BlinkenHeightMin || height > BlinkenHeightMax || // check |
|
903 |
- // |
|
904 |
- // |
|
905 |
- // |
|
906 |
- // |
|
907 |
- // |
|
908 |
- // header |
|
909 |
- // data |
|
891 |
+ // check header data |
|
892 |
+ if (height < BlinkenHeightMin || height > BlinkenHeightMax || |
|
910 | 893 |
width < BlinkenWidthMin || width > BlinkenWidthMax) |
911 | 894 |
return NULL; |
912 | 895 |
pFrame = BlinkenFrameNew(height, width, 1, 1, 0); // create frame |
... | ... |
@@ -926,32 +909,14 @@ stBlinkenFrame *BlinkenFrameFromNetwork(char *pData, int length, |
926 | 909 |
htonl(BlinkenProtoEblpMagic)) { |
927 | 910 |
if (pProto != NULL) // return protocol |
928 | 911 |
*pProto = BlinkenProtoEblp; |
929 |
- height = ntohs(((stBlinkenProtoEblpHdr *) pData)->height); // get header |
|
930 |
- // |
|
931 |
- // |
|
932 |
- // |
|
933 |
- // |
|
934 |
- // |
|
935 |
- // data |
|
912 |
+ // get header data |
|
913 |
+ height = ntohs(((stBlinkenProtoEblpHdr *) pData)->height); |
|
936 | 914 |
width = ntohs(((stBlinkenProtoEblpHdr *) pData)->width); |
937 |
- if (length < (int)sizeof(stBlinkenProtoEblpHdr) + width * height) // check |
|
938 |
- // |
|
939 |
- // |
|
940 |
- // |
|
941 |
- // |
|
942 |
- // |
|
943 |
- // length |
|
944 |
- // of |
|
945 |
- // packet |
|
915 |
+ // check length of packet |
|
916 |
+ if (length < (int)sizeof(stBlinkenProtoEblpHdr) + width * height) |
|
946 | 917 |
return NULL; |
947 |
- if (height < BlinkenHeightMin || height > BlinkenHeightMax || // check |
|
948 |
- // |
|
949 |
- // |
|
950 |
- // |
|
951 |
- // |
|
952 |
- // |
|
953 |
- // header |
|
954 |
- // data |
|
918 |
+ // check header data |
|
919 |
+ if (height < BlinkenHeightMin || height > BlinkenHeightMax || |
|
955 | 920 |
width < BlinkenWidthMin || width > BlinkenWidthMax) |
956 | 921 |
return NULL; |
957 | 922 |
pFrame = BlinkenFrameNew(height, width, 1, 255, 0); // create frame |
... | ... |
@@ -971,49 +936,22 @@ stBlinkenFrame *BlinkenFrameFromNetwork(char *pData, int length, |
971 | 936 |
htonl(BlinkenProtoMcufMagic)) { |
972 | 937 |
if (pProto != NULL) // return protocol |
973 | 938 |
*pProto = BlinkenProtoMcuf; |
974 |
- height = ntohs(((stBlinkenProtoMcufHdr *) pData)->height); // get header |
|
975 |
- // |
|
976 |
- // |
|
977 |
- // |
|
978 |
- // |
|
979 |
- // |
|
980 |
- // data |
|
939 |
+ // get header data |
|
940 |
+ height = ntohs(((stBlinkenProtoMcufHdr *) pData)->height); |
|
981 | 941 |
width = ntohs(((stBlinkenProtoMcufHdr *) pData)->width); |
982 | 942 |
channels = ntohs(((stBlinkenProtoMcufHdr *) pData)->channels); |
983 | 943 |
maxval = ntohs(((stBlinkenProtoMcufHdr *) pData)->maxval); |
984 |
- if (length < (int)sizeof(stBlinkenProtoMcufHdr) + height * width * channels) // check |
|
985 |
- // |
|
986 |
- // |
|
987 |
- // |
|
988 |
- // |
|
989 |
- // |
|
990 |
- // length |
|
991 |
- // of |
|
992 |
- // packet |
|
944 |
+ // check length of packet |
|
945 |
+ if (length < (int)sizeof(stBlinkenProtoMcufHdr) + height * width * channels) |
|
993 | 946 |
return NULL; |
994 |
- if (height < BlinkenHeightMin || height > BlinkenHeightMax || // check |
|
995 |
- // |
|
996 |
- // |
|
997 |
- // |
|
998 |
- // |
|
999 |
- // |
|
1000 |
- // header |
|
1001 |
- // data |
|
947 |
+ // check header data |
|
948 |
+ if (height < BlinkenHeightMin || height > BlinkenHeightMax || |
|
1002 | 949 |
width < BlinkenWidthMin || width > BlinkenWidthMax || |
1003 | 950 |
channels < BlinkenChannelsMin || channels > BlinkenChannelsMax || |
1004 | 951 |
maxval < BlinkenMaxvalMin || maxval > BlinkenMaxvalMax) |
1005 | 952 |
return NULL; |
1006 |
- pFrame = BlinkenFrameNew(height, width, channels, maxval, 0); // create |
|
1007 |
- // |
|
1008 |
- // |
|
1009 |
- // |
|
1010 |
- // |
|
1011 |
- // |
|
1012 |
- // frame |
|
1013 |
- // according |
|
1014 |
- // to |
|
1015 |
- // header |
|
1016 |
- // data |
|
953 |
+ // create frame according to header data |
|
954 |
+ pFrame = BlinkenFrameNew(height, width, channels, maxval, 0); |
|
1017 | 955 |
if (pFrame == NULL) |
1018 | 956 |
return NULL; |
1019 | 957 |
i = sizeof(stBlinkenProtoMcufHdr); // put data into frame |
... | ... |
@@ -5,6 +5,10 @@ |
5 | 5 |
#ifndef INC_BlinkenLib_BlinkenFrame |
6 | 6 |
#define INC_BlinkenLib_BlinkenFrame |
7 | 7 |
|
8 |
+#ifdef __cplusplus |
|
9 |
+extern "C" { |
|
10 |
+#endif |
|
11 |
+ |
|
8 | 12 |
typedef struct sBlinkenFrame stBlinkenFrame; |
9 | 13 |
|
10 | 14 |
typedef enum eBlinkenProto { BlinkenProtoNone, BlinkenProtoBlp, |
... | ... |
@@ -58,8 +62,12 @@ int BlinkenFrameToNetwork(stBlinkenFrame *pFrame, etBlinkenProto proto, |
58 | 62 |
char *pData, int maxLength); |
59 | 63 |
// returns length or -1 on error |
60 | 64 |
|
61 |
-stBlinkenFrame *BlinkenFrameFromNetwork(char *pData, int length, |
|
65 |
+stBlinkenFrame *BlinkenFrameFromNetwork(const char *pData, int length, |
|
62 | 66 |
etBlinkenProto * pProto); |
63 | 67 |
// returns protocol in *pProto if pProto not NULL |
64 | 68 |
|
69 |
+#ifdef __cplusplus |
|
70 |
+} // extern "C" |
|
71 |
+#endif |
|
72 |
+ |
|
65 | 73 |
#endif // #ifndef INC_BlinkenLib_BlinkenFrame |
... | ... |
@@ -231,7 +231,7 @@ void BlMng_compress_frame(stBlinkenFrame *frame, unsigned char **p_out_ptr, |
231 | 231 |
} |
232 | 232 |
|
233 | 233 |
// load a MNG file as BlinkenMovie |
234 |
-stBlinkenMovie *BlinkenMngLoad(char *pFilename) |
|
234 |
+stBlinkenMovie *BlinkenMngLoad(const char *pFilename) |
|
235 | 235 |
{ |
236 | 236 |
BlMng_userdata *data; |
237 | 237 |
mng_handle hMNG; |
... | ... |
@@ -367,7 +367,7 @@ stBlinkenMovie *BlinkenMngLoad(char *pFilename) |
367 | 367 |
return movie; |
368 | 368 |
} |
369 | 369 |
|
370 |
-int BlinkenMngSave(stBlinkenMovie *pMovie, char *pFilename) |
|
370 |
+int BlinkenMngSave(stBlinkenMovie *pMovie, const char *pFilename) |
|
371 | 371 |
{ |
372 | 372 |
BlMng_userdata *data; |
373 | 373 |
mng_handle hMNG; |
... | ... |
@@ -13,8 +13,16 @@ |
13 | 13 |
#error This file is to be used for MNG support only. |
14 | 14 |
#endif // #ifndef BLINKENLIB_CFG_MNG |
15 | 15 |
|
16 |
-stBlinkenMovie *BlinkenMngLoad(char *pFilename); |
|
16 |
+#ifdef __cplusplus |
|
17 |
+extern "C" { |
|
18 |
+#endif |
|
17 | 19 |
|
18 |
-int BlinkenMngSave(stBlinkenMovie *pMovie, char *pFilename); |
|
20 |
+stBlinkenMovie *BlinkenMngLoad(const char *pFilename); |
|
21 |
+ |
|
22 |
+int BlinkenMngSave(stBlinkenMovie *pMovie, const char *pFilename); |
|
23 |
+ |
|
24 |
+#ifdef __cplusplus |
|
25 |
+} // extern "C" |
|
26 |
+#endif |
|
19 | 27 |
|
20 | 28 |
#endif // #ifndef INC_BlinkenLib_BlinkenMng |
... | ... |
@@ -94,14 +94,14 @@ stBlinkenMovie *BlinkenMovieNew(int height, int width, int channels, |
94 | 94 |
pMovie->channels = channels; |
95 | 95 |
pMovie->maxval = maxval; |
96 | 96 |
pMovie->infoCnt = 0; |
97 |
- pMovie->pppInfos = (char ***)malloc2D(0, 2, sizeof(char *)); |
|
97 |
+ pMovie->pppInfos = (char ***)BlinkenMalloc2D(0, 2, sizeof(char *)); |
|
98 | 98 |
if (pMovie->pppInfos == NULL) { |
99 | 99 |
free(pMovie); |
100 | 100 |
return NULL; |
101 | 101 |
} |
102 | 102 |
pMovie->frameCnt = 0; |
103 | 103 |
pMovie->ppFrames = |
104 |
- (stBlinkenFrame **) malloc1D(0, sizeof(stBlinkenFrame *)); |
|
104 |
+ (stBlinkenFrame **) BlinkenMalloc1D(0, sizeof(stBlinkenFrame *)); |
|
105 | 105 |
if (pMovie->ppFrames == NULL) { |
106 | 106 |
free(pMovie->pppInfos); |
107 | 107 |
free(pMovie); |
... | ... |
@@ -233,8 +233,8 @@ char *BlinkenMovieGetInfoData(stBlinkenMovie *pMovie, int infoNo) |
233 | 233 |
return pMovie->pppInfos[infoNo][1]; |
234 | 234 |
} |
235 | 235 |
|
236 |
-void BlinkenMovieSetInfo(stBlinkenMovie *pMovie, int infoNo, char *pInfoType, |
|
237 |
- char *pInfoData) |
|
236 |
+void BlinkenMovieSetInfo(stBlinkenMovie *pMovie, int infoNo, |
|
237 |
+ const char *pInfoType, const char *pInfoData) |
|
238 | 238 |
{ |
239 | 239 |
char *pType, *pData; |
240 | 240 |
|
... | ... |
@@ -257,7 +257,7 @@ void BlinkenMovieSetInfo(stBlinkenMovie *pMovie, int infoNo, char *pInfoType, |
257 | 257 |
} |
258 | 258 |
|
259 | 259 |
void BlinkenMovieInsertInfo(stBlinkenMovie *pMovie, int infoNo, |
260 |
- char *pInfoType, char *pInfoData) |
|
260 |
+ const char *pInfoType, const char *pInfoData) |
|
261 | 261 |
{ |
262 | 262 |
char ***pppNewInfos, *pType, *pData; |
263 | 263 |
int i; |
... | ... |
@@ -265,7 +265,8 @@ void BlinkenMovieInsertInfo(stBlinkenMovie *pMovie, int infoNo, |
265 | 265 |
if (pMovie == NULL || infoNo < 0 || infoNo > pMovie->infoCnt) |
266 | 266 |
return; |
267 | 267 |
|
268 |
- pppNewInfos = (char ***)malloc2D(pMovie->infoCnt + 1, 2, sizeof(char *)); |
|
268 |
+ pppNewInfos = (char ***)BlinkenMalloc2D(pMovie->infoCnt + 1, 2, |
|
269 |
+ sizeof(char *)); |
|
269 | 270 |
if (pppNewInfos == NULL) |
270 | 271 |
return; |
271 | 272 |
|
... | ... |
@@ -299,8 +300,8 @@ void BlinkenMovieInsertInfo(stBlinkenMovie *pMovie, int infoNo, |
299 | 300 |
pMovie->infoCnt++; |
300 | 301 |
} |
301 | 302 |
|
302 |
-void BlinkenMovieAppendInfo(stBlinkenMovie *pMovie, char *pInfoType, |
|
303 |
- char *pInfoData) |
|
303 |
+void BlinkenMovieAppendInfo(stBlinkenMovie *pMovie, const char *pInfoType, |
|
304 |
+ const char *pInfoData) |
|
304 | 305 |
{ |
305 | 306 |
if (pMovie == NULL) |
306 | 307 |
return; |
... | ... |
@@ -316,7 +317,8 @@ void BlinkenMovieDeleteInfo(stBlinkenMovie *pMovie, int infoNo) |
316 | 317 |
if (pMovie == NULL || infoNo < 0 || infoNo >= pMovie->infoCnt) |
317 | 318 |
return; |
318 | 319 |
|
319 |
- pppNewInfos = (char ***)malloc2D(pMovie->infoCnt - 1, 2, sizeof(char *)); |
|
320 |
+ pppNewInfos = (char ***)BlinkenMalloc2D(pMovie->infoCnt - 1, 2, |
|
321 |
+ sizeof(char *)); |
|
320 | 322 |
if (pppNewInfos == NULL) |
321 | 323 |
return; |
322 | 324 |
|
... | ... |
@@ -346,7 +348,7 @@ void BlinkenMovieDeleteInfos(stBlinkenMovie *pMovie) |
346 | 348 |
if (pMovie == NULL) |
347 | 349 |
return; |
348 | 350 |
|
349 |
- pppNewInfos = (char ***)malloc2D(0, 2, sizeof(char *)); |
|
351 |
+ pppNewInfos = (char ***)BlinkenMalloc2D(0, 2, sizeof(char *)); |
|
350 | 352 |
if (pppNewInfos == NULL) |
351 | 353 |
return; |
352 | 354 |
|
... | ... |
@@ -401,7 +403,7 @@ int BlinkenMovieInsertFrame(stBlinkenMovie *pMovie, int frameNo, |
401 | 403 |
return -1; |
402 | 404 |
|
403 | 405 |
ppNewFrames = |
404 |
- (stBlinkenFrame **) malloc1D(pMovie->frameCnt + 1, |
|
406 |
+ (stBlinkenFrame **) BlinkenMalloc1D(pMovie->frameCnt + 1, |
|
405 | 407 |
sizeof(stBlinkenFrame *)); |
406 | 408 |
if (ppNewFrames == NULL) |
407 | 409 |
return -1; |
... | ... |
@@ -438,8 +440,7 @@ void BlinkenMovieDeleteFrame(stBlinkenMovie *pMovie, int frameNo) |
438 | 440 |
if (pMovie == NULL || frameNo < 0 || frameNo >= pMovie->frameCnt) |
439 | 441 |
return; |
440 | 442 |
|
441 |
- ppNewFrames = |
|
442 |
- (stBlinkenFrame **) malloc1D(pMovie->frameCnt - 1, |
|
443 |
+ ppNewFrames = (stBlinkenFrame **)BlinkenMalloc1D(pMovie->frameCnt - 1, |
|
443 | 444 |
sizeof(stBlinkenFrame *)); |
444 | 445 |
if (ppNewFrames == NULL) |
445 | 446 |
return; |
... | ... |
@@ -465,7 +466,8 @@ void BlinkenMovieDeleteFrames(stBlinkenMovie *pMovie) |
465 | 466 |
if (pMovie == NULL) |
466 | 467 |
return; |
467 | 468 |
|
468 |
- ppNewFrames = (stBlinkenFrame **) malloc1D(0, sizeof(stBlinkenFrame *)); |
|
469 |
+ ppNewFrames = |
|
470 |
+ (stBlinkenFrame **)BlinkenMalloc1D(0, sizeof(stBlinkenFrame *)); |
|
469 | 471 |
if (ppNewFrames == NULL) |
470 | 472 |
return; |
471 | 473 |
|
... | ... |
@@ -477,10 +479,8 @@ void BlinkenMovieDeleteFrames(stBlinkenMovie *pMovie) |
477 | 479 |
pMovie->frameCnt = 0; |
478 | 480 |
} |
479 | 481 |
|
480 |
-int BlinkenMovieConcat(stBlinkenMovie *pMovie, stBlinkenMovie *pMovie2 /* appended |
|
481 |
- and |
|
482 |
- freed |
|
483 |
- */ ) |
|
482 |
+int BlinkenMovieConcat(stBlinkenMovie *pMovie, |
|
483 |
+ stBlinkenMovie *pMovie2 /* appended and freed */) |
|
484 | 484 |
{ |
485 | 485 |
stBlinkenFrame **ppNewFrames, **ppNewFrames2; |
486 | 486 |
int i; |
... | ... |
@@ -492,11 +492,11 @@ int BlinkenMovieConcat(stBlinkenMovie *pMovie, stBlinkenMovie *pMovie2 /* |
492 | 492 |
pMovie->maxval); |
493 | 493 |
|
494 | 494 |
ppNewFrames = |
495 |
- (stBlinkenFrame **) malloc1D(pMovie->frameCnt + pMovie2->frameCnt, |
|
495 |
+ (stBlinkenFrame **)BlinkenMalloc1D(pMovie->frameCnt + pMovie2->frameCnt, |
|
496 | 496 |
sizeof(stBlinkenFrame *)); |
497 | 497 |
if (ppNewFrames == NULL) |
498 | 498 |
return -1; |
499 |
- ppNewFrames2 = (stBlinkenFrame **) malloc1D(0, sizeof(stBlinkenFrame *)); |
|
499 |
+ ppNewFrames2 = (stBlinkenFrame **)BlinkenMalloc1D(0, sizeof(stBlinkenFrame *)); |
|
500 | 500 |
if (ppNewFrames2 == NULL) { |
501 | 501 |
free(ppNewFrames); |
502 | 502 |
return -1; |
... | ... |
@@ -691,7 +691,7 @@ char *BlinkenMovieToString(stBlinkenMovie *pMovie) |
691 | 691 |
if (pMovie == NULL) |
692 | 692 |
return NULL; |
693 | 693 |
|
694 |
- strs = (char **)malloc1D(pMovie->frameCnt, sizeof(char *)); |
|
694 |
+ strs = (char **)BlinkenMalloc1D(pMovie->frameCnt, sizeof(char *)); |
|
695 | 695 |
if (strs == NULL) |
696 | 696 |
return NULL; |
697 | 697 |
|
... | ... |
@@ -741,7 +741,7 @@ char *BlinkenMovieToString(stBlinkenMovie *pMovie) |
741 | 741 |
return str; |
742 | 742 |
} |
743 | 743 |
|
744 |
-stBlinkenMovie *BlinkenMovieLoadBlm(char *pFilename) |
|
744 |
+stBlinkenMovie *BlinkenMovieLoadBlm(const char *pFilename) |
|
745 | 745 |
{ |
746 | 746 |
FILE *pFile; |
747 | 747 |
stBlinkenMovie *pMovie; |
... | ... |
@@ -800,13 +800,8 @@ stBlinkenMovie *BlinkenMovieLoadBlm(char *pFilename) |
800 | 800 |
else if (fscanf(pFile, "%1[01]", pixel) == 1) { |
801 | 801 |
if (pFrame != NULL) { |
802 | 802 |
for (x = 0;; x++) { |
803 |
- BlinkenFrameSetPixel(pFrame, y, x, 0, (unsigned char)(pixel[0] == '1' ? 1 : 0)); // set |
|
804 |
- // |
|
805 |
- // |
|
806 |
- // |
|
807 |
- // |
|
808 |
- // |
|
809 |
- // pixel |
|
803 |
+ BlinkenFrameSetPixel(pFrame, y, x, 0, // set pixel |
|
804 |
+ (unsigned char)(pixel[0] == '1' ? 1 : 0)); |
|
810 | 805 |
if (fscanf(pFile, "%1[01]", pixel) != 1) // read next pixel |
811 | 806 |
break; |
812 | 807 |
} |
... | ... |
@@ -822,7 +817,7 @@ stBlinkenMovie *BlinkenMovieLoadBlm(char *pFilename) |
822 | 817 |
return pMovie; |
823 | 818 |
} |
824 | 819 |
|
825 |
-stBlinkenMovie *BlinkenMovieLoadBmm(char *pFilename) |
|
820 |
+stBlinkenMovie *BlinkenMovieLoadBmm(const char *pFilename) |
|
826 | 821 |
{ |
827 | 822 |
FILE *pFile; |
828 | 823 |
stBlinkenMovie *pMovie; |
... | ... |
@@ -883,13 +878,8 @@ stBlinkenMovie *BlinkenMovieLoadBmm(char *pFilename) |
883 | 878 |
for (x = 0;; x++) { |
884 | 879 |
if (sscanf(pixel, "%i", &val) != 1) // convert pixel to number |
885 | 880 |
break; |
886 |
- BlinkenFrameSetPixel(pFrame, y, x, 0, (unsigned char)val); // set |
|
887 |
- // |
|
888 |
- // |
|
889 |
- // |
|
890 |
- // |
|
891 |
- // |
|
892 |
- // pixel |
|
881 |
+ BlinkenFrameSetPixel(pFrame, y, x, 0, // set pixel |
|
882 |
+ (unsigned char)val); |
|
893 | 883 |
fscanf(pFile, "%*[ \t]"); // kill space |
894 | 884 |
if (fscanf(pFile, "%7[0-9A-FXa-fx]", pixel) != 1) // read next |
895 | 885 |
// pixel |
... | ... |
@@ -907,7 +897,7 @@ stBlinkenMovie *BlinkenMovieLoadBmm(char *pFilename) |
907 | 897 |
return pMovie; |
908 | 898 |
} |
909 | 899 |
|
910 |
-stBlinkenMovie *BlinkenMovieLoadBml(char *pFilename) |
|
900 |
+stBlinkenMovie *BlinkenMovieLoadBml(const char *pFilename) |
|
911 | 901 |
{ |
912 | 902 |
FILE *pFile; |
913 | 903 |
stBlinkenMovie *pMovie; |
... | ... |
@@ -972,21 +962,8 @@ stBlinkenMovie *BlinkenMovieLoadBml(char *pFilename) |
972 | 962 |
// get number of characters per channel |
973 | 963 |
chrs = (bits + 3) >> 2; |
974 | 964 |
// get fscanf formart string for reading a pixel |
975 |
- sprintf(pixelFormat, "%%%d[0-9A-Fa-f]", chrs > 4 ? 5 : chrs); // read |
|
976 |
- // |
|
977 |
- // |
|
978 |
- // |
|
979 |
- // |
|
980 |
- // |
|
981 |
- // max |
|
982 |
- // 5 |
|
983 |
- // chars |
|
984 |
- // (2 |
|
985 |
- // already |
|
986 |
- // in |
|
987 |
- // use |
|
988 |
- // by |
|
989 |
- // prefix) |
|
965 |
+ // read max 5 chars (2 already in use by prefix) |
|
966 |
+ sprintf(pixelFormat, "%%%d[0-9A-Fa-f]", chrs > 4 ? 5 : chrs); |
|
990 | 967 |
// initialize pixel buffer with hex prefix |
991 | 968 |
strcpy(pixel, "0x"); |
992 | 969 |
} |
... | ... |
@@ -1085,7 +1062,7 @@ stBlinkenMovie *BlinkenMovieLoadBml(char *pFilename) |
1085 | 1062 |
return pMovie; |
1086 | 1063 |
} |
1087 | 1064 |
|
1088 |
-stBlinkenMovie *BlinkenMovieLoadBbm(char *pFilename) |
|
1065 |
+stBlinkenMovie *BlinkenMovieLoadBbm(const char *pFilename) |
|
1089 | 1066 |
{ |
1090 | 1067 |
FILE *pFile; |
1091 | 1068 |
stBlinkenMovie *pMovie; |
... | ... |
@@ -1255,14 +1232,14 @@ stBlinkenMovie *BlinkenMovieLoadBbm(char *pFilename) |
1255 | 1232 |
|
1256 | 1233 |
#ifdef BLINKENLIB_CFG_MNG |
1257 | 1234 |
|
1258 |
-stBlinkenMovie *BlinkenMovieLoadMng(char *pFilename) |
|
1235 |
+stBlinkenMovie *BlinkenMovieLoadMng(const char *pFilename) |
|
1259 | 1236 |
{ |
1260 | 1237 |
return BlinkenMngLoad(pFilename); |
1261 | 1238 |
} |
1262 | 1239 |
|
1263 | 1240 |
#endif // #ifdef BLINKENLIB_CFG_MNG |
1264 | 1241 |
|
1265 |
-stBlinkenMovie *BlinkenMovieLoad(char *pFilename) |
|
1242 |
+stBlinkenMovie *BlinkenMovieLoad(const char *pFilename) |
|
1266 | 1243 |
{ |
1267 | 1244 |
int len; |
1268 | 1245 |
|
... | ... |
@@ -1285,7 +1262,7 @@ stBlinkenMovie *BlinkenMovieLoad(char *pFilename) |
1285 | 1262 |
return NULL; |
1286 | 1263 |
} |
1287 | 1264 |
|
1288 |
-int BlinkenMovieSaveBlm(stBlinkenMovie *pMovie, char *pFilename) |
|
1265 |
+int BlinkenMovieSaveBlm(stBlinkenMovie *pMovie, const char *pFilename) |
|
1289 | 1266 |
{ |
1290 | 1267 |
stBlinkenMovie *pOutMovie; |
1291 | 1268 |
FILE *pFile; |
... | ... |
@@ -1340,7 +1317,7 @@ int BlinkenMovieSaveBlm(stBlinkenMovie *pMovie, char *pFilename) |
1340 | 1317 |
return 0; |
1341 | 1318 |
} |
1342 | 1319 |
|
1343 |
-int BlinkenMovieSaveBmm(stBlinkenMovie *pMovie, char *pFilename) |
|
1320 |
+int BlinkenMovieSaveBmm(stBlinkenMovie *pMovie, const char *pFilename) |
|
1344 | 1321 |
{ |
1345 | 1322 |
stBlinkenMovie *pOutMovie; |
1346 | 1323 |
FILE *pFile; |
... | ... |
@@ -1394,7 +1371,7 @@ int BlinkenMovieSaveBmm(stBlinkenMovie *pMovie, char *pFilename) |
1394 | 1371 |
return 0; |
1395 | 1372 |
} |
1396 | 1373 |
|
1397 |
-int BlinkenMovieSaveBml(stBlinkenMovie *pMovie, char *pFilename) |
|
1374 |
+int BlinkenMovieSaveBml(stBlinkenMovie *pMovie, const char *pFilename) |
|
1398 | 1375 |
{ |
1399 | 1376 |
stBlinkenMovie *pOutMovie; |
1400 | 1377 |
FILE *pFile; |
... | ... |
@@ -1477,7 +1454,7 @@ int BlinkenMovieSaveBml(stBlinkenMovie *pMovie, char *pFilename) |
1477 | 1454 |
return 0; |
1478 | 1455 |
} |
1479 | 1456 |
|
1480 |
-int BlinkenMovieSaveBbm(stBlinkenMovie *pMovie, char *pFilename) |
|
1457 |
+int BlinkenMovieSaveBbm(stBlinkenMovie *pMovie, const char *pFilename) |
|
1481 | 1458 |
{ |
1482 | 1459 |
unsigned char *pFrameData; |
1483 | 1460 |
FILE *pFile; |
... | ... |
@@ -1596,14 +1573,14 @@ int BlinkenMovieSaveBbm(stBlinkenMovie *pMovie, char *pFilename) |
1596 | 1573 |
|
1597 | 1574 |
#ifdef BLINKENLIB_CFG_MNG |
1598 | 1575 |
|
1599 |
-int BlinkenMovieSaveMng(stBlinkenMovie *pMovie, char *pFilename) |
|
1576 |
+int BlinkenMovieSaveMng(stBlinkenMovie *pMovie, const char *pFilename) |
|
1600 | 1577 |
{ |
1601 | 1578 |
return BlinkenMngSave(pMovie, pFilename); |
1602 | 1579 |
} |
1603 | 1580 |
|
1604 | 1581 |
#endif // #ifdef BLINKENLIB_CFG_MNG |
1605 | 1582 |
|
1606 |
-int BlinkenMovieSave(stBlinkenMovie *pMovie, char *pFilename) |
|
1583 |
+int BlinkenMovieSave(stBlinkenMovie *pMovie, const char *pFilename) |
|
1607 | 1584 |
{ |
1608 | 1585 |
int len; |
1609 | 1586 |
|
... | ... |
@@ -1681,14 +1658,8 @@ stBlinkenMovie *BlinkenMovieReceive(SOCKET udpSocket, int timeout, |
1681 | 1658 |
FD_SET(udpSocket, &readFds); |
1682 | 1659 |
timeo.tv_sec = timeout / 1000; |
1683 | 1660 |
timeo.tv_usec = (timeout % 1000) * 1000; |
1684 |
- if (select(udpSocket + 1, &readFds, NULL, NULL, &timeo) <= 0) // timeout |
|
1685 |
- // |
|
1686 |
- // |
|
1687 |
- // |
|
1688 |
- // |
|
1689 |
- // |
|
1690 |
- // or |
|
1691 |
- // error |
|
1661 |
+ // timeout or error |
|
1662 |
+ if (select(udpSocket + 1, &readFds, NULL, NULL, &timeo) <= 0) |
|
1692 | 1663 |
break; |
1693 | 1664 |
|
1694 | 1665 |
// fetch data |
... | ... |
@@ -15,6 +15,10 @@ |
15 | 15 |
#define INVALID_SOCKET -1 |
16 | 16 |
#endif |
17 | 17 |
|
18 |
+#ifdef __cplusplus |
|
19 |
+extern "C" { |
|
20 |
+#endif |
|
21 |
+ |
|
18 | 22 |
typedef struct sBlinkenMovie stBlinkenMovie; |
19 | 23 |
|
20 | 24 |
stBlinkenMovie *BlinkenMovieNew(int height, int width, int channels, |
... | ... |
@@ -33,12 +37,12 @@ int BlinkenMovieGetDuration(stBlinkenMovie *pMovie); |
33 | 37 |
int BlinkenMovieGetInfoCnt(stBlinkenMovie *pMovie); |
34 | 38 |
char *BlinkenMovieGetInfoType(stBlinkenMovie *pMovie, int infoNo); |
35 | 39 |
char *BlinkenMovieGetInfoData(stBlinkenMovie *pMovie, int infoNo); |
36 |
-void BlinkenMovieSetInfo(stBlinkenMovie *pMovie, int infoNo, char *pInfoType, |
|
37 |
- char *pInfoData); |
|
40 |
+void BlinkenMovieSetInfo(stBlinkenMovie *pMovie, int infoNo, |
|
41 |
+ const char *pInfoType, const char *pInfoData); |
|
38 | 42 |
void BlinkenMovieInsertInfo(stBlinkenMovie *pMovie, int infoNo, |
39 |
- char *pInfoType, char *pInfoData); |
|
40 |
-void BlinkenMovieAppendInfo(stBlinkenMovie *pMovie, char *pInfoType, |
|
41 |
- char *pInfoData); |
|
43 |
+ const char *pInfoType, const char *pInfoData); |
|
44 |
+void BlinkenMovieAppendInfo(stBlinkenMovie *pMovie, const char *pInfoType, |
|
45 |
+ const char *pInfoData); |
|
42 | 46 |
void BlinkenMovieDeleteInfo(stBlinkenMovie *pMovie, int infoNo); |
43 | 47 |
void BlinkenMovieDeleteInfos(stBlinkenMovie *pMovie); |
44 | 48 |
|
... | ... |
@@ -52,10 +56,8 @@ int BlinkenMovieAppendFrame(stBlinkenMovie *pMovie, stBlinkenFrame *pFrame); |
52 | 56 |
void BlinkenMovieDeleteFrame(stBlinkenMovie *pMovie, int frameNo); |
53 | 57 |
void BlinkenMovieDeleteFrames(stBlinkenMovie *pMovie); |
54 | 58 |
|
55 |
-int BlinkenMovieConcat(stBlinkenMovie *pMovie, stBlinkenMovie *pMovie2 /* appended |
|
56 |
- and |
|
57 |
- freed |
|
58 |
- */ ); |
|
59 |
+int BlinkenMovieConcat(stBlinkenMovie *pMovie, |
|
60 |
+ stBlinkenMovie *pMovie2 /* appended and freed */); |
|
59 | 61 |
void BlinkenMovieReverse(stBlinkenMovie *pMovie); |
60 | 62 |
|
61 | 63 |
void BlinkenMovieResize(stBlinkenMovie *pMovie, int height, int width, |
... | ... |
@@ -68,23 +70,23 @@ void BlinkenMovieCopyRect(stBlinkenMovie *pDest, int destY, int destX, |
68 | 70 |
|
69 | 71 |
char *BlinkenMovieToString(stBlinkenMovie *pMovie); |
70 | 72 |
|
71 |
-stBlinkenMovie *BlinkenMovieLoadBlm(char *pFilename); |
|
72 |
-stBlinkenMovie *BlinkenMovieLoadBmm(char *pFilename); |
|
73 |
-stBlinkenMovie *BlinkenMovieLoadBml(char *pFilename); |
|
74 |
-stBlinkenMovie *BlinkenMovieLoadBbm(char *pFilename); |
|
73 |
+stBlinkenMovie *BlinkenMovieLoadBlm(const char *pFilename); |
|
74 |
+stBlinkenMovie *BlinkenMovieLoadBmm(const char *pFilename); |
|
75 |
+stBlinkenMovie *BlinkenMovieLoadBml(const char *pFilename); |
|
76 |
+stBlinkenMovie *BlinkenMovieLoadBbm(const char *pFilename); |
|
75 | 77 |
#ifdef BLINKENLIB_CFG_MNG |
76 |
-stBlinkenMovie *BlinkenMovieLoadMng(char *pFilename); |
|
78 |
+stBlinkenMovie *BlinkenMovieLoadMng(const char *pFilename); |
|
77 | 79 |
#endif // #ifdef BLINKENLIB_CFG_MNG |
78 |
-stBlinkenMovie *BlinkenMovieLoad(char *pFilename); |
|
80 |
+stBlinkenMovie *BlinkenMovieLoad(const char *pFilename); |
|
79 | 81 |
|
80 |
-int BlinkenMovieSaveBlm(stBlinkenMovie *pMovie, char *pFilename); |
|
81 |
-int BlinkenMovieSaveBmm(stBlinkenMovie *pMovie, char *pFilename); |
|
82 |
-int BlinkenMovieSaveBml(stBlinkenMovie *pMovie, char *pFilename); |
|
83 |
-int BlinkenMovieSaveBbm(stBlinkenMovie *pMovie, char *pFilename); |
|
82 |
+int BlinkenMovieSaveBlm(stBlinkenMovie *pMovie, const char *pFilename); |
|
83 |
+int BlinkenMovieSaveBmm(stBlinkenMovie *pMovie, const char *pFilename); |
|
84 |
+int BlinkenMovieSaveBml(stBlinkenMovie *pMovie, const char *pFilename); |
|
85 |
+int BlinkenMovieSaveBbm(stBlinkenMovie *pMovie, const char *pFilename); |
|
84 | 86 |
#ifdef BLINKENLIB_CFG_MNG |
85 |
-int BlinkenMovieSaveMng(stBlinkenMovie *pMovie, char *pFilename); |
|
87 |
+int BlinkenMovieSaveMng(stBlinkenMovie *pMovie, const char *pFilename); |
|
86 | 88 |
#endif // #ifdef BLINKENLIB_CFG_MNG |
87 |
-int BlinkenMovieSave(stBlinkenMovie *pMovie, char *pFilename); |
|
89 |
+int BlinkenMovieSave(stBlinkenMovie *pMovie, const char *pFilename); |
|
88 | 90 |
|
89 | 91 |
void BlinkenMovieSend(stBlinkenMovie *pMovie, SOCKET udpSocket, |
90 | 92 |
etBlinkenProto proto, int maxidle); |
... | ... |
@@ -98,4 +100,8 @@ stBlinkenMovie *BlinkenMovieReceive(SOCKET udpSocket, int timeout, |
98 | 100 |
// after timeout ms of no reception, the movie is considered to be complete |
99 | 101 |
// returns protocol in *pProto if pProto not NULL |
100 | 102 |
|
103 |
+#ifdef __cplusplus |
|
104 |
+} // extern "C" |
|
105 |
+#endif |
|
106 |
+ |
|
101 | 107 |
#endif // #ifndef INC_BlinkenLib_BlinkenMovie |
... | ... |
@@ -6,7 +6,7 @@ |
6 | 6 |
|
7 | 7 |
#include <BlinkenLib/Tools.h> |
8 | 8 |
|
9 |
-void *malloc1D(int count1, int size) |
|
9 |
+void *BlinkenMalloc1D(int count1, int size) |
|
10 | 10 |
{ |
11 | 11 |
if (count1 < 1) |
12 | 12 |
count1 = 1; |
... | ... |
@@ -16,7 +16,7 @@ void *malloc1D(int count1, int size) |
16 | 16 |
return malloc(count1 * size); |
17 | 17 |
} |
18 | 18 |
|
19 |
-void **malloc2D(int count1, int count2, int size) |
|
19 |
+void **BlinkenMalloc2D(int count1, int count2, int size) |
|
20 | 20 |
{ |
21 | 21 |
int sz, i; |
22 | 22 |
char *p; |
... | ... |
@@ -17,8 +17,16 @@ |
17 | 17 |
#define arr_cnt( arr ) (sizeof( (arr) ) / sizeof( (arr)[0] )) |
18 | 18 |
#endif |
19 | 19 |
|
20 |
-void *malloc1D(int count1, int size); |
|
20 |
+#ifdef __cplusplus |
|
21 |
+extern "C" { |
|
22 |
+#endif |
|
23 |
+ |
|
24 |
+void *BlinkenMalloc1D(int count1, int size); |
|
21 | 25 |
|
22 |
-void **malloc2D(int count1, int count2, int size); |
|
26 |
+void **BlinkenMalloc2D(int count1, int count2, int size); |
|
27 |
+ |
|
28 |
+#ifdef __cplusplus |
|
29 |
+} // extern "C" |
|
30 |
+#endif |
|
23 | 31 |
|
24 | 32 |
#endif // #ifndef INC_BlinkenLib_Tools |