From a5dc77dec43f77e1d254d98e50076c7d87955f5b Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Thu, 22 Jan 2026 22:49:53 +0000 Subject: [PATCH] Implement IPC Call for Text-to-Melody Connect the Text-to-Melody UI button to the backend audio engine using IPC. - Add `text_to_melody` method to `DawIPC` class in `native/intuitives_daw/intlib/ipc/daw.py`. - Update `GeneratorPanel.on_generate_text` in `native/intuitives_daw/intui/widgets/generators.py` to call the IPC method with the current item UID and input text. - Add necessary imports and null checks. --- native/intuitives_daw/intlib/ipc/daw.py | 11 +++++++++++ native/intuitives_daw/intui/widgets/generators.py | 11 ++++++++++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/native/intuitives_daw/intlib/ipc/daw.py b/native/intuitives_daw/intlib/ipc/daw.py index a9a333a..6d954b7 100644 --- a/native/intuitives_daw/intlib/ipc/daw.py +++ b/native/intuitives_daw/intlib/ipc/daw.py @@ -226,3 +226,14 @@ def set_pos(self, a_beat): def save_audio_inputs(self): self.send_configure("ai", "") + + def text_to_melody(self, a_uid, a_text): + self.send_configure( + "tm", + "|".join( + str(x) for x in ( + a_uid, + a_text, + ) + ), + ) diff --git a/native/intuitives_daw/intui/widgets/generators.py b/native/intuitives_daw/intui/widgets/generators.py index 5071333..881f0f2 100644 --- a/native/intuitives_daw/intui/widgets/generators.py +++ b/native/intuitives_daw/intui/widgets/generators.py @@ -13,6 +13,8 @@ COLOR_TERTIARY, CHROMA_COLORS, ) +from intlib import constants +from intui.daw import shared as daw_shared class GeneratorPanel(QWidget): @@ -284,7 +286,14 @@ def on_generate_text(self): if not text.strip(): text = "Intuitives" print(f"📝 Converting text to melody: '{text[:20]}...'") - # TODO: Call engine IPC + + if daw_shared.CURRENT_ITEM is None: + print("⚠️ No item selected. Open an item in the sequencer first.") + return + + if constants.DAW_IPC: + constants.DAW_IPC.text_to_melody(daw_shared.CURRENT_ITEM.uid, text) + self.melody_generated.emit([]) def on_color_selected(self, color, note_index):