1159b3361Sopenharmony_ci/* $Id$ */ 2159b3361Sopenharmony_ci 3159b3361Sopenharmony_ci#ifdef HAVE_CONFIG_H 4159b3361Sopenharmony_ci# include <config.h> 5159b3361Sopenharmony_ci#endif 6159b3361Sopenharmony_ci 7159b3361Sopenharmony_ci#include <stdio.h> 8159b3361Sopenharmony_ci 9159b3361Sopenharmony_ci#include "lame.h" 10159b3361Sopenharmony_ci#include "machine.h" 11159b3361Sopenharmony_ci#include "encoder.h" 12159b3361Sopenharmony_ci#include "lame-analysis.h" 13159b3361Sopenharmony_ci#include <gtk/gtk.h> 14159b3361Sopenharmony_ci#include "parse.h" 15159b3361Sopenharmony_ci#include "get_audio.h" 16159b3361Sopenharmony_ci#include "gtkanal.h" 17159b3361Sopenharmony_ci#include "lametime.h" 18159b3361Sopenharmony_ci 19159b3361Sopenharmony_ci#include "main.h" 20159b3361Sopenharmony_ci#include "console.h" 21159b3361Sopenharmony_ci 22159b3361Sopenharmony_ci 23159b3361Sopenharmony_ci/************************************************************************ 24159b3361Sopenharmony_ci* 25159b3361Sopenharmony_ci* main 26159b3361Sopenharmony_ci* 27159b3361Sopenharmony_ci* PURPOSE: MPEG-1,2 Layer III encoder with GPSYCHO 28159b3361Sopenharmony_ci* psychoacoustic model. 29159b3361Sopenharmony_ci* 30159b3361Sopenharmony_ci************************************************************************/ 31159b3361Sopenharmony_ciint 32159b3361Sopenharmony_cilame_main(lame_t gf, int argc, char **argv) 33159b3361Sopenharmony_ci{ 34159b3361Sopenharmony_ci unsigned char mp3buffer[LAME_MAXMP3BUFFER]; 35159b3361Sopenharmony_ci char outPath[PATH_MAX + 1]; 36159b3361Sopenharmony_ci char inPath[PATH_MAX + 1]; 37159b3361Sopenharmony_ci int ret; 38159b3361Sopenharmony_ci 39159b3361Sopenharmony_ci lame_set_errorf(gf, &frontend_errorf); 40159b3361Sopenharmony_ci lame_set_debugf(gf, &frontend_debugf); 41159b3361Sopenharmony_ci lame_set_msgf(gf, &frontend_msgf); 42159b3361Sopenharmony_ci if (argc <= 1) { 43159b3361Sopenharmony_ci usage(stderr, argv[0]); /* no command-line args */ 44159b3361Sopenharmony_ci return -1; 45159b3361Sopenharmony_ci } 46159b3361Sopenharmony_ci ret = parse_args(gf, argc, argv, inPath, outPath, NULL, NULL); 47159b3361Sopenharmony_ci if (ret < 0) { 48159b3361Sopenharmony_ci return ret == -2 ? 0 : 1; 49159b3361Sopenharmony_ci } 50159b3361Sopenharmony_ci (void) lame_set_analysis(gf, 1); 51159b3361Sopenharmony_ci 52159b3361Sopenharmony_ci if (init_infile(gf, inPath) < 0) { 53159b3361Sopenharmony_ci error_printf("Can't init infile '%s'\n", inPath); 54159b3361Sopenharmony_ci return 1; 55159b3361Sopenharmony_ci } 56159b3361Sopenharmony_ci lame_init_params(gf); 57159b3361Sopenharmony_ci lame_print_config(gf); 58159b3361Sopenharmony_ci 59159b3361Sopenharmony_ci gtk_init(&argc, &argv); 60159b3361Sopenharmony_ci gtkcontrol(gf, inPath); 61159b3361Sopenharmony_ci 62159b3361Sopenharmony_ci lame_encode_flush(gf, mp3buffer, sizeof(mp3buffer)); 63159b3361Sopenharmony_ci close_infile(); 64159b3361Sopenharmony_ci return 0; 65159b3361Sopenharmony_ci} 66