Installation
Welcome to the comprehensive installation guide for JDXI-Editor! This guide will walk you through multiple installation methods, from simple pre-built packages to advanced development setups. Choose the method that best suits your needs and technical comfort level.
System Requirements
- Minimum System Requirements
Operating System: macOS 10.14+, Windows 10+, or Linux (Ubuntu 18.04+)
Python: Version 3.8 or higher (for source installation)
Memory: 4GB RAM minimum, 8GB recommended
Storage: 500MB available space for application and presets
MIDI Interface: USB connection to Roland JD-Xi synthesizer
Display: 1024x768 minimum resolution, 1920x1080 recommended
- Hardware Requirements
Roland JD-Xi Synthesizer: Any firmware version supported
USB Cable: USB-B to USB-A or USB-C cable for MIDI communication
Audio Interface: Optional, for audio monitoring and recording
MIDI Controller: Optional, for enhanced performance control
- Software Dependencies
Qt6 Framework: Included in pre-built packages
RtMidi Library: For MIDI communication (included)
Python Libraries: PySide6, mido, python-rtmidi (for source installation)
Installation Methods
- Method 1: Pre-Built Packages (Recommended)
The easiest way to get started with JDXI-Editor.
- Method 2: Python Package Installation
For users who prefer pip-based installation.
- Method 3: Source Code Installation
For developers and advanced users who want the latest features.
- Method 4: Development Setup
For contributors and developers working on JDXI-Editor.
Method 1: Pre-Built Packages (Recommended)
The simplest way to install JDXI-Editor is using our pre-built packages. These include all dependencies and are ready to run immediately.
- macOS Installation
Download and install the macOS package:
# Download the DMG file from the releases page # https://github.com/markxbrooks/JDXI-Editor/releases # Mount the DMG file $ open JD-Xi-Editor-0.8.dmg # Drag JD-Xi Editor.app to your Applications folder # The application will appear in your Applications folder
macOS Requirements: - macOS 10.14 (Mojave) or later - Intel or Apple Silicon (M1/M2) processor - 4GB RAM minimum, 8GB recommended
macOS Installation Notes: - The app is notarized for security - You may need to allow the app in System Preferences > Security & Privacy - The app includes all necessary Qt6 and MIDI libraries
- Windows Installation
Download and run the Windows installer:
# Download the NSIS installer from the releases page # https://github.com/markxbrooks/JDXI-Editor/releases # Run the installer as Administrator $ jdxi-editor-0.8_windows_setup.exe # Follow the installation wizard # The application will be installed in your chosen directory
Windows Requirements: - Windows 10 or later (64-bit) - 4GB RAM minimum, 8GB recommended - Visual C++ Redistributable (included in installer)
Windows Installation Notes: - The installer includes all necessary dependencies - You may need to allow the app through Windows Defender - The app will create shortcuts in your Start Menu and Desktop
- Linux Installation
Download and install the AppImage package:
# Download the AppImage from the releases page # https://github.com/markxbrooks/JDXI-Editor/releases # Make the AppImage executable $ chmod +x JD-Xi-Editor-0.8-x86_64.AppImage # Run the application $ ./JD-Xi-Editor-0.8-x86_64.AppImage
Linux Requirements: - Ubuntu 18.04+ or equivalent distribution - 4GB RAM minimum, 8GB recommended - FUSE support for AppImage (usually pre-installed)
Method 2: Python Package Installation
For users who prefer pip-based installation or want to integrate JDXI-Editor into their Python environment.
- Prerequisites
Ensure you have Python 3.8 or higher installed:
# Check Python version $ python --version # Should show Python 3.8 or higher # Check pip version $ pip --version # Should show pip 20.0 or higher
Installation Steps
Create a Virtual Environment (Recommended) .. code-block:: console
# Create virtual environment $ python -m venv jdxi-editor-env
# Activate virtual environment # On macOS/Linux: $ source jdxi-editor-env/bin/activate # On Windows: $ jdxi-editor-envScriptsactivate
Install JDXI-Editor .. code-block:: console
# Install from PyPI (when available) $ pip install jdxi-editor
# Or install from GitHub $ pip install git+https://github.com/markxbrooks/JDXI-Editor.git
Run the Application .. code-block:: console
# Launch JDXI-Editor $ python -m jdxi_editor.main
# Or use the command-line interface $ jdxi_manager
- Dependencies
The following packages will be automatically installed: - PySide6 (Qt6 framework) - python-rtmidi (MIDI communication) - mido (MIDI message handling) - Pillow (image processing) - QtAwesome (icons) - Additional dependencies as needed
Method 3: Source Code Installation
For users who want to install from source code, modify the application, or get the latest development features.
- Prerequisites
Python 3.8 or higher
Git (for cloning the repository)
Development tools for your platform
Installation Steps
Clone the Repository .. code-block:: console
# Clone the repository $ git clone https://github.com/markxbrooks/JDXI-Editor.git $ cd JDXI-Editor
Create Virtual Environment .. code-block:: console
# Create virtual environment $ python -m venv venv
# Activate virtual environment # On macOS/Linux: $ source venv/bin/activate # On Windows: $ venvScriptsactivate
Install Dependencies .. code-block:: console
# Upgrade pip $ python -m pip install –upgrade pip
# Install requirements $ pip install -r requirements.txt
Install in Development Mode .. code-block:: console
# Install in editable mode $ pip install -e .
Run the Application .. code-block:: console
# Launch JDXI-Editor $ python -m jdxi_editor.main
- Source Code Structure
The source code is organized as follows: -
jdxi_editor/: Main application code -doc/: Documentation source files -tests/: Test suite -resources/: Application resources and assets -requirements.txt: Python dependencies -pyproject.toml: Project configuration
Method 4: Development Setup
For developers who want to contribute to JDXI-Editor or work on advanced features.
- Prerequisites
Python 3.8 or higher
Git
Development tools for your platform
Optional: IDE (VS Code, PyCharm, etc.)
Development Installation
Fork and Clone Repository .. code-block:: console
# Fork the repository on GitHub, then clone your fork $ git clone https://github.com/YOUR_USERNAME/JDXI-Editor.git $ cd JDXI-Editor
# Add upstream remote $ git remote add upstream https://github.com/markxbrooks/JDXI-Editor.git
Set Up Development Environment .. code-block:: console
# Create virtual environment $ python -m venv venv $ source venv/bin/activate # On Windows: venvScriptsactivate
# Install development dependencies $ pip install -r requirements.txt $ pip install -r requirements-dev.txt # If available
# Install pre-commit hooks (if available) $ pre-commit install
Run Tests .. code-block:: console
# Run the test suite $ pytest
# Run with coverage $ pytest –cov=jdxi_editor
Build Documentation .. code-block:: console
# Install documentation dependencies $ pip install sphinx sphinx-rtd-theme sphinx-autoapi
# Build documentation $ cd doc $ sphinx-build -b html . _build/html
- Development Tools
Code Formatting: Black, isort
Linting: flake8, mypy
Testing: pytest
Documentation: Sphinx
Type Checking: mypy
Post-Installation Setup
- First Launch
Connect Your JD-Xi: Use a USB cable to connect your synthesizer to your computer
Launch JDXI-Editor: Start the application using your preferred method
MIDI Configuration: The app will attempt to auto-connect to your JD-Xi
Verify Connection: Check that MIDI indicators show active input/output
- MIDI Configuration
If auto-connection fails: 1. Open MIDI Settings: Go to the MIDI configuration dialog 2. Select Ports: Choose the correct input and output ports for your JD-Xi 3. Test Connection: Verify that MIDI communication is working 4. Save Settings: Your preferences will be remembered for future launches
- Initial Setup
Load a Preset: Start with a factory preset to familiarize yourself with the interface
Explore Editors: Try different editor tabs to understand the capabilities
Test Controls: Use the virtual keyboard to test parameter changes
Save Your Work: Create and save your first custom preset
Troubleshooting
Common Installation Issues
- macOS Issues
“App is damaged”: Right-click the app and select “Open” to bypass Gatekeeper
Permission denied: Check System Preferences > Security & Privacy
MIDI not working: Ensure your JD-Xi is connected and powered on
- Windows Issues
Missing DLLs: Install Visual C++ Redistributable
Antivirus blocking: Add JDXI-Editor to your antivirus exceptions
MIDI not detected: Check Device Manager for MIDI devices
- Linux Issues
AppImage won’t run: Install FUSE:
sudo apt install fuseMIDI permissions: Add your user to the audio group:
sudo usermod -a -G audio $USERQt issues: Install Qt5 libraries:
sudo apt install qt5-default
- Python Installation Issues
Permission denied: Use
--userflag:pip install --user jdxi-editorVirtual environment issues: Ensure you’re using Python 3.8+
Dependency conflicts: Use a fresh virtual environment
- MIDI Connection Issues
No MIDI devices found: Check USB connection and JD-Xi power
MIDI not responding: Try different USB ports or cables
Latency issues: Check your system’s audio/MIDI settings
- Performance Issues
Slow response: Close other MIDI applications
High CPU usage: Check for background processes
Memory issues: Ensure you have at least 4GB RAM available
Getting Help
- Documentation
User Guide: Complete documentation in the
doc/directoryAPI Reference: Auto-generated API documentation
Video Tutorials: Available on the project’s YouTube channel
- Community Support
GitHub Issues: Report bugs and request features
Discussions: Community discussions and Q&A
Discord: Real-time community chat (if available)
- Professional Support
Email Support: Contact the development team
Custom Development: Request custom features or modifications
Training: Professional training and workshops
- System Information
When reporting issues, please include: - Operating system and version - Python version (if applicable) - JDXI-Editor version - JD-Xi firmware version - Error messages or logs - Steps to reproduce the issue
The JDXI-Editor installation process is designed to be as smooth as possible, with multiple installation methods to suit different user needs and technical comfort levels. Choose the method that works best for you, and don’t hesitate to reach out for help if you encounter any issues!