|
20 | 20 | return Qfalse; \ |
21 | 21 | } |
22 | 22 |
|
| 23 | +#define DEFINE_PARAM(param_name, nth) \ |
| 24 | + id_ ## param_name = rb_intern(#param_name); \ |
| 25 | + param_names[nth] = id_ ## param_name; \ |
| 26 | + rb_define_method(cParams, #param_name, ruby_whisper_params_get_ ## param_name, 0); \ |
| 27 | + rb_define_method(cParams, #param_name "=", ruby_whisper_params_set_ ## param_name, 1); |
| 28 | + |
23 | 29 | #define RUBY_WHISPER_PARAMS_PARAM_NAMES_COUNT 30 |
24 | 30 |
|
25 | 31 | extern VALUE cParams; |
@@ -1029,136 +1035,41 @@ ruby_whisper_params_abort_on(VALUE self) |
1029 | 1035 | void |
1030 | 1036 | init_ruby_whisper_params(VALUE *mWhisper) |
1031 | 1037 | { |
1032 | | - id_language = rb_intern("language"); |
1033 | | - id_translate = rb_intern("translate"); |
1034 | | - id_no_context = rb_intern("no_context"); |
1035 | | - id_single_segment = rb_intern("single_segment"); |
1036 | | - id_print_special = rb_intern("print_special"); |
1037 | | - id_print_progress = rb_intern("print_progress"); |
1038 | | - id_print_realtime = rb_intern("print_realtime"); |
1039 | | - id_print_timestamps = rb_intern("print_timestamps"); |
1040 | | - id_suppress_blank = rb_intern("suppress_blank"); |
1041 | | - id_suppress_nst = rb_intern("suppress_nst"); |
1042 | | - id_token_timestamps = rb_intern("token_timestamps"); |
1043 | | - id_split_on_word = rb_intern("split_on_word"); |
1044 | | - id_initial_prompt = rb_intern("initial_prompt"); |
1045 | | - id_diarize = rb_intern("diarize"); |
1046 | | - id_offset = rb_intern("offset"); |
1047 | | - id_duration = rb_intern("duration"); |
1048 | | - id_max_text_tokens = rb_intern("max_text_tokens"); |
1049 | | - id_temperature = rb_intern("temperature"); |
1050 | | - id_max_initial_ts = rb_intern("max_initial_ts"); |
1051 | | - id_length_penalty = rb_intern("length_penalty"); |
1052 | | - id_temperature_inc = rb_intern("temperature_inc"); |
1053 | | - id_entropy_thold = rb_intern("entropy_thold"); |
1054 | | - id_logprob_thold = rb_intern("logprob_thold"); |
1055 | | - id_no_speech_thold = rb_intern("no_speech_thold"); |
1056 | | - id_new_segment_callback = rb_intern("new_segment_callback"); |
1057 | | - id_new_segment_callback_user_data = rb_intern("new_segment_callback_user_data"); |
1058 | | - id_progress_callback = rb_intern("progress_callback"); |
1059 | | - id_progress_callback_user_data = rb_intern("progress_callback_user_data"); |
1060 | | - id_abort_callback = rb_intern("abort_callback"); |
1061 | | - id_abort_callback_user_data = rb_intern("abort_callback_user_data"); |
1062 | | - |
1063 | | - param_names[0] = id_language; |
1064 | | - param_names[1] = id_translate; |
1065 | | - param_names[2] = id_no_context; |
1066 | | - param_names[3] = id_single_segment; |
1067 | | - param_names[4] = id_print_special; |
1068 | | - param_names[5] = id_print_progress; |
1069 | | - param_names[6] = id_print_realtime; |
1070 | | - param_names[7] = id_print_timestamps; |
1071 | | - param_names[8] = id_suppress_blank; |
1072 | | - param_names[9] = id_suppress_nst; |
1073 | | - param_names[10] = id_token_timestamps; |
1074 | | - param_names[11] = id_split_on_word; |
1075 | | - param_names[12] = id_initial_prompt; |
1076 | | - param_names[13] = id_diarize; |
1077 | | - param_names[14] = id_offset; |
1078 | | - param_names[15] = id_duration; |
1079 | | - param_names[16] = id_max_text_tokens; |
1080 | | - param_names[17] = id_temperature; |
1081 | | - param_names[18] = id_max_initial_ts; |
1082 | | - param_names[19] = id_length_penalty; |
1083 | | - param_names[20] = id_temperature_inc; |
1084 | | - param_names[21] = id_entropy_thold; |
1085 | | - param_names[22] = id_logprob_thold; |
1086 | | - param_names[23] = id_no_speech_thold; |
1087 | | - param_names[24] = id_new_segment_callback; |
1088 | | - param_names[25] = id_new_segment_callback_user_data; |
1089 | | - param_names[26] = id_progress_callback; |
1090 | | - param_names[27] = id_progress_callback_user_data; |
1091 | | - param_names[28] = id_abort_callback; |
1092 | | - param_names[29] = id_abort_callback_user_data; |
1093 | | - |
1094 | 1038 | cParams = rb_define_class_under(*mWhisper, "Params", rb_cObject); |
1095 | 1039 |
|
1096 | 1040 | rb_define_alloc_func(cParams, ruby_whisper_params_allocate); |
1097 | 1041 | rb_define_method(cParams, "initialize", ruby_whisper_params_initialize, -1); |
1098 | 1042 |
|
1099 | | - rb_define_method(cParams, "language=", ruby_whisper_params_set_language, 1); |
1100 | | - rb_define_method(cParams, "language", ruby_whisper_params_get_language, 0); |
1101 | | - rb_define_method(cParams, "translate=", ruby_whisper_params_set_translate, 1); |
1102 | | - rb_define_method(cParams, "translate", ruby_whisper_params_get_translate, 0); |
1103 | | - rb_define_method(cParams, "no_context=", ruby_whisper_params_set_no_context, 1); |
1104 | | - rb_define_method(cParams, "no_context", ruby_whisper_params_get_no_context, 0); |
1105 | | - rb_define_method(cParams, "single_segment=", ruby_whisper_params_set_single_segment, 1); |
1106 | | - rb_define_method(cParams, "single_segment", ruby_whisper_params_get_single_segment, 0); |
1107 | | - rb_define_method(cParams, "print_special", ruby_whisper_params_get_print_special, 0); |
1108 | | - rb_define_method(cParams, "print_special=", ruby_whisper_params_set_print_special, 1); |
1109 | | - rb_define_method(cParams, "print_progress", ruby_whisper_params_get_print_progress, 0); |
1110 | | - rb_define_method(cParams, "print_progress=", ruby_whisper_params_set_print_progress, 1); |
1111 | | - rb_define_method(cParams, "print_realtime", ruby_whisper_params_get_print_realtime, 0); |
1112 | | - rb_define_method(cParams, "print_realtime=", ruby_whisper_params_set_print_realtime, 1); |
1113 | | - rb_define_method(cParams, "print_timestamps", ruby_whisper_params_get_print_timestamps, 0); |
1114 | | - rb_define_method(cParams, "print_timestamps=", ruby_whisper_params_set_print_timestamps, 1); |
1115 | | - rb_define_method(cParams, "suppress_blank", ruby_whisper_params_get_suppress_blank, 0); |
1116 | | - rb_define_method(cParams, "suppress_blank=", ruby_whisper_params_set_suppress_blank, 1); |
1117 | | - rb_define_method(cParams, "suppress_nst", ruby_whisper_params_get_suppress_nst, 0); |
1118 | | - rb_define_method(cParams, "suppress_nst=", ruby_whisper_params_set_suppress_nst, 1); |
1119 | | - rb_define_method(cParams, "token_timestamps", ruby_whisper_params_get_token_timestamps, 0); |
1120 | | - rb_define_method(cParams, "token_timestamps=", ruby_whisper_params_set_token_timestamps, 1); |
1121 | | - rb_define_method(cParams, "split_on_word", ruby_whisper_params_get_split_on_word, 0); |
1122 | | - rb_define_method(cParams, "split_on_word=", ruby_whisper_params_set_split_on_word, 1); |
1123 | | - rb_define_method(cParams, "initial_prompt", ruby_whisper_params_get_initial_prompt, 0); |
1124 | | - rb_define_method(cParams, "initial_prompt=", ruby_whisper_params_set_initial_prompt, 1); |
1125 | | - rb_define_method(cParams, "diarize", ruby_whisper_params_get_diarize, 0); |
1126 | | - rb_define_method(cParams, "diarize=", ruby_whisper_params_set_diarize, 1); |
1127 | | - |
1128 | | - rb_define_method(cParams, "offset", ruby_whisper_params_get_offset, 0); |
1129 | | - rb_define_method(cParams, "offset=", ruby_whisper_params_set_offset, 1); |
1130 | | - rb_define_method(cParams, "duration", ruby_whisper_params_get_duration, 0); |
1131 | | - rb_define_method(cParams, "duration=", ruby_whisper_params_set_duration, 1); |
1132 | | - |
1133 | | - rb_define_method(cParams, "max_text_tokens", ruby_whisper_params_get_max_text_tokens, 0); |
1134 | | - rb_define_method(cParams, "max_text_tokens=", ruby_whisper_params_set_max_text_tokens, 1); |
1135 | | - rb_define_method(cParams, "temperature", ruby_whisper_params_get_temperature, 0); |
1136 | | - rb_define_method(cParams, "temperature=", ruby_whisper_params_set_temperature, 1); |
1137 | | - rb_define_method(cParams, "max_initial_ts", ruby_whisper_params_get_max_initial_ts, 0); |
1138 | | - rb_define_method(cParams, "max_initial_ts=", ruby_whisper_params_set_max_initial_ts, 1); |
1139 | | - rb_define_method(cParams, "length_penalty", ruby_whisper_params_get_length_penalty, 0); |
1140 | | - rb_define_method(cParams, "length_penalty=", ruby_whisper_params_set_length_penalty, 1); |
1141 | | - rb_define_method(cParams, "temperature_inc", ruby_whisper_params_get_temperature_inc, 0); |
1142 | | - rb_define_method(cParams, "temperature_inc=", ruby_whisper_params_set_temperature_inc, 1); |
1143 | | - rb_define_method(cParams, "entropy_thold", ruby_whisper_params_get_entropy_thold, 0); |
1144 | | - rb_define_method(cParams, "entropy_thold=", ruby_whisper_params_set_entropy_thold, 1); |
1145 | | - rb_define_method(cParams, "logprob_thold", ruby_whisper_params_get_logprob_thold, 0); |
1146 | | - rb_define_method(cParams, "logprob_thold=", ruby_whisper_params_set_logprob_thold, 1); |
1147 | | - rb_define_method(cParams, "no_speech_thold", ruby_whisper_params_get_no_speech_thold, 0); |
1148 | | - rb_define_method(cParams, "no_speech_thold=", ruby_whisper_params_set_no_speech_thold, 1); |
1149 | | - |
1150 | | - rb_define_method(cParams, "new_segment_callback", ruby_whisper_params_get_new_segment_callback, 0); |
1151 | | - rb_define_method(cParams, "new_segment_callback=", ruby_whisper_params_set_new_segment_callback, 1); |
1152 | | - rb_define_method(cParams, "new_segment_callback_user_data", ruby_whisper_params_get_new_segment_callback_user_data, 0); |
1153 | | - rb_define_method(cParams, "new_segment_callback_user_data=", ruby_whisper_params_set_new_segment_callback_user_data, 1); |
1154 | | - rb_define_method(cParams, "progress_callback", ruby_whisper_params_get_progress_callback, 0); |
1155 | | - rb_define_method(cParams, "progress_callback=", ruby_whisper_params_set_progress_callback, 1); |
1156 | | - rb_define_method(cParams, "progress_callback_user_data", ruby_whisper_params_get_progress_callback_user_data, 0); |
1157 | | - rb_define_method(cParams, "progress_callback_user_data=", ruby_whisper_params_set_progress_callback_user_data, 1); |
1158 | | - rb_define_method(cParams, "abort_callback", ruby_whisper_params_get_abort_callback, 0); |
1159 | | - rb_define_method(cParams, "abort_callback=", ruby_whisper_params_set_abort_callback, 1); |
1160 | | - rb_define_method(cParams, "abort_callback_user_data", ruby_whisper_params_get_abort_callback_user_data, 0); |
1161 | | - rb_define_method(cParams, "abort_callback_user_data=", ruby_whisper_params_set_abort_callback_user_data, 1); |
| 1043 | + DEFINE_PARAM(language, 0) |
| 1044 | + DEFINE_PARAM(translate, 1) |
| 1045 | + DEFINE_PARAM(no_context, 2) |
| 1046 | + DEFINE_PARAM(single_segment, 3) |
| 1047 | + DEFINE_PARAM(print_special, 4) |
| 1048 | + DEFINE_PARAM(print_progress, 5) |
| 1049 | + DEFINE_PARAM(print_realtime, 6) |
| 1050 | + DEFINE_PARAM(print_timestamps, 7) |
| 1051 | + DEFINE_PARAM(suppress_blank, 8) |
| 1052 | + DEFINE_PARAM(suppress_nst, 9) |
| 1053 | + DEFINE_PARAM(token_timestamps, 10) |
| 1054 | + DEFINE_PARAM(split_on_word, 11) |
| 1055 | + DEFINE_PARAM(initial_prompt, 12) |
| 1056 | + DEFINE_PARAM(diarize, 13) |
| 1057 | + DEFINE_PARAM(offset, 14) |
| 1058 | + DEFINE_PARAM(duration, 15) |
| 1059 | + DEFINE_PARAM(max_text_tokens, 16) |
| 1060 | + DEFINE_PARAM(temperature, 17) |
| 1061 | + DEFINE_PARAM(max_initial_ts, 18) |
| 1062 | + DEFINE_PARAM(length_penalty, 19) |
| 1063 | + DEFINE_PARAM(temperature_inc, 20) |
| 1064 | + DEFINE_PARAM(entropy_thold, 21) |
| 1065 | + DEFINE_PARAM(logprob_thold, 22) |
| 1066 | + DEFINE_PARAM(no_speech_thold, 23) |
| 1067 | + DEFINE_PARAM(new_segment_callback, 24) |
| 1068 | + DEFINE_PARAM(new_segment_callback_user_data, 25) |
| 1069 | + DEFINE_PARAM(progress_callback, 26) |
| 1070 | + DEFINE_PARAM(progress_callback_user_data, 27) |
| 1071 | + DEFINE_PARAM(abort_callback, 28) |
| 1072 | + DEFINE_PARAM(abort_callback_user_data, 29) |
1162 | 1073 |
|
1163 | 1074 | rb_define_method(cParams, "on_new_segment", ruby_whisper_params_on_new_segment, 0); |
1164 | 1075 | rb_define_method(cParams, "on_progress", ruby_whisper_params_on_progress, 0); |
|
0 commit comments