5f61548c8f607fbcacd9d0d828272984a5bb6fff
Christian Heimke BlinkenLib v.0.1.1 (2005-01...

Christian Heimke authored 13 years ago

1) /* BlinkenLib
Christian Heimke BlinkenLib v.0.5.2 (2006-05...

Christian Heimke authored 13 years ago

2)  * version 0.5.2 date 2006-05-10
3)  * Copyright 2004-2006 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)  */
7) 
8) #include <stdio.h>
9) #include <stdlib.h>
Christian Heimke BlinkenLib v.0.4 (2005-07-02)

Christian Heimke authored 13 years ago

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

Christian Heimke authored 13 years ago

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

Christian Heimke authored 13 years ago

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

Christian Heimke authored 13 years ago

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

Christian Heimke authored 13 years ago

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

Christian Heimke authored 13 years ago

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

Christian Heimke authored 13 years ago

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

Christian Heimke authored 13 years ago

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

Christian Heimke authored 13 years ago

22)   printf( "BlinkenLib - BlinkenConv\n"
Christian Heimke BlinkenLib v.0.5.2 (2006-05...

Christian Heimke authored 13 years ago

23)           "version 0.5.2 date 2006-05-10\n"
24)           "Copyright 2004-2006 Stefan Schuermans <1stein@schuermans.info>\n"
Christian Heimke BlinkenLib v.0.1.1 (2005-01...

Christian Heimke authored 13 years ago

25)           "Copyleft: GNU public license - http://www.gnu.org/copyleft/gpl.html\n"
Christian Heimke BlinkenLib v.0.5 (2005-12-06)

Christian Heimke authored 13 years ago

26)           "a blinkenarea.org project\n\n" );
Christian Heimke BlinkenLib v.0.1.1 (2005-01...

Christian Heimke authored 13 years ago

27) 
28)   //print syntax
29)   if( argCnt <= 1 )
30)   {
Christian Heimke BlinkenLib v.0.2 (2005-01-27)

Christian Heimke authored 13 years ago

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

Christian Heimke authored 13 years ago

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

Christian Heimke authored 13 years ago

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

Christian Heimke authored 13 years ago

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

Christian Heimke authored 13 years ago

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

Christian Heimke authored 13 years ago

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

Christian Heimke authored 13 years ago

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

Christian Heimke authored 13 years ago

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

Christian Heimke authored 13 years ago

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

Christian Heimke authored 13 years ago

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

Christian Heimke authored 13 years ago

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

Christian Heimke authored 13 years ago

88)       }
89)     }
90) 
Christian Heimke BlinkenLib v.0.2 (2005-01-27)

Christian Heimke authored 13 years ago

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

Christian Heimke authored 13 years ago

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

Christian Heimke authored 13 years ago

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

Christian Heimke authored 13 years ago

192)   }
193) 
Christian Heimke BlinkenLib v.0.2 (2005-01-27)

Christian Heimke authored 13 years ago

194)   //free movie
195)   if( pMovie != NULL )
196)     BlinkenMovieFree( pMovie );
197)