عن المشروع
MIDIChords هو مستودع أحادي (monorepo) يحتوي على تطبيق لأكوردات MIDI ونظرية الموسيقى متاح على سطح المكتب، والويب، والجوال. يُنشر المشروع في متجر iOS/macOS App Store ومتجر Microsoft.
الهندسة المعمارية والمنصات:
- apps/desktop: تطبيق سطح مكتب مبني باستخدام Qt/PySide6 وPython، مع توافق واجهة API Tk.
- apps/web: تطبيق ويب مبني على Cloudflare Worker مع واجهة أمامية JavaScript.
- apps/mobile_flutter: تطبيق للجهاز اللوحي iOS/Android تم تطويره باستخدام Flutter.
- midichords: تنفيذ بلغة Python لنظرية الموسيقى، والصوت، وسطح المكتب؛ تحتفظ الإصدارات الويب وFlutter بتنفيذات مكافئة حيث لا يمكن إعادة استخدام Python.
- assets: موارد رسومية وعينات صوتية مشتركة.
الوظائف الملحوظة:
- اكتشاف التوافقي للأكوردات.
- توليد الأكوردات.
- توليد السلالم.
- قوائم الأنماط.
- يتضمن تطبيق Flutter أيضًا مترونومًا ومُضبطًا.
- تشير الوثيقة إلى وضع SPA مع دائرة الخمسات في الواجهة الأمامية للويب.
المتطلبات التقنية:
- Python 3.12 أو 3.13 لتطبيق سطح المكتب (الإصدار 3.14 يواجه مشاكل مع NumPy، PySide6 وpython-rtmidi).
- Node.js وwrangler لتطوير الويب المحلي.
- Flutter 3.38+ للجوال.
- قاعدة مُعدّة للتعبئة Flatpak/Flathub.
يتضمن المشروع سكريبتات تحقق لكل منصة (python، web، mobile، all)، ومزامنة تلقائية للأصول المشتركة، وتدفقات CI في GitHub Actions للنشر إلى Cloudflare Pages (باستخدام علامات v*). كما يوثق تدفقات كاملة للتوقيع والتصديق لـ macOS (معرف المطور ومتجر Mac App Store)، والنشر في متجر iOS App Store، وإنشاء مثبتات Windows.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.