عن المشروع

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.