À propos du projet
MIDIChords est un monorépertoire qui héberge une application d'accords MIDI et de théorie musicale disponible sur bureau, web et mobile. Le projet est publié sur l'App Store iOS/macOS et le Microsoft Store.
Architecture et plateformes :
- apps/desktop : application de bureau construite avec Qt/PySide6 et Python, avec compatibilité de l'API Tk.
- apps/web : application web basée sur un Cloudflare Worker avec un frontend JavaScript.
- apps/mobile_flutter : application pour tablette iOS/Android développée en Flutter.
- midichords : implémentation Python de la théorie musicale, de l'audio et du bureau ; les versions web et Flutter maintiennent des implémentations équivalentes lorsqu'elles ne peuvent pas réutiliser Python.
- assets : ressources graphiques et échantillons audio partagés.
Fonctionnalités constatées :
- Détection harmonique des accords.
- Génération d'accords.
- Génération de gammes.
- Listes de motifs.
- L'application Flutter comprend également un métronome et un accordeur.
- La documentation mentionne un mode SPA avec cercle des quintes dans le frontend web.
Exigences techniques :
- Python 3.12 ou 3.13 pour l'application de bureau (3.14 présente des problèmes avec NumPy, PySide6 et python-rtmidi).
- Node.js et wrangler pour le développement web local.
- Flutter 3.38+ pour le mobile.
- Base préparée pour l'empaquetage Flatpak/Flathub.
Le projet comprend des scripts de vérification par plateforme (python, web, mobile, all), une synchronisation automatique des assets partagés, et des flux de CI dans GitHub Actions pour le déploiement sur Cloudflare Pages (via les tags v*). Il documente également des flux complets de signature et de notarisation pour macOS (Developer ID et Mac App Store), la publication sur l'App Store iOS et la génération d'installateurs Windows.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.