منصوبے کے بارے میں

TastyTunes ایک ڈیسک ٹاپ ایپلی کیشن ہے جو Cambridge Audio نیٹ ورک پلیئرز کے لیے ریموٹ کنٹرول کے طور پر کام کرتی ہے جو StreamMagic پلیٹ فارم پر بنائے گئے ہیں۔ README میں سپورٹڈ ماڈلز میں Evo 75/150، CXN100 اور CXN (V2)، MXN10، AXN10، EXN100، Edge NQ اور 851N شامل ہیں، جبکہ ڈویلپمنٹ اور روزانہ کی ٹیسٹنگ Evo 150 پر کی جاتی ہے۔ یہ ایپ مقامی طور پر چلتی ہے، صارف کے اپنے نیٹ ورک کے ذریعے اسٹریمر سے بات کرتی ہے، اور اسے کسی اکاؤنٹ یا کلاؤڈ سروس کی ضرورت نہیں ہے۔ انسٹالرز macOS 11+ (یونیورسل، سائنڈ اور نوٹراائزڈ)، Windows 10+ (ایک واحد سائنڈ انسٹالر جو x64 اور arm64 دونوں کا احاطہ کرتا ہے) اور Linux (x64 یا arm64 AppImage، بشمول 64-bit Raspberry Pi OS) کے لیے شائع کیے گئے ہیں۔ لانچ پر ایپ SSDP کے ذریعے نیٹ ورک پر StreamMagic ڈیوائسز کو تلاش کرتی ہے، اور اگر تلاش میں کچھ نہ ملے تو IP ایڈریس دستی طور پر درج کیا جا سکتا ہے۔ ایک ڈیمو موڈ بغیر کسی ہارڈ ویئر کے، بلٹ ان ورچوئل اسٹریمر اور دو نمونہ لائبریریوں کے ساتھ پوری ایپلی کیشن کو چلاتا ہے۔ Now Playing میں دھندلے آرٹ بیک ڈراپ پر بڑے البم آرٹ ورک، ٹریک کی تفصیلات، کوڈیک، سیمپل ریٹ، بٹ ڈیپتھ، لوس لیس اور MQA کے لیے فارمیٹ بیجز، اور ایک سگنل کوالٹی انڈیکیٹر پیش کیا جاتا ہے جس کی حالتیں رنگ کے ساتھ ساتھ شکل میں بھی مختلف ہوتی ہیں۔ مین ونڈو کے ساتھ ساتھ ایک فل اسکرین Display موڈ، ایک فریم لیس ہمیشہ-اوپر رہنے والا منی پلیئر، اور ایک اختیاری مینو بار یا سسٹم ٹرے پینل بھی فراہم کیا گیا ہے۔ لائبریری فیچر ہر مقامی UPnP میڈیا سرور اور اسٹریمر کی USB اسٹوریج کو Artists، Albums اور Tracks ویوز میں یکجا کرتا ہے، جس کی پشت ایک دوبارہ تعمیر ہونے والا مقامی انڈیکس ہے جو تمام ذرائع میں search-as-you-type کو سپورٹ کرتا ہے۔ فلٹرنگ اور سورٹنگ میں صنف (genre)، دہائی، فارمیٹ، ڈائنامک رینج اور البمز بمقابلہ کمپائلیشنز کی تمیز شامل ہے۔ البم ہینڈلنگ میں فیچرڈ گیسٹ اپنی جگہ رہتے ہیں، کمپائلیشنز کو Various Artists کے تحت گروپ کیا جاتا ہے، ملٹی ڈسک سیٹس کے لیے ڈسک ڈیوائیڈرز دکھائے جاتے ہیں، اور ملٹی والیم باکس سیٹس کو والیم سلیکٹر کے پیچھے ضم کیا جاتا ہے۔ غائب آرٹ ورک کو Cover Art Archive سے پُر کیا جا سکتا ہے۔ لائبریری پلے بیک کے علاوہ فیورٹ، مواد کی تعریف پر مبنی مقامی طور پر محفوظ پلے لسٹس، ملٹی سلیکٹ اور ڈریگ ری آرڈرنگ کے ساتھ ایک کیو، اسٹریمر کے 99 پری سیٹ سلاٹس (جنہیں نمبر کیز کے ذریعے ریکال کیا جا سکتا ہے، اور ہر ایک اپنا والیم رکھ سکتا ہے)، ٹلٹ اور بیلنس کے ساتھ سات بینڈ EQ، سورس سوئچنگ، اور radio-browser.info ڈائرکٹری کی براؤزنگ (صنف اور دہائی کی کیٹیگریز کے ساتھ) موجود ہے۔ سنکرونائزڈ لیرکس LRCLIB سے آتے ہیں اور لائن بہ لائن ہائی لائٹ ہوتے ہیں؛ کسی لائن پر کلک کرنے سے پلے بیک وہاں تک پہنچ جاتا ہے۔ فنکاروں کی سوانح حیات اور البم کے حقائق MusicBrainz اور Wikipedia سے لیے جاتے ہیں، جن میں ایٹریبیوشن لنکس شامل ہوتے ہیں۔ آڈیو تجزیہ مقامی میڈیا سرورز سے فائلیں پڑھتا ہے تاکہ سیک بار اور آرٹ ورک کے نیچے ایک ویو فارم بنایا جا سکے، اور DR ڈیٹا بیس کے TT-DR طریقہ کار کے مطابق ڈائنامک رینج ویلیو کا حساب لگایا جا سکے، جو پھر لائبریری میں فلٹر اور سورٹ آپشن بن جاتا ہے۔ ایک محدود حال ہی میں چلائے گئے لاگ اور سالانہ JSON Lines فائلوں کے طور پر لکھی گئی لسننگ ریکارڈ ٹریک کرتی ہے کہ کیا چلایا گیا اور کتنی دیر تک؛ دونوں کو صاف کیا جا سکتا ہے اور انہیں غیر فعال کیا جا سکتا ہے۔ ListenBrainz سکรอบلنگ صرف حقیقی پلے ٹائم کے بعد لسن سبمٹ کرتی ہے اور ناکام سبمیشنز کو دوبارہ کوشش کرتی ہے۔ آٹومیشن میں 15 منٹ سے دو گھنٹے تک یا ٹریک کے اختتام تک کے سلیپ ٹائمرز شامل ہیں، جس میں اختیاری والیم فیڈ آؤٹ، اور ہفتہ وار شیڈول موجود ہیں جو ڈیوائس کو فیڈ ان کے ساتھ پری سیٹ پر جگا سکتے ہیں یا اسے اسٹینڈ بائی پر بھیج سکتے ہیں۔ ایک اختیاری MCP سرور، جو ڈیفالٹ طور پر بند ہوتا ہے، ایپ کی صلاحیتوں کو مقامی AI ایجنٹس جیسے Claude Code یا Claude Desktop کے لیے ظاہر کرتا ہے، جس میں پلے بیک اور والیم، پری سیٹس اور سورسز، لائبریری اور ریڈیو، فیورٹ، ٹون اور EQ، سلیپ ٹائمرز، لسننگ ریکارڈ اور آڈیو تجزیہ شامل ہیں۔ ایڈیٹنگ ٹولز کو الگ کیا گیا ہے اور جب تک انہیں آن نہ کیا جائے وہ غیر فعال رہتے ہیں، اور ایجنٹس UI کے والیم کیپ، پاور سیف گارڈز اور کنکشن ٹوگلز کو وراثت میں حاصل کرتے ہیں۔ README ایک Home Assistant rest_command مثال بھی دکھاتا ہے جو اضافی انٹیگریشنز کے بغیر MCP اینڈ پوائنٹ کو کال کرتا ہے۔ پروجیکٹ بالکل واضح طور پر دستاویز کرتا ہے کہ کون سی نیٹ ورک ٹریفک مشین سے باہر جاتی ہے: اسٹریمر کنٹرول یا لائبریری براؤزنگ کے لیے مقامی نیٹ ورک سے باہر کچھ نہیں بھیجا جاتا، جبکہ لیرکس، فنکار اور البم سیاق و سباق، غائب البم آرٹ، اپ ڈیٹ چیک اور ریڈیو سرچ ٹوگل ایبل ہیں، اور سکรอบلنگ تب تک بند رہتی ہے جب تک کہ ٹوکن شامل نہ کیا جائے۔ کوئی اینالٹکس، ٹیلی میٹری یا اکاؤنٹ سسٹم نہیں ہے، اور ایک ریکویسٹ کنسول پلس ایک خام اسٹریمر ٹریفک کنسول بلٹ ان ہے۔ اس کا اسٹیک Electron з electron-vite، React 19، TypeScript، Tailwind CSS v4 اور Zustand ہے، جس میں مین پراسیس SSDP اور اسٹریمر کے SMOIP WebSocket کے ذریعے ڈیوائس I/O کو سنبھالتا ہے۔ اسٹریمر کو واحد سورس آف ٹروتھ (single source of truth) کے طور پر لیا جاتا ہے: کمانڈز بھیجی جاتی ہیں، اسٹیٹ واپس پش کی جاتی ہے، اور انٹرفیس اس پش سے دوبارہ رینڈر ہوتا ہے۔ پروجیکٹ GNU General Public License v3.0 کے تحت ریلیز کیا گیا ہے، جس کی ڈویلپمنٹ ایک develop برانچ پر ہے اور CI ٹائپ چیک، ESLint اور Prettier چیکس چلا رہا ہے۔