d33aef39c99e14514f0b9cc13e42ad285ba15a4a
Christian Heimke BlinkenLib v.0.1.1 (2005-01...

Christian Heimke authored 13 years ago

1) /* BlinkenLib
Christian Heimke BlinkenLib v.0.4 (2005-07-02)

Christian Heimke authored 13 years ago

2)  * version 0.4 date 2005-07-02
Christian Heimke BlinkenLib v.0.2 (2005-01-27)

Christian Heimke authored 13 years ago

3)  * Copyright 2004-2005 Stefan Schuermans <1stein@schuermans.info>
Christian Heimke BlinkenLib v.0.1.1 (2005-01...

Christian Heimke authored 13 years ago

4)  * Copyleft: GNU public license - http://www.gnu.org/copyleft/gpl.html
5)  * a blinkenarea.org project
6)  * powered by eventphone.de
7)  */
8) 
9) #include <stdio.h>
10) #include <stdlib.h>
Christian Heimke BlinkenLib v.0.4 (2005-07-02)

Christian Heimke authored 13 years ago

11) #include <string.h>
Christian Heimke BlinkenLib v.0.1.1 (2005-01...

Christian Heimke authored 13 years ago

12) 
Christian Heimke BlinkenLib v.0.3 (2005-02-16)

Christian Heimke authored 13 years ago

13) #include "BlinkenLib.h"
Christian Heimke BlinkenLib v.0.1.1 (2005-01...

Christian Heimke authored 13 years ago

14) 
15) int main( int argCnt, char * * args )
16) {
17)   stBlinkenMovie * pMovie;
Christian Heimke BlinkenLib v.0.2 (2005-01-27)

Christian Heimke authored 13 years ago

18)   int i;
Christian Heimke BlinkenLib v.0.1.1 (2005-01...

Christian Heimke authored 13 years ago

19)   char * str;
Christian Heimke BlinkenLib v.0.2 (2005-01-27)

Christian Heimke authored 13 years ago

20)   unsigned int height, width, channels, colors;
Christian Heimke BlinkenLib v.0.1.1 (2005-01...

Christian Heimke authored 13 years ago

21) 
22)   //print info
Christian Heimke BlinkenLib v.0.2 (2005-01-27)

Christian Heimke authored 13 years ago

23)   printf( "BlinkenLib - BlinkenConv\n"
Christian Heimke BlinkenLib v.0.4 (2005-07-02)

Christian Heimke authored 13 years ago

24)           "version 0.4 date 2005-07-02\n"
Christian Heimke BlinkenLib v.0.2 (2005-01-27)

Christian Heimke authored 13 years ago

25)           "Copyright 2004-2005 Stefan Schuermans <1stein@schuermans.info>\n"
Christian Heimke BlinkenLib v.0.1.1 (2005-01...

Christian Heimke authored 13 years ago

26)           "Copyleft: GNU public license - http://www.gnu.org/copyleft/gpl.html\n"
27)           "a blinkenarea.org project\n"
28)           "powered by eventphone.de\n\n" );
29) 
30)   //print syntax
31)   if( argCnt <= 1 )
32)   {
Christian Heimke BlinkenLib v.0.2 (2005-01-27)

Christian Heimke authored 13 years ago

33)     printf( "syntax: %s <parameter> [...]\n\n"
34)             "parameters:\n"
35)             "  -i <file>\n"
36)             "     read movie from file (*.blm, *.bmm, *.bml, *.bbm)\n"
37)             "  -p\n"
38)             "     print movie\n"
39)             "  -r <width>x<height>-<channels>/<colors>\n"
40)             "     resize movie\n"
41)             "  -s <width>x<height>\n"
42)             "     scale movie\n"
43)             "  -o <file>\n"
44)             "     write movie to file (*.blm, *.bmm, *.bml, *.bbm)\n\n"
45)             "old syntax: %s <input-file> [<output-file>]\n\n",
46)             args[0], args[0] );
47)     return 0;
Christian Heimke BlinkenLib v.0.1.1 (2005-01...

Christian Heimke authored 13 years ago

48)   }
49) 
50)   //no movie loaded
51)   pMovie = NULL;
52) 
Christian Heimke BlinkenLib v.0.2 (2005-01-27)

Christian Heimke authored 13 years ago

53)   //process parameters
54)   for( i = 1; i < argCnt; i++ )
Christian Heimke BlinkenLib v.0.1.1 (2005-01...

Christian Heimke authored 13 years ago

55)   {
Christian Heimke BlinkenLib v.0.2 (2005-01-27)

Christian Heimke authored 13 years ago

56) 
57)     //read movie
58)     if( strcmp( args[i], "-i" ) == 0 )
59)     {
60)       if( i + 1 < argCnt )
61)       {
62)         i++;
63)         if( pMovie != NULL )
64)           BlinkenMovieFree( pMovie );
65)         pMovie = BlinkenMovieLoad( args[i] );
66)         if( pMovie == NULL )
67)           printf( "could not read movie \"%s\"\n", args[i] );
68)         else
69)           printf( "movie \"%s\" read\n", args[i] );
70)       }
71)       else
72)         printf( "missing input filename for \"-i\"\n" );
73)     }
74) 
Christian Heimke BlinkenLib v.0.1.1 (2005-01...

Christian Heimke authored 13 years ago

75)     //print movie
Christian Heimke BlinkenLib v.0.2 (2005-01-27)

Christian Heimke authored 13 years ago

76)     else if( strcmp( args[i], "-p" ) == 0 )
Christian Heimke BlinkenLib v.0.1.1 (2005-01...

Christian Heimke authored 13 years ago

77)     {
Christian Heimke BlinkenLib v.0.2 (2005-01-27)

Christian Heimke authored 13 years ago

78)       if( pMovie == NULL )
79)         printf( "no movie loaded to print\n" );
80)       else
Christian Heimke BlinkenLib v.0.1.1 (2005-01...

Christian Heimke authored 13 years ago

81)       {
Christian Heimke BlinkenLib v.0.2 (2005-01-27)

Christian Heimke authored 13 years ago

82)         str = BlinkenMovieToString( pMovie );
83)         if( str == NULL )
84)           printf( "could not print movie\n" );
85)         else
86)         {
87)           printf( "%s", str );
88)           free( str );
89)         }
Christian Heimke BlinkenLib v.0.1.1 (2005-01...

Christian Heimke authored 13 years ago

90)       }
91)     }
92) 
Christian Heimke BlinkenLib v.0.2 (2005-01-27)

Christian Heimke authored 13 years ago

93)     //resize movie
94)     else if( strcmp( args[i], "-r" ) == 0 )
95)     {
96)       if( i + 1 < argCnt )
97)       {
98)         i++;
99)         if( sscanf( args[i], "%ux%u-%u/%u", &width, &height, &channels, &colors ) != 4 )
100)           printf( "invalid movie format \"%s\"\n", args[i] );
101)         else if( pMovie == NULL )
102)           printf( "no movie loaded to resize\n" );
103)         else
104)         {
105)           BlinkenMovieResize( pMovie, height, width, channels, colors - 1 );
106)           printf( "movie resized to %ux%u-%u/%u\n", width, height, channels, colors );
107)         }
108)       }
109)       else
110)         printf( "missing movie format for \"-r\"\n" );
111)     }
Christian Heimke BlinkenLib v.0.1.1 (2005-01...

Christian Heimke authored 13 years ago

112) 
Christian Heimke BlinkenLib v.0.2 (2005-01-27)

Christian Heimke authored 13 years ago

113)     //scale movie
114)     else if( strcmp( args[i], "-s" ) == 0 )
115)     {
116)       if( i + 1 < argCnt )
117)       {
118)         i++;
119)         if( sscanf( args[i], "%ux%u", &width, &height ) != 2 )
120)           printf( "invalid movie dimensions \"%s\"\n", args[i] );
121)         else if( pMovie == NULL )
122)           printf( "no movie loaded to scale\n" );
123)         else
124)         {
125)           BlinkenMovieScale( pMovie, height, width );
126)           printf( "movie scaled to %ux%u\n", width, height );
127)         }
128)       }
129)       else
130)         printf( "missing movie dimensions for \"-s\"\n" );
131)     }
132) 
133)     //write movie
134)     else if( strcmp( args[i], "-o" ) == 0 )
135)     {
136)       if( i + 1 < argCnt )
137)       {
138)         i++;
139)         if( pMovie == NULL )
140)           printf( "no movie loaded to write to \"%s\"\n", args[i] );
141)         else
142)           if( BlinkenMovieSave( pMovie, args[i] ) < 0 )
143)             printf( "could not write movie \"%s\"\n", args[i] );
144)           else
145)             printf( "movie \"%s\" written\n", args[i] );
146)       }
147)       else
148)         printf( "missing output filename for \"-o\"\n" );
149)     }
150) 
151)     //old style input filename
152)     else if( i == 1 && args[i][0] != '-' )
153)     {
154)       printf( "old style input filename \"%s\", better use \"-i %s\"\n", args[i], args[i] );
155)       if( pMovie != NULL )
156)         BlinkenMovieFree( pMovie );
157)       pMovie = BlinkenMovieLoad( args[i] );
158)       if( pMovie == NULL )
159)         printf( "could not read movie \"%s\"\n", args[i] );
160)       else
161)         printf( "movie \"%s\" read\n", args[i] );
162)     }
163) 
164)     //old style output filename
165)     else if( i == 2 && args[i][0] != '-' )
166)     {
167)       printf( "old style output filename \"%s\", better use \"-o %s\"\n", args[i], args[i] );
168)       if( pMovie == NULL )
169)         printf( "no movie loaded to write to \"%s\"\n", args[i] );
170)       else
171)         if( BlinkenMovieSave( pMovie, args[i] ) < 0 )
172)           printf( "could not write movie \"%s\"\n", args[i] );
173)         else
174)           printf( "movie \"%s\" written\n", args[i] );
175)     }
176) 
177)     //unknown parameter
178)     else
179)       printf( "unknown parameter \"%s\", call without parameters to get help\n", args[i] );
180) 
181)   } //for( i ...
182) 
183)   //old style print
184)   if( argCnt == 2 && pMovie != NULL )
185)   {
186)     str = BlinkenMovieToString( pMovie );
187)     if( str == NULL )
188)       printf( "could not print movie\n" );
189)     else
190)     {
191)       printf( "%s", str );
192)       free( str );
193)     }
Christian Heimke BlinkenLib v.0.1.1 (2005-01...

Christian Heimke authored 13 years ago

194)   }
195) 
Christian Heimke BlinkenLib v.0.2 (2005-01-27)

Christian Heimke authored 13 years ago

196)   //free movie
197)   if( pMovie != NULL )
198)     BlinkenMovieFree( pMovie );
199)