diff --git a/bindings/ruby/ext/ruby_whisper.c b/bindings/ruby/ext/ruby_whisper.c index 37ce9fe84..ece02732e 100644 --- a/bindings/ruby/ext/ruby_whisper.c +++ b/bindings/ruby/ext/ruby_whisper.c @@ -58,11 +58,7 @@ extern void init_ruby_whisper_vad_params(VALUE *mVAD); extern void init_ruby_whisper_vad_context(VALUE *mVAD); extern void init_ruby_whisper_vad_segment(VALUE *mVAD); extern void init_ruby_whisper_vad_segments(VALUE *mVAD); -extern void init_ruby_whisper_parakeet(); -extern void init_ruby_whisper_parakeet_params(VALUE *mParakeet); -extern void init_ruby_whisper_parakeet_token(VALUE *mParakeet); -extern void init_ruby_whisper_parakeet_segment(VALUE *mParakeet); -extern void init_ruby_whisper_parakeet_context(VALUE *mParakeet); +extern void init_ruby_whisper_parakeet(VALUE *mWhisper); extern void register_callbacks(ruby_whisper_params *rwp, VALUE *context); /* @@ -217,7 +213,6 @@ void Init_whisper() { rb_require("whisper/log_settable"); mLogSettable = rb_path2class("Whisper::LogSettable"); mVAD = rb_define_module_under(mWhisper, "VAD"); - mParakeet = rb_define_module_under(mWhisper, "Parakeet"); rb_require("whisper/output"); mOutputContext = rb_path2class("Whisper::Output::Context"); mOutputSegment = rb_path2class("Whisper::Output::Segment"); @@ -265,11 +260,7 @@ void Init_whisper() { init_ruby_whisper_vad_segment(&mVAD); init_ruby_whisper_vad_segments(&mVAD); init_ruby_whisper_vad_context(&mVAD); - init_ruby_whisper_parakeet(); - init_ruby_whisper_parakeet_params(&mParakeet); - init_ruby_whisper_parakeet_token(&mParakeet); - init_ruby_whisper_parakeet_segment(&mParakeet); - init_ruby_whisper_parakeet_context(&mParakeet); + init_ruby_whisper_parakeet(&mWhisper); rb_require("whisper/model/uri"); diff --git a/bindings/ruby/ext/ruby_whisper_parakeet.c b/bindings/ruby/ext/ruby_whisper_parakeet.c index 7d8588b67..f854e4219 100644 --- a/bindings/ruby/ext/ruby_whisper_parakeet.c +++ b/bindings/ruby/ext/ruby_whisper_parakeet.c @@ -4,12 +4,19 @@ extern VALUE mParakeet; extern VALUE mLogSettable; +extern VALUE mOutputContext; +extern VALUE mOutputSegment; extern ID id_extended; extern ID id_log_callback_thread; extern ID id_start_log_callback_thread; extern ID id_alive; extern ID id_join; +extern void init_ruby_whisper_parakeet_params(VALUE *mParakeet); +extern void init_ruby_whisper_parakeet_token(VALUE *mParakeet); +extern void init_ruby_whisper_parakeet_segment(VALUE *mParakeet); +extern void init_ruby_whisper_parakeet_context(VALUE *mParakeet); + extern void ruby_whisper_log_queue_initialize(ruby_whisper_log_queue *log_queue); extern void ruby_whisper_log_queue_open(ruby_whisper_log_queue *log_queue); extern void ruby_whisper_log_queue_close(ruby_whisper_log_queue *log_queue); @@ -58,8 +65,10 @@ ruby_whisper_parakeet_end_proc(VALUE args) } void -init_ruby_whisper_parakeet() +init_ruby_whisper_parakeet(VALUE *mWhisper) { + mParakeet = rb_define_module_under(*mWhisper, "Parakeet"); + ruby_whisper_log_queue_initialize(¶keet_log_queue); rb_define_singleton_method(mParakeet, "log_set", ruby_whisper_parakeet_s_log_set, 2); @@ -68,4 +77,9 @@ init_ruby_whisper_parakeet() rb_set_end_proc(ruby_whisper_parakeet_end_proc, Qnil); rb_extend_object(mParakeet, mLogSettable); rb_funcall(mLogSettable, id_extended, 1, mParakeet); + + init_ruby_whisper_parakeet_params(&mParakeet); + init_ruby_whisper_parakeet_token(&mParakeet); + init_ruby_whisper_parakeet_segment(&mParakeet); + init_ruby_whisper_parakeet_context(&mParakeet); }