Git Product home page Git Product logo

powertabeditor's Introduction

Power Tab Editor

Build Status

Translation status

Get it from the Snap Store Download on Flathub

Users

Developers

  • 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:

Dependencies:

  • 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.

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-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).

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 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 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 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 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.

powertabeditor's People

Contributors

cameronwhite avatar nbrunett avatar dontbelieveme avatar mostafa-nabil avatar psyomn avatar danailbd avatar weblate avatar noriapi avatar fitojb avatar dependabot[bot] avatar iceseyes avatar danieleds avatar brunosilvano avatar eb4x avatar badmoons avatar jlearman avatar nathanbnm avatar rhochreiter avatar aaly11 avatar albanobattistella avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.