projectM Android - Maven Repository

This repository hosts Android AAR packages for projectM, the music visualizer library. It provides tagged releases and daily snapshots for the master and v4.1.x branches.

This is an experimental repository that is not guaranteed to stay available forever. If there is interest, we can gladly discuss migrating it to an official Maven repository or transferring it to the ProjectM project.

📦 Installation

Step 1: Add the repository

Add this repository to your project's settings.gradle.kts (Kotlin DSL):

dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
        maven {
            url = uri("https://protyposis.github.io/projectm-android-builds/")
        }
    }
}

Or in settings.gradle (Groovy):

dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
        maven {
            url 'https://protyposis.github.io/projectm-android-builds/'
        }
    }
}

Step 2: Add the dependency

Add the projectM Android library to your app's build.gradle.kts (Kotlin DSL):

android {
    buildFeatures {
        prefab true
    }
}

dependencies {
    implementation("net.protyposis.projectm-unofficial:projectm-android:VERSION_PLACEHOLDER")
}

Or in build.gradle (Groovy):

android {
    buildFeatures {
        prefab = true
    }
}

dependencies {
    implementation 'net.protyposis.projectm-unofficial:projectm-android:VERSION_PLACEHOLDER'
}

🚀 Usage

The library is bundled as a Prefab package. Prefab automatically provides the correct library variant (debug/release), exposes header files, and handles ABI-specific library selection.

Load it in your native Android application:

// CMakeLists.txt
find_package(projectm-android REQUIRED CONFIG)

target_link_libraries(${CMAKE_PROJECT_NAME} 
        projectm-android::projectM-4 
        projectm-android::projectM-4-playlist)

Then call it from your native code:

// program.cpp
#include <projectM-4/projectM.h>
#include <projectM-4/playlist.h>

projectm_handle instance = projectm_create();
projectm_playlist_handle playlist = projectm_playlist_create(instance);

📋 Available Versions

Browse the maven repository to see all available versions.

🔗 Links

📄 License

projectM is licensed under the GNU Lesser General Public License v2.1.


Generated automatically by GitHub Actions