comparison recording.patch @ 38:efb2709f3b00

Updated recording patch.
author Matti Hamalainen <ccr@tnsp.org>
date Tue, 19 Mar 2013 03:00:51 +0200
parents b4c72c135f5b
children
comparison
equal deleted inserted replaced
37:38b7583302c3 38:efb2709f3b00
1 diff -r 62b5f87ebb2a 3x666.c 1 diff -r 38b7583302c3 3x666.c
2 --- a/3x666.c Tue Mar 19 02:46:34 2013 +0200 2 --- a/3x666.c Tue Mar 19 02:55:25 2013 +0200
3 +++ b/3x666.c Tue Mar 19 02:46:50 2013 +0200 3 +++ b/3x666.c Tue Mar 19 03:00:45 2013 +0200
4 @@ -7,6 +7,19 @@ 4 @@ -7,6 +7,19 @@
5 #include "config.h" 5 #include "config.h"
6 #include "3xfont.h" 6 #include "3xfont.h"
7 7
8 +//#define RECORD 1 8 +#define RECORD 1
9 +#define RECORD_FPS 50 9 +#define RECORD_FPS 50
10 +#define RECORD_AUDIO_FILE "audio.wav" 10 +#define RECORD_AUDIO_FILE "audio.wav"
11 +#define RECORD_VIDEO_FILE "%05d.png" 11 +#define RECORD_VIDEO_FILE "%05d.png"
12 + 12 +
13 + 13 +
36 36
37 +#ifndef RECORD 37 +#ifndef RECORD
38 38
39 static void dmPrintVA(int level, const char *fmt, va_list ap) 39 static void dmPrintVA(int level, const char *fmt, va_list ap)
40 { 40 {
41 @@ -98,6 +114,7 @@ 41 @@ -99,6 +115,7 @@
42 dmErrorVA(fmt, ap); 42 dmErrorVA(fmt, ap);
43 va_end(ap); 43 va_end(ap);
44 } 44 }
45 +#endif 45 +#endif
46 46
47 47
48 static int engineGetTick() 48 static int engineGetTick()
49 @@ -964,10 +981,12 @@ 49 @@ -994,10 +1011,12 @@
50 engine.optAfmt.callback = engineAudioCallback; 50 engine.optAfmt.callback = engineAudioCallback;
51 51
52 // Initialize SDL audio 52 // Initialize SDL audio
53 +#ifndef RECORD 53 +#ifndef RECORD
54 if (SDL_OpenAudio(&engine.optAfmt, NULL) < 0) 54 if (SDL_OpenAudio(&engine.optAfmt, NULL) < 0)
57 } 57 }
58 +#endif 58 +#endif
59 59
60 // Initialize SDL video 60 // Initialize SDL video
61 if (!engineInitializeVideo()) 61 if (!engineInitializeVideo())
62 @@ -989,13 +1008,53 @@ 62 @@ -1019,13 +1038,53 @@
63 63
64 // Start audio, enter main loop 64 // Start audio, enter main loop
65 dmPrint(0, "We are go.\n"); 65 dmPrint(0, "We are go.\n");
66 +#ifdef RECORD 66 +#ifdef RECORD
67 + DMImage image; 67 + DMImage image;
111 + engine.frameTime += 1000 / RECORD_FPS; 111 + engine.frameTime += 1000 / RECORD_FPS;
112 +#else 112 +#else
113 // Handle SDL events 113 // Handle SDL events
114 while (SDL_PollEvent(&engine.event)) 114 while (SDL_PollEvent(&engine.event))
115 switch (engine.event.type) 115 switch (engine.event.type)
116 @@ -1036,8 +1095,9 @@ 116 @@ -1066,8 +1125,9 @@
117 break; 117 break;
118 } 118 }
119 119
120 + engine.frameTime = SDL_GetTicks(); 120 + engine.frameTime = SDL_GetTicks();
121 +#endif 121 +#endif
122 // Draw frame 122 // Draw frame
123 - engine.frameTime = SDL_GetTicks(); 123 - engine.frameTime = SDL_GetTicks();
124 int qt = engineGetTick(&engine); 124 int qt = engineGetTick(&engine);
125 125
126 if (SDL_MUSTLOCK(engine.screen) != 0 && SDL_LockSurface(engine.screen) != 0) 126 if (SDL_MUSTLOCK(engine.screen) != 0 && SDL_LockSurface(engine.screen) != 0)
127 @@ -1154,13 +1214,25 @@ 127 @@ -1184,13 +1244,25 @@
128 n /= 10; 128 n /= 10;
129 } 129 }
130 130
131 - // Flip screen, increase frame count, wait 131 - // Flip screen, increase frame count, wait
132 +#ifdef RECORD 132 +#ifdef RECORD
149 SDL_Delay(20); 149 SDL_Delay(20);
150 +#endif 150 +#endif
151 } 151 }
152 152
153 error_exit: 153 error_exit:
154 @@ -1176,9 +1248,26 @@ 154 @@ -1206,9 +1278,26 @@
155 if (engine.screen) 155 if (engine.screen)
156 SDL_FreeSurface(engine.screen); 156 SDL_FreeSurface(engine.screen);
157 157
158 +#ifdef RECORD 158 +#ifdef RECORD
159 + if (audioFile != NULL) 159 + if (audioFile != NULL)
176 SDL_UnlockAudio(); 176 SDL_UnlockAudio();
177 +#endif 177 +#endif
178 178
179 audio_close(); 179 audio_close();
180 180
181 diff -r 62b5f87ebb2a Makefile.gen 181 diff -r 38b7583302c3 Makefile.gen
182 --- a/Makefile.gen Tue Mar 19 02:46:34 2013 +0200 182 --- a/Makefile.gen Tue Mar 19 02:55:25 2013 +0200
183 +++ b/Makefile.gen Tue Mar 19 02:46:50 2013 +0200 183 +++ b/Makefile.gen Tue Mar 19 03:00:45 2013 +0200
184 @@ -26,6 +26,8 @@ 184 @@ -24,11 +24,10 @@
185 ### Main demo
186 ###
185 $(OBJPATH)3x666.o: 3x666.c config.h 3xfont.h 187 $(OBJPATH)3x666.o: 3x666.c config.h 3xfont.h
186 $(CC) $(CFLAGS) -c -o $@ $< $(SDL_CFLAGS) -Idmlib/ 188 - $(CC) $(CFLAGS) -c -o $@ $< $(SDL_CFLAGS) -Idmlib/
189 + $(CC) $(CFLAGS) -c -o $@ $< $(SDL_CFLAGS) -Idmlib/ -DDM_USE_LIBPNG
187 190
191 -$(BINPATH)3x666$(EXEEXT): $(OBJPATH)3x666.o
192 - $(CC) -o $@ $+ $(LDFLAGS) $(SDL_LDFLAGS)
193 -
188 +$(BINPATH)3x666$(EXEEXT): $(OBJPATH)3x666.o dmlib/unix/dmwav.o dmlib/unix/dmfile.o dmlib/unix/dmlib.o dmlib/unix/libgfx.o dmlib/unix/dmbstr.o 194 +$(BINPATH)3x666$(EXEEXT): $(OBJPATH)3x666.o dmlib/unix/dmwav.o dmlib/unix/dmfile.o dmlib/unix/dmlib.o dmlib/unix/libgfx.o dmlib/unix/dmbstr.o
189 + $(CC) -o $@ $+ $(LDFLAGS) $(SDL_LDFLAGS) -lpng 195 + $(CC) -o $@ $+ $(LDFLAGS) $(SDL_LDFLAGS) -lpng
190 196
191
192 ### 197 ###
198 ### Special targets