-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathaap-juce-support.patch
129 lines (121 loc) · 3.85 KB
/
aap-juce-support.patch
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7b92e52..f226d70 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -61,7 +61,7 @@ endif()
set(DDSP_EFFECT_TARGET DDSPEffect)
juce_add_plugin(${DDSP_EFFECT_TARGET}
- PRODUCT_NAME "DDSP Effect"
+ PRODUCT_NAME "DDSPEffect"
COMPANY_NAME ${DDSP_COMPANY_NAME}
MICROPHONE_PERMISSION_ENABLED TRUE
IS_SYNTH FALSE
@@ -99,7 +99,7 @@ endif()
set(DDSP_SYNTH_TARGET DDSPSynth)
juce_add_plugin(${DDSP_SYNTH_TARGET}
- PRODUCT_NAME "DDSP Synth"
+ PRODUCT_NAME "DDSPSynth"
COMPANY_NAME ${DDSP_COMPANY_NAME}
IS_SYNTH TRUE
NEEDS_MIDI_INPUT TRUE
@@ -133,6 +133,8 @@ endif()
# ----------------------- DDSP Unit Test Runner ----------------------- #
+if(false) # we would enable this if it compiles on Android. Currently it doesn't.
+
enable_testing()
set(DDSP_UNIT_TEST_TARGET DDSPUnitTestRunner)
@@ -167,4 +169,79 @@ set_target_properties(${DDSP_UNIT_TEST_TARGET} PROPERTIES XCODE_GENERATE_SCHEME
include(GoogleTest)
gtest_discover_tests(${DDSP_UNIT_TEST_TARGET})
+endif()
+
+# begin AAP specifics -->
+
+if("${AAP_DIR}" STREQUAL "")
+ set(AAP_DIR "../aap-core")
+endif()
+if("${AAP_JUCE_DIR}" STREQUAL "")
+ set(AAP_JUCE_DIR "../aap-juce")
+endif()
+
+juce_add_modules(${AAP_JUCE_DIR}/aap-modules/aap_audio_processors)
+add_definitions([[-DJUCE_PUSH_NOTIFICATIONS_ACTIVITY="com/rmsl/juce/JuceActivity"]])
+
+message("AAP_DIR: ${AAP_DIR}")
+message("AAP_JUCE_DIR: ${AAP_JUCE_DIR}")
+
+function(ADD_AAP_PLUGIN APP_NAME)
+
+# They are needed in desktop too, for generate-aap-metadata.
+target_include_directories(${APP_NAME} PUBLIC
+ "${AAP_DIR}/include"
+ # somehow JuceHeader.h fails to include aap modules only in ddsp-vst,
+ # even if we put all this cmake fragment is placed before juce_generate_juce_header().
+ # I don't want to be bothered by any old JUCE behavior so I end up to put it here.
+ "${AAP_JUCE_DIR}/aap-modules"
+ )
+
+target_compile_definitions(${APP_NAME} PUBLIC
+ #JUCEAAP_HAVE_AUDIO_PLAYHEAD_NEW_POSITION_INFO=1
+ )
+
+if (ANDROID)
+ # dependencies
+ find_library(log "log")
+ find_library(android "android")
+ find_library(glesv2 "GLESv2")
+ find_library(egl "EGL")
+ set(cpufeatures_lib "cpufeatures")
+ #set(oboe_lib "oboe")
+
+ target_compile_definitions(${APP_NAME} PUBLIC
+ JUCE_PUSH_NOTIFICATIONS=1
+ JUCE_DONT_AUTO_OPEN_MIDI_DEVICES_ON_MOBILE=1
+ )
+
+ target_include_directories(${APP_NAME} PRIVATE
+ "${ANDROID_NDK}/sources/android/cpufeatures"
+ "${OBOE_DIR}/include"
+ )
+else ()
+ add_executable(aap-metadata-generator-${APP_NAME}
+ ${AAP_JUCE_DIR}/tools/aap-metadata-generator.cpp
+ )
+
+ target_link_libraries(aap-metadata-generator-${APP_NAME}
+ Assets
+ ${DDSP_SYNTH_TARGET}
+ )
+endif (ANDROID)
+
+target_link_libraries(${APP_NAME}
+ PRIVATE
+ aap_audio_processors
+ )
+# <-- end Android specifics
+
+endfunction()
+
+ADD_AAP_PLUGIN(${DDSP_EFFECT_TARGET})
+ADD_AAP_PLUGIN(${DDSP_SYNTH_TARGET})
+
+# <-- end AAP specifics
+
+
# --------------------------------------------------------------------- #
Submodule externals/tensorflow contains modified content
diff --git a/externals/tensorflow/tensorflow/lite/CMakeLists.txt b/externals/tensorflow/tensorflow/lite/CMakeLists.txt
index 40f9485b5d6..42fa22c1bdc 100644
--- a/externals/tensorflow/tensorflow/lite/CMakeLists.txt
+++ b/externals/tensorflow/tensorflow/lite/CMakeLists.txt
@@ -532,6 +532,7 @@ if(TFLITE_KERNEL_TEST)
endif()
# The benchmark tool.
+if(false)
add_subdirectory(${TFLITE_SOURCE_DIR}/tools/benchmark)
# The label_image example.
@@ -562,3 +563,4 @@ target_compile_options(_pywrap_tensorflow_interpreter_wrapper
PUBLIC ${TFLITE_TARGET_PUBLIC_OPTIONS}
PRIVATE ${TFLITE_TARGET_PRIVATE_OPTIONS}
)
+endif()