Giter VIP home page Giter VIP logo

powertabeditor's Introduction

Power Tab Editor

Build Status Build status GitHub release

Users

Developers

Getting the code:

If you're using GitHub for Windows, just use the "Clone in Desktop" button.

Otherwise, make sure to use git clone --recursive to initialize submodules in the external folder:

git clone --recursive git://github.com/powertab/powertabeditor.git

If you've already cloned the repository, you can run git submodule init && git submodule update.

Dependencies:

  • CMake >= 2.8.9
  • Boost 1.55 or greater
    • Earlier versions may work, but are currently untested
  • Qt 5.x
    • If you are compiling with Clang, Qt 5.2 or higher is required.
  • zlib
  • (Linux only) - ALSA library (e.g. libasound2-dev)
  • (Linux only) - MIDI sequencer (e.g. timidity)
  • (Linux only) - libbfd (e.g. binutils-dev)
  • A compiler with C++11 support (gcc 4.8+, Clang, VS 2013)

Windows:

  • Install Git - see https://help.github.com/articles/set-up-git
  • Building Boost:
    • Download and extract Boost 1.56 to C:\Program Files\boost\boost_1_56_0.
    • Download and extract zlib to any directory. However, the path must not contain any spaces.
    • Open a command prompt (e.g. VS2013 x64 Native Tools Command Prompt) and navigate to the Boost directory.
    • Run bootstrap and then b2 -s ZLIB_SOURCE=/path/to/zlib link=shared address-model=64 variant=debug,release.
      • Use address-model=32 for a 32-bit build.
      • If building both 32-bit and 64-bit versions, use --stagedir=stage32 to place the 32-bit versions under a different directory (stage32/lib instead of stage/lib), and set BOOST_LIBRARYDIR accordingly when running CMake.
  • Installing Qt:
  • Compiling Qt (optional):
    • You may want to do this instead if you intend on building the installer so that Qt can be built without dependencies on huge libraries such as icu.
    • Download and extract the source code.
    • If necessary, install Python 2.7.x and add it to your PATH.
    • Open a command prompt (e.g. VS2013 x64 Native Tools Command Prompt) and navigate to the Qt source directory.
    • Run configure -opensource -nomake examples -nomake tests -skip qtwebkit -skip qtwebengine -skip qtconnectivity -skip qtandroidextras -skip qtlocation -skip qtscript -opengl desktop -debug-and-release -mp -no-icu -c++11 -prefix C:\Qt\5.4.1 and accept the license agreement.
    • Run nmake and nmake install and grab a cup of coffee ...
  • Install and open CMake, and browse to select the location of the root directory (e.g. $HOME/Documents/GitHub/powertabeditor).
  • Set the build directory to $HOME/Documents/GitHub/powertabeditor/build.
  • Use the "Add Entry" button to set the STRING CMAKE_PREFIX_PATH to the cmake directory inside Qt's installation directory (e.g. C:\Qt\5.4.1\lib\cmake)
  • For Windows XP support, set CMAKE_GENERATOR_TOOLSET to v120_xp.
  • Press Configure and select your compiler version (e.g. Visual Studio 12 Win64, or Visual Studio 12 for a 32-bit build) and then press Generate
  • Open the resulting solution (powertabeditor.sln) and select Build Solution from the Build menu.
  • Right-click on the powertabeditor project and select "Set as Startup Project" before running.

Linux:

  • These instructions assume a recent Ubuntu/Debian-based system, but the package names should be similar for other package managers.
    • For older Ubuntu systems (such as Ubuntu 12.04) - you may need to add some PPAs to get updated versions of the dependencies.
  • Install dependencies:
    • sudo apt-get update
    • sudo apt-get install cmake qtbase5-dev libboost1.55-dev libboost-date-time1.55-dev libboost-iostreams1.55-dev libboost-program-options1.55-dev libboost-regex1.55-dev libasound2-dev timidity
    • Optionally, use Ninja instead of make (sudo apt-get install ninja-build)
  • Build:
    • mkdir build && cd build
    • cmake ..
      • 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.

OS X:

  • Currently tested with Mac OS X 10.9.2 only.
  • Install Xcode along with its Command Line Tools.
  • Install CMake, Qt 5.2+, and Boost
  • Build (adapt paths to your setup) in source/ directory
    • export CC=/usr/bin/clang
    • export CXX=/usr/bin/clang++
    • export Qt5Widgets_DIR=<PATH_TO_Qt>/clang_64/lib/cmake/Qt5Widgets
    • export Qt5Core_DIR=<PATH_TO_Qt>/clang_64/lib/cmake/Qt5Core
    • export BOOST_ROOT=/usr/local/Cellar/boost/1.55.0_1
    • export BOOST_LIBRARY_DIR=/usr/local/Cellar/boost/1.55.0_1/lib
    • export CMAKE_LIBRARY_PATH="/usr/local/Cellar/boost/1.55.0_1/lib:$CMAKE_LIBRARY_PATH"
    • cmake ..
    • make
  • Run:
    • ./bin/powertabeditor
    • ./bin/pte_tests to run the unit tests.

powertabeditor's People

Contributors

cameronwhite avatar danieleds avatar rhochreiter avatar

Watchers

 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.