mirror of
https://github.com/AndroidAudioMods/ViPERFX_RE.git
synced 2025-06-08 02:29:40 +08:00
Moving files around
This commit is contained in:
parent
2083654a07
commit
97912b72fe
153
CMakeLists.txt
153
CMakeLists.txt
@ -11,66 +11,125 @@ set(CMAKE_CXX_STANDARD 20)
|
|||||||
|
|
||||||
project("ViPER4Android")
|
project("ViPER4Android")
|
||||||
add_compile_definitions(VIPER_VERSION=20240314)
|
add_compile_definitions(VIPER_VERSION=20240314)
|
||||||
|
add_compile_definitions(__ANDROID_UNAVAILABLE_SYMBOLS_ARE_WEAK__)
|
||||||
|
|
||||||
|
## Find AIDL compiler
|
||||||
|
#find_program(AIDL_COMPILER aidl
|
||||||
|
# PATHS ${ANDROID_SDK}/build-tools/*/
|
||||||
|
# NO_DEFAULT_PATH)
|
||||||
|
#if(NOT AIDL_COMPILER)
|
||||||
|
# message(FATAL_ERROR "Could not find AIDL compiler in Android SDK build tools")
|
||||||
|
#endif()
|
||||||
|
#
|
||||||
|
## Set up AIDL file generation
|
||||||
|
#set(AIDL_FILE "/home/iscle/Downloads/interfaces-refs_heads_main/audio/aidl/aidl_api/android.hardware.audio.effect/current/android/hardware/audio/effect/IEffect.aidl")
|
||||||
|
#set(AIDL_INCLUDE_DIRS
|
||||||
|
# "/home/iscle/Downloads/interfaces-refs_heads_main/common/aidl/aidl_api/android.hardware.common/current/"
|
||||||
|
# "/home/iscle/Downloads/interfaces-refs_heads_main/common/fmq/aidl/aidl_api/android.hardware.common.fmq/current/"
|
||||||
|
# "/home/iscle/Downloads/interfaces-refs_heads_main/audio/aidl/aidl_api/android.hardware.audio.common/current/"
|
||||||
|
# "/home/iscle/Downloads/interfaces-refs_heads_main/audio/aidl/aidl_api/android.hardware.audio.effect/current/"
|
||||||
|
# "/home/iscle/Downloads/interfaces-refs_heads_main (1)/media/aidl_api/android.media.audio.common.types/current/"
|
||||||
|
# "/home/iscle/Downloads/interfaces-refs_heads_main (1)/media/aidl_api/android.media.audio.eraser.types/current/"
|
||||||
|
#)
|
||||||
|
#
|
||||||
|
#set(AIDL_OUTPUT_DIR ${CMAKE_BINARY_DIR}/generated/aidl)
|
||||||
|
#set(AIDL_HEADER_OUTPUT_DIR ${CMAKE_BINARY_DIR}/generated/aidl/include)
|
||||||
|
#
|
||||||
|
#file(MAKE_DIRECTORY ${AIDL_OUTPUT_DIR})
|
||||||
|
#file(MAKE_DIRECTORY ${AIDL_HEADER_OUTPUT_DIR})
|
||||||
|
#
|
||||||
|
## Generate AIDL command
|
||||||
|
#set(AIDL_GENERATED_SRC ${AIDL_OUTPUT_DIR}/android/hardware/audio/effect/IEffect.cpp)
|
||||||
|
#set(AIDL_GENERATED_HEADER ${AIDL_HEADER_OUTPUT_DIR}/android/hardware/audio/effect/IEffect.h)
|
||||||
|
#
|
||||||
|
#add_custom_command(
|
||||||
|
# OUTPUT ${AIDL_GENERATED_SRC} ${AIDL_GENERATED_HEADER}
|
||||||
|
# COMMAND ${AIDL_COMPILER}
|
||||||
|
# --lang=ndk
|
||||||
|
# -o ${AIDL_OUTPUT_DIR}
|
||||||
|
# -h ${AIDL_HEADER_OUTPUT_DIR}
|
||||||
|
# --structured
|
||||||
|
# --stability=vintf
|
||||||
|
# ${AIDL_INCLUDE_DIRS_FLAGS}
|
||||||
|
# ${AIDL_FILE}
|
||||||
|
# DEPENDS ${AIDL_FILE}
|
||||||
|
# COMMENT "Generating AIDL C++ bindings for IEffect"
|
||||||
|
#)
|
||||||
|
#
|
||||||
|
## Convert include dirs to -I flags
|
||||||
|
#set(AIDL_INCLUDE_DIRS_FLAGS "")
|
||||||
|
#foreach(dir ${AIDL_INCLUDE_DIRS})
|
||||||
|
# set(AIDL_INCLUDE_DIRS_FLAGS "${AIDL_INCLUDE_DIRS_FLAGS} -I \"${dir}\"")
|
||||||
|
#endforeach()
|
||||||
|
|
||||||
|
set(AIDL_GENERATED_SRC
|
||||||
|
src/generated/android/hardware/audio/effect/IEffect.cpp
|
||||||
|
)
|
||||||
|
|
||||||
# FFTS
|
# FFTS
|
||||||
#add_subdirectory(src/viper/ffts)
|
#add_subdirectory(src/viper/ffts)
|
||||||
|
|
||||||
# ViPERFX
|
# ViPERFX
|
||||||
include_directories(src/include)
|
include_directories(src/include)
|
||||||
|
include_directories(src/generated/include) # Add generated headers to include path
|
||||||
|
|
||||||
set(FILES
|
set(FILES
|
||||||
|
# Add generated AIDL source
|
||||||
|
${AIDL_GENERATED_SRC}
|
||||||
|
|
||||||
# Main
|
# Main
|
||||||
src/viper/ViPER.cpp
|
src/cpp/viper/ViPER.cpp
|
||||||
src/ViPER4Android.cpp
|
src/cpp/ViPER4Android.cpp
|
||||||
src/ViperContext.cpp
|
src/cpp/ViperContext.cpp
|
||||||
|
src/cpp/viper_aidl.cpp
|
||||||
|
|
||||||
# Effects
|
# Effects
|
||||||
src/viper/effects/AnalogX.cpp
|
src/cpp/viper/effects/AnalogX.cpp
|
||||||
src/viper/effects/ColorfulMusic.cpp
|
src/cpp/viper/effects/ColorfulMusic.cpp
|
||||||
src/viper/effects/Convolver.cpp
|
src/cpp/viper/effects/Convolver.cpp
|
||||||
src/viper/effects/Cure.cpp
|
src/cpp/viper/effects/Cure.cpp
|
||||||
src/viper/effects/DiffSurround.cpp
|
src/cpp/viper/effects/DiffSurround.cpp
|
||||||
src/viper/effects/DynamicSystem.cpp
|
src/cpp/viper/effects/DynamicSystem.cpp
|
||||||
src/viper/effects/FETCompressor.cpp
|
src/cpp/viper/effects/FETCompressor.cpp
|
||||||
src/viper/effects/IIRFilter.cpp
|
src/cpp/viper/effects/IIRFilter.cpp
|
||||||
src/viper/effects/PlaybackGain.cpp
|
src/cpp/viper/effects/PlaybackGain.cpp
|
||||||
src/viper/effects/Reverberation.cpp
|
src/cpp/viper/effects/Reverberation.cpp
|
||||||
src/viper/effects/SoftwareLimiter.cpp
|
src/cpp/viper/effects/SoftwareLimiter.cpp
|
||||||
src/viper/effects/SpeakerCorrection.cpp
|
src/cpp/viper/effects/SpeakerCorrection.cpp
|
||||||
src/viper/effects/SpectrumExtend.cpp
|
src/cpp/viper/effects/SpectrumExtend.cpp
|
||||||
src/viper/effects/TubeSimulator.cpp
|
src/cpp/viper/effects/TubeSimulator.cpp
|
||||||
src/viper/effects/VHE.cpp
|
src/cpp/viper/effects/VHE.cpp
|
||||||
src/viper/effects/ViPERBass.cpp
|
src/cpp/viper/effects/ViPERBass.cpp
|
||||||
src/viper/effects/ViPERClarity.cpp
|
src/cpp/viper/effects/ViPERClarity.cpp
|
||||||
src/viper/effects/ViPERDDC.cpp
|
src/cpp/viper/effects/ViPERDDC.cpp
|
||||||
|
|
||||||
# Utils
|
# Utils
|
||||||
src/viper/utils/AdaptiveBuffer.cpp
|
src/cpp/viper/utils/AdaptiveBuffer.cpp
|
||||||
src/viper/utils/Biquad.cpp
|
src/cpp/viper/utils/Biquad.cpp
|
||||||
src/viper/utils/CAllpassFilter.cpp
|
src/cpp/viper/utils/CAllpassFilter.cpp
|
||||||
src/viper/utils/CCombFilter.cpp
|
src/cpp/viper/utils/CCombFilter.cpp
|
||||||
src/viper/utils/CRevModel.cpp
|
src/cpp/viper/utils/CRevModel.cpp
|
||||||
src/viper/utils/Crossfeed.cpp
|
src/cpp/viper/utils/Crossfeed.cpp
|
||||||
src/viper/utils/DepthSurround.cpp
|
src/cpp/viper/utils/DepthSurround.cpp
|
||||||
src/viper/utils/DynamicBass.cpp
|
src/cpp/viper/utils/DynamicBass.cpp
|
||||||
src/viper/utils/FIR.cpp
|
src/cpp/viper/utils/FIR.cpp
|
||||||
src/viper/utils/Harmonic.cpp
|
src/cpp/viper/utils/Harmonic.cpp
|
||||||
src/viper/utils/HiFi.cpp
|
src/cpp/viper/utils/HiFi.cpp
|
||||||
src/viper/utils/HighShelf.cpp
|
src/cpp/viper/utils/HighShelf.cpp
|
||||||
src/viper/utils/IIR_1st.cpp
|
src/cpp/viper/utils/IIR_1st.cpp
|
||||||
src/viper/utils/IIR_NOrder_BW_BP.cpp
|
src/cpp/viper/utils/IIR_NOrder_BW_BP.cpp
|
||||||
src/viper/utils/IIR_NOrder_BW_LH.cpp
|
src/cpp/viper/utils/IIR_NOrder_BW_LH.cpp
|
||||||
src/viper/utils/MinPhaseIIRCoeffs.cpp
|
src/cpp/viper/utils/MinPhaseIIRCoeffs.cpp
|
||||||
src/viper/utils/MultiBiquad.cpp
|
src/cpp/viper/utils/MultiBiquad.cpp
|
||||||
src/viper/utils/NoiseSharpening.cpp
|
src/cpp/viper/utils/NoiseSharpening.cpp
|
||||||
src/viper/utils/PassFilter.cpp
|
src/cpp/viper/utils/PassFilter.cpp
|
||||||
src/viper/utils/PConvSingle.cpp
|
src/cpp/viper/utils/PConvSingle.cpp
|
||||||
src/viper/utils/PolesFilter.cpp
|
src/cpp/viper/utils/PolesFilter.cpp
|
||||||
src/viper/utils/Polyphase.cpp
|
src/cpp/viper/utils/Polyphase.cpp
|
||||||
src/viper/utils/Stereo3DSurround.cpp
|
src/cpp/viper/utils/Stereo3DSurround.cpp
|
||||||
src/viper/utils/Subwoofer.cpp
|
src/cpp/viper/utils/Subwoofer.cpp
|
||||||
src/viper/utils/TimeConstDelay.cpp
|
src/cpp/viper/utils/TimeConstDelay.cpp
|
||||||
src/viper/utils/WaveBuffer.cpp)
|
src/cpp/viper/utils/WaveBuffer.cpp)
|
||||||
|
|
||||||
add_library(
|
add_library(
|
||||||
# Sets the name of the library.
|
# Sets the name of the library.
|
||||||
|
@ -3,11 +3,13 @@
|
|||||||
#include "essential.h"
|
#include "essential.h"
|
||||||
#include "viper/constants.h"
|
#include "viper/constants.h"
|
||||||
#include "ViperContext.h"
|
#include "ViperContext.h"
|
||||||
#include <aidl/android/hardware/audio/effect/Descriptor.h>
|
#include "aidl/android/hardware/audio/effect/Descriptor.h"
|
||||||
#include <aidl/android/hardware/audio/effect/Flags.h>
|
#include "aidl/android/hardware/audio/effect/Flags.h"
|
||||||
#include <aidl/android/hardware/audio/effect/IEffect.h>
|
#include "aidl/android/hardware/audio/effect/IEffect.h"
|
||||||
#include <aidl/android/media/audio/common/AudioUuid.h>
|
#include "aidl/android/media/audio/common/AudioUuid.h"
|
||||||
#include <android/binder_status.h>
|
#include <android/binder_status.h>
|
||||||
|
#include <android/binder_auto_utils.h>
|
||||||
|
#include "viper_aidl.h"
|
||||||
|
|
||||||
using aidl::android::hardware::audio::effect::Descriptor;
|
using aidl::android::hardware::audio::effect::Descriptor;
|
||||||
using aidl::android::hardware::audio::effect::Flags;
|
using aidl::android::hardware::audio::effect::Flags;
|
||||||
@ -90,29 +92,22 @@ static int32_t viperLibraryGetDescriptor(const effect_uuid_t *uuid, effect_descr
|
|||||||
}
|
}
|
||||||
} // extern "C"
|
} // extern "C"
|
||||||
|
|
||||||
extern "C"
|
|
||||||
__attribute__((visibility("default")))
|
extern "C" binder_exception_t createEffect(const AudioUuid *audio_uuid, std::shared_ptr<IEffect> *instance) {
|
||||||
binder_exception_t createEffect(const AudioUuid *audio_uuid, std::shared_ptr<IEffect> *instance) {
|
if (audio_uuid == nullptr || instance == nullptr) {
|
||||||
|
VIPER_LOGE("createEffect called with null arguments");
|
||||||
|
return EX_ILLEGAL_ARGUMENT;
|
||||||
|
}
|
||||||
VIPER_LOGD("createEffect called");
|
VIPER_LOGD("createEffect called");
|
||||||
|
*instance = ndk::SharedRefBase::make<ViPER4AndroidAIDL>();
|
||||||
return EX_ILLEGAL_ARGUMENT;
|
return EX_ILLEGAL_ARGUMENT;
|
||||||
}
|
}
|
||||||
|
|
||||||
extern "C"
|
extern "C" binder_exception_t destroyEffect(const std::shared_ptr<IEffect> &instanceSp) {
|
||||||
__attribute__((visibility("default")))
|
|
||||||
binder_exception_t destroyEffect(const std::shared_ptr<IEffect> &instanceSp) {
|
|
||||||
VIPER_LOGD("destroyEffect called");
|
VIPER_LOGD("destroyEffect called");
|
||||||
return EX_ILLEGAL_STATE;
|
return EX_ILLEGAL_STATE;
|
||||||
}
|
}
|
||||||
|
|
||||||
//extern "C" binder_exception_t queryEffect(const AudioUuid* in_impl_uuid, Descriptor* _aidl_return) {
|
|
||||||
// if (!in_impl_uuid || *in_impl_uuid != getEffectImplUuidVisualizer()) {
|
|
||||||
// LOG(ERROR) << __func__ << "uuid not supported";
|
|
||||||
// return EX_ILLEGAL_ARGUMENT;
|
|
||||||
// }
|
|
||||||
// *_aidl_return = VisualizerImpl::kDescriptor;
|
|
||||||
// return EX_NONE;
|
|
||||||
//}
|
|
||||||
|
|
||||||
inline AudioUuid stringToUuid(const char* str) {
|
inline AudioUuid stringToUuid(const char* str) {
|
||||||
AudioUuid uuid{};
|
AudioUuid uuid{};
|
||||||
uint32_t tmp[10];
|
uint32_t tmp[10];
|
||||||
@ -131,7 +126,6 @@ inline AudioUuid stringToUuid(const char* str) {
|
|||||||
return uuid;
|
return uuid;
|
||||||
}
|
}
|
||||||
|
|
||||||
const std::string kEffectName = "ViPER4Android";
|
|
||||||
const AudioUuid kType = stringToUuid("b9bc100c-26cd-42e6-acb6-cad8c3f778de");
|
const AudioUuid kType = stringToUuid("b9bc100c-26cd-42e6-acb6-cad8c3f778de");
|
||||||
const AudioUuid kUuid = stringToUuid("90380da3-8536-4744-a6a3-5731970e640f");
|
const AudioUuid kUuid = stringToUuid("90380da3-8536-4744-a6a3-5731970e640f");
|
||||||
const Descriptor kDescriptor = {
|
const Descriptor kDescriptor = {
|
||||||
@ -146,8 +140,8 @@ const Descriptor kDescriptor = {
|
|||||||
.insert = Flags::Insert::LAST,
|
.insert = Flags::Insert::LAST,
|
||||||
.volume = Flags::Volume::NONE
|
.volume = Flags::Volume::NONE
|
||||||
},
|
},
|
||||||
.name = kEffectName,
|
.name = VIPER_NAME,
|
||||||
.implementor = "Iscle",
|
.implementor = VIPER_AUTHORS,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
@ -35,6 +35,7 @@ enum class Architecture : uint8_t {
|
|||||||
*/
|
*/
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// TODO: Move to C++ class or something nicer :)
|
||||||
#define VIPER_NAME "ViPER4Android"
|
#define VIPER_NAME "ViPER4Android"
|
||||||
#define VIPER_AUTHORS "viper.WYF, Martmists, Iscle"
|
#define VIPER_AUTHORS "viper.WYF, Martmists, Iscle"
|
||||||
#define VIPER_DEFAULT_SAMPLING_RATE 44100
|
#define VIPER_DEFAULT_SAMPLING_RATE 44100
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user