Giter Site home page Giter Site logo

pd-for-android's Introduction

Download Release Build

Join the chat at https://gitter.im/libpd/pd-for-android - Try the chat for problems with setting up the library to work with your app

StackOverflow - For questions regarding libpd

How to use the library

Make sure you have JCenter in your repositories:

allprojects {
    repositories {
        jcenter()
        // ... other repositories
    }
}

Add the dependency to your app:

dependencies {
    implementation 'org.puredata.android:pd-core:1.2.1-rc1'
    
    // ... other dependencies
}

Please note that pd-for-android depends on the vanilla version of Pure Data. Currently this is Pure Data vanilla version 0.51-3. You can get desktop distributions of it here: http://msp.ucsd.edu/software.html

If you're building the patch for your app using the extended distribution of Pure Data, or any other distribution that is not vanilla, you should be careful not to use PD objects that are not part of the vanilla distribution, because these will not work with libpd out of the box. It is however possible to add PD externals to your pd-for-android app. For a simple example as to how this could be done see the PdTest app in this repository, specifically the jni folder and the build.gradle file. If you take this path, you'll need to clone this repository and use it as the base folder for your app, similar to the way described in the following section on creating an .aar file.

How to create an .aar file of pd-for-android

Using the terminal

  1. Clone this repository
  2. Go to the repository folder:
cd pd-for-android
  1. Initialize and udpate the git submodules:
git submodule sync --recursive
git submodule update --init --recursive
  1. Install dependencies and assemble the release: (Note: Windows users should run gradlew)
./gradlew androidDependencies
./gradlew clean assembleRelease

Now you have your PdCore .aar file in the folder PdCore/build/outputs/aar

Using Android Studio

  1. Install Android Studio
  2. Make sure the Android SDK and NDK tools are installed and that Android Studio is properly configured to use them
  3. Clone and initialize this repository as per steps 1-3 above
  4. Create a new Android Studio project by importing settings.gradle from the pd-for-android root folder: File > New > Import Project...
  5. Open the Gradle Toolbar and run the task assembleRelease in the project :PdCore

How to update PdCore module to use latest libpd version

  1. From the project root folder, step into the libpd submodule folder: cd PdCore/src/main/jni/libpd
  2. Update the libpd submodule to the latest commit by running: git fetch && git checkout origin/master
  3. Step back to the project root folder and run git submodule update --init --recursive
  4. Test that the PdTest app builds and runs correctly. This can be done by importing the project in Android Studio and running a clean build ('Build' > 'Rebuild Project', run PdTest).

pd-for-android's People

Contributors

nettoyeurny avatar tkirshboim avatar joebowbeer avatar eighthave avatar chr15m avatar jamesnitsch avatar residuum avatar

Watchers

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