- New user? Read the intro page to learn more about the project!
- You can get the latest releases from our downloads page.
- You can report bugs or suggest features on our issue tracker, or discuss ideas on the discussions forum
- You can translate the project into your language.
- Join the Discord community
- Development help is very welcome! If you're interested in contributing, the issue tracker has a list of good first issues that are easier to dive into!
- Feel free to ask development-related questions on the discussions page or on Discord
- See below for instructions on how to compile and run the project:
- CMake >= 3.12
- Boost >= 1.65
- algorithm
- date_time
- endian
- functional
- iostreams
- operators
- range
- rational
- signals2
- stacktrace
- Qt >= 5.10 version or greater
- nlohmann-json >= 3.7.3
- RtMidi
- pugixml
- minizip
- doctest
- (Linux only) - ALSA library (e.g.
libasound2-dev
) - (Linux only) - MIDI sequencer (e.g.
timidity-daemon
) - A compiler with C++17 support.
- Install Git - see https://help.github.com/articles/set-up-git
- Install vcpkg and run
vcpkg install --triplet x64-windows boost-algorithm boost-date-time boost-endian boost-functional boost-iostreams boost-range boost-rational boost-signals2 boost-stacktrace doctest minizip nlohmann-json pugixml
to install dependencies. - Install Qt by running
vcpkg install --triplet x64-windows qt5-base qt5-tools
(this may take a while), or install a binary release from the Qt website or https://github.com/miurahr/aqtinstall. - Open the project folder in Visual Studio and build.
- If running CMake manually, set
CMAKE_TOOLCHAIN_FILE
to[vcpkg root]\scripts\buildsystems\vcpkg.cmake
).
- If running CMake manually, set
- These instructions assume a recent Ubuntu/Debian-based system, but the package names should be similar for other package managers.
- Install dependencies:
sudo apt update
sudo apt install cmake qtbase5-dev qttools5-dev libboost-dev libboost-date-time-dev libboost-iostreams-dev nlohmann-json3-dev libasound2-dev librtmidi-dev libpugixml-dev libminizip-dev doctest-dev
sudo apt-get install timidity-daemon
- timidity is not required for building, but is a good sequencer for MIDI playback.- Optionally, use Ninja instead of
make
(sudo apt install ninja-build
)
- Build:
mkdir build && cd build
cmake ..
- Add
-DCMAKE_INSTALL_PREFIX=/some/path
to customize the install directory. - Add
-DCMAKE_BUILD_TYPE=Debug
for a debug build instead of aRelease
build. - Add
-DCMAKE_CXX_COMPILER=clang++
to compile with Clang. - Add
-G Ninja
to generate Ninja build files.
- Add
make -j8
orninja
- Run:
./bin/powertabeditor
./bin/pte_tests
to run the unit tests.
- Install:
make install
orninja install
- Install Xcode along with its Command Line Tools.
- Install dependencies:
brew install boost cmake doctest minizip ninja nlohmann-json pugixml qt5 pugixml rtmidi
- Build:
mkdir build && cd build
cmake -G Ninja -DCMAKE_BUILD_TYPE=Debug -DCMAKE_PREFIX_PATH=/usr/local/opt/qt5/lib/cmake ..
- To generate an Xcode project, switch to
-G Xcode
and then open and buildbuild/powertabeditor.xcodeproj
- To generate an Xcode project, switch to
ninja
- Run:
open ./bin/Power\ Tab\ Editor.app
./bin/pte_tests
to run the unit tests.- For Xcode, select
Product/Scheme/powertabeditor
and thenProduct/Run
.