# Windows Installation Guide ## Quick Installation If you're getting errors with the regular installation, use this Windows-specific installer: ```bash python install_windows.py ``` This script will: - Install core packages (PyQt5, numpy, pygame, mido) - Try multiple MIDI library options - Create fallbacks if MIDI libraries fail - Still work in simulator mode even if MIDI fails ## Manual Installation (if the script doesn't work) ### 1. Install Core Packages First ```bash pip install PyQt5>=5.15.0 pip install numpy>=1.21.0 pip install pygame>=2.1.0 pip install mido>=1.2.10 ``` ### 2. Try MIDI Library Installation Try these in order until one works: **Option A: Latest python-rtmidi** ```bash pip install python-rtmidi ``` **Option B: Specific working version** ```bash pip install python-rtmidi==1.5.8 ``` **Option C: Alternative MIDI library** ```bash pip install rtmidi-python ``` **Option D: Skip MIDI (simulator only)** If all MIDI libraries fail, you can still use the application in simulator mode with built-in audio synthesis. ## Common Issues and Solutions ### Issue 1: Cython Compilation Error ``` Error compiling Cython file... Cannot assign type 'void (*)'... ``` **Solution:** Install Visual Studio Build Tools or use pre-compiled wheel: ```bash pip install --only-binary=python-rtmidi python-rtmidi ``` ### Issue 2: No MIDI Devices Found **Solutions:** 1. Use simulator mode (works without any MIDI hardware) 2. Check Windows MIDI device drivers 3. Try different USB ports for MIDI devices ### Issue 3: Audio Not Working **Solutions:** 1. Check Windows audio device settings 2. Try different audio buffer sizes in the app settings 3. Make sure no other applications are using audio exclusively ## Verify Installation Run this to test if everything works: ```bash python -c " try: import PyQt5; print('✓ PyQt5 OK') import numpy; print('✓ NumPy OK') import pygame; print('✓ Pygame OK') import mido; print('✓ Mido OK') try: import rtmidi; print('✓ RTMIDI OK') except: print('⚠ RTMIDI failed - simulator mode only') print('Ready to run!') except Exception as e: print(f'✗ Error: {e}') " ``` ## Running the Application Once installed, run: ```bash python run.py ``` The application will start in simulator mode by default, which works without any MIDI hardware and provides: - Internal audio synthesis - Visual lighting simulation - All arpeggiator functionality - Complete GUI interface For hardware MIDI, select "Hardware Mode" in the Output Controls tab.