A cross-platform Qt6 application suite for configuring the SoftStep MIDI foot controller hardware. This editor provides both Basic and Advanced interfaces for customizing MIDI mappings, adjusting sensitivity, updating firmware, and managing presets for the SoftStep device.
- Dual Interface Options: Basic editor for simple configurations, Advanced editor for complex setups
- MIDI Configuration: Customize MIDI CC mappings, channels, and velocity curves for all SoftStep controls
- Preset Management: Save, load, and organize custom presets
- Firmware Updates: Update SoftStep firmware directly through the editor
- Hardware Testing: Test pad sensitivity and foot switch responsiveness
- Cross-Platform: Supports Windows, macOS (Intel/Apple Silicon), and possibly Linux
- Template Library: Includes templates for popular DAWs and performance setups
- Qt 6.3.2 or later (Qt 6.9.2 recommended)
- Windows: Windows 10 or later
- macOS: macOS 10.15 (Catalina) or later
- Linux: ALSA-compatible system
- Qt6 development environment
- C++ compiler with C++17 support
- Platform-specific MIDI libraries (automatically linked)
- Install Qt 6.3.2 or compatible version
- Clone this repository with submodules:
git clone --recursive <repository-url> cd SoftStep
- Ensure you have the required development tools for your platform
# Build Basic Editor
cd basic-editor-directory
qmake SoftStep_Basic.pro
make
# Build Advanced Editor
cd advanced-editor-directory
qmake SoftStep_Advanced.pro
make
# For deployment builds (Windows installer creation)
make deployNote: The make deploy step is required for Windows deployment and installer creation when DEPLOY=1 is set in the .pro files.
- Open the Basic editor
.profile in Qt Creator - Configure your kit for the target platform
- Build the project
- Repeat for Advanced editor
The project includes an automated Windows deployment system that creates signed installers for both Basic and Advanced editors.
- Windows SDK (for signtool.exe)
- Qt Installer Framework (QtIFW)
- Code signing certificate configured in Windows certificate store
- Open Basic Editor project (
softstepezpz.pro) and update VERSION variable - Delete all executables in the release build directory
- Add deploy build step in Qt Creator Projects tab:
- Add "Make" step with target:
deploy
- Add "Make" step with target:
- Build console version:
- Comment
DEPLOY = 1line - Uncomment
BUILD_CONSOLE = 1line - Build project
- Rename executable from
"SoftStep Basic Editor.exe"to"SoftStep Basic Editor (debug console).exe"
- Comment
- Build release version:
- Comment
BUILD_CONSOLE = 1line - Uncomment
DEPLOY = 1line - Build project (triggers deployment process)
- Comment
- Open Advanced Editor project (
SoftStepAdvanced.pro) and update VERSION variable - Delete all executables in the release build directory
- Add deploy build step in Qt Creator Projects tab:
- Add "Make" step with target:
deploy
- Add "Make" step with target:
- Build console version:
- Comment
DEPLOY = 1line - Uncomment
BUILD_CONSOLE = 1line - Build project
- Rename executable from
"SoftStep Advanced Editor.exe"to"SoftStep Advanced Editor (debug console).exe"
- Comment
- Build release version:
- Comment
BUILD_CONSOLE = 1line - Uncomment
DEPLOY = 1line - Build project (creates final installer)
- Comment
The Advanced editor deployment process will:
- Copy both Basic and Advanced executables to installer package
- Run
windeployqtto include Qt dependencies - Sign both executables with your certificate
- Copy changelog and Content directory to installer package
- Create and sign the final installer using Qt Installer Framework
macOS deployment creates universal binaries for both Intel and Apple Silicon.
- Apple Developer account and certificates
- Environment variables configured:
export DEVELOPER_ID="Developer ID Application: Your Name (TEAMID)" export APPLE_KEYCHAIN_PROFILE="YourKeychainProfile" export APPLE_TEAM_ID="TEAMID" export APPLE_ID="your-apple-id@email.com" export APPLE_APP_PASSWORD="app-specific-password"
- Build both Basic and Advanced applications in Qt Creator
- Navigate to the signing directory:
cd "Signing and Notarization"
- Run the deployment script:
./SoftStep\ -\ build\ sign\ package\ mac\ qt6\ universal.sh
The script will:
- Create universal binaries for both editors (Intel + Apple Silicon)
- Sign both applications with your Developer ID
- Create DMG installers
- Notarize the packages with Apple
- Provide ready-to-distribute signed packages
SoftStep/
├── [Basic Editor Directory]/ # Basic SoftStep Editor Qt project
├── [Advanced Editor Directory]/ # Advanced SoftStep Editor Qt project
├── shared/ # Shared libraries and components
│ ├── KMI_Ports/ # KMI device communication (submodule)
│ ├── KMI_MDM/ # MIDI Device Manager (submodule)
│ ├── rtmidi/ # RtMidi library (submodule)
│ └── KMI_Updates/ # Update system (submodule)
├── Content/ # Application content and resources
│ ├── Documentation/ # User manuals and guides
│ ├── Presets/ # Factory presets
│ └── Templates/ # Performance templates
└── Signing and Notarization/ # macOS deployment scripts
Pull requests are welcome! However, all updates should be thoroughly tested with actual SoftStep hardware on both macOS and Windows platforms before submission.
- Test all MIDI functionality with connected SoftStep hardware
- Verify preset loading/saving works correctly in both editors
- Test firmware update process (if applicable)
- Ensure UI responsiveness across different screen sizes
- Validate on both macOS and Windows
- Test both Basic and Advanced editor functionality
Contributors need access to SoftStep hardware for testing. If you're interested in contributing but don't have hardware access, you can contact us about discount hardware availability:
Email: contact@musekinetics.com
SoftStep3 is currently available for sale through Muse Kinetics with a one year warranty that includes customer support, however this source code is provided as-is with no warranty. For product support please visit https://support.musekinetics.coml. For feature requests, or bug reports, please create an issue in this repository and encourage other open source developers to assist you.
The SoftStep Advanced and Basic editors are distributed under the Mozilla Public License 2.0 (MPL-2.0). You may use, modify, and redistribute the source as long as each modified source file continues to carry the MPL notice and the file is made available under the MPL. See LICENSE for the complete terms.
Unless otherwise noted, all contributions are accepted under the MPL-2.0 with the header:
// Copyright (c) 2025 KMI Music, Inc.
// This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
// If a copy of the MPL was not distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/.
This application is built using the Qt framework, which is available under the GNU Lesser General Public License (LGPL) v3.
- Qt Website: https://www.qt.io/
- Qt Open Source License: LGPL v3
- Qt Source Code: https://www.qt.io/download-open-source
- Qt License Details: https://www.qt.io/licensing/open-source-lgpl-obligations
The SoftStep Editor applications dynamically link with Qt libraries and do not modify the Qt framework source code. Users have the right to obtain, modify, and redistribute the Qt libraries under the terms of the LGPL v3 license.
The Qt framework is licensed under LGPL v3, which allows:
- Use in both open source and commercial applications
- Dynamic linking without affecting your application's license
- Distribution of Qt libraries alongside your application
For complete LGPL v3 license terms, see: https://www.gnu.org/licenses/lgpl-3.0.html
See CHANGELOG.md for detailed version history and release notes.