1 /* 2 * Mp3Splt -- Utility for mp3/ogg splitting without decoding 3 * 4 * Copyright (c) 2002-2005 M. Trotta - <mtrotta@users.sourceforge.net> 5 * Copyright (c) 2005-2014 Alexandru Munteanu - <m@ioalex.net> 6 * 7 * http://mp3splt.sourceforge.net 8 * 9 * This program is free software; you can redistribute it and/or modify 10 * it under the terms of the GNU General Public License as published by 11 * the Free Software Foundation; either version 2 of the License, or 12 * (at your option) any later version. 13 * 14 * This program is distributed in the hope that it will be useful, 15 * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 * GNU General Public License for more details. 18 * 19 * You should have received a copy of the GNU General Public License 20 * along with this program; if not, write to the Free Software 21 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 22 */ 23 24 #ifndef OPTIONS_MANAGER_H 25 26 typedef struct { 27 //force id3v1 tags, force id3v2 tags or both 28 short T_option; 29 short T_option_value; 30 //wrap split, list wrap options, error split 31 short w_option; short l_option; short e_option; 32 //frame mode, cddb/cue option, time split 33 short f_option; short c_option; short t_option; 34 //silence split, adjust option, parameters 35 short s_option; short a_option; short p_option; 36 //trim silence split 37 short r_option; 38 //output filename, output directory, seekable 39 short o_option; short d_option; short k_option; 40 //keep original tags when using cddb or cue import 41 short K_option; 42 //custom tags, no tags, quiet option 43 short g_option; short n_option; short q_option; 44 short E_option; 45 short P_option; 46 short x_option; 47 short N_option; 48 short O_option; 49 short X_option; 50 short A_option; 51 short G_option; 52 //-Q option 53 short qq_option; 54 //info -i option, m3u file option 55 short i_option; 56 short m_option; 57 short F_option; 58 short S_option; 59 int S_option_value; 60 char *tags_from_fname_regex_arg; 61 //cddb argument, output dir argument, parameters arguments with -p 62 char *cddb_arg; char *dir_arg; char *param_args; 63 char *export_cue_arg; 64 char *audacity_labels_arg; 65 //custom tags with -g 66 char *custom_tags; 67 char *m3u_arg; 68 char *full_log_arg; 69 //output format (-o) 70 char *output_format; 71 //the parsed freedb_search_type 72 //the parsed freedb_search_server 73 //the parsed freedb_search_port 74 int freedb_search_type; 75 char freedb_search_server[256]; 76 int freedb_search_port; 77 //the parsed freedb_get_type 78 //the parsed freedb_get_server 79 //the parsed freedb_get_port 80 int freedb_get_type; 81 char freedb_get_server[256]; 82 int freedb_get_port; 83 //the search string passed in parameter -c query{my artist} 84 char freedb_arg_search_string[2048]; 85 //the chosen result passed in parameter: -c query{my artist}[ 86 int freedb_arg_result_option; 87 } options; 88 89 typedef struct { 90 int replace_underscores_by_space; 91 92 int artist_text_format; 93 int album_text_format; 94 int title_text_format; 95 int comment_text_format; 96 97 char *default_comment; 98 char *regex; 99 } regex_options; 100 101 char **rmopt(char **argv, int offset, int tot); 102 options *new_options(); 103 void free_options(options **opt); 104 105 regex_options *new_regex_options(); 106 void free_regex_options(regex_options **regex_opt); 107 108 #define OPTIONS_MANAGER_H 109 #endif 110 111