47531a361303bc6000c241115577eb829d4e678e
Christian Heimke BlinkenLib v.0.1.1 (2005-01...

Christian Heimke authored 13 years ago

1) /* BlinkenLib
Christian Heimke BlinkenLib v.0.3.1 (2005-03...

Christian Heimke authored 13 years ago

2)  * version 0.3.1 date 2005-03-05
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>
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.3.1 (2005-03...

Christian Heimke authored 13 years ago

23)           "version 0.3.1 date 2005-03-05\n"
Christian Heimke BlinkenLib v.0.2 (2005-01-27)

Christian Heimke authored 13 years ago

24)           "Copyright 2004-2005 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"
26)           "a blinkenarea.org project\n"
27)           "powered by eventphone.de\n\n" );
28) 
29)   //print syntax
30)   if( argCnt <= 1 )
31)   {
Christian Heimke BlinkenLib v.0.2 (2005-01-27)

Christian Heimke authored 13 years ago

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

Christian Heimke authored 13 years ago

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

Christian Heimke authored 13 years ago

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

Christian Heimke authored 13 years ago

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

Christian Heimke authored 13 years ago

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

Christian Heimke authored 13 years ago

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

Christian Heimke authored 13 years ago

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

Christian Heimke authored 13 years ago

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

Christian Heimke authored 13 years ago

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

Christian Heimke authored 13 years ago

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

Christian Heimke authored 13 years ago

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

Christian Heimke authored 13 years ago

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

Christian Heimke authored 13 years ago

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

Christian Heimke authored 13 years ago

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

Christian Heimke authored 13 years ago

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

Christian Heimke authored 13 years ago

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

Christian Heimke authored 13 years ago

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