From cbe6623d66b5d4b2c6801ead64785c67c14c4977 Mon Sep 17 00:00:00 2001 From: "DESKTOP-KSVGT20\\shkim" Date: Sat, 2 May 2026 01:04:23 +0900 Subject: [PATCH] Add separate Suno MP3 and WAV actions --- chatgpt-suno-tampermonkey.user.js | 42 +++++++++++++++++++++++-------- 1 file changed, 31 insertions(+), 11 deletions(-) diff --git a/chatgpt-suno-tampermonkey.user.js b/chatgpt-suno-tampermonkey.user.js index 21c0a15..74c93e6 100644 --- a/chatgpt-suno-tampermonkey.user.js +++ b/chatgpt-suno-tampermonkey.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name ChatGPT to Suno Prompt Copier // @namespace local.suno-helper -// @version 0.8.3 +// @version 0.8.4 // @description Copy structured ChatGPT song prompt versions into Suno fields. // @author local // @match https://chatgpt.com/* @@ -28,7 +28,7 @@ (function () { "use strict"; - const SCRIPT_VERSION = "0.8.3"; + const SCRIPT_VERSION = "0.8.4"; const STORAGE_KEY = "chatgptSunoPromptSlots"; const SLOT_COUNT = 2; const isChatGPT = location.hostname.includes("chatgpt.com") || location.hostname.includes("chat.openai.com"); @@ -1470,7 +1470,8 @@
- + +
@@ -1479,7 +1480,10 @@
- + +
+
+
`; @@ -1548,7 +1552,7 @@ setStatus(body, `${networkHint} 목록 새로고침이나 스크롤 후 다시 눌러봐. 화면 텍스트: ${visibleHints.join(", ")}`); }); - body.querySelector("[data-cgs-process-one]").addEventListener("click", async () => { + const processSelectedTrack = async (format) => { if (!libraryTracks.length) { libraryTracks = scanSunoLibraryTracks(); renderLibraryTrackSelect(); @@ -1561,24 +1565,40 @@ return; } try { - const data = await uploadTrackToCompanion(track, body, "mp3"); - setStatus(body, `선택 1곡 업로드 완료: ${track.title || track.id} / 대기 ${data.queued ?? "?"}개 / 처리 ${data.active || "대기"}`); + const data = await uploadTrackToCompanion(track, body, format); + setStatus(body, `선택 1곡 ${format.toUpperCase()} 업로드 완료: ${track.title || track.id} / 대기 ${data.queued ?? "?"}개 / 처리 ${data.active || "대기"}`); } catch (error) { - setStatus(body, `선택 1곡 처리 실패: ${error.message || error}`); + setStatus(body, `선택 1곡 ${format.toUpperCase()} 처리 실패: ${error.message || error}`); } + }; + + body.querySelector("[data-cgs-process-one-mp3]").addEventListener("click", async () => { + await processSelectedTrack("mp3"); }); - body.querySelector("[data-cgs-process-library]").addEventListener("click", async () => { + body.querySelector("[data-cgs-process-one-wav]").addEventListener("click", async () => { + await processSelectedTrack("wav"); + }); + + const processLibraryTracks = async (format) => { if (!libraryTracks.length) { libraryTracks = scanSunoLibraryTracks(); renderLibraryTrackSelect(); } updateSummary(); try { - await uploadTracksToCompanion(libraryTracks, body, "mp3"); + await uploadTracksToCompanion(libraryTracks, body, format); } catch (error) { - setStatus(body, `MP3 일괄 처리 실패: ${error.message || error}`); + setStatus(body, `${format.toUpperCase()} 일괄 처리 실패: ${error.message || error}`); } + }; + + body.querySelector("[data-cgs-process-library-mp3]").addEventListener("click", async () => { + await processLibraryTracks("mp3"); + }); + + body.querySelector("[data-cgs-process-library-wav]").addEventListener("click", async () => { + await processLibraryTracks("wav"); }); body.querySelector("[data-cgs-test-companion]").addEventListener("click", async () => {