From a9463917e3516f38c9952eced8e695cee65a8144 Mon Sep 17 00:00:00 2001 From: Honey Date: Wed, 27 May 2026 15:21:11 +0200 Subject: [PATCH] =?UTF-8?q?fix:=20use=20iTunes=20country=3Djp=20globally?= =?UTF-8?q?=20=E2=80=94=20returns=20Japanese=20original=20names,=20identic?= =?UTF-8?q?al=20for=20non-Japanese=20music?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/lib/metadata.js | 4 ++-- src/api.js | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/backend/lib/metadata.js b/backend/lib/metadata.js index 502b027..550e5e4 100644 --- a/backend/lib/metadata.js +++ b/backend/lib/metadata.js @@ -92,7 +92,7 @@ async function lookupItunesTrackMeta(artist, title) { // e.g. "don't rush - slowed" → search "don't rush" so iTunes finds the single const baseTitle = title.replace(/\s*[-–]\s*\S[^-]*$/, '').trim() || title; const searchTitle = baseTitle !== title ? baseTitle : title; - const url = `https://itunes.apple.com/search?term=${encodeURIComponent(artist + ' ' + searchTitle)}&media=music&entity=musicTrack&limit=10&country=us&explicit=Yes`; + const url = `https://itunes.apple.com/search?term=${encodeURIComponent(artist + ' ' + searchTitle)}&media=music&entity=musicTrack&limit=10&country=jp&explicit=Yes`; const results = await new Promise((resolve, reject) => { https.get(url, res => { let d = ''; res.on('data', c => d += c); @@ -147,7 +147,7 @@ async function fetchItunesTracks(collectionId) { async function searchItunesAlbumTracks(artist, album) { return new Promise(resolve => { const q = encodeURIComponent(`${artist} ${album}`); - https.get(`https://itunes.apple.com/search?term=${q}&media=music&entity=album&limit=5&country=us&explicit=Yes`, res => { + https.get(`https://itunes.apple.com/search?term=${q}&media=music&entity=album&limit=5&country=jp&explicit=Yes`, res => { let d = ''; res.on('data', c => d += c); res.on('end', () => { diff --git a/src/api.js b/src/api.js index f931dd1..4596203 100644 --- a/src/api.js +++ b/src/api.js @@ -135,7 +135,7 @@ function _itunesBase() { export async function itunesSearch(query, entity='musicTrack', limit=25) { try { - const r = await fetch(`${_itunesBase()}/search?term=${encodeURIComponent(query)}&media=music&entity=${entity}&limit=${limit}&country=us&explicit=Yes`); + const r = await fetch(`${_itunesBase()}/search?term=${encodeURIComponent(query)}&media=music&entity=${entity}&limit=${limit}&country=jp&explicit=Yes`); const text = await r.text(); if (!text) return []; return JSON.parse(text).results || [];