Moving files around

This commit is contained in:
Iscle 2025-04-01 20:30:45 +02:00
parent 2083654a07
commit 97912b72fe
111 changed files with 190 additions and 280 deletions

View File

@ -11,66 +11,125 @@ set(CMAKE_CXX_STANDARD 20)
project("ViPER4Android")
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
#add_subdirectory(src/viper/ffts)
# ViPERFX
include_directories(src/include)
include_directories(src/generated/include) # Add generated headers to include path
set(FILES
# Add generated AIDL source
${AIDL_GENERATED_SRC}
# Main
src/viper/ViPER.cpp
src/ViPER4Android.cpp
src/ViperContext.cpp
src/cpp/viper/ViPER.cpp
src/cpp/ViPER4Android.cpp
src/cpp/ViperContext.cpp
src/cpp/viper_aidl.cpp
# Effects
src/viper/effects/AnalogX.cpp
src/viper/effects/ColorfulMusic.cpp
src/viper/effects/Convolver.cpp
src/viper/effects/Cure.cpp
src/viper/effects/DiffSurround.cpp
src/viper/effects/DynamicSystem.cpp
src/viper/effects/FETCompressor.cpp
src/viper/effects/IIRFilter.cpp
src/viper/effects/PlaybackGain.cpp
src/viper/effects/Reverberation.cpp
src/viper/effects/SoftwareLimiter.cpp
src/viper/effects/SpeakerCorrection.cpp
src/viper/effects/SpectrumExtend.cpp
src/viper/effects/TubeSimulator.cpp
src/viper/effects/VHE.cpp
src/viper/effects/ViPERBass.cpp
src/viper/effects/ViPERClarity.cpp
src/viper/effects/ViPERDDC.cpp
src/cpp/viper/effects/AnalogX.cpp
src/cpp/viper/effects/ColorfulMusic.cpp
src/cpp/viper/effects/Convolver.cpp
src/cpp/viper/effects/Cure.cpp
src/cpp/viper/effects/DiffSurround.cpp
src/cpp/viper/effects/DynamicSystem.cpp
src/cpp/viper/effects/FETCompressor.cpp
src/cpp/viper/effects/IIRFilter.cpp
src/cpp/viper/effects/PlaybackGain.cpp
src/cpp/viper/effects/Reverberation.cpp
src/cpp/viper/effects/SoftwareLimiter.cpp
src/cpp/viper/effects/SpeakerCorrection.cpp
src/cpp/viper/effects/SpectrumExtend.cpp
src/cpp/viper/effects/TubeSimulator.cpp
src/cpp/viper/effects/VHE.cpp
src/cpp/viper/effects/ViPERBass.cpp
src/cpp/viper/effects/ViPERClarity.cpp
src/cpp/viper/effects/ViPERDDC.cpp
# Utils
src/viper/utils/AdaptiveBuffer.cpp
src/viper/utils/Biquad.cpp
src/viper/utils/CAllpassFilter.cpp
src/viper/utils/CCombFilter.cpp
src/viper/utils/CRevModel.cpp
src/viper/utils/Crossfeed.cpp
src/viper/utils/DepthSurround.cpp
src/viper/utils/DynamicBass.cpp
src/viper/utils/FIR.cpp
src/viper/utils/Harmonic.cpp
src/viper/utils/HiFi.cpp
src/viper/utils/HighShelf.cpp
src/viper/utils/IIR_1st.cpp
src/viper/utils/IIR_NOrder_BW_BP.cpp
src/viper/utils/IIR_NOrder_BW_LH.cpp
src/viper/utils/MinPhaseIIRCoeffs.cpp
src/viper/utils/MultiBiquad.cpp
src/viper/utils/NoiseSharpening.cpp
src/viper/utils/PassFilter.cpp
src/viper/utils/PConvSingle.cpp
src/viper/utils/PolesFilter.cpp
src/viper/utils/Polyphase.cpp
src/viper/utils/Stereo3DSurround.cpp
src/viper/utils/Subwoofer.cpp
src/viper/utils/TimeConstDelay.cpp
src/viper/utils/WaveBuffer.cpp)
src/cpp/viper/utils/AdaptiveBuffer.cpp
src/cpp/viper/utils/Biquad.cpp
src/cpp/viper/utils/CAllpassFilter.cpp
src/cpp/viper/utils/CCombFilter.cpp
src/cpp/viper/utils/CRevModel.cpp
src/cpp/viper/utils/Crossfeed.cpp
src/cpp/viper/utils/DepthSurround.cpp
src/cpp/viper/utils/DynamicBass.cpp
src/cpp/viper/utils/FIR.cpp
src/cpp/viper/utils/Harmonic.cpp
src/cpp/viper/utils/HiFi.cpp
src/cpp/viper/utils/HighShelf.cpp
src/cpp/viper/utils/IIR_1st.cpp
src/cpp/viper/utils/IIR_NOrder_BW_BP.cpp
src/cpp/viper/utils/IIR_NOrder_BW_LH.cpp
src/cpp/viper/utils/MinPhaseIIRCoeffs.cpp
src/cpp/viper/utils/MultiBiquad.cpp
src/cpp/viper/utils/NoiseSharpening.cpp
src/cpp/viper/utils/PassFilter.cpp
src/cpp/viper/utils/PConvSingle.cpp
src/cpp/viper/utils/PolesFilter.cpp
src/cpp/viper/utils/Polyphase.cpp
src/cpp/viper/utils/Stereo3DSurround.cpp
src/cpp/viper/utils/Subwoofer.cpp
src/cpp/viper/utils/TimeConstDelay.cpp
src/cpp/viper/utils/WaveBuffer.cpp)
add_library(
# Sets the name of the library.

View File

@ -3,11 +3,13 @@
#include "essential.h"
#include "viper/constants.h"
#include "ViperContext.h"
#include <aidl/android/hardware/audio/effect/Descriptor.h>
#include <aidl/android/hardware/audio/effect/Flags.h>
#include <aidl/android/hardware/audio/effect/IEffect.h>
#include <aidl/android/media/audio/common/AudioUuid.h>
#include "aidl/android/hardware/audio/effect/Descriptor.h"
#include "aidl/android/hardware/audio/effect/Flags.h"
#include "aidl/android/hardware/audio/effect/IEffect.h"
#include "aidl/android/media/audio/common/AudioUuid.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::Flags;
@ -90,29 +92,22 @@ static int32_t viperLibraryGetDescriptor(const effect_uuid_t *uuid, effect_descr
}
} // extern "C"
extern "C"
__attribute__((visibility("default")))
binder_exception_t createEffect(const AudioUuid *audio_uuid, std::shared_ptr<IEffect> *instance) {
extern "C" 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");
*instance = ndk::SharedRefBase::make<ViPER4AndroidAIDL>();
return EX_ILLEGAL_ARGUMENT;
}
extern "C"
__attribute__((visibility("default")))
binder_exception_t destroyEffect(const std::shared_ptr<IEffect> &instanceSp) {
extern "C" binder_exception_t destroyEffect(const std::shared_ptr<IEffect> &instanceSp) {
VIPER_LOGD("destroyEffect called");
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) {
AudioUuid uuid{};
uint32_t tmp[10];
@ -131,7 +126,6 @@ inline AudioUuid stringToUuid(const char* str) {
return uuid;
}
const std::string kEffectName = "ViPER4Android";
const AudioUuid kType = stringToUuid("b9bc100c-26cd-42e6-acb6-cad8c3f778de");
const AudioUuid kUuid = stringToUuid("90380da3-8536-4744-a6a3-5731970e640f");
const Descriptor kDescriptor = {
@ -146,8 +140,8 @@ const Descriptor kDescriptor = {
.insert = Flags::Insert::LAST,
.volume = Flags::Volume::NONE
},
.name = kEffectName,
.implementor = "Iscle",
.name = VIPER_NAME,
.implementor = VIPER_AUTHORS,
},
};

View File

@ -35,6 +35,7 @@ enum class Architecture : uint8_t {
*/
#endif
// TODO: Move to C++ class or something nicer :)
#define VIPER_NAME "ViPER4Android"
#define VIPER_AUTHORS "viper.WYF, Martmists, Iscle"
#define VIPER_DEFAULT_SAMPLING_RATE 44100

Some files were not shown because too many files have changed in this diff Show More