/powertabeditor

A guitar tablature editor.

Primary LanguageC++GNU General Public License v3.0GPL-3.0

Power Tab Editor

Build Status

Users

Developers

Dependencies:

  • CMake >= 3.12
  • Boost >= 1.65
    • algorithm
    • date_time
    • endian
    • filesystem
    • functional
    • iostreams
    • operators
    • program_options
    • range
    • rational
    • scope_exit
    • signals2
    • stacktrace
  • Qt >= 5.9 version or greater
  • RapidJSON
  • RtMidi
  • pugixml
  • Catch2
  • (Linux only) - ALSA library (e.g. libasound2-dev)
  • (Linux only) - MIDI sequencer (e.g. timidity)
  • A compiler with C++17 support.

Windows:

  • 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-filesystem boost-functional boost-iostreams boost-program-options boost-range boost-rational boost-scope-exit boost-signals2 boost-stacktrace catch2 pugixml rapidjson rtmidi to install dependencies.
  • Install Qt by running vcpkg install --triplet x64-windows qt5-base (this may take a while), or install a binary release from the Qt website.
  • Open the project folder in Visual Studio and build.
    • If running CMake manually, set CMAKE_TOOLCHAIN_FILE to [vcpkg root]\scripts\buildsystems\vcpkg.cmake).

Linux:

  • 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 libboost-dev libboost-date-time-dev libboost-filesystem-dev libboost-iostreams-dev libboost-program-options-dev rapidjson-dev libasound2-dev librtmidi-dev libpugixml-dev
    • Install Catch2 if building the tests. Some distributions do not have a package for this yet, but it can be installed manually (single header) or via e.g. vcpkg.
    • sudo apt-get install timidity - 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 a Release build.
      • Add -DCMAKE_CXX_COMPILER=clang++ to compile with Clang.
      • Add -G Ninja to generate Ninja build files.
    • make -j8 or ninja
  • Run:
    • ./bin/powertabeditor
    • ./bin/pte_tests to run the unit tests.
  • Install:
    • make install or ninja install

OS X:

  • Install Xcode along with its Command Line Tools.
  • Install dependencies:
    • brew install boost cmake catch2 ninja pugixml qt5 pugixml rapidjson 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 build build/powertabeditor.xcodeproj
    • ninja
  • Run:
    • open ./bin/Power\ Tab\ Editor.app
    • ./bin/pte_tests to run the unit tests.
    • For Xcode, select Product/Scheme/powertabeditor and then Product/Run.