This is a migration of the original NewPipe Extractor in Java to Kotlin, to better support type and null safety. The interface provided here is not fully compatible with the original, mainly due to the way of handling getters and setters in Kotlin. Some properties need to be accessed directly rather than through the getters and setters. Other than that, it works as the original library and can be used in the same way.
org.schabi.newpipe has been refactored to ac.mdiq.vista. And of course the package renamed to VistaGuide, the group name has been refactored (from com.github.TeamNewPipe) to com.github.XilinJia, extractor.NewPipe is refactored to extractor.Vista
Up to date with version 0.24.2 of NewPipe Extractor
=================================
Vista Guide is a library for extracting things from streaming sites. It is a core component of VoiVista, but could be used independently.
Vista Guide is available at JitPack's Maven repo.
If you're using Gradle, you could add Vista Guide as a dependency with the following steps:
- Add
maven { url 'https://jitpack.io' }
to therepositories
in yourbuild.gradle
. - Add
implementation 'com.github.XilinJia.vistaguide:VistaGuide:INSERT_VERSION_HERE'
to thedependencies
in yourbuild.gradle
. ReplaceINSERT_VERSION_HERE
with the latest release. - If you are using tools to minimize your project, make sure to keep the files below, by e.g. adding the following lines to your proguard file:
## Rules for VistaGuide
-keep class ac.mdiq.vista.extractor.timeago.patterns.** { *; }
-keep class org.mozilla.javascript.** { *; }
-keep class org.mozilla.classfile.ClassFileWriter
-dontwarn org.mozilla.javascript.tools.**
Note: To use Vista Guide in Android projects with a minSdk
below 33, core library desugaring with the desugar_jdk_libs_nio
artifact is required.
To test changes quickly you can build the library locally. A good approach would be to add something like the following to your settings.gradle
:
includeBuild('../VistaGuide') {
dependencySubstitution {
substitute module('com.github.XilinJia.vistaguide:VistaGuide') with project(':extractor')
}
}
Another approach would be to use the local Maven repository, here's a gist of how to use it:
- Add
mavenLocal()
in your projectrepositories
list (usually as the first entry to give priority above the others). - It's recommended that you change the
version
of this library (e.g.LOCAL_SNAPSHOT
). - Run gradle's
ìnstall
task to deploy this library to your local repository (using the wrapper, present in the root of this project:./gradlew publishToMavenLocal
) - Change the dependency version used in your project to match the one you chose in step 2 (
implementation 'com.github.XilinJia.vistaguide:VistaGuide:LOCAL_SNAPSHOT'
)
Tip for Android Studio users: After you make changes and run the
install
task, use the menu optionFile → "Sync with File System"
to refresh the library in your project.
The following sites are currently supported:
- YouTube
- SoundCloud
- media.ccc.de
- PeerTube (no P2P)
- Bandcamp
Vista Guide is Free Software: You can use, study share and improve it at your will. Specifically you can redistribute and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
New files and contents in the project are copyrighted in 2024 by Xilin Jia.