عن المشروع
Viboplr هو مشغل موسيقى مكتبي يعتمد على الإضافات أولاً لنظامي macOS وWindows، مبني باستخدام Tauri 2 وReact وRust. يشغّل الصوت والفيديو من المجلدات المحلية وخدمات الموسيقى البعيدة، ويعمل كمنسّق: يربط نظام الإضافات مزوّدي البث وخدمات البيانات الوصفية وقواعد بيانات الكلمات ومصادر الصور، بينما يتولى التطبيق الأساسي التشغيل وإدارة المكتبة وواجهة المستخدم.
إدارة المكتبة
تُفحص المجلدات المحلية في الخلفية مع الإبلاغ عن التقدم ومراقبة الملفات في الوقت الفعلي. تتم مزامنة مجموعات Subsonic/Navidrome في المكتبة نفسها، ويمكن ربط المجموعات البعيدة عبر الإضافات. يمكن تصدير المسارات المحلية كمصدر موسيقى مكتفٍ ذاتيًا وقابل للاستضافة (بيان مع ملفات)، ويمكن الاشتراك في البيانات المنشورة كمجموعات. تُقرأ البيانات الوصفية عبر مكتبة الوسوم lofty مع تحليل أسماء الملفات كخيار احتياطي، ويعمل البحث عبر SQLite FTS5 على العناوين والفنانين والألبومات والأنواع وأسماء الملفات، دون حساسية لحالة الأحرف أو العلامات التشكيلية. تُخزَّن بيانات النوع الوصفية كوسوم مع علاقات متعدد إلى متعدد مع المسارات.
التشغيل
المحرك الافتراضي هو mpv الأصلي، المبني على libmpv المضمّن، ويوفر فك ترميز أصليًا وتشغيلًا بلا فواصل وإخراج صوتي حصري (bit-perfect)، مع عرض فيديو أصلي على كلتا المنصتين. ويعمل محرك HTML5 عبر متصفح الويب الخاص بالنظام كخيار احتياطي تلقائي. تشمل ميزات التشغيل الأخرى مُعادلًا بعشر نطاقات، وتطبيع ReplayGain، وتلاشيًا متقاطعًا قابلًا للضبط حتى 10 ثوانٍ، وتحكمًا في السرعة على غرار الفونوغراف، وإدارة قائمة انتظار بالسحب والإفلات، وقواعد متابعة تلقائية، ومحطات راديو لا نهائية من مسار أو فنان أو وسم، وإعجابات ثلاثية الحالات، ومشغلًا مصغرًا مضغوطًا دائم الظهور، وشريط تمرير موجي مع معاينات storyboard للفيديو.
العروض والواجهات
تشمل العروض الرئيسية (دوّامة راديو مع أرفف)، وعرض Now Playing بملء الشاشة مع كلمات كاريوكي متزامنة ومصوّرات الإضافات، وصفحات تفاصيل للفنانين والألبومات والوسوم والمسارات، وعرض History بتبويبات، وقوائم تشغيل مع تصدير/استيراد M3U8 و.mixtape، ومدير Collections. تتضمن ثماني واجهات مدمجة (Default وOLED Black وArctic Light وForest وSilver وOcean Blue وViboplr وSunset)، مع واجهات JSON مخصصة ومعرض مجتمعي و19 رمز لون وCSS اختياري مُعقَّم لكل واجهة.
الإضافات والتكاملات
إضافات JavaScript هي آلية التوسعة الأساسية، وتوفر البث والبيانات الوصفية والكلمات وحل الصور والتنزيلات وعناصر قائمة السياق وعروض الشريط الجانبي وأرفف الصفحة الرئيسية وعناصر معلومات Now Playing والمصوّرات وخطافات الأحداث ولوحات الإعدادات ومهام المجدول. تغطي الإضافات المدمجة تسجيل Last.fm وبياناته الوصفية، وكلمات من LRCLIB وLyrics.ovh، وأعمالًا فنية من TheAudioDB وDeezer وiTunes وMusicBrainz. وتشمل إضافات المعرض Spotify وTIDAL وYouTube عبر yt-dlp وGenius وqBittorrent والمصوّرات. تُعرض الإضافات عبر نموذج بيانات منظم بدلًا من حقن HTML الخام، ويمكن تمكينها وتعطيلها وإعادة ترتيبها وضبطها من عرض Extensions.
قدرات أخرى
ملفات تعريف معزولة على غرار Chrome، ومعالج إعداد أول تشغيل، وتبعيات خارجية مُدارة (ffmpeg وyt-dlp) تُكتشف وتُثبَّت وتُحدَّث تلقائيًا، وأعمال فنية للكيانات مدفوعة بالإضافات مع صور مركبة من الوسوم، وقوائم سياق أصلية لنظام التشغيل، وحزمة تشخيصية يراجعها المستخدم لتقارير المشكلات، وتحديثات تلقائية مدمجة بقنوات مستقرة وبيتا.
التقنية والصيغ
تتكون الحزمة من Tauri 2 لهيكل التطبيق، وRust للفحص وقاعدة البيانات والمزامنة ومحرك التشغيل وعملاء API، وTypeScript/React/Vite للواجهة الأمامية، وlibmpv مع HTML5 كخيار احتياطي للتشغيل، وSQLite عبر rusqlite مع FTS5، وlofty للوسوم، وnotify لمراقبة الملفات، وtauri-plugin-store v2 لحفظ الحالة. تشمل صيغ الصوت المفكوكة أصليًا MP3 وFLAC وAAC/M4A وALAC وWAV وOPUS وWMA وOGG وAIFF وAPE وWavPack وTTA وDSD وغيرها؛ ويغطي دعم الفيديو MP4/M4V/MOV (H.264) على كلتا المنصتين وWebM على Windows عبر محرك المتصفح.
التطوير والترخيص
يتطلب التطوير Node.js 18+ وRust 1.70+ إضافة إلى متطلبات Tauri الخاصة بكل منصة؛ ويوثّق README أوامر التطوير وبناء الإنتاج وسكربتات الفحص والاختبار، وسير نشر VPS لموقع التوثيق بما في ذلك سير عمل GitHub Actions. المشروع مرخّص بموجب GPL-3.0-or-later، مع تبعيات Rust وJavaScript بتراخيص متساهلة، ويُستخدم libmpv وffmpeg وyt-dlp كمكونات خارجية منفصلة.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.