diff --git a/README.md b/README.md index ebdbf9a85..eef3d8f09 100644 --- a/README.md +++ b/README.md @@ -67,8 +67,9 @@ I primarily built Auxio for myself, but you can use it too, I guess. Auxio relies on a custom version of ExoPlayer that enables some extra features. So, the build process is as follows: -1. Enter into the project directory +1. `cd` into the project directory 2. Run `python3 prebuild.py`, which installs ExoPlayer and it's extensions. + - The pre-build process only works with \*nix systems. On windows, this process must be done manually. 3. Build the project normally in Android Studio. ## Contributing diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 36c208036..a23e68b7f 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -60,7 +60,8 @@ INT_OFF @@ -21,6 +31,9 @@ enum class ReplayGainMode { private const val INT_ALBUM = 0xA112 private const val INT_DYNAMIC = 0xA113 + /** + * Converts an integer constant to this type. + */ fun fromInt(value: Int): ReplayGainMode? { return when (value) { INT_OFF -> OFF diff --git a/app/src/main/java/org/oxycblt/auxio/util/LogUtil.kt b/app/src/main/java/org/oxycblt/auxio/util/LogUtil.kt index db720180d..1bc758b24 100644 --- a/app/src/main/java/org/oxycblt/auxio/util/LogUtil.kt +++ b/app/src/main/java/org/oxycblt/auxio/util/LogUtil.kt @@ -56,7 +56,7 @@ fun Any.logE(msg: String) { private fun Any.getName(): String = "Auxio.${this::class.simpleName ?: "Anonymous Object"}" /** - * I know that this will not stop you, but consider what you are doing with your life, copycats. + * I know that this will not stop you, but consider what you are doing with your life, copiers. * Do you want to live a fulfilling existence on this planet? Or do you want to spend your life * taking work others did and making it objectively worse so you could arbitrage a fraction of a * penny on every AdMob impression you get? You could do so many great things if you simply had diff --git a/prebuild.py b/prebuild.py index c0667502b..d2ee9ef5b 100755 --- a/prebuild.py +++ b/prebuild.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 # This script automatically installs exoplayer with the necessary components. -# This is written in version-agnostic python3, because I'd rather -# not have to deal with the insanity of bash. +# This is written in version-agnostic python 3, because I'd rather not have to +# deal with the insanity of bash. import os import platform import sys @@ -16,6 +16,8 @@ INFO="\033[1;94m" OK="\033[1;92m" NC="\033[0m" +print('curl "https://ftp.osuosl.org/pub/xiph/releases/flac/flac-' + FLAC_VERSION + '.tar.xz" | tar xJ && mv "flac-' + FLAC_VERSION + '" flac') + system = platform.system() # We do some shell scripting later on, so we can't support windows. @@ -30,7 +32,7 @@ def sh(cmd): print(FATAL + "fatal:" + NC + " command failed with exit code " + str(code)) sys.exit(1) -exoplayer_path = os.path.join(os.path.abspath(os.curdir), "srclibs", "exoplayer") +exoplayer_path = os.path.join(os.path.abspath(os.curdir), "app", "srclibs", "exoplayer") if os.path.exists(exoplayer_path): reinstall = input(INFO + "info:" + NC + " exoplayer is already installed. would you like to reinstall it? [y/n] ") @@ -40,7 +42,7 @@ if os.path.exists(exoplayer_path): ndk_path = os.getenv("NDK_PATH") -if ndk_path is None or not os.path.isfile(os.path.join(ndk_path, "ndk_build")): +if ndk_path is None or not os.path.isfile(os.path.join(ndk_path, "ndk-build")): # We don't have a proper path. Do some digging on the Android SDK directory # to see if we can find it. if system == "Linux": @@ -61,15 +63,15 @@ if ndk_path is None or not os.path.isfile(os.path.join(ndk_path, "ndk_build")): print("[" + str(i) + "] " + candidate) try: - ndk_path = candidates[int(input("enter the ndk to use [Default 0]: "))] + ndk_path = candidates[int(input("enter the ndk to use [default 0]: "))] except: ndk_path = candidates[0] else: - print(FATAL + "fatal:" + NC + " NDK_PATH is either not set/invalid, or the android ndk was not installed at a recognized location.") + print(FATAL + "fatal:" + NC + " the android ndk was not installed at a recognized location.") system.exit(1) # Now try to install ExoPlayer. -sh("rm -rf srclibs") +sh("rm -rf " + exoplayer_path) print(INFO + "info:" + NC + " cloning exoplayer...") sh("git clone https://github.com/oxygencobalt/ExoPlayer.git " + exoplayer_path) @@ -78,8 +80,9 @@ sh("git checkout auxio") print(INFO + "info:" + NC + " installing flac extension...") flac_ext_jni_path = os.path.join("extensions", "flac", "src", "main", "jni") +ndk_build_path = os.path.join(ndk_path, "ndk-build") os.chdir(flac_ext_jni_path) sh('curl "https://ftp.osuosl.org/pub/xiph/releases/flac/flac-' + FLAC_VERSION + '.tar.xz" | tar xJ && mv "flac-' + FLAC_VERSION + '" flac') -sh(ndk_path + "/ndk-build APP_ABI=all -j4") +sh(ndk_build_path + " APP_ABI=all -j4") print(OK + "success:" + NC + " completed pre-build.") diff --git a/settings.gradle b/settings.gradle index 16811fffa..4072ffee5 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,4 +1,4 @@ include ':app' rootProject.name = "Auxio" gradle.ext.exoplayerModulePrefix = 'exoplayer-' -apply from: file("srclibs/exoplayer/core_settings.gradle") \ No newline at end of file +apply from: file("app/srclibs/exoplayer/core_settings.gradle") \ No newline at end of file