Giter VIP home page Giter VIP logo

midivisualizer-dependencies's Introduction

Dependencies for MIDIVisualizer

This repository is used for the automatic deployement of MIDIVisualizer.
Large binary dependencies are stored as artifacts of a release.
The repository itself contains the configurations used to generate these binaries.

Current dependencies:

  • FFMPEG, static, LGPL2-only

Instructions

FFMPEG

FFMPEG is built as a set of static libraries using vcpkg on Windows, macOS and Ubuntu, with modified settings. We generate the LGPL2 version of the library with hardware encoders from Intel and Nvidia disabled, and with no debug symboles. The generated FindFFMPEG.cmake is designed specifically for use in MIDIVisualizer.

  • Install yasm:
    • Windows: TBA
    • macOS: use Homebrew with brew install yasm
    • Ubuntu: use sudo apt-get install yasm
  • Install vcpkg by cloning https://github.com/microsoft/vcpkg.git (commit used: f4bd64233ae875b6b3315fe4fab279335a6adf2b).
  • Install the recommended dependencies and setup vcpkg by running vcpkg/bootstrap-vcpkg.{sh, bat}.
  • Replace the content of vcpkg/ports/ffmpeg by the content from the ffmpeg directory in this repository.
  • For macOS, add the file x64-osx-10-12.cmake from this repository to the vcpkg/triplets/ directory.
  • Build FFMPEG has a set of static libraries for a 64 bits platform:
    • Windows: vcpkg install ffmpeg:x64-windows-static
    • macOS: vcpkg install ffmpeg:x64-osx-10-12
    • Ubuntu: vcpkg install ffmpeg:x64-linux
  • Export the generated libraries and headers:
    • Windows: vcpkg export ffmpeg:x64-windows-static --raw
    • macOS: vcpkg export ffmpeg:x64-osx-10-12 --raw
    • Ubuntu: vcpkg export ffmpeg:x64-linux --raw
  • This will put the generate package in vcpkg-export-....
  • Copy vcpkg-export-.../installed/x64-.../{include, lib, share} to a ffmpeg directory.
  • Zip the directory, using the following output name:
    • Windows: ffmpeg-windows-64-static-lgpl.zip
    • macOS: ffmpeg-osx-64-static-lgpl.zip
    • Ubuntu : ffmpeg-ubuntu20-64-static-lgpl.zip or ffmpeg-ubuntu18-64-static-lgpl.zip depending on the version
  • Upload these files in a release on this repository.

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.