Coder Social home page Coder Social logo

vuvuvu / blocks-sdk Goto Github PK

View Code? Open in Web Editor NEW

This project forked from weareroli/blocks-sdk

0.0 0.0 0.0 13.78 MB

The BLOCKS software development kit

C 6.52% Makefile 0.02% C++ 89.78% Objective-C++ 2.23% Java 1.11% Objective-C 0.28% CMake 0.05%

blocks-sdk's Introduction

The BLOCKS SDK

Overview

This repository contains the source code of the BLOCKS SDK, which is licensed under the permissive ISC license.

Much more comprehensive documentation can be found at https://weareroli.github.io/BLOCKS-SDK/.

The SDK directory contains the source code required to compile a library containing the BLOCKS SDK functionality. In the SDK/Build directory you will find an Xcode project, a Visual Studio solution and a Linux Makefile which are configured to create a static library on the macOS, Windows and Linux platforms respectively. Simply use the one appropriate for your system. Once you have created this library you can access BLOCKS functionality by linking this library into your application and #include-ing the provided header file, BlocksHeader.h.

The examples directory contains some sample code which uses the BLOCKS SDK library. Here we again provide an Xcode project, a Visual Studio solution and a Linux Makefile to allow the examples to be built on the corresponding platform. The Xcode project and Visual Studio solution compile the BLOCKS SDK library automatically, whereas the Linux Makefile requires the BLOCKS SDK library to be manually built first.

Quick start guide

macOS with Xcode

Open examples/BlockFinder/MacOS/BlockFinder.xcodeproj with Xcode and compile and execute the example application. This will both create the BLOCKS SDK library and provide a very simple demonstration of how to use it. Use this as a base to develop your own BLOCKS creation!

Windows with Visual Studio

Use the same procedure as macOS, but instead open examples/BlockFinder/Windows/BlockFinder.vcxproj.

Linux

Use the following procedure to compile the demo app:

cd SDK/Build/Linux
make
cd ../../../examples/BlockFinder/Linux/
make

This will produce the executable BlockFinder in the Debug directory.

Using the SDK library

Compiling the library

The source code for the BLOCKS SDK library is contained within the SDK directory of this repository. Here you will find header files that you can include in your own projects and the Build subdirectory contains an Xcode project, a Visual Studio project and a Linux Makefile for compiling the SDK source code into a static library. Use the appropriate choice for your platform, select either the "Debug" or "Release" configuration, and build the project.

For macOS this will produce libBLOCKS-SDK.a in either the SDK/Build/MacOS/Debug/ or SDK/Build/MacOS/Release/ directory, for Linux this will produce libBLOCKS-SDK.a in either the SDK/Build/Linux/Debug/ or SDK/Build/Linux/Release/ directory, and for Windows this will produce BLOCKS-SDK.lib in either the SDK\Build\Windows\x64\Debug or SDK\Build\Windows\x64\Release folder.

Using the SDK header file

To use BLOCKS classes and functions in your application you must include the BlocksHeader.h file in your source code. You also need to tell the compiler to look in the SDK directory for additional header files, which you can configure inside your Xcode or Visual Studio project. If you are using the command line to compile your application then you can see an example of how to do this in examples/BlockFinder/Linux/Makefile or examples/BlockFinder/MacOS/Makefile.

Linking against the SDK library

You must also tell your compiler where to find the SDK static library before your BLOCKS application will compile, and include all of the dependencies for your platform, which are listed in the Dependencies section of this README. Again, this is configured in your Xcode or Visual Studio project, but if you are using the command line you can see an example of how to do this in examples/BlockFinder/Linux/Makefile or examples/BlockFinder/MacOS/Makefile.

Dependencies

  • A C++17 compatible compiler

macOS frameworks

  • Accelerate
  • AudioToolbox
  • CoreAudio
  • CoreMIDI

Linux packages

  • x11
  • alsa
  • libcurl

blocks-sdk's People

Contributors

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