برنامج تنزيل الموسيقى القائم على كيو تي المكتوب بلغة بايثون.
إذا كانت لديك فكرة لتحسين أو ميزة، قم بإنشاء مشكلة أو انضم إلى خادم الديسكورد للمناقشة!
تأكد من تثبيت ffmpeg وpython3 وGit وإتاحتها على $PATH
. إذا كنت تستخدم نظام التشغيل Windows، فستحتاج أيضًا إلى تثبيت أدوات إنشاء Microsoft C++ وإعادة تشغيل جهاز الكمبيوتر الخاص بك قبل بدء عملية الإنشاء.
قم بتنزيل أو استنساخ git clone https://github.com/casualsnek/onthespot
انتقل إلى cd onthespot
قم بتثبيت الحزمة pip install -r requirements.txt
انتقل إلى الدليل المصدر cd src
قم بتشغيل التطبيق باستخدام python3 -m onthespot
المتطلبات هي نفس متطلبات "التشغيل بدون تثبيت" أعلاه.
قم بتنزيل أو استنساخ git clone https://github.com/casualsnek/onthespot
انتقل إلى cd onthespot
قم ببناء الحزمة python -m build
قم بتثبيت الحزمة pip install ./dist/*.whl
قم بتشغيل التطبيق باستخدام onthespot_gui
يتوفر onthespot
للتوزيعات المستندة إلى Arch Linux وArch Linux في مستودع مستخدم Arch (aur) باسم onthespot-git.
يمكنك التثبيت onthespot
باستخدام المساعد المفضل لديك.
على سبيل المثال: استخدام ياي
yay -Sy onthespot-git
قم بتنزيل أحدث إصدار من 'onthespot_linux' من قسم الإصدار وقم بالتنفيذ باستخدام
chmod +x onthespot_linux ./onethespot_linux
قم بتنزيل أحدث إصدار 'onthespot_win_ffm.exe' أو 'onthespot_win.exe' من قسم الإصدار وقم بالتنفيذ بالنقر المزدوج فوق الملف الذي تم تنزيله.
تحتوي الثنائيات التي ينتهي اسم ملفها بـ "_ffm" على ffmpeg مجمعة ويجب ألا تتطلب التثبيت اليدوي.
إذا كنت تستخدم ثنائيات لا تتضمن حزمة ffmpeg وتوقفت التنزيلات عند 99% مع نص Converting
عند التقدم، فأنت تفتقد ffmpeg! الرجاء تثبيته باتباع الإرشادات أدناه
افتح Windows Explorer وانتقل إلى C:
Drive وقم بإنشاء اسم المجلد ffmpeg
هناك
قم بتنزيل ffmpeg zip من https://www.gyan.dev/ffmpeg/builds/ffmpeg-release-full.7z ثم انسخ مجلد bin
من zip إلى C:ffmpeg
افتح CMD كمسؤول وقم بتشغيل الأمر: setx /m PATH "C:ffmpegbin;%PATH%"
الآن يجب أن يعمل التطبيق كما هو متوقع.
يتطلب البناء أو التغليف على أي نظام تشغيل تثبيت Git وPython3 وPip. تأكد من تثبيتها!
افتح محاكي المحطة الطرفية وقم بتشغيل الأمر التالي لاستنساخ المستودع وبناءه.
استنساخ بوابة https://github.com/casualsnek/onthespotcd onthespot
إذا كنت تريد إنشاءات باستخدام ffmpeg المضمن، فقم بتنزيل ثنائيات ffmpeg لنظام التشغيل لديك من هنا. قم بإنشاء دليل جديد باسم "ffbin_nix" في الدليل الجذر للمستودع. انسخ ثلاثة ملفات "ffmpeg" و"ffprobe" و"ffplay" من الأرشيف الذي تم تنزيله إلى دليل "ffbin_nix" الذي تم إنشاؤه للتو ثم قم بتشغيله؛
باش ./build_linux.sh
بعد اكتمال الأمر، يجب أن يكون لديك دليل "dist" في جذر المستودع الذي يحتوي على الملف الثنائي "onthespot_linux".
افتح cmd وقم بتشغيل الأمر التالي لاستنساخ المستودع وبناءه.
استنساخ بوابة https://github.com/casualsnek/onthespotcd onthespot
إذا لم يكن لديك git مثبتًا، فيمكنك أيضًا تنزيل ملف Project zip من github، واستخراجه وفتح cmd على جذر المستودع. إذا كنت تريد إنشاءات باستخدام ffmpeg المضمن، فقم بتنزيل ثنائيات ffmpeg لنظام التشغيل لديك من هنا. قم بإنشاء دليل جديد باسم "ffbin_win" في الدليل الجذر للمستودع. انسخ ثلاثة ملفات "ffmpeg.exe" و"ffprobe.exe" و"ffplay.exe" من الأرشيف الذي تم تنزيله إلى دليل "ffbin_win" الذي تم إنشاؤه للتو ثم قم بتشغيله؛
build_winC1.bat build_winC2.bat
بعد اكتمال الأمر، يجب أن يكون لديك دليل "dist" في جذر المستودع الذي يحتوي على الملف الثنائي "onthespot_win.exe".
ملاحظة: يؤدي هذا فقط إلى إنشاء تطبيق لبنية المعالج المحددة التي تستخدمها. لا يبني ثنائي عالمي
افتح محاكي المحطة الطرفية وقم بتشغيل الأمر التالي لاستنساخ المستودع وبناءه.
استنساخ بوابة https://github.com/casualsnek/onthespotcd onthespot
إذا كنت تريد إنشاءات باستخدام ffmpeg المضمن، فقم بتنزيل ثنائيات ffmpeg لنظام التشغيل لديك من هنا. قم بإنشاء دليل جديد باسم "ffbin_mac" في الدليل الجذر للمستودع. انسخ الملفات الثلاثة "ffmpeg" و"ffprobe" و"ffplay" من الأرشيف الذي تم تنزيله إلى الدليل "ffbin_mac" الذي تم إنشاؤه حديثًا ثم قم بتشغيل:
./build_mac.sh
بعد اكتمال الأمر، يجب أن يكون لديك دليل "dist" في جذر المستودع الذي يحتوي على الملف الثنائي "onthespot_mac.app".
يمكنك أيضًا البناء على البقعة كعجلة وتثبيتها كوحدة بايثون عبر النقطة في نظامك. فهو يوفر تكاملًا أفضل مع النظام، مثل استخدام نمط Qt وسماته الخاصة بنظامك، كما يمكنك استخدام الأيقونة المتوفرة وملف .desktop لتحقيق تكامل أفضل ضمن أنظمة Linux.
تأكد من قيامك بإعداد الأدوات المثبتة!
افتح محاكي المحطة الطرفية وقم بتشغيل الأمر التالي لاستنساخ المستودع وبناءه.
استنساخ بوابة https://github.com/casualsnek/onthespotcd onthespot بناء بيثون -م
سيؤدي هذا إلى إنشاء دليل dist يحتوي على ملف .whl الذي يمكن تثبيته الآن باستخدام النقطة، ويمكن تشغيل التطبيق باستخدام الأمر onthespot_gui
أو python3 -m onthespot
بعد التثبيت!
ملاحظة: إذا كنت تقوم بالتعبئة على الفور للتوزيع، فانسخ src/onthespot/resources/icon.svg
إلى /usr/share/icons/hicolor/scalable/apps/casual_onthespot.svg
أو $HOME/.local/share/icons/hicolor/scalable/apps/casual_onthespot.svg
و src/onthespot/resources/org.eu.casualsnek.onthespot.desktop
إلى /usr/share/applications/org.eu.casualsnek.onthespot.desktop
أو $HOME/.local/share/applications/org.eu.casualsnek.onthespot.desktop
. يتيح ذلك دمج التطبيق بشكل أفضل في بيئات سطح المكتب!
إذا كانت لديك أفكار للتحسين/الميزات، فقم بإنشاء مشكلة أو انضم إلى خادم Discord للمناقشة!
عند تشغيل التطبيق لأول مرة، سوف تحصل على تحذير بعدم إضافة أي حسابات Spotify. ارفض التحذير، وأضف حسابك (حساباتك) أسفل علامة تبويب التكوين. يتيح لك وجود حسابات متعددة تنزيل أغانٍ متعددة في وقت واحد.
في علامة التبويب "بحث"، يمكنك إدخال الاستعلام الخاص بك، ثم انقر فوق search
للبحث عن الأغاني/الفنانين/الألبومات/قوائم التشغيل. يمكنك بعد ذلك تنزيل الوسائط في القائمة الناتجة بالنقر فوق زر download
. اختياريًا، يمكنك التنزيل بشكل مجمّع من خلال النقر على أي من الأزرار الموجودة أسفل الجدول. لاحظ أن نوع الوسائط بخلاف "المسارات" قد يستغرق وقتًا أطول قليلاً في التحليل والتنزيل. قد يبدو التطبيق وكأنه متجمد في هذه الحالة!
أدخل عنوان URL في حقل البحث ثم انقر فوق تنزيل. يمكنك أيضًا إدخال مسار الملف النصي الذي يحتوي على عنوان URL، وسيقوم بوضع جميع عناوين URL الموجودة فيه في قائمة الانتظار! لاحظ أن نوع الوسائط بخلاف "المسارات" قد يستغرق وقتًا أطول قليلاً في التحليل والتنزيل. قد يبدو التطبيق وكأنه متجمد في هذه الحالة!
يمكن عرض حالة التنزيل والتقدم من خلال الانتقال إلى علامة التبويب "التقدم".
الحد الأقصى لعمال التنزيل : هو عدد المواضيع التي سيتم استخدامها لتنزيل الوسائط. اضبط هذا على عدد الحسابات التي أضفتها. يتطلب تغيير هذا الإعداد إعادة تشغيل التطبيق ليصبح ساري المفعول.
تحليل الرقم التسلسلي للحساب : هو الرقم الموضح على الجانب الأيسر من اسم المستخدم في جدول الحسابات. الرقم هو الحساب المسؤول عن تقديم نتائج البحث وتحليل عنوان (عناوين) url للتنزيل.
موقع التنزيل : المجلد الجذر حيث يتم وضع الوسائط التي تم تنزيلها.
تأخير التنزيل : الوقت بالثواني للانتظار قبل التنزيل التالي بعد التنزيل الناجح.
الحد الأقصى لعدد مرات إعادة المحاولة : عدد مرات إعادة محاولة التنزيل قبل المتابعة.
الحد الأقصى لنتائج البحث : عدد العناصر التي سيتم عرضها في نتيجة البحث لكل نوع من أنواع الوسائط. مثال: يؤدي تعيينه إلى "1" إلى عرض نتيجة واحدة للفنان والألبوم والمسار وقائمة التشغيل مما يؤدي إلى إجمالي 4 نتائج بحث.
تنزيل الوسائط الأولية : يقوم بتنزيل الملفات (ستكون بتنسيق .ogg) إلى القرص دون التحويل إلى تنسيق الوسائط المحدد، كما أنه يعطل كتابة البيانات التعريفية وتضمين الصور المصغرة.
فرض الإصدار المميز : استخدم هذا إذا كانت حساباتك المميزة تظهر مجانًا في جدول الحسابات، وينطبق هذا على جميع الحسابات المضافة، لذا لا يُنصح باستخدامه مع مجموعة من الحسابات المجانية والمميزة. لا تستخدمه إذا لم يكن الحساب مميزًا.
تمكين تشغيل تطبيق سطح المكتب للتنزيل : سيؤدي التمكين تلقائيًا إلى تنزيل الأغاني التي تقوم بتشغيلها على تطبيق سطح المكتب Spotify. (المدعوم: لينكس/ويندوز)
إظهار/إخفاء التكوين المتقدم : تمكين/تعطيل علامة تبويب التكوين المتقدم.
حفظ الإعداد : يحفظ/يطبق الإعدادات
أسماء المسارات الافتراضية هي AlbumFormatter/TrackName
منسق اسم المسار : يتيح لك هذا الخيار ضبط نظام تسمية المسارات التي تم تنزيلها. يمكن استخدام المتغيرات من خلال وضعها بين {}
. تتوفر بعض المتغيرات لاستخدامها في نظام التسمية:
الفنان: اسم فنان المسار
الألبوم : اسم الألبوم الموجود فيه المسار *
الاسم: اسم المسار
rel_year : سنة إصدار المسار
disk_number : رقم القرص الذي يوجد به المسار *
Track_number : الرقم التسلسلي للمسار في الألبوم *
playlist_name: اسم قائمة التشغيل إذا كان يتم تنزيل المسار كجزء من قائمة التشغيل *
playlist_owner: اسم قائمة التشغيل إذا كان يتم تنزيل المسار كجزء من قائمة التشغيل *
playlist_desc: وصف قائمة التشغيل إذا تم تنزيل المسار كجزء من قائمة التشغيل *
النوع : نوع الأغنية *
التسمية: اسم تسمية السجل
صريح : 'صريح' إذا تم وضع علامة على الأغنية بأنها صريحة وإلا فستكون فارغة
عدد المسارات : إجمالي عدد المقاطع الصوتية في الألبوم الذي يوجد فيه هذا المسار
خصم : إجمالي عدد الأقراص الموجودة في الألبوم الذي يوجد به هذا المسار
Spotid: معرف سبوتيفي
مثال: Song: {name} of album: {album} Released in {rel_year}
.
قد تكون قيمة المتغيرات التي ينتهي وصفها بـ * فارغة في بعض الحالات. يمكن أن يكون هذا أيضًا طريقًا.
منسق اسم دليل الألبوم : يتيح لك هذا الخيار ضبط نظام تسمية الأدلة للمسارات التي تم تنزيلها. يمكن استخدام المتغيرات من خلال وضعها بين {}
. تتوفر بعض المتغيرات لاستخدامها في نظام التسمية:
الفنان: اسم الفنان الرئيسي للألبوم
rel_year: سنة إصدار الألبوم *
الألبوم: اسم الألبوم
playlist_name: اسم قائمة التشغيل إذا كان يتم تنزيل المسار كجزء من قائمة التشغيل *
playlist_owner: اسم قائمة التشغيل إذا كان يتم تنزيل المسار كجزء من قائمة التشغيل *
playlist_desc: وصف قائمة التشغيل إذا كان يتم تنزيل المسار كجزء من قائمة التشغيل *
النوع : نوع الأغنية *
التسمية: اسم تسمية السجل
مثال: {artist}/{rel_year}/{album}
.
قد تكون قيمة المتغيرات التي ينتهي وصفها بـ * فارغة في بعض الحالات. يمكن أن يكون هذا طريقًا أيضًا.
حجم القطعة التي تم تنزيلها : حجم القطع (البايت) المستخدمة للتنزيل.
تعطيل إشعار التنزيل المجمع : سيؤدي تمكين هذا إلى تعطيل مربعات الحوار المنبثقة حول الحالة عند استخدام التنزيلات المجمعة.
تأخير إعادة محاولة التنزيلات القابلة للاسترداد : وقت الانتظار قبل محاولة تنزيل آخر بعد فشل المحاولة.
تخطي البايتات في النهاية (نهاية التنزيل تخطي البايتات) : في بعض الأحيان لا يمكن تنزيل البايتات القليلة الأخيرة من المسار، مما يؤدي إلى حدوث "خطأ في PD" الذي يتسبب في فشل التنزيلات باستمرار. يقوم هذا الخيار بتعيين عدد وحدات البايت لتخطي التنزيل عند حدوث ذلك. قد تتغير القيمة ولكن قيمة العمل الحالية هي "167" بايت. إذا ظهرت لك "أخطاء في فك التشفير" أو تنزيلات غير مكتملة للأغنية، فحاول تعيينها على 0.
فرض توجيه الفنان/الألبوم لعناصر المسار/قائمة التشغيل : إذا تم تعطيل هذا، فسيتم وضع المسارات التي تم تنزيلها في جذر دليل التنزيل بدلاً من أدلة الفنان/الألبوم. قد يؤدي تمكين هذا إلى إبطاء تحليل التنزيل ولكنه يجعل تنظيم الموسيقى أسهل.
تنسيق الوسائط : تنسيق الوسائط الذي تريد أن يكون تنزيل الموسيقى النهائي فيه. لا تقم بتضمين "." فيه. سيتم تجاهل هذا الإعداد أثناء استخدام خيار تنزيل الوسائط الأولية.
خطأ في فك التشفير: إذا كنت تتلقى هذا الخطأ، فمن المحتمل أن حسابك قد تم تقييده. انتظر بعض الوقت أو جرب حسابًا مختلفًا. قد يتعطل التطبيق بشكل متكرر نظرًا لعدم وجود معالجة مناسبة للاستثناءات حتى الآن. يمكنك المساعدة عن طريق فتح مشكلة جديدة مع رسالة الخطأ المعروضة في نافذة وحدة التحكم الخاصة بك بعد أن يسيء التطبيق العمل.
يمكنك كتابة تعليمات برمجية لتضمين ميزة إضافية أو إصلاحات للأخطاء أو إثارة مشكلة بخصوص الأخطاء والميزات أو مجرد نشر العمل حول التطبيق :) إذا كنت ترغب في الدعم المالي، يمكنك زيارة هنا والدعم من خلال المجموعة المفتوحة أو BTC إذا كنت ترغب في ذلك المشروع، أظهر دعمك من خلال إعطائه نجمة :) !