Mercurial > audlegacy-plugins
comparison src/filewriter/mp3.c @ 2461:85e03a981a7c
take care of force_v2_val, only_v1_val and only_v2_val
author | Yoshiki Yazawa <yaz@cc.rim.or.jp> |
---|---|
date | Thu, 27 Mar 2008 00:13:29 +0900 |
parents | e09d9633d6aa |
children | 769e17da93dd 6d08e3120615 |
comparison
equal
deleted
inserted
replaced
2460:a651657361d7 | 2461:85e03a981a7c |
---|---|
196 aud_cfg_db_close(db); | 196 aud_cfg_db_close(db); |
197 } | 197 } |
198 | 198 |
199 static gint mp3_open(void) | 199 static gint mp3_open(void) |
200 { | 200 { |
201 if ((gfp = lame_init()) == (void *)-1) | 201 gfp = lame_init(); |
202 if (gfp == NULL) | |
202 return 0; | 203 return 0; |
203 | 204 |
204 /* setup id3 data */ | 205 /* setup id3 data */ |
205 id3tag_init(gfp); | 206 id3tag_init(gfp); |
206 | 207 |
207 if (tuple) { | 208 if (tuple) { |
208 /* XXX write UTF-8 even though libmp3lame does id3v2.3. --yaz */ | 209 /* XXX write UTF-8 even though libmp3lame does id3v2.3. --yaz */ |
209 | |
210 AUDDBG("track_name = %s\n", aud_tuple_get_string(tuple, FIELD_TITLE, NULL)); | |
211 | |
212 lameid3.track_name = g_strdup(aud_tuple_get_string(tuple, FIELD_TITLE, NULL)); | 210 lameid3.track_name = g_strdup(aud_tuple_get_string(tuple, FIELD_TITLE, NULL)); |
213 id3tag_set_title(gfp, lameid3.track_name); | 211 id3tag_set_title(gfp, lameid3.track_name); |
214 | 212 |
215 lameid3.performer = g_strdup(aud_tuple_get_string(tuple, FIELD_ARTIST, NULL)); | 213 lameid3.performer = g_strdup(aud_tuple_get_string(tuple, FIELD_ARTIST, NULL)); |
216 id3tag_set_artist(gfp, lameid3.performer); | 214 id3tag_set_artist(gfp, lameid3.performer); |
225 id3tag_set_year(gfp, lameid3.year); | 223 id3tag_set_year(gfp, lameid3.year); |
226 | 224 |
227 lameid3.track_number = g_strdup_printf("%d", aud_tuple_get_int(tuple, FIELD_TRACK_NUMBER, NULL)); | 225 lameid3.track_number = g_strdup_printf("%d", aud_tuple_get_int(tuple, FIELD_TRACK_NUMBER, NULL)); |
228 id3tag_set_track(gfp, lameid3.track_number); | 226 id3tag_set_track(gfp, lameid3.track_number); |
229 | 227 |
230 // id3tag_write_v1(gfp); | 228 if(force_v2_val) { |
231 id3tag_add_v2(gfp); | 229 id3tag_add_v2(gfp); |
230 } | |
231 if(only_v1_val) { | |
232 id3tag_v1_only(gfp); | |
233 } | |
234 if(only_v2_val) { | |
235 id3tag_v2_only(gfp); | |
236 } | |
232 } | 237 } |
233 | 238 |
234 /* input stream description */ | 239 /* input stream description */ |
235 | 240 |
236 lame_set_in_samplerate(gfp, input.frequency); | 241 lame_set_in_samplerate(gfp, input.frequency); |
307 if (output_file) | 312 if (output_file) |
308 { | 313 { |
309 encout = lame_encode_flush_nogap(gfp, encbuffer, ENCBUFFER_SIZE); | 314 encout = lame_encode_flush_nogap(gfp, encbuffer, ENCBUFFER_SIZE); |
310 aud_vfs_fwrite(encbuffer, 1, encout, output_file); | 315 aud_vfs_fwrite(encbuffer, 1, encout, output_file); |
311 | 316 |
312 // lame_mp3_tags_fid(gfp, output_file); // will erase id3v2 tag?? | 317 // lame_mp3_tags_fid(gfp, output_file); // will erase id3v2 tag?? |
313 | 318 |
314 lame_close(gfp); | 319 lame_close(gfp); |
320 AUDDBG("lame_close() done\n"); | |
315 | 321 |
316 free_lameid3(&lameid3); | 322 free_lameid3(&lameid3); |
317 | 323 |
318 olen = 0; | 324 olen = 0; |
319 } | 325 } |