diff --git a/LICENSE b/LICENSE old mode 100644 new mode 100755 diff --git a/NOTE.md b/NOTE.md old mode 100644 new mode 100755 diff --git a/README-zh.md b/README-zh.md old mode 100644 new mode 100755 diff --git a/README.md b/README.md old mode 100644 new mode 100755 diff --git a/app/.classpath b/app/.classpath old mode 100644 new mode 100755 diff --git a/app/.gitignore b/app/.gitignore old mode 100644 new mode 100755 diff --git a/app/.project b/app/.project old mode 100644 new mode 100755 diff --git a/app/.settings/org.eclipse.buildship.core.prefs b/app/.settings/org.eclipse.buildship.core.prefs old mode 100644 new mode 100755 diff --git a/app/bugly/BuglySymtabLog.txt b/app/bugly/BuglySymtabLog.txt old mode 100644 new mode 100755 diff --git a/app/bugly/BuglyUploadLog.txt b/app/bugly/BuglyUploadLog.txt old mode 100644 new mode 100755 diff --git a/app/build.gradle b/app/build.gradle old mode 100644 new mode 100755 index a7aff03e..4cefb494 --- a/app/build.gradle +++ b/app/build.gradle @@ -3,13 +3,16 @@ apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' apply plugin: 'kotlin-kapt' + + android { compileSdkVersion 29 defaultConfig { - applicationId "com.trinity.sample" + applicationId "com.videoeditor.videocreator" minSdkVersion 16 targetSdkVersion 29 versionCode 1 + multiDexEnabled true versionName "1.0.2.2" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" @@ -24,7 +27,7 @@ android { } } - // 在Android代码块中添加如下配置:(可优化最上图中transformClassDexBuilderForDebug的时间) + // Add the following configuration in the Android code block:(The time of transformClassDexBuilderForDebug can be optimized in the above figure) dexOptions { preDexLibraries true maxProcessCount 8 @@ -34,6 +37,11 @@ android { abortOnError false } + compileOptions { + sourceCompatibility = '1.8' + targetCompatibility = '1.8' + } + packagingOptions { pickFirst 'lib/arm64-v8a/libc++_shared.so' pickFirst 'lib/armeabi-v7a/libc++_shared.so' @@ -73,4 +81,16 @@ dependencies { testImplementation 'junit:junit:4.12' androidTestImplementation 'androidx.test.ext:junit:1.1.0' androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' + + + implementation 'androidx.multidex:multidex:2.0.1' + +// implementation 'com.arthenica:mobile-ffmpeg-full:4.4' + +// implementation 'com.arthenica:mobile-ffmpeg-full-gpl:4.4.LTS' + +// implementation 'com.arthenica:mobile-ffmpeg-full:4.3.1.LTS' + implementation 'com.github.yangjie10930:EpMedia:v1.0.1' + + } diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro old mode 100644 new mode 100755 diff --git a/app/src/androidTest/java/com/trinity/sample/ExampleInstrumentedTest.kt b/app/src/androidTest/java/com/trinity/sample/ExampleInstrumentedTest.kt old mode 100644 new mode 100755 diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml old mode 100644 new mode 100755 index 759d5e5d..08bc9fc9 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -26,6 +26,9 @@ android:networkSecurityConfig="@xml/network_security_config" android:theme="@style/AppTheme" tools:ignore="GoogleAppIndexingWarning"> + + + diff --git a/app/src/main/assets/douyin_quanjiwu.mp3 b/app/src/main/assets/douyin_quanjiwu.mp3 old mode 100644 new mode 100755 diff --git a/app/src/main/assets/dream.json b/app/src/main/assets/dream.json old mode 100644 new mode 100755 index 004dc3ca..826a92d0 --- a/app/src/main/assets/dream.json +++ b/app/src/main/assets/dream.json @@ -2,7 +2,7 @@ [ { "id": 1, - "name": "爱心光斑", + "name": "Love spot", "color": "#CCEA0000", "effect": "effect/loveSpot", "effectName": "loveSpot" diff --git a/app/src/main/assets/effect.json b/app/src/main/assets/effect.json old mode 100644 new mode 100755 index 682e7562..86b9d6ac --- a/app/src/main/assets/effect.json +++ b/app/src/main/assets/effect.json @@ -1,89 +1,89 @@ [ { "id": 0, - "name": "撤回", + "name": "Withdraw", "color": "#4F4F4F" }, { "id": 1, - "name": "闪白", + "name": "Flash white", "color": "#cc23bdb1", "effect": "effect/flashWhite", "effectName": "FlashWhite" }, { "id": 2, - "name": "两屏", + "name": "Two screens", "color": "#cce77e86", "effect": "effect/twoScreen", "effectName": "SplitScreen" }, { "id": 3, - "name": "三屏", + "name": "Three screens", "color": "#ccdc424e", "effect": "effect/threeScreen", "effectName": "SplitScreen" }, { "id": 4, - "name": "四屏", + "name": "Four screens", "color": "#ccc12430", "effect": "effect/fourScreen", "effectName": "SplitScreen" }, { "id": 5, - "name": "六屏", + "name": "Six screens", "color": "#ccef2f3e", "effect": "effect/sixScreen", "effectName": "SplitScreen" }, { "id": 6, - "name": "九屏", + "name": "Nine screens", "color": "#ccdc143c", "effect": "effect/nineScreen", "effectName": "SplitScreen" }, { "id": 6, - "name": "黑白分屏", + "name": "Black and white split screen", "color": "#ccdc143c", "effect": "effect/blackWhiteScreen", "effectName": "blackWhiteScreen" }, { "id": 7, - "name": "模糊分屏", + "name": "Fuzzy split screen", "color": "#CCEA0000", "effect": "effect/blurScreen", "effectName": "SplitScreen" }, { "id": 8, - "name": "灵魂出窍", + "name": "Soul out of the body", "color": "#EA0000", "effect": "effect/soulScale", "effectName": "effect/SoulScale" }, { "id": 9, - "name": "抖动", + "name": "Jitter", "color": "#CCEA0000", "effect": "effect/shake", "effectName": "Shake" }, { "id": 10, - "name": "毛刺", + "name": "glitch", "color": "#CCEA0000", "effect": "effect/skinNeedling", "effectName": "SkinNeedling" }, { "id": 11, - "name": "缩放", + "name": "Zoom", "color": "#CCEA0000", "effect": "effect/zoomInOut", "effectName": "zoomInOut" @@ -104,14 +104,14 @@ }, { "id": 14, - "name": "倒计时", + "name": "Countdown", "color": "#CCEA0000", "effect": "effect/countDown", "effectName": "countDown" }, { "id": 15, - "name": "爱心光斑", + "name": "Love spot", "color": "#CCEA0000", "effect": "effect/loveSpot", "effectName": "loveSpot" diff --git a/app/src/main/assets/effect/70s/config.json b/app/src/main/assets/effect/70s/config.json old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/70s/resource/fshader.fs b/app/src/main/assets/effect/70s/resource/fshader.fs old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/70s/resource/vshader.vs b/app/src/main/assets/effect/70s/resource/vshader.vs old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/README.md b/app/src/main/assets/effect/README.md old mode 100644 new mode 100755 index df3cc1e4..16cc05f0 --- a/app/src/main/assets/effect/README.md +++ b/app/src/main/assets/effect/README.md @@ -1,65 +1,65 @@ -# 效果说明 -### 分屏 +# Effect description +### Split Screen - - + + - + - + - + - + - + - + - +
配置中文说明ConfigurationChinese description
towScreen两分屏Two-screen
threeScreen三分屏Three-split screen
fourScreen四分屏Quarter screen
sixScreen六分屏Six screen
nineScreen九分屏Nine split screen
blackWhiteScreen黑白分屏Black and white split screen
blurScreen模糊分屏Fuzzy split screen
-### 滤镜 +### Filter - - + + - + - + - + - + - + @@ -71,18 +71,18 @@ - + - +
配置中文说明ConfigurationChinese description
zoomInOut缩放Zoom
soulScale灵魂出窍Soul out of the body
shake抖动Jitter
flashWhite闪白Flash white
skinNeedling毛刺glitch
70s
countDown倒计时Countdown
loveSpot爱心光斑Love spot
-### 人脸识别 +### Face recognition - +
roseEyeMarkup玫瑰眼妆Rose eye makeup
diff --git a/app/src/main/assets/effect/beauty/config.json b/app/src/main/assets/effect/beauty/config.json old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/beauty/resource/beauty_adjust.fs b/app/src/main/assets/effect/beauty/resource/beauty_adjust.fs old mode 100644 new mode 100755 index 8f45d43a..93f9516c --- a/app/src/main/assets/effect/beauty/resource/beauty_adjust.fs +++ b/app/src/main/assets/effect/beauty/resource/beauty_adjust.fs @@ -2,42 +2,42 @@ precision mediump float; #endif varying vec2 textureCoordinate; -uniform sampler2D inputImageTexture; // 输入原图 -uniform sampler2D blurTexture; // 原图的高斯模糊纹理 -uniform sampler2D highPassBlurTexture; // 高反差保留的高斯模糊纹理 +uniform sampler2D inputImageTexture; // Input original image +uniform sampler2D blurTexture; // Gaussian blur texture of the original image +uniform sampler2D highPassBlurTexture; // Gaussian blur texture preserved by high contrast #ifdef GL_ES -uniform lowp float intensity; // 磨皮程度 +uniform lowp float intensity; // Degree of microdermabrasion #else -uniform float intensity; // 磨皮程度 +uniform float intensity; // Degree of microdermabrasion #endif void main() { #ifdef GL_ES lowp vec4 sourceColor = texture2D(inputImageTexture, textureCoordinate); lowp vec4 blurColor = texture2D(blurTexture, textureCoordinate); lowp vec4 highPassBlurColor = texture2D(highPassBlurTexture, textureCoordinate); - // 调节蓝色通道值 + // Adjust the blue channel value mediump float value = clamp((min(sourceColor.b, blurColor.b) - 0.2) * 5.0, 0.0, 1.0); - // 找到模糊之后RGB通道的最大值 + // Find the maximum value of the RGB channel after blur mediump float maxChannelColor = max(max(highPassBlurColor.r, highPassBlurColor.g), highPassBlurColor.b); - // 计算当前的强度 + // Calculate current intensity mediump float currentIntensity = (1.0 - maxChannelColor / (maxChannelColor + 0.2)) * value * intensity; - // 混合输出结果 + // Mixed output results lowp vec3 resultColor = mix(sourceColor.rgb, blurColor.rgb, currentIntensity); - // 输出颜色 + // Output color gl_FragColor = vec4(resultColor, 1.0); #else vec4 sourceColor = texture2D(inputImageTexture, textureCoordinate); vec4 blurColor = texture2D(blurTexture, textureCoordinate); vec4 highPassBlurColor = texture2D(highPassBlurTexture, textureCoordinate); - // 调节蓝色通道值 + // Adjust the blue channel value float value = clamp((min(sourceColor.b, blurColor.b) - 0.2) * 5.0, 0.0, 1.0); - // 找到模糊之后RGB通道的最大值 + // Find the maximum value of the RGB channel after blur float maxChannelColor = max(max(highPassBlurColor.r, highPassBlurColor.g), highPassBlurColor.b); - // 计算当前的强度 + // Calculate current intensity float currentIntensity = (1.0 - maxChannelColor / (maxChannelColor + 0.2)) * value * intensity; - // 混合输出结果 + // Mixed output results vec3 resultColor = mix(sourceColor.rgb, blurColor.rgb, currentIntensity); - // 输出颜色 + // Output color gl_FragColor = vec4(resultColor, 1.0); #endif } diff --git a/app/src/main/assets/effect/beauty/resource/beauty_adjust.vs b/app/src/main/assets/effect/beauty/resource/beauty_adjust.vs old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/beauty/resource/beauty_blur.fs b/app/src/main/assets/effect/beauty/resource/beauty_blur.fs old mode 100644 new mode 100755 index ff290a5b..c0021a66 --- a/app/src/main/assets/effect/beauty/resource/beauty_blur.fs +++ b/app/src/main/assets/effect/beauty/resource/beauty_blur.fs @@ -6,25 +6,25 @@ uniform sampler2D inputImageTexture; const int SHIFT_SIZE = 5; varying vec4 blurShiftCoordinates[SHIFT_SIZE]; void main() { - // 计算当前坐标的颜色值 + // Calculate the color value of the current coordinate vec4 currentColor = texture2D(inputImageTexture, textureCoordinate); #ifdef GL_ES mediump vec3 sum = currentColor.rgb; - // 计算偏移坐标的颜色值总和 + // Calculate the sum of the color values of the offset coordinates for (int i = 0; i < SHIFT_SIZE; i++) { sum += texture2D(inputImageTexture, blurShiftCoordinates[i].xy).rgb; sum += texture2D(inputImageTexture, blurShiftCoordinates[i].zw).rgb; } - // 求出平均值 + // Find the average gl_FragColor = vec4(sum * 1.0 / float(2 * SHIFT_SIZE + 1), currentColor.a); #else vec3 sum = currentColor.rgb; - // 计算偏移坐标的颜色值总和 + // Calculate the sum of the color values of the offset coordinates for (int i = 0; i < SHIFT_SIZE; i++) { sum += texture2D(inputImageTexture, blurShiftCoordinates[i].xy).rgb; sum += texture2D(inputImageTexture, blurShiftCoordinates[i].zw).rgb; } - // 求出平均值 + // Find the average gl_FragColor = vec4(sum * 1.0 / float(2 * SHIFT_SIZE + 1), currentColor.a); #endif } \ No newline at end of file diff --git a/app/src/main/assets/effect/beauty/resource/beauty_blur.vs b/app/src/main/assets/effect/beauty/resource/beauty_blur.vs old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/beauty/resource/gaussian_pass.fs b/app/src/main/assets/effect/beauty/resource/gaussian_pass.fs old mode 100644 new mode 100755 index 6f92d544..5e1dfaf5 --- a/app/src/main/assets/effect/beauty/resource/gaussian_pass.fs +++ b/app/src/main/assets/effect/beauty/resource/gaussian_pass.fs @@ -3,29 +3,29 @@ precision mediump float; #endif varying vec2 textureCoordinate; uniform sampler2D inputImageTexture; -// 高斯算子左右偏移值,当偏移值为2时,高斯算子为5 x 5 +// The left and right offset value of the Gaussian operator, when the offset value is 2, the Gaussian operator is 5 x 5 const int SHIFT_SIZE = 2; varying vec4 blurShiftCoordinates[SHIFT_SIZE]; void main() { - // 计算当前坐标的颜色值 + // Calculate the color value of the current coordinate vec4 currentColor = texture2D(inputImageTexture, textureCoordinate); #ifdef GL_ES mediump vec3 sum = currentColor.rgb; - // 计算偏移坐标的颜色值总和 + // Calculate the sum of the color values of the offset coordinates for (int i = 0; i < SHIFT_SIZE; i++) { sum += texture2D(inputImageTexture, blurShiftCoordinates[i].xy).rgb; sum += texture2D(inputImageTexture, blurShiftCoordinates[i].zw).rgb; } - // 求出平均值 + // Find the average gl_FragColor = vec4(sum * 1.0 / float(2 * SHIFT_SIZE + 1), currentColor.a); #else vec3 sum = currentColor.rgb; - // 计算偏移坐标的颜色值总和 + // Calculate the sum of the color values of the offset coordinates for (int i = 0; i < SHIFT_SIZE; i++) { sum += texture2D(inputImageTexture, blurShiftCoordinates[i].xy).rgb; sum += texture2D(inputImageTexture, blurShiftCoordinates[i].zw).rgb; } - // 求出平均值 + // Find the average gl_FragColor = vec4(sum * 1.0 / float(2 * SHIFT_SIZE + 1), currentColor.a); #endif } \ No newline at end of file diff --git a/app/src/main/assets/effect/beauty/resource/gaussian_pass.vs b/app/src/main/assets/effect/beauty/resource/gaussian_pass.vs old mode 100644 new mode 100755 index 3c542b32..f146cebf --- a/app/src/main/assets/effect/beauty/resource/gaussian_pass.vs +++ b/app/src/main/assets/effect/beauty/resource/gaussian_pass.vs @@ -1,7 +1,7 @@ attribute vec4 position; attribute vec4 inputTextureCoordinate; -// 高斯算子左右偏移值,当偏移值为2时,高斯算子为5 x 5 +// The left and right offset value of the Gaussian operator, when the offset value is 2, the Gaussian operator is 5 x 5 const int SHIFT_SIZE = 2; #ifdef GL_ES @@ -18,9 +18,9 @@ varying vec4 blurShiftCoordinates[SHIFT_SIZE]; void main() { gl_Position = position; textureCoordinate = inputTextureCoordinate.xy; - // 偏移步距 + // Offset step vec2 singleStepOffset = vec2(texelWidthOffset, texelHeightOffset); - // 记录偏移坐标 + // Record offset coordinates for (int i = 0; i < SHIFT_SIZE; i++) { blurShiftCoordinates[i] = vec4(textureCoordinate.xy - float(i + 1) * singleStepOffset, textureCoordinate.xy + float(i + 1) * singleStepOffset); diff --git a/app/src/main/assets/effect/beauty/resource/high_pass.fs b/app/src/main/assets/effect/beauty/resource/high_pass.fs old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/beauty/resource/high_pass.vs b/app/src/main/assets/effect/beauty/resource/high_pass.vs old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/bigEye/config.json b/app/src/main/assets/effect/bigEye/config.json old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/bigEye/resource/fshader.fs b/app/src/main/assets/effect/bigEye/resource/fshader.fs old mode 100644 new mode 100755 index 65bd529a..4dfa36e3 --- a/app/src/main/assets/effect/bigEye/resource/fshader.fs +++ b/app/src/main/assets/effect/bigEye/resource/fshader.fs @@ -10,7 +10,7 @@ uniform sampler2D inputImageTexture; uniform float facePoints[106 * 2]; uniform float bigEyeScale; -// 眼睛圆内放大 +// Zoom in the eye circle vec2 enlargeEye(vec2 textureCoordinate, vec2 originPosition, float radius, float delta) { float weight = distance(vec2(textureCoordinate.x, textureCoordinate.y / aspectRatio), vec2(originPosition.x, originPosition.y / aspectRatio)) / radius; diff --git a/app/src/main/assets/effect/bigEye/resource/vshader.vs b/app/src/main/assets/effect/bigEye/resource/vshader.vs old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/blackWhiteScreen/config.json b/app/src/main/assets/effect/blackWhiteScreen/config.json old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/blackWhiteScreen/resource/background.fs b/app/src/main/assets/effect/blackWhiteScreen/resource/background.fs old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/blackWhiteScreen/resource/background.vs b/app/src/main/assets/effect/blackWhiteScreen/resource/background.vs old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/blackWhiteScreen/resource/blend.fs b/app/src/main/assets/effect/blackWhiteScreen/resource/blend.fs old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/blackWhiteScreen/resource/blend.vs b/app/src/main/assets/effect/blackWhiteScreen/resource/blend.vs old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/blackWhiteScreen/resource/filter/back.png b/app/src/main/assets/effect/blackWhiteScreen/resource/filter/back.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/blackWhiteScreen/resource/filter/front.png b/app/src/main/assets/effect/blackWhiteScreen/resource/filter/front.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/blurScreen/config.json b/app/src/main/assets/effect/blurScreen/config.json old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/blurScreen/resource/blend.fs b/app/src/main/assets/effect/blurScreen/resource/blend.fs old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/blurScreen/resource/downSample.vs b/app/src/main/assets/effect/blurScreen/resource/downSample.vs old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/blurScreen/resource/gaussian_sigma6.fs b/app/src/main/assets/effect/blurScreen/resource/gaussian_sigma6.fs old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/blurScreen/resource/gaussian_sigma6.vs b/app/src/main/assets/effect/blurScreen/resource/gaussian_sigma6.vs old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/blurScreen/resource/normal.fs b/app/src/main/assets/effect/blurScreen/resource/normal.fs old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/blurScreen/resource/normal.vs b/app/src/main/assets/effect/blurScreen/resource/normal.vs old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/cat/event.lua b/app/src/main/assets/effect/cat/event.lua old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/cat/p_hat_mao_a02_e12/particle01_material.acmtl b/app/src/main/assets/effect/cat/p_hat_mao_a02_e12/particle01_material.acmtl old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/cat/p_hat_mao_a02_e12/sticker.event b/app/src/main/assets/effect/cat/p_hat_mao_a02_e12/sticker.event old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/cat/p_hat_mao_a02_e12/sticker.scene b/app/src/main/assets/effect/cat/p_hat_mao_a02_e12/sticker.scene old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/countDown/config.json b/app/src/main/assets/effect/countDown/config.json old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/countDown/resource/2DStickerV3/clip.json b/app/src/main/assets/effect/countDown/resource/2DStickerV3/clip.json old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/countDown/resource/2DStickerV3/clipname1/clipname1_000.png b/app/src/main/assets/effect/countDown/resource/2DStickerV3/clipname1/clipname1_000.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/countDown/resource/2DStickerV3/clipname1/clipname1_001.png b/app/src/main/assets/effect/countDown/resource/2DStickerV3/clipname1/clipname1_001.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/countDown/resource/2DStickerV3/clipname1/clipname1_002.png b/app/src/main/assets/effect/countDown/resource/2DStickerV3/clipname1/clipname1_002.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/countDown/resource/2DStickerV3/clipname1/clipname1_003.png b/app/src/main/assets/effect/countDown/resource/2DStickerV3/clipname1/clipname1_003.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/countDown/resource/2DStickerV3/clipname1/clipname1_004.png b/app/src/main/assets/effect/countDown/resource/2DStickerV3/clipname1/clipname1_004.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/countDown/resource/2DStickerV3/clipname2/clipname2_000.png b/app/src/main/assets/effect/countDown/resource/2DStickerV3/clipname2/clipname2_000.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/countDown/resource/2DStickerV3/clipname2/clipname2_001.png b/app/src/main/assets/effect/countDown/resource/2DStickerV3/clipname2/clipname2_001.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/countDown/resource/2DStickerV3/clipname2/clipname2_002.png b/app/src/main/assets/effect/countDown/resource/2DStickerV3/clipname2/clipname2_002.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/countDown/resource/2DStickerV3/clipname2/clipname2_003.png b/app/src/main/assets/effect/countDown/resource/2DStickerV3/clipname2/clipname2_003.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/countDown/resource/2DStickerV3/clipname2/clipname2_004.png b/app/src/main/assets/effect/countDown/resource/2DStickerV3/clipname2/clipname2_004.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/countDown/resource/2DStickerV3/clipname3/clipname3_000.png b/app/src/main/assets/effect/countDown/resource/2DStickerV3/clipname3/clipname3_000.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/countDown/resource/2DStickerV3/clipname3/clipname3_001.png b/app/src/main/assets/effect/countDown/resource/2DStickerV3/clipname3/clipname3_001.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/countDown/resource/2DStickerV3/clipname3/clipname3_002.png b/app/src/main/assets/effect/countDown/resource/2DStickerV3/clipname3/clipname3_002.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/countDown/resource/2DStickerV3/clipname3/clipname3_003.png b/app/src/main/assets/effect/countDown/resource/2DStickerV3/clipname3/clipname3_003.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/countDown/resource/2DStickerV3/clipname3/clipname3_004.png b/app/src/main/assets/effect/countDown/resource/2DStickerV3/clipname3/clipname3_004.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/countDown/resource/2DStickerV3/clipname3/clipname3_005.png b/app/src/main/assets/effect/countDown/resource/2DStickerV3/clipname3/clipname3_005.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/countDown/resource/2DStickerV3/clipname4/clipname4_001.png b/app/src/main/assets/effect/countDown/resource/2DStickerV3/clipname4/clipname4_001.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/countDown/resource/2DStickerV3/clipname4/clipname4_002.png b/app/src/main/assets/effect/countDown/resource/2DStickerV3/clipname4/clipname4_002.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/countDown/resource/2DStickerV3/clipname4/clipname4_003.png b/app/src/main/assets/effect/countDown/resource/2DStickerV3/clipname4/clipname4_003.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/countDown/resource/2DStickerV3/clipname4/clipname4_004.png b/app/src/main/assets/effect/countDown/resource/2DStickerV3/clipname4/clipname4_004.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/countDown/resource/2DStickerV3/clipname4/clipname4_005.png b/app/src/main/assets/effect/countDown/resource/2DStickerV3/clipname4/clipname4_005.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/countDown/resource/2DStickerV3/clipname4/clipname4_006.png b/app/src/main/assets/effect/countDown/resource/2DStickerV3/clipname4/clipname4_006.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/countDown/resource/2DStickerV3/clipname4/clipname4_007.png b/app/src/main/assets/effect/countDown/resource/2DStickerV3/clipname4/clipname4_007.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/countDown/resource/2DStickerV3/content.json b/app/src/main/assets/effect/countDown/resource/2DStickerV3/content.json old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/countDown/resource/base2d.fs b/app/src/main/assets/effect/countDown/resource/base2d.fs old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/countDown/resource/base2d.vs b/app/src/main/assets/effect/countDown/resource/base2d.vs old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_000.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_000.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_001.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_001.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_002.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_002.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_003.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_003.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_004.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_004.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_005.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_005.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_006.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_006.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_007.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_007.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_008.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_008.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_009.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_009.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_010.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_010.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_011.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_011.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_012.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_012.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_013.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_013.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_014.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_014.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_015.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_015.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_016.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_016.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_017.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_017.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_018.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_018.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_019.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_019.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_020.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_020.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_021.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_021.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_022.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_022.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_023.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_023.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_024.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_024.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_025.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_025.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_026.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_026.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_027.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_027.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_028.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_028.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_029.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_029.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_030.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_030.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_031.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_031.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_032.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_032.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_033.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_033.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_034.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_034.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_035.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_035.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_036.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_036.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_037.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_037.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_038.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_038.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_039.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_039.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_040.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_040.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_041.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_041.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_042.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_042.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_043.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_043.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_044.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_044.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_045.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_045.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_046.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_046.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_047.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_047.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_048.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_048.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_049.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_049.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_050.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_050.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_051.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_051.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_052.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_052.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_053.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_053.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_054.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_054.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_055.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_055.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_056.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_056.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_057.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_057.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_058.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_058.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_059.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_059.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_060.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_060.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_061.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_061.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_062.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_062.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_063.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_063.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_064.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_064.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_065.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_065.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_066.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_066.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_067.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_067.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_068.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_068.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_069.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_069.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_070.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_070.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_071.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_071.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_072.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_072.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_073.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_073.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_074.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_074.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_075.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_075.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_076.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_076.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_077.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_077.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_078.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_078.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_079.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_079.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_080.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_080.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_081.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_081.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_082.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_082.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_083.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_083.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_084.png b/app/src/main/assets/effect/fallPig/2DSticker/brhgwaqc_1549001581/brhgwaqc_1549001581_084.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/content.json b/app/src/main/assets/effect/fallPig/2DSticker/content.json old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/2DSticker/sticker.json b/app/src/main/assets/effect/fallPig/2DSticker/sticker.json old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/FaceMakeupV2/content.json b/app/src/main/assets/effect/fallPig/FaceMakeupV2/content.json old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/FaceMakeupV2/grtitmsw_1548993622.png/grtitmsw_1548993622.png_000.png b/app/src/main/assets/effect/fallPig/FaceMakeupV2/grtitmsw_1548993622.png/grtitmsw_1548993622.png_000.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/FaceMakeupV2/kjglknen_1549010539/kjglknen000.png b/app/src/main/assets/effect/fallPig/FaceMakeupV2/kjglknen_1549010539/kjglknen000.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/FaceMakeupV2/makeup.json b/app/src/main/assets/effect/fallPig/FaceMakeupV2/makeup.json old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/FaceMakeupV2/mask/texcoord.txt b/app/src/main/assets/effect/fallPig/FaceMakeupV2/mask/texcoord.txt old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/FaceMakeupV2/sqdrsscs_1549010539/sqdrsscs000.png b/app/src/main/assets/effect/fallPig/FaceMakeupV2/sqdrsscs_1549010539/sqdrsscs000.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/FaceMakeupV2/winujwoj_1549004082.png/winujwoj_1549004082.png_000.png b/app/src/main/assets/effect/fallPig/FaceMakeupV2/winujwoj_1549004082.png/winujwoj_1549004082.png_000.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/FaceMakeupV2/yhwclhur_1548993646.png/yhwclhur_1548993646.png_000.png b/app/src/main/assets/effect/fallPig/FaceMakeupV2/yhwclhur_1548993646.png/yhwclhur_1548993646.png_000.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/Filter/config.json b/app/src/main/assets/effect/fallPig/Filter/config.json old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/Filter/filter/filter.png b/app/src/main/assets/effect/fallPig/Filter/filter/filter.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fallPig/config.json b/app/src/main/assets/effect/fallPig/config.json old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/flashWhite/config.json b/app/src/main/assets/effect/flashWhite/config.json old mode 100644 new mode 100755 index 830b211f..219ff2e2 --- a/app/src/main/assets/effect/flashWhite/config.json +++ b/app/src/main/assets/effect/flashWhite/config.json @@ -6,7 +6,7 @@ "effect": [ { "type": "generalEffect", - "name": "闪白", + "name": "Flash white", "vertexShader": "resource/vshader.vs", "vertexUniforms": [], "fragmentShader": "resource/fshader.fs", diff --git a/app/src/main/assets/effect/flashWhite/resource/fshader.fs b/app/src/main/assets/effect/flashWhite/resource/fshader.fs old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/flashWhite/resource/vshader.vs b/app/src/main/assets/effect/flashWhite/resource/vshader.vs old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fourScreen/config.json b/app/src/main/assets/effect/fourScreen/config.json old mode 100644 new mode 100755 index 017ffbd7..1a492c7c --- a/app/src/main/assets/effect/fourScreen/config.json +++ b/app/src/main/assets/effect/fourScreen/config.json @@ -6,7 +6,7 @@ "effect": [ { "type": "generalEffect", - "name": "四屏", + "name": "Four screens", "vertexShader": "resource/vshader.vs", "vertexUniforms": [], "fragmentShader": "resource/fshader.fs", diff --git a/app/src/main/assets/effect/fourScreen/resource/fshader.fs b/app/src/main/assets/effect/fourScreen/resource/fshader.fs old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/fourScreen/resource/vshader.vs b/app/src/main/assets/effect/fourScreen/resource/vshader.vs old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/loveSpot/config.json b/app/src/main/assets/effect/loveSpot/config.json old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/nineScreen/config.json b/app/src/main/assets/effect/nineScreen/config.json old mode 100644 new mode 100755 index cc3a24cf..2bb869dd --- a/app/src/main/assets/effect/nineScreen/config.json +++ b/app/src/main/assets/effect/nineScreen/config.json @@ -6,7 +6,7 @@ "effect": [ { "type": "generalEffect", - "name": "九屏", + "name": "Nine screens", "vertexShader": "resource/vshader.vs", "vertexUniforms": [], "fragmentShader": "resource/fshader.fs", diff --git a/app/src/main/assets/effect/nineScreen/resource/fshader.fs b/app/src/main/assets/effect/nineScreen/resource/fshader.fs old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/nineScreen/resource/vshader.vs b/app/src/main/assets/effect/nineScreen/resource/vshader.vs old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clip.json b/app/src/main/assets/effect/princess/2DStickerV3_5101/clip.json old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname1/clipname1_000.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname1/clipname1_000.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname1/clipname1_001.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname1/clipname1_001.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname1/clipname1_002.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname1/clipname1_002.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname1/clipname1_003.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname1/clipname1_003.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname1/clipname1_004.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname1/clipname1_004.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname1/clipname1_005.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname1/clipname1_005.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname1/clipname1_006.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname1/clipname1_006.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname1/clipname1_007.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname1/clipname1_007.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname1/clipname1_008.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname1/clipname1_008.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname1/clipname1_009.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname1/clipname1_009.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname1/clipname1_010.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname1/clipname1_010.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname1/clipname1_011.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname1/clipname1_011.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname1/clipname1_012.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname1/clipname1_012.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname1/clipname1_013.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname1/clipname1_013.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname1/clipname1_014.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname1/clipname1_014.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname1/clipname1_015.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname1/clipname1_015.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname2/clipname2_000.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname2/clipname2_000.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_000.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_000.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_001.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_001.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_002.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_002.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_003.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_003.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_004.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_004.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_005.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_005.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_006.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_006.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_007.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_007.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_008.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_008.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_009.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_009.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_010.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_010.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_011.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_011.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_012.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_012.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_013.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_013.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_014.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_014.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_015.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_015.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_016.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_016.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_017.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_017.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_018.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_018.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_019.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_019.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_020.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_020.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_021.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_021.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_022.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_022.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_023.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_023.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_024.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_024.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_025.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_025.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_026.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_026.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_027.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_027.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_028.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_028.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_029.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_029.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_030.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_030.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_031.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_031.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_032.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_032.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_033.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_033.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_034.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_034.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_035.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_035.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_036.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_036.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_037.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_037.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_038.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_038.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_039.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_039.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_040.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_040.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_041.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_041.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_042.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_042.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_043.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_043.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_044.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_044.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_045.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_045.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_046.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_046.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_047.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_047.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_048.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_048.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_049.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_049.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_050.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_050.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_051.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_051.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_052.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_052.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_053.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_053.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_054.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_054.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_055.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_055.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_056.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_056.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_057.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_057.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_058.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_058.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_059.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_059.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_060.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_060.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_061.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_061.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_062.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_062.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_063.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_063.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_064.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_064.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_065.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_065.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_066.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_066.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_067.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_067.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_068.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_068.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_069.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_069.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_070.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_070.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_071.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_071.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_072.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_072.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_073.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_073.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_074.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_074.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_075.png b/app/src/main/assets/effect/princess/2DStickerV3_5101/clipname3/clipname3_075.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/2DStickerV3_5101/content.json b/app/src/main/assets/effect/princess/2DStickerV3_5101/content.json old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/FaceMakeupV2_2999/FaceMakeupV2/texcoord.txt b/app/src/main/assets/effect/princess/FaceMakeupV2_2999/FaceMakeupV2/texcoord.txt old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/FaceMakeupV2_2999/content.json b/app/src/main/assets/effect/princess/FaceMakeupV2_2999/content.json old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/FaceMakeupV2_2999/eyepart2997/eyepart2997_000.png b/app/src/main/assets/effect/princess/FaceMakeupV2_2999/eyepart2997/eyepart2997_000.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/FaceMakeupV2_2999/makeup.json b/app/src/main/assets/effect/princess/FaceMakeupV2_2999/makeup.json old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/FaceMakeupV2_2999/mask2996/mask2996_000.png b/app/src/main/assets/effect/princess/FaceMakeupV2_2999/mask2996/mask2996_000.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/FaceMakeupV2_2999/mask2999/mask2999_000.png b/app/src/main/assets/effect/princess/FaceMakeupV2_2999/mask2999/mask2999_000.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/FaceMakeupV2_2999/mouthPart_blend2998/mouthPart_blend2998_000.png b/app/src/main/assets/effect/princess/FaceMakeupV2_2999/mouthPart_blend2998/mouthPart_blend2998_000.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/FaceMakeupV2_2999/mouthPart_res2998/mouthPart_res2998_000.png b/app/src/main/assets/effect/princess/FaceMakeupV2_2999/mouthPart_res2998/mouthPart_res2998_000.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/Filter_2998/config.json b/app/src/main/assets/effect/princess/Filter_2998/config.json old mode 100644 new mode 100755 index b0ddaea3..fcdab2c7 --- a/app/src/main/assets/effect/princess/Filter_2998/config.json +++ b/app/src/main/assets/effect/princess/Filter_2998/config.json @@ -1 +1,12 @@ -{"content":{"filter":{"file_type":0,"intensity":0.8025801777839661,"shader_type":0,"type":0}},"tag":"Filter3657F6204F5A41D4916ECB6CFA5E3221","version":"1.1"} \ No newline at end of file +{ + "content": { + "filter": { + "file_type": 0, + "intensity": 0.8025801777839661, + "shader_type": 0, + "type": 0 + } + }, + "tag": "Filter3657F6204F5A41D4916ECB6CFA5E3221", + "version": "1.1" +} \ No newline at end of file diff --git a/app/src/main/assets/effect/princess/Filter_2998/filter/filter.png b/app/src/main/assets/effect/princess/Filter_2998/filter/filter.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/config.json b/app/src/main/assets/effect/princess/config.json old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/princess/event.lua b/app/src/main/assets/effect/princess/event.lua old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/redBlueVertigo/config.json b/app/src/main/assets/effect/redBlueVertigo/config.json old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/redBlueVertigo/resource/fshader.fs b/app/src/main/assets/effect/redBlueVertigo/resource/fshader.fs old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/redBlueVertigo/resource/lookup_vertigo.png b/app/src/main/assets/effect/redBlueVertigo/resource/lookup_vertigo.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/redBlueVertigo/resource/vshader.vs b/app/src/main/assets/effect/redBlueVertigo/resource/vshader.vs old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/roseEyeMakeup/FaceMakeupV2_2997/FaceMakeupV2/texcoord.txt b/app/src/main/assets/effect/roseEyeMakeup/FaceMakeupV2_2997/FaceMakeupV2/texcoord.txt old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/roseEyeMakeup/FaceMakeupV2_2997/content.json b/app/src/main/assets/effect/roseEyeMakeup/FaceMakeupV2_2997/content.json old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/roseEyeMakeup/FaceMakeupV2_2997/makeup.json b/app/src/main/assets/effect/roseEyeMakeup/FaceMakeupV2_2997/makeup.json old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/roseEyeMakeup/FaceMakeupV2_2997/mask2997/mask2997_000.png b/app/src/main/assets/effect/roseEyeMakeup/FaceMakeupV2_2997/mask2997/mask2997_000.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/roseEyeMakeup/FaceMakeupV2_2999/FaceMakeupV2/texcoord.txt b/app/src/main/assets/effect/roseEyeMakeup/FaceMakeupV2_2999/FaceMakeupV2/texcoord.txt old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/roseEyeMakeup/FaceMakeupV2_2999/content.json b/app/src/main/assets/effect/roseEyeMakeup/FaceMakeupV2_2999/content.json old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/roseEyeMakeup/FaceMakeupV2_2999/makeup.json b/app/src/main/assets/effect/roseEyeMakeup/FaceMakeupV2_2999/makeup.json old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/roseEyeMakeup/FaceMakeupV2_2999/mask2995/mask2995_000.png b/app/src/main/assets/effect/roseEyeMakeup/FaceMakeupV2_2999/mask2995/mask2995_000.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/roseEyeMakeup/FaceMakeupV2_2999/mask2996/mask2996_000.png b/app/src/main/assets/effect/roseEyeMakeup/FaceMakeupV2_2999/mask2996/mask2996_000.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/roseEyeMakeup/FaceMakeupV2_2999/mask2997/mask2997_000.png b/app/src/main/assets/effect/roseEyeMakeup/FaceMakeupV2_2999/mask2997/mask2997_000.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/roseEyeMakeup/FaceMakeupV2_2999/mask2999/mask2999_000.png b/app/src/main/assets/effect/roseEyeMakeup/FaceMakeupV2_2999/mask2999/mask2999_000.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/roseEyeMakeup/FaceMakeupV2_2999/pupil_blend2998/pupil_blend2998_000.png b/app/src/main/assets/effect/roseEyeMakeup/FaceMakeupV2_2999/pupil_blend2998/pupil_blend2998_000.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/roseEyeMakeup/FaceMakeupV2_2999/pupil_mask2998/pupil_mask2998_000.png b/app/src/main/assets/effect/roseEyeMakeup/FaceMakeupV2_2999/pupil_mask2998/pupil_mask2998_000.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/roseEyeMakeup/FaceMakeupV2_2999/pupil_seq2998/pupil_seq2998_000.png b/app/src/main/assets/effect/roseEyeMakeup/FaceMakeupV2_2999/pupil_seq2998/pupil_seq2998_000.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/roseEyeMakeup/Filter_2998/config.json b/app/src/main/assets/effect/roseEyeMakeup/Filter_2998/config.json old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/roseEyeMakeup/Filter_2998/filter/filter.png b/app/src/main/assets/effect/roseEyeMakeup/Filter_2998/filter/filter.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/roseEyeMakeup/config.json b/app/src/main/assets/effect/roseEyeMakeup/config.json old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/roseEyeMakeup/event.lua b/app/src/main/assets/effect/roseEyeMakeup/event.lua old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/shake/config.json b/app/src/main/assets/effect/shake/config.json old mode 100644 new mode 100755 index bce6824f..ad49b84c --- a/app/src/main/assets/effect/shake/config.json +++ b/app/src/main/assets/effect/shake/config.json @@ -6,7 +6,7 @@ "effect": [ { "type": "generalEffect", - "name": "抖动", + "name": "Jitter", "vertexShader": "resource/vshader.vs", "vertexUniforms": [], "fragmentShader": "resource/fshader.fs", diff --git a/app/src/main/assets/effect/shake/resource/fshader.fs b/app/src/main/assets/effect/shake/resource/fshader.fs old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/shake/resource/vshader.vs b/app/src/main/assets/effect/shake/resource/vshader.vs old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/sixScreen/config.json b/app/src/main/assets/effect/sixScreen/config.json old mode 100644 new mode 100755 index 2505d3ab..128022e4 --- a/app/src/main/assets/effect/sixScreen/config.json +++ b/app/src/main/assets/effect/sixScreen/config.json @@ -6,7 +6,7 @@ "effect": [ { "type": "generalEffect", - "name": "六屏", + "name": "Six screens", "vertexShader": "resource/vshader.vs", "vertexUniforms": [], "fragmentShader": "resource/fshader.fs", diff --git a/app/src/main/assets/effect/sixScreen/resource/fshader.fs b/app/src/main/assets/effect/sixScreen/resource/fshader.fs old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/sixScreen/resource/vshader.vs b/app/src/main/assets/effect/sixScreen/resource/vshader.vs old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/skinNeedling/config.json b/app/src/main/assets/effect/skinNeedling/config.json old mode 100644 new mode 100755 index d7974af6..fc81c1cf --- a/app/src/main/assets/effect/skinNeedling/config.json +++ b/app/src/main/assets/effect/skinNeedling/config.json @@ -6,7 +6,7 @@ "effect": [ { "type": "generalEffect", - "name": "毛刺", + "name": "glitch", "vertexShader": "resource/vshader.vs", "vertexUniforms": [], "fragmentShader": "resource/fshader.fs", diff --git a/app/src/main/assets/effect/skinNeedling/resource/fshader.fs b/app/src/main/assets/effect/skinNeedling/resource/fshader.fs old mode 100644 new mode 100755 index 6b702ad3..03428ccb --- a/app/src/main/assets/effect/skinNeedling/resource/fshader.fs +++ b/app/src/main/assets/effect/skinNeedling/resource/fshader.fs @@ -1,16 +1,16 @@ #ifdef GL_ES precision highp float; varying highp vec2 textureCoordinate; -uniform highp float uScanLineJitter_x; // 长度 -uniform highp float uScanLineJitter_y; // 密度 -uniform highp float uColorDrift_x; // 颜色倾斜 -uniform highp float uColorDrift_y; // 整体偏移 +uniform highp float uScanLineJitter_x; // length +uniform highp float uScanLineJitter_y; // density +uniform highp float uColorDrift_x; // Color tilt +uniform highp float uColorDrift_y; // Overall offset #else varying vec2 textureCoordinate; -uniform float uScanLineJitter_x; // 长度 -uniform float uScanLineJitter_y; // 密度 -uniform float uColorDrift_x; // 颜色倾斜 -uniform float uColorDrift_y; // 整体偏移 +uniform float uScanLineJitter_x; // length +uniform float uScanLineJitter_y; // density +uniform float uColorDrift_x; // Color tilt +uniform float uColorDrift_y; // Overall offset #endif uniform sampler2D inputImageTexture; uniform float uTimeStamp; @@ -35,14 +35,14 @@ void main() { vec4 src1 = texture2D(inputImageTexture, fract(vec2(u + jitter + shake, jump))); vec4 src2 = texture2D(inputImageTexture, fract(vec2(u + jitter + shake + drift, jump))); - //src1.r, src1.g, src2.b 黄蓝 - //src1.r, src1.g, src1.b 无 - //src1.r, src2.g, src1.b 绿粉红 - //src1.r, src2.g, src2.b 蓝红 - //src2.r, src1.g, src1.b 蓝红 - //src2.r, src1.g, src2.b 粉红绿 - //src2.r, src2.g, src1.b 黄蓝 - //src2.r, src2.g, src2.b 无 + //src1.r, src1.g, src2.b Yellow and blue + //src1.r, src1.g, src1.b no + //src1.r, src2.g, src1.b Green pink + //src1.r, src2.g, src2.b Blue red + //src2.r, src1.g, src1.b Blue red + //src2.r, src1.g, src2.b Pink green + //src2.r, src2.g, src1.b Yellow and blue + //src2.r, src2.g, src2.b no gl_FragColor = vec4(src1.r, src2.g, src1.b, 1.0); } diff --git a/app/src/main/assets/effect/skinNeedling/resource/vshader.vs b/app/src/main/assets/effect/skinNeedling/resource/vshader.vs old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/soulScale/config.json b/app/src/main/assets/effect/soulScale/config.json old mode 100644 new mode 100755 index 0f36c999..7343f0e7 --- a/app/src/main/assets/effect/soulScale/config.json +++ b/app/src/main/assets/effect/soulScale/config.json @@ -6,7 +6,7 @@ "effect": [ { "type": "generalEffect", - "name": "灵魂出窍", + "name": "Soul out of the body", "vertexShader": "resource/vshader.vs", "vertexUniforms": [], "fragmentShader": "resource/fshader.fs", diff --git a/app/src/main/assets/effect/soulScale/resource/fshader.fs b/app/src/main/assets/effect/soulScale/resource/fshader.fs old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/soulScale/resource/vshader.vs b/app/src/main/assets/effect/soulScale/resource/vshader.vs old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/stickerMarkup/2DSticker/bapqjpwe_1552305936.png/bapqjpwe_1552305936.png_000.png b/app/src/main/assets/effect/stickerMarkup/2DSticker/bapqjpwe_1552305936.png/bapqjpwe_1552305936.png_000.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/stickerMarkup/2DSticker/content.json b/app/src/main/assets/effect/stickerMarkup/2DSticker/content.json old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/stickerMarkup/2DSticker/fsztativ_1552305880.png/fsztativ_1552305880.png_000.png b/app/src/main/assets/effect/stickerMarkup/2DSticker/fsztativ_1552305880.png/fsztativ_1552305880.png_000.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/stickerMarkup/2DSticker/sticker.json b/app/src/main/assets/effect/stickerMarkup/2DSticker/sticker.json old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/stickerMarkup/2DSticker/xlcnvokn_1552305977.png/xlcnvokn_1552305977.png_000.png b/app/src/main/assets/effect/stickerMarkup/2DSticker/xlcnvokn_1552305977.png/xlcnvokn_1552305977.png_000.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/stickerMarkup/FaceMakeupV2/ciopsajh_1552305780.png/ciopsajh_1552305780.png_000.png b/app/src/main/assets/effect/stickerMarkup/FaceMakeupV2/ciopsajh_1552305780.png/ciopsajh_1552305780.png_000.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/stickerMarkup/FaceMakeupV2/content.json b/app/src/main/assets/effect/stickerMarkup/FaceMakeupV2/content.json old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/stickerMarkup/FaceMakeupV2/gabsjbvy_1552305761.png/gabsjbvy_1552305761.png_000.png b/app/src/main/assets/effect/stickerMarkup/FaceMakeupV2/gabsjbvy_1552305761.png/gabsjbvy_1552305761.png_000.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/stickerMarkup/FaceMakeupV2/jkjwrurj_1552305813.png/jkjwrurj_1552305813.png_000.png b/app/src/main/assets/effect/stickerMarkup/FaceMakeupV2/jkjwrurj_1552305813.png/jkjwrurj_1552305813.png_000.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/stickerMarkup/FaceMakeupV2/kslvafhp_1552306124/kslvafhp000.png b/app/src/main/assets/effect/stickerMarkup/FaceMakeupV2/kslvafhp_1552306124/kslvafhp000.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/stickerMarkup/FaceMakeupV2/kslvafhp_1552306124/kslvafhp002.png b/app/src/main/assets/effect/stickerMarkup/FaceMakeupV2/kslvafhp_1552306124/kslvafhp002.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/stickerMarkup/FaceMakeupV2/makeup.json b/app/src/main/assets/effect/stickerMarkup/FaceMakeupV2/makeup.json old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/stickerMarkup/FaceMakeupV2/mask/texcoord.txt b/app/src/main/assets/effect/stickerMarkup/FaceMakeupV2/mask/texcoord.txt old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/stickerMarkup/FaceMakeupV2/ncwziyda_1552305795.png/ncwziyda_1552305795.png_000.png b/app/src/main/assets/effect/stickerMarkup/FaceMakeupV2/ncwziyda_1552305795.png/ncwziyda_1552305795.png_000.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/stickerMarkup/FaceMakeupV2/okyyrjtd_1552306124/okyyrjtd000.png b/app/src/main/assets/effect/stickerMarkup/FaceMakeupV2/okyyrjtd_1552306124/okyyrjtd000.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/stickerMarkup/Filter/config.json b/app/src/main/assets/effect/stickerMarkup/Filter/config.json old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/stickerMarkup/Filter/filter/filter.png b/app/src/main/assets/effect/stickerMarkup/Filter/filter/filter.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/stickerMarkup/config.json b/app/src/main/assets/effect/stickerMarkup/config.json old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/threeScreen/config.json b/app/src/main/assets/effect/threeScreen/config.json old mode 100644 new mode 100755 index 8b1907c7..c51b772a --- a/app/src/main/assets/effect/threeScreen/config.json +++ b/app/src/main/assets/effect/threeScreen/config.json @@ -6,7 +6,7 @@ "effect": [ { "type": "generalEffect", - "name": "三屏", + "name": "Three screens", "vertexShader": "resource/vshader.vs", "vertexUniforms": [], "fragmentShader": "resource/fshader.fs", diff --git a/app/src/main/assets/effect/threeScreen/resource/fshader.fs b/app/src/main/assets/effect/threeScreen/resource/fshader.fs old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/threeScreen/resource/vshader.vs b/app/src/main/assets/effect/threeScreen/resource/vshader.vs old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/twoScreen/config.json b/app/src/main/assets/effect/twoScreen/config.json old mode 100644 new mode 100755 index b603186b..9981b3b7 --- a/app/src/main/assets/effect/twoScreen/config.json +++ b/app/src/main/assets/effect/twoScreen/config.json @@ -6,7 +6,7 @@ "effect": [ { "type": "generalEffect", - "name": "两屏", + "name": "Two screens", "vertexShader": "resource/vshader.vs", "vertexUniforms": [], "fragmentShader": "resource/fshader.fs", diff --git a/app/src/main/assets/effect/twoScreen/resource/fshader.fs b/app/src/main/assets/effect/twoScreen/resource/fshader.fs old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/twoScreen/resource/vshader.vs b/app/src/main/assets/effect/twoScreen/resource/vshader.vs old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/x-signal/config.json b/app/src/main/assets/effect/x-signal/config.json old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/x-signal/resource/fshader.fs b/app/src/main/assets/effect/x-signal/resource/fshader.fs old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/x-signal/resource/lookup_glitch.png b/app/src/main/assets/effect/x-signal/resource/lookup_glitch.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/x-signal/resource/lookup_vertigo.png b/app/src/main/assets/effect/x-signal/resource/lookup_vertigo.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/x-signal/resource/noise.png b/app/src/main/assets/effect/x-signal/resource/noise.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/x-signal/resource/oldmovie.png b/app/src/main/assets/effect/x-signal/resource/oldmovie.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/x-signal/resource/vshader.vs b/app/src/main/assets/effect/x-signal/resource/vshader.vs old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/zoomInOut/config.json b/app/src/main/assets/effect/zoomInOut/config.json old mode 100644 new mode 100755 index 6163c4b0..178f539b --- a/app/src/main/assets/effect/zoomInOut/config.json +++ b/app/src/main/assets/effect/zoomInOut/config.json @@ -6,7 +6,7 @@ "effect": [ { "type": "generalEffect", - "name": "缩放", + "name": "Zoom", "vertexShader": "resource/vshader.vs", "vertexUniforms": [], "fragmentShader": "resource/fshader.fs", diff --git a/app/src/main/assets/effect/zoomInOut/resource/fshader.fs b/app/src/main/assets/effect/zoomInOut/resource/fshader.fs old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect/zoomInOut/resource/vshader.vs b/app/src/main/assets/effect/zoomInOut/resource/vshader.vs old mode 100644 new mode 100755 diff --git a/app/src/main/assets/effect_filter.json b/app/src/main/assets/effect_filter.json old mode 100644 new mode 100755 index d94b8536..b2a3393f --- a/app/src/main/assets/effect_filter.json +++ b/app/src/main/assets/effect_filter.json @@ -1,35 +1,35 @@ [ { "id": 1, - "name": "闪白", + "name": "Flash white", "color": "#cc23bdb1", "effect": "effect/flashWhite", "effectName": "FlashWhite" }, { "id": 2, - "name": "灵魂出窍", + "name": "Soul out of the body", "color": "#EA0000", "effect": "effect/soulScale", "effectName": "effect/SoulScale" }, { "id": 3, - "name": "抖动", + "name": "Jitter", "color": "#CCEA0000", "effect": "effect/shake", "effectName": "Shake" }, { "id": 4, - "name": "毛刺", + "name": "glitch", "color": "#CCEA0000", "effect": "effect/skinNeedling", "effectName": "SkinNeedling" }, { "id": 5, - "name": "缩放", + "name": "Zoom", "color": "#CCEA0000", "effect": "effect/zoomInOut", "effectName": "zoomInOut" diff --git a/app/src/main/assets/export_config.json b/app/src/main/assets/export_config.json old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/baixue/snow/snow.png b/app/src/main/assets/filter/baixue/snow/snow.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/baizan/lut_117/lut_117.png b/app/src/main/assets/filter/baizan/lut_117/lut_117.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/chahui/lut_124/lut_124.png b/app/src/main/assets/filter/chahui/lut_124/lut_124.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/chahui/thumbnail.jpg b/app/src/main/assets/filter/chahui/thumbnail.jpg old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/chengshi/lut_149/lut_149.png b/app/src/main/assets/filter/chengshi/lut_149/lut_149.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/chulian/lut_118/lut_118.png b/app/src/main/assets/filter/chulian/lut_118/lut_118.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/chunjing/pure/pure.png b/app/src/main/assets/filter/chunjing/pure/pure.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/chunzhen/sincere/sincere.png b/app/src/main/assets/filter/chunzhen/sincere/sincere.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/chuxin/lut137/lut137.png b/app/src/main/assets/filter/chuxin/lut137/lut137.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/chuxin/thumbnail.jpg b/app/src/main/assets/filter/chuxin/thumbnail.jpg old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/danse/lut_114/lut_114.png b/app/src/main/assets/filter/danse/lut_114/lut_114.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/daoyu/lut_151/lut_151.png b/app/src/main/assets/filter/daoyu/lut_151/lut_151.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/dongren/vivid_4/vivid_4.png b/app/src/main/assets/filter/dongren/vivid_4/vivid_4.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/dujiaoshou/lut_155/lut_155.png b/app/src/main/assets/filter/dujiaoshou/lut_155/lut_155.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/fanchase/lut_112/lut_112.png b/app/src/main/assets/filter/fanchase/lut_112/lut_112.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/feifan/uncommon/uncommon.png b/app/src/main/assets/filter/feifan/uncommon/uncommon.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/filter.json b/app/src/main/assets/filter/filter.json old mode 100644 new mode 100755 index 99ca8d24..4711880f --- a/app/src/main/assets/filter/filter.json +++ b/app/src/main/assets/filter/filter.json @@ -1,6 +1,6 @@ [ { - "name": "白皙", + "name": "Fair", "thumbnail": "baizan/thumbnail.jpg", "config": "baizan", "lut": "baizan/lut_117/lut_117.png", @@ -8,7 +8,7 @@ "downloadUrl": "https://videofactory.oss-cn-shanghai.aliyuncs.com/filter/baizan.zip" }, { - "name": "白雪", + "name": "Bai Xue", "thumbnail": "baixue/thumbnail.jpg", "config": "baixue", "lut": "baixue/snow/snow.png", @@ -16,7 +16,7 @@ "downloadUrl": "https://videofactory.oss-cn-shanghai.aliyuncs.com/filter/baixue.zip" }, { - "name": "茶灰", + "name": "Tea ash", "thumbnail": "chahui/thumbnail.jpg", "config": "chahui", "lut": "chahui/lut_124/lut_124.png", @@ -24,7 +24,7 @@ "downloadUrl": "https://videofactory.oss-cn-shanghai.aliyuncs.com/filter/chahui.zip" }, { - "name": "城市", + "name": "city", "thumbnail": "chengshi/thumbnail.jpg", "config": "chengshi", "lut": "chengshi/lut_149/lut_149.png", @@ -32,7 +32,7 @@ "downloadUrl": "https://videofactory.oss-cn-shanghai.aliyuncs.com/filter/chengshi.zip" }, { - "name": "初恋", + "name": "First love", "thumbnail": "chulian/thumbnail.jpg", "config": "chulian", "lut": "chulian/lut_118/lut_118.png", @@ -40,7 +40,7 @@ "downloadUrl": "https://videofactory.oss-cn-shanghai.aliyuncs.com/filter/chulian.zip" }, { - "name": "初心", + "name": "Original intention", "thumbnail": "chuxin/thumbnail.jpg", "config": "chuxin", "lut": "chuxin/lut137/lut137.png", @@ -48,7 +48,7 @@ "downloadUrl": "https://videofactory.oss-cn-shanghai.aliyuncs.com/filter/chuxin.zip" }, { - "name": "纯净", + "name": "Pure", "thumbnail": "chunjing/thumbnail.jpg", "config": "chunjing", "lut": "chunjing/pure/pure.png", @@ -56,7 +56,7 @@ "downloadUrl": "https://videofactory.oss-cn-shanghai.aliyuncs.com/filter/chunjing.zip" }, { - "name": "纯真", + "name": "Innocence", "thumbnail": "chunzhen/thumbnail.jpg", "config": "chunzhen", "lut": "chunzhen/sincere/sincere.png", @@ -64,7 +64,7 @@ "downloadUrl": "https://videofactory.oss-cn-shanghai.aliyuncs.com/filter/chunzhen.zip" }, { - "name": "单色", + "name": "monochrome", "thumbnail": "danse/thumbnail.jpg", "config": "danse", "lut": "danse/lut_114/lut_114.png", @@ -72,7 +72,7 @@ "downloadUrl": "https://videofactory.oss-cn-shanghai.aliyuncs.com/filter/danse.zip" }, { - "name": "岛屿", + "name": "islands", "thumbnail": "daoyu/thumbnail.jpg", "config": "daoyu", "lut": "daoyu/lut_151/lut_151.png", @@ -80,7 +80,7 @@ "downloadUrl": "https://videofactory.oss-cn-shanghai.aliyuncs.com/filter/daoyu.zip" }, { - "name": "动人", + "name": "moving", "thumbnail": "dongren/thumbnail.jpg", "config": "dongren", "lut": "dongren/vivid_4/vivid_4.png", @@ -88,7 +88,7 @@ "downloadUrl": "https://videofactory.oss-cn-shanghai.aliyuncs.com/filter/dongren.zip" }, { - "name": "独角兽", + "name": "unicorn", "thumbnail": "dujiaoshou/thumbnail.jpg", "config": "dujiaoshou", "lut": "dujiaoshou/lut_155/lut_155.png", @@ -96,7 +96,7 @@ "downloadUrl": "https://videofactory.oss-cn-shanghai.aliyuncs.com/filter/dujiaoshou.zip" }, { - "name": "反差色", + "name": "Contrast color", "thumbnail": "fanchase/thumbnail.jpg", "config": "fanchase", "lut": "fanchase/lut_112/lut_112.png", @@ -104,7 +104,7 @@ "downloadUrl": "https://videofactory.oss-cn-shanghai.aliyuncs.com/filter/fanchase.zip" }, { - "name": "非凡", + "name": "extraordinary", "thumbnail": "feifan/thumbnail.jpg", "config": "feifan", "lut": "feifan/uncommon/uncommon.png", @@ -112,7 +112,7 @@ "downloadUrl": "https://videofactory.oss-cn-shanghai.aliyuncs.com/filter/feifan.zip" }, { - "name": "过往", + "name": "Past", "thumbnail": "guowang/thumbnail.jpg", "config": "guowang", "lut": "guowang/beyond/beyond.png", @@ -120,7 +120,7 @@ "downloadUrl": "https://videofactory.oss-cn-shanghai.aliyuncs.com/filter/guowang.zip" }, { - "name": "海棠", + "name": "Begonia", "thumbnail": "haitang/thumbnail.jpg", "config": "haitang", "lut": "haitang/lut_146/lut_146.png", @@ -128,7 +128,7 @@ "downloadUrl": "https://videofactory.oss-cn-shanghai.aliyuncs.com/filter/haitang.zip" }, { - "name": "红色", + "name": "red", "thumbnail": "hongse/thumbnail.jpg", "config": "hongse", "lut": "hongse/lut_115/lut_115.png", @@ -136,7 +136,7 @@ "downloadUrl": "https://videofactory.oss-cn-shanghai.aliyuncs.com/filter/hongse.zip" }, { - "name": "琥珀", + "name": "amber", "thumbnail": "hupo/thumbnail.jpg", "config": "hupo", "lut": "hupo/lut_147/lut_147.png", @@ -144,7 +144,7 @@ "downloadUrl": "https://videofactory.oss-cn-shanghai.aliyuncs.com/filter/hupo.zip" }, { - "name": "焦糖", + "name": "caramel", "thumbnail": "jiaotang/thumbnail.jpg", "config": "jiaotang", "lut": "jiaotang/lut139/lut139.png", @@ -152,7 +152,7 @@ "downloadUrl": "https://videofactory.oss-cn-shanghai.aliyuncs.com/filter/jiaotang.zip" }, { - "name": "可口", + "name": "tasty", "thumbnail": "kekou/thumbnail.jpg", "config": "kekou", "lut": "kekou/lut100/lut100.png", @@ -160,7 +160,7 @@ "downloadUrl": "https://videofactory.oss-cn-shanghai.aliyuncs.com/filter/kekou.zip" }, { - "name": "罗密欧", + "name": "Romeo", "thumbnail": "luomio/thumbnail.jpg", "config": "luomio", "lut": "luomio/romeo/romeo.png", @@ -168,7 +168,7 @@ "downloadUrl": "https://videofactory.oss-cn-shanghai.aliyuncs.com/filter/luomio.zip" }, { - "name": "美味", + "name": "delicious", "thumbnail": "meiwei/thumbnail.jpg", "config": "meiwei", "lut": "meiwei/lut120/lut120.png", @@ -176,7 +176,7 @@ "downloadUrl": "https://videofactory.oss-cn-shanghai.aliyuncs.com/filter/meiwei.zip" }, { - "name": "蜜粉桃", + "name": "Honey pink peach", "thumbnail": "mifentao/thumbnail.jpg", "config": "mifentao", "lut": "mifentao/lut_130/lut_130.png", @@ -184,7 +184,7 @@ "downloadUrl": "https://videofactory.oss-cn-shanghai.aliyuncs.com/filter/mifentao.zip" }, { - "name": "摩卡", + "name": "Mocha", "thumbnail": "moka/thumbnail.jpg", "config": "moka", "lut": "moka/lut_144/lut_144.png", @@ -192,7 +192,7 @@ "downloadUrl": "https://videofactory.oss-cn-shanghai.aliyuncs.com/filter/moka.zip" }, { - "name": "慕斯", + "name": "Mousse", "thumbnail": "musi/thumbnail.jpg", "config": "musi", "lut": "musi/lut_119/lut_119.png", @@ -200,7 +200,7 @@ "downloadUrl": "https://videofactory.oss-cn-shanghai.aliyuncs.com/filter/musi.zip" }, { - "name": "奶茶", + "name": "Milk tea", "thumbnail": "naicha/thumbnail.jpg", "config": "naicha", "lut": "naicha/lut142/lut142.png", @@ -208,7 +208,7 @@ "downloadUrl": "https://videofactory.oss-cn-shanghai.aliyuncs.com/filter/naicha.zip" }, { - "name": "年华", + "name": "years", "thumbnail": "nianhua/thumbnail.jpg", "config": "nianhua", "lut": "nianhua/years/years.png", @@ -216,7 +216,7 @@ "downloadUrl": "https://videofactory.oss-cn-shanghai.aliyuncs.com/filter/nianhua.zip" }, { - "name": "拍立得", + "name": "Polaroid", "thumbnail": "pailide/thumbnail.jpg", "config": "pailide", "lut": "pailide/lut_113/lut_113.png", @@ -224,7 +224,7 @@ "downloadUrl": "https://videofactory.oss-cn-shanghai.aliyuncs.com/filter/pailide.zip" }, { - "name": "沛蓝", + "name": "Peilan", "thumbnail": "peilan/thumbnail.jpg", "config": "peilan", "lut": "peilan/lut125/lut125.png", @@ -232,7 +232,7 @@ "downloadUrl": "https://videofactory.oss-cn-shanghai.aliyuncs.com/filter/peilan.zip" }, { - "name": "蔷薇", + "name": "rose", "thumbnail": "qiangwei/thumbnail.jpg", "config": "qiangwei", "lut": "qiangwei/rose/rose.png", @@ -240,7 +240,7 @@ "downloadUrl": "https://videofactory.oss-cn-shanghai.aliyuncs.com/filter/qiangwei.zip" }, { - "name": "清纯", + "name": "Pure", "thumbnail": "qingchun/thumbnail.jpg", "config": "qingchun", "lut": "qingchun/teen/teen.png", @@ -248,7 +248,7 @@ "downloadUrl": "https://videofactory.oss-cn-shanghai.aliyuncs.com/filter/qingchun.zip" }, { - "name": "清凉", + "name": "Cool", "thumbnail": "qingliang/thumbnail.jpg", "config": "qingliang", "lut": "qingliang/lut_145/lut_145.png", @@ -256,7 +256,7 @@ "downloadUrl": "https://videofactory.oss-cn-shanghai.aliyuncs.com/filter/qingliang.zip" }, { - "name": "清新", + "name": "Refreshing", "thumbnail": "qingxin/thumbnail.jpg", "config": "qingxin", "lut": "qingxin/lut102/lut102.png", @@ -264,7 +264,7 @@ "downloadUrl": "https://videofactory.oss-cn-shanghai.aliyuncs.com/filter/qingxin.zip" }, { - "name": "曲奇", + "name": "Cookies", "thumbnail": "quqi/thumbnail.jpg", "config": "quqi", "lut": "quqi/beach_15/beach_15.png", @@ -272,7 +272,7 @@ "downloadUrl": "https://videofactory.oss-cn-shanghai.aliyuncs.com/filter/quqi.zip" }, { - "name": "日系", + "name": "Japanese", "thumbnail": "rixi/thumbnail.jpg", "config": "rixi", "lut": "rixi/fresh_5/fresh_5.png", @@ -280,7 +280,7 @@ "downloadUrl": "https://videofactory.oss-cn-shanghai.aliyuncs.com/filter/rixi.zip" }, { - "name": "日杂", + "name": "Japanese miscellaneous", "thumbnail": "riza/thumbnail.jpg", "config": "riza", "lut": "riza/lut_125/lut_125.png", @@ -288,7 +288,7 @@ "downloadUrl": "https://videofactory.oss-cn-shanghai.aliyuncs.com/filter/riza.zip" }, { - "name": "闪酷橘", + "name": "Flash cool orange", "thumbnail": "shankuju/thumbnail.jpg", "config": "shankuju", "lut": "shankuju/lut_154/lut_154.png", @@ -296,7 +296,7 @@ "downloadUrl": "https://videofactory.oss-cn-shanghai.aliyuncs.com/filter/shankuju.zip" }, { - "name": "深黑", + "name": "Deep black", "thumbnail": "shenhei/thumbnail.jpg", "config": "shenhei", "lut": "shenhei/lut111/lut111.png", @@ -304,7 +304,7 @@ "downloadUrl": "https://videofactory.oss-cn-shanghai.aliyuncs.com/filter/shenhei.zip" }, { - "name": "曙光", + "name": "Dawn", "thumbnail": "shuguang/thumbnail.jpg", "config": "shuguang", "lut": "shuguang/lut_152/lut_152.png", @@ -312,7 +312,7 @@ "downloadUrl": "https://videofactory.oss-cn-shanghai.aliyuncs.com/filter/shuguang.zip" }, { - "name": "素净", + "name": "Su Jing", "thumbnail": "sujing/thumbnail.jpg", "config": "sujing", "lut": "sujing/lut123/lut123.png", @@ -320,7 +320,7 @@ "downloadUrl": "https://videofactory.oss-cn-shanghai.aliyuncs.com/filter/sujing.zip" }, { - "name": "酸奶", + "name": "Yogurt", "thumbnail": "suannai/thumbnail.jpg", "config": "suannai", "lut": "suannai/lut_140/lut_140.png", @@ -328,7 +328,7 @@ "downloadUrl": "https://videofactory.oss-cn-shanghai.aliyuncs.com/filter/suannai.zip" }, { - "name": "蔚蓝", + "name": "Azure", "thumbnail": "weilan/thumbnail.jpg", "config": "weilan", "lut": "weilan/lut110/lut110.png", @@ -336,7 +336,7 @@ "downloadUrl": "https://videofactory.oss-cn-shanghai.aliyuncs.com/filter/weilan.zip" }, { - "name": "乌邦托", + "name": "Ubonto", "thumbnail": "wubangtuo/thumbnail.jpg", "config": "wubangtuo", "lut": "wubangtuo/lut_153/lut_153.png", @@ -344,7 +344,7 @@ "downloadUrl": "https://videofactory.oss-cn-shanghai.aliyuncs.com/filter/wubangtuo.zip" }, { - "name": "西柚", + "name": "grapefruit", "thumbnail": "xiyou/thumbnail.jpg", "config": "xiyou", "lut": "xiyou/lut_143/lut_143.png", @@ -352,7 +352,7 @@ "downloadUrl": "https://videofactory.oss-cn-shanghai.aliyuncs.com/filter/xiyou.zip" }, { - "name": "鲜嫩", + "name": "Fresh and tender", "thumbnail": "xiannei/thumbnail.jpg", "config": "xiannei", "lut": "xiannei/lut141/lut141.png", @@ -360,7 +360,7 @@ "downloadUrl": "https://videofactory.oss-cn-shanghai.aliyuncs.com/filter/xiannei.zip" }, { - "name": "芝士", + "name": "Cheese", "thumbnail": "zhishi/thumbnail.jpg", "config": "zhishi", "lut": "zhishi/lut129/lut129.png", @@ -368,7 +368,7 @@ "downloadUrl": "https://videofactory.oss-cn-shanghai.aliyuncs.com/filter/zhishi.zip" }, { - "name": "仲夏", + "name": "midsummer", "thumbnail": "zhongxia/thumbnail.jpg", "config": "zhongxia", "lut": "zhongxia/lut_148/lut_148.png", @@ -376,7 +376,7 @@ "downloadUrl": "https://videofactory.oss-cn-shanghai.aliyuncs.com/filter/zhongxia.zip" }, { - "name": "自然", + "name": "natural", "thumbnail": "ziran/thumbnail.jpg", "config": "ziran", "lut": "ziran/normal_android/normal_android.png", diff --git a/app/src/main/assets/filter/guowang/beyond/beyond.png b/app/src/main/assets/filter/guowang/beyond/beyond.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/haitang/lut_146/lut_146.png b/app/src/main/assets/filter/haitang/lut_146/lut_146.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/hongse/lut_115/lut_115.png b/app/src/main/assets/filter/hongse/lut_115/lut_115.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/hupo/lut_147/lut_147.png b/app/src/main/assets/filter/hupo/lut_147/lut_147.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/jiaotang/lut139/lut139.png b/app/src/main/assets/filter/jiaotang/lut139/lut139.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/jiaotang/thumbnail.jpg b/app/src/main/assets/filter/jiaotang/thumbnail.jpg old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/kekou/config.json b/app/src/main/assets/filter/kekou/config.json old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/kekou/lut100/lut100.png b/app/src/main/assets/filter/kekou/lut100/lut100.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/kekou/thumbnail.jpg b/app/src/main/assets/filter/kekou/thumbnail.jpg old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/luomio/romeo/romeo.png b/app/src/main/assets/filter/luomio/romeo/romeo.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/meiwei/config.json b/app/src/main/assets/filter/meiwei/config.json old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/meiwei/lut120/lut120.png b/app/src/main/assets/filter/meiwei/lut120/lut120.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/meiwei/thumbnail.jpg b/app/src/main/assets/filter/meiwei/thumbnail.jpg old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/mifentao/lut_130/lut_130.png b/app/src/main/assets/filter/mifentao/lut_130/lut_130.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/moka/lut_144/lut_144.png b/app/src/main/assets/filter/moka/lut_144/lut_144.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/musi/lut_119/lut_119.png b/app/src/main/assets/filter/musi/lut_119/lut_119.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/naicha/config.json b/app/src/main/assets/filter/naicha/config.json old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/naicha/lut142/lut142.png b/app/src/main/assets/filter/naicha/lut142/lut142.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/nianhua/years/years.png b/app/src/main/assets/filter/nianhua/years/years.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/pailide/lut_113/lut_113.png b/app/src/main/assets/filter/pailide/lut_113/lut_113.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/peilan/config.json b/app/src/main/assets/filter/peilan/config.json old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/peilan/lut125/lut125.png b/app/src/main/assets/filter/peilan/lut125/lut125.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/qiangwei/rose/rose.png b/app/src/main/assets/filter/qiangwei/rose/rose.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/qingchun/teen/teen.png b/app/src/main/assets/filter/qingchun/teen/teen.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/qingliang/lut_145/lut_145.png b/app/src/main/assets/filter/qingliang/lut_145/lut_145.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/qingxin/config.json b/app/src/main/assets/filter/qingxin/config.json old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/qingxin/lut102/lut102.png b/app/src/main/assets/filter/qingxin/lut102/lut102.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/quqi/beach_15/beach_15.png b/app/src/main/assets/filter/quqi/beach_15/beach_15.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/rixi/fresh_5/fresh_5.png b/app/src/main/assets/filter/rixi/fresh_5/fresh_5.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/riza/lut_125/lut_125.png b/app/src/main/assets/filter/riza/lut_125/lut_125.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/riza/thumbnail.jpg b/app/src/main/assets/filter/riza/thumbnail.jpg old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/shankuju/lut_154/lut_154.png b/app/src/main/assets/filter/shankuju/lut_154/lut_154.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/shenhei/config.json b/app/src/main/assets/filter/shenhei/config.json old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/shenhei/lut111/lut111.png b/app/src/main/assets/filter/shenhei/lut111/lut111.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/shuguang/lut_152/lut_152.png b/app/src/main/assets/filter/shuguang/lut_152/lut_152.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/suannai/lut_140/lut_140.png b/app/src/main/assets/filter/suannai/lut_140/lut_140.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/sujing/config.json b/app/src/main/assets/filter/sujing/config.json old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/sujing/lut123/lut123.png b/app/src/main/assets/filter/sujing/lut123/lut123.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/sujing/thumbnail.jpg b/app/src/main/assets/filter/sujing/thumbnail.jpg old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/weilan/config.json b/app/src/main/assets/filter/weilan/config.json old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/weilan/lut110/lut110.png b/app/src/main/assets/filter/weilan/lut110/lut110.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/wubangtuo/lut_153/lut_153.png b/app/src/main/assets/filter/wubangtuo/lut_153/lut_153.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/xiannei/config.json b/app/src/main/assets/filter/xiannei/config.json old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/xiannei/lut141/lut141.png b/app/src/main/assets/filter/xiannei/lut141/lut141.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/xiyou/lut_143/lut_143.png b/app/src/main/assets/filter/xiyou/lut_143/lut_143.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/zhishi/lut129/lut129.png b/app/src/main/assets/filter/zhishi/lut129/lut129.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/zhongxia/lut_148/lut_148.png b/app/src/main/assets/filter/zhongxia/lut_148/lut_148.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/filter/ziran/normal_android/normal_android.png b/app/src/main/assets/filter/ziran/normal_android/normal_android.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/identify.json b/app/src/main/assets/identify.json old mode 100644 new mode 100755 index cfdec068..0e50f3e3 --- a/app/src/main/assets/identify.json +++ b/app/src/main/assets/identify.json @@ -1,37 +1,37 @@ [ { "id": 0, - "name": "太空熊", + "name": "Space bear", "color": "#cc23bdb1", "effect": "effect/spaceBear" }, { "id": 1, - "name": "玫瑰眼妆", + "name": "Rose eye makeup", "color": "#cc23bdb1", "effect": "effect/roseEyeMakeup" }, { "id": 2, - "name": "王妃", + "name": "Princess", "color": "#cce77e86", "effect": "effect/princess" }, { "id": 3, - "name": "贴纸妆", + "name": "Sticker makeup", "color": "#cce77e86", "effect": "effect/stickerMarkup" }, { "id": 4, - "name": "飘落小猪", + "name": "Falling piggy", "color": "#cce77e86", "effect": "effect/fallPig" }, { "id": 5, - "name": "猫头", + "name": "Cat head", "color": "#cce77e86", "effect": "effect/cat" } diff --git a/app/src/main/assets/keyboard.jpg b/app/src/main/assets/keyboard.jpg old mode 100644 new mode 100755 diff --git a/app/src/main/assets/lenna.png b/app/src/main/assets/lenna.png old mode 100644 new mode 100755 diff --git a/app/src/main/assets/output.mp4 b/app/src/main/assets/output.mp4 new file mode 100644 index 00000000..74b45167 Binary files /dev/null and b/app/src/main/assets/output.mp4 differ diff --git a/app/src/main/assets/split_screen.json b/app/src/main/assets/split_screen.json old mode 100644 new mode 100755 index a3360234..5137d02a --- a/app/src/main/assets/split_screen.json +++ b/app/src/main/assets/split_screen.json @@ -1,49 +1,49 @@ [ { "id": 1, - "name": "两屏", + "name": "Two screens", "color": "#cce77e86", "effect": "effect/twoScreen", "effectName": "SplitScreen" }, { "id": 2, - "name": "三屏", + "name": "Three screens", "color": "#ccdc424e", "effect": "effect/threeScreen", "effectName": "SplitScreen" }, { "id": 3, - "name": "四屏", + "name": "Four screens", "color": "#ccc12430", "effect": "effect/fourScreen", "effectName": "SplitScreen" }, { "id": 4, - "name": "六屏", + "name": "Six screens", "color": "#ccef2f3e", "effect": "effect/sixScreen", "effectName": "SplitScreen" }, { "id": 5, - "name": "九屏", + "name": "Nine screens", "color": "#ccdc143c", "effect": "effect/nineScreen", "effectName": "SplitScreen" }, { "id": 6, - "name": "黑白分屏", + "name": "Black and white split screen", "color": "#ccdc143c", "effect": "effect/blackWhiteScreen", "effectName": "blackWhiteScreen" }, { "id": 7, - "name": "模糊分屏", + "name": "Fuzzy split screen", "color": "#CCEA0000", "effect": "effect/blurScreen", "effectName": "SplitScreen" diff --git a/app/src/main/assets/test.mp3 b/app/src/main/assets/test.mp3 old mode 100644 new mode 100755 diff --git a/app/src/main/assets/timg.jpeg b/app/src/main/assets/timg.jpeg old mode 100644 new mode 100755 diff --git a/app/src/main/assets/transition.json b/app/src/main/assets/transition.json old mode 100644 new mode 100755 index 22effaff..b55f0f6c --- a/app/src/main/assets/transition.json +++ b/app/src/main/assets/transition.json @@ -1,7 +1,7 @@ [ { "id": 1, - "name": "倒计时", + "name": "Countdown", "color": "#CCEA0000", "effect": "effect/countDown", "effectName": "countDown" diff --git "a/app/src/main/assets/\344\270\211\350\247\222\345\211\226\345\210\206.jpg" "b/app/src/main/assets/\344\270\211\350\247\222\345\211\226\345\210\206.jpg" old mode 100644 new mode 100755 diff --git "a/app/src/main/assets/\344\272\256\347\234\274\346\240\207\346\263\250.jpg" "b/app/src/main/assets/\344\272\256\347\234\274\346\240\207\346\263\250.jpg" old mode 100644 new mode 100755 diff --git "a/app/src/main/assets/\347\234\274\347\235\233\351\201\256\347\275\251\346\240\207\346\263\250.jpg" "b/app/src/main/assets/\347\234\274\347\235\233\351\201\256\347\275\251\346\240\207\346\263\250.jpg" old mode 100644 new mode 100755 diff --git "a/app/src/main/assets/\347\276\216\347\211\231\346\240\207\346\263\250.jpg" "b/app/src/main/assets/\347\276\216\347\211\231\346\240\207\346\263\250.jpg" old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/AlbumFile.java b/app/src/main/java/com/trinity/sample/AlbumFile.java new file mode 100755 index 00000000..323e8dbd --- /dev/null +++ b/app/src/main/java/com/trinity/sample/AlbumFile.java @@ -0,0 +1,258 @@ +package com.trinity.sample; + +import android.os.Parcel; +import android.os.Parcelable; + +import androidx.annotation.IntDef; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +public class AlbumFile implements Parcelable, Comparable { + + public static final int TYPE_IMAGE = 1; + public static final int TYPE_VIDEO = 2; + + @Retention(RetentionPolicy.SOURCE) + + @IntDef({TYPE_IMAGE, TYPE_VIDEO}) + + private @interface MediaType { + + } + + private boolean setIsSelect = false; + + public boolean getIsSelect(){ + return setIsSelect; + } + + public void setIsSelect(boolean select){ + setIsSelect = select; + } + + /** + * File path. + */ + private String mPath; + /** + * Folder mName. + */ + private String mBucketName; + /** + * File mime type. + */ + private String mMimeType; + /** + * Add date. + */ + private long mAddDate; + /** + * Latitude + */ + private float mLatitude; + /** + * Longitude. + */ + private float mLongitude; + /** + * Size. + */ + private long mSize; + /** + * Duration. + */ + private long mDuration; + /** + * Thumb path. + */ + private String mThumbPath; + /** + * MediaType. + */ + private int mMediaType; + /** + * Checked. + */ + private boolean isChecked; + /** + * Enabled. + */ + private boolean isDisable; + + public AlbumFile() { + } + + @Override + public int compareTo(AlbumFile o) { + long time = o.getAddDate() - getAddDate(); + if (time > Integer.MAX_VALUE) + return Integer.MAX_VALUE; + else if (time < -Integer.MAX_VALUE) + return -Integer.MAX_VALUE; + return (int) time; + } + + @Override + public boolean equals(Object obj) { + if (obj != null && obj instanceof AlbumFile) { + AlbumFile o = (AlbumFile) obj; + String inPath = o.getPath(); + if (mPath != null && inPath != null) { + return mPath.equals(inPath); + } + } + return super.equals(obj); + } + + @Override + public int hashCode() { + return mPath != null ? mPath.hashCode() : super.hashCode(); + } + + public String getPath() { + return mPath; + } + + public void setPath(String path) { + mPath = path; + } + + public String getBucketName() { + return mBucketName; + } + + public void setBucketName(String bucketName) { + mBucketName = bucketName; + } + + public String getMimeType() { + return mMimeType; + } + + public void setMimeType(String mimeType) { + mMimeType = mimeType; + } + + public long getAddDate() { + return mAddDate; + } + + public void setAddDate(long addDate) { + mAddDate = addDate; + } + + public float getLatitude() { + return mLatitude; + } + + public void setLatitude(float latitude) { + mLatitude = latitude; + } + + public float getLongitude() { + return mLongitude; + } + + public void setLongitude(float longitude) { + mLongitude = longitude; + } + + public long getSize() { + return mSize; + } + + public void setSize(long size) { + mSize = size; + } + + public long getDuration() { + return mDuration; + } + + public void setDuration(long duration) { + mDuration = duration; + } + + public String getThumbPath() { + return mThumbPath; + } + + public void setThumbPath(String thumbPath) { + mThumbPath = thumbPath; + } + + @MediaType + public int getMediaType() { + return mMediaType; + } + + public void setMediaType(@MediaType int mediaType) { + mMediaType = mediaType; + } + + public boolean isChecked() { + return isChecked; + } + + public void setChecked(boolean checked) { + isChecked = checked; + } + + public boolean isDisable() { + return isDisable; + } + + public void setDisable(boolean disable) { + this.isDisable = disable; + } + + protected AlbumFile(Parcel in) { + mPath = in.readString(); + mBucketName = in.readString(); + mMimeType = in.readString(); + mAddDate = in.readLong(); + mLatitude = in.readFloat(); + mLongitude = in.readFloat(); + mSize = in.readLong(); + mDuration = in.readLong(); + mThumbPath = in.readString(); + mMediaType = in.readInt(); + isChecked = in.readByte() != 0; + isDisable = in.readByte() != 0; + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeString(mPath); + dest.writeString(mBucketName); + dest.writeString(mMimeType); + dest.writeLong(mAddDate); + dest.writeFloat(mLatitude); + dest.writeFloat(mLongitude); + dest.writeLong(mSize); + dest.writeLong(mDuration); + dest.writeString(mThumbPath); + dest.writeInt(mMediaType); + dest.writeByte((byte) (isChecked ? 1 : 0)); + dest.writeByte((byte) (isDisable ? 1 : 0)); + } + + @Override + public int describeContents() { + return 0; + } + + public static final Creator CREATOR = new Creator() { + @Override + public AlbumFile createFromParcel(Parcel in) { + return new AlbumFile(in); + } + + @Override + public AlbumFile[] newArray(int size) { + return new AlbumFile[size]; + } + }; + +} diff --git a/app/src/main/java/com/trinity/sample/EditorActivity.kt b/app/src/main/java/com/trinity/sample/EditorActivity.kt old mode 100644 new mode 100755 index a037aab0..1755f3ab --- a/app/src/main/java/com/trinity/sample/EditorActivity.kt +++ b/app/src/main/java/com/trinity/sample/EditorActivity.kt @@ -41,7 +41,7 @@ class EditorActivity : AppCompatActivity(), ViewOperator.AnimatorListener, TabLa private lateinit var mSurfaceView: SurfaceView private lateinit var mPasterContainer: FrameLayout private lateinit var mTabLayout: TabLayout - private lateinit var mBottomLinear: HorizontalScrollView + private lateinit var mBottomLinear: LinearLayout private lateinit var mPlayImage: ImageView private lateinit var mPauseImage: ImageView private lateinit var mViewOperator: ViewOperator @@ -121,7 +121,7 @@ class EditorActivity : AppCompatActivity(), ViewOperator.AnimatorListener, TabLa } val result = mVideoEditor.play(true) if (result != 0) { - Toast.makeText(this, "播放失败: $result", Toast.LENGTH_SHORT).show() + Toast.makeText(this, "Playback failed: $result", Toast.LENGTH_SHORT).show() } initThumbLineBar(medias) @@ -212,20 +212,20 @@ class EditorActivity : AppCompatActivity(), ViewOperator.AnimatorListener, TabLa .setIcon(R.mipmap.ic_effect), false) mTabLayout.addTab(mTabLayout.newTab().setText(R.string.music) .setIcon(R.mipmap.ic_music), false) - mTabLayout.addTab(mTabLayout.newTab().setText(R.string.mv) - .setIcon(R.mipmap.ic_mv), false) - mTabLayout.addTab(mTabLayout.newTab().setText(R.string.speed_time) - .setIcon(R.mipmap.ic_speed_time), false) - mTabLayout.addTab(mTabLayout.newTab().setText(R.string.gif) - .setIcon(R.mipmap.ic_gif), false) +// mTabLayout.addTab(mTabLayout.newTab().setText(R.string.mv) +// .setIcon(R.mipmap.ic_mv), false) +// mTabLayout.addTab(mTabLayout.newTab().setText(R.string.speed_time) +// .setIcon(R.mipmap.ic_speed_time), false) +// mTabLayout.addTab(mTabLayout.newTab().setText(R.string.gif) +// .setIcon(R.mipmap.ic_gif), false) mTabLayout.addTab(mTabLayout.newTab().setText(R.string.subtitle) .setIcon(R.mipmap.ic_subtitle), false) // mTabLayout.addTab(mTabLayout.newTab().setText(R.string.transition) // .setIcon(R.mipmap.ic_transition), false) - mTabLayout.addTab(mTabLayout.newTab().setText(R.string.paint) - .setIcon(R.mipmap.ic_paint), false) - mTabLayout.addTab(mTabLayout.newTab().setText(R.string.cover) - .setIcon(R.mipmap.ic_cover), false) +// mTabLayout.addTab(mTabLayout.newTab().setText(R.string.paint) +// .setIcon(R.mipmap.ic_paint), false) +// mTabLayout.addTab(mTabLayout.newTab().setText(R.string.cover) +// .setIcon(R.mipmap.ic_cover), false) mTabLayout.addOnTabSelectedListener(this) } @@ -345,7 +345,7 @@ class EditorActivity : AppCompatActivity(), ViewOperator.AnimatorListener, TabLa effectInfo.endTime = endTime mEffects.add(effectInfo) - // 删除同一时间的特效,保留当前的 + // Delete the special effects at the same time, keep the current mEffects.forEach { if (mStartTime >= it.startTime && endTime <= it.endTime && actionId != it.actionId) { mVideoEditor.deleteAction(it.actionId) diff --git a/app/src/main/java/com/trinity/sample/HomeActivity.java b/app/src/main/java/com/trinity/sample/HomeActivity.java new file mode 100644 index 00000000..c0a3b5eb --- /dev/null +++ b/app/src/main/java/com/trinity/sample/HomeActivity.java @@ -0,0 +1,174 @@ +package com.trinity.sample; + +import android.annotation.SuppressLint; +import android.content.Intent; +import android.content.res.AssetFileDescriptor; +import android.media.MediaCodec; +import android.media.MediaExtractor; +import android.media.MediaFormat; +import android.media.MediaMuxer; +import android.os.Build; +import android.os.Bundle; +import android.os.Environment; +import android.util.Log; +import android.view.View; +import android.view.ViewGroup; +import android.widget.Button; +import android.widget.RelativeLayout; +import android.widget.Toast; + +import androidx.annotation.RequiresApi; +import androidx.appcompat.app.AppCompatActivity; + +import java.io.File; +import java.io.IOException; +import java.nio.ByteBuffer; + +public class HomeActivity extends AppCompatActivity { + RelativeLayout camera; + RelativeLayout creation; + + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_home); + camera = findViewById(R.id.rl_gallery); + creation = findViewById(R.id.rl_creation); + + camera.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Intent intent = new Intent(HomeActivity.this,RecordActivity.class); + startActivity(intent); + } + }); + creation.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Intent intent = new Intent(HomeActivity.this,MyCreationActivity.class); + startActivity(intent); + } + }); + } + @SuppressLint("NewApi") + public void muxing(String video,String audio) { + + String outputFile = ""; + String root = Environment.getExternalStorageDirectory().toString(); + + try { + + root = Environment.getExternalStorageDirectory().toString(); +// String audio = root + "/" + "audio.mp3"; +// String video = root + "/" + "rohit.mp4"; + + + File file = new File(Environment.getExternalStorageDirectory() + File.separator + "final2.mp4"); + file.createNewFile(); + outputFile = file.getAbsolutePath(); + + + MediaExtractor videoExtractor = new MediaExtractor(); + videoExtractor.setDataSource(video); + + MediaExtractor audioExtractor = new MediaExtractor(); + audioExtractor.setDataSource(audio); + + Log.d("TAG", "Video Extractor Track Count " + videoExtractor.getTrackCount()); + Log.d("TAG", "Audio Extractor Track Count " + audioExtractor.getTrackCount()); + + MediaMuxer muxer = new MediaMuxer(outputFile, MediaMuxer.OutputFormat.MUXER_OUTPUT_MPEG_4); + + videoExtractor.selectTrack(0); + MediaFormat videoFormat = videoExtractor.getTrackFormat(0); + int videoTrack = muxer.addTrack(videoFormat); + + audioExtractor.selectTrack(0); + MediaFormat audioFormat = audioExtractor.getTrackFormat(0); + int audioTrack = muxer.addTrack(audioFormat); + + Log.d("TAG", "Video Format " + videoFormat.toString()); + Log.d("TAG", "Audio Format " + audioFormat.toString()); + + boolean sawEOS = false; + int frameCount = 0; + int offset = 100; + int sampleSize = 256 * 1024; + ByteBuffer videoBuf = ByteBuffer.allocate(sampleSize); + ByteBuffer audioBuf = ByteBuffer.allocate(sampleSize); + MediaCodec.BufferInfo videoBufferInfo = new MediaCodec.BufferInfo(); + MediaCodec.BufferInfo audioBufferInfo = new MediaCodec.BufferInfo(); + + + videoExtractor.seekTo(0, MediaExtractor.SEEK_TO_CLOSEST_SYNC); + audioExtractor.seekTo(0, MediaExtractor.SEEK_TO_CLOSEST_SYNC); + + muxer.start(); + + while (!sawEOS) { + videoBufferInfo.offset = offset; + videoBufferInfo.size = videoExtractor.readSampleData(videoBuf, offset); + + + if (videoBufferInfo.size < 0 || audioBufferInfo.size < 0) { + Log.d("TAG", "saw input EOS."); + sawEOS = true; + videoBufferInfo.size = 0; + + } else { + videoBufferInfo.presentationTimeUs = videoExtractor.getSampleTime(); + videoBufferInfo.flags = MediaCodec.BUFFER_FLAG_KEY_FRAME; + muxer.writeSampleData(videoTrack, videoBuf, videoBufferInfo); + videoExtractor.advance(); + + + frameCount++; + Log.d("TAG", "Frame (" + frameCount + ") Video PresentationTimeUs:" + videoBufferInfo.presentationTimeUs + " Flags:" + videoBufferInfo.flags + " Size(KB) " + videoBufferInfo.size / 1024); + Log.d("TAG", "Frame (" + frameCount + ") Audio PresentationTimeUs:" + audioBufferInfo.presentationTimeUs + " Flags:" + audioBufferInfo.flags + " Size(KB) " + audioBufferInfo.size / 1024); + + } + } + + Toast.makeText(getApplicationContext(), "frame:" + frameCount, Toast.LENGTH_SHORT).show(); + + + boolean sawEOS2 = false; + int frameCount2 = 0; + while (!sawEOS2) { + frameCount2++; + + audioBufferInfo.offset = offset; + audioBufferInfo.size = audioExtractor.readSampleData(audioBuf, offset); + + if (videoBufferInfo.size < 0 || audioBufferInfo.size < 0) { + Log.d("TAG", "saw input EOS."); + sawEOS2 = true; + audioBufferInfo.size = 0; + } else { + audioBufferInfo.presentationTimeUs = audioExtractor.getSampleTime(); + audioBufferInfo.flags = MediaCodec.BUFFER_FLAG_KEY_FRAME; + muxer.writeSampleData(audioTrack, audioBuf, audioBufferInfo); + audioExtractor.advance(); + + + Log.d("TAG", "Frame (" + frameCount + ") Video PresentationTimeUs:" + videoBufferInfo.presentationTimeUs + " Flags:" + videoBufferInfo.flags + " Size(KB) " + videoBufferInfo.size / 1024); + Log.d("TAG", "Frame (" + frameCount + ") Audio PresentationTimeUs:" + audioBufferInfo.presentationTimeUs + " Flags:" + audioBufferInfo.flags + " Size(KB) " + audioBufferInfo.size / 1024); + + } + } + + Toast.makeText(getApplicationContext(), "frame:" + frameCount2, Toast.LENGTH_SHORT).show(); + + muxer.stop(); + muxer.release(); + + + } catch (IOException e) { + Log.d("TAG", "Mixer Error 1 " + e.getMessage()); + } catch (Exception e) { + Log.d("TAG", "Mixer Error 2 " + e.getMessage()); + } + } + +} diff --git a/app/src/main/java/com/trinity/sample/MainActivity.kt b/app/src/main/java/com/trinity/sample/MainActivity.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/MusicActivity.kt b/app/src/main/java/com/trinity/sample/MusicActivity.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/MyCreationActivity.java b/app/src/main/java/com/trinity/sample/MyCreationActivity.java new file mode 100644 index 00000000..20b39fd5 --- /dev/null +++ b/app/src/main/java/com/trinity/sample/MyCreationActivity.java @@ -0,0 +1,110 @@ +package com.trinity.sample; + +import android.app.Dialog; +import android.media.MediaMetadataRetriever; +import android.media.MediaPlayer; +import android.net.Uri; +import android.os.Bundle; +import android.os.Environment; +import android.os.Handler; +import android.util.Log; +import android.view.View; +import android.widget.TextView; + +import androidx.appcompat.app.AppCompatActivity; +import androidx.recyclerview.widget.GridLayoutManager; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import com.trinity.sample.adapter.CreatedVideoListAdapter; + +import java.io.File; +import java.util.ArrayList; + +public class MyCreationActivity extends AppCompatActivity { + + GridLayoutManager gridLayoutManager; + LinearLayoutManager linearLayoutManager; + + CreatedVideoListAdapter createVideoListAdapter; + ArrayList createVideoList = new ArrayList<>(); + + int audioPlayingPosition = -1; + int audioPausePosition = -1; + Boolean isSelectedVideo = true; + + MediaPlayer mediaPlayer,mPlayer; + Dialog songDialog; + boolean isAudioPlay= false; + + MediaMetadataRetriever retriever = new MediaMetadataRetriever(); + + RecyclerView createVideoRecyclerView; + TextView creationErrorView; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_my_creation); + + createVideoRecyclerView = findViewById(R.id.rv_save_image_list); + creationErrorView = findViewById(R.id.tv_no_creation); + Handler handler = new Handler(); + handler.postDelayed(new Runnable() { + @Override + public void run() { + MyCreationActivity.this.setLayoutManagerVideo(); + MyCreationActivity.this.setCreationsList(); + } + }, 300); + } + + void addVideoPath() { + String filepath = Environment.getExternalStorageDirectory().toString(); + + File dir = new File(filepath + "/" + "Video Creator"); + File file = new File(String.valueOf(dir)); + File[] files = file.listFiles(); + try { + if (file.exists()) { + for (File savedFiles : files) { + AlbumFile albumFile = new AlbumFile(); + String uri = savedFiles.getAbsolutePath(); + String extension = uri.substring(uri.lastIndexOf(".")); + try { + retriever.setDataSource(this, Uri.fromFile(new File(uri))); + String time = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION); + if (time != null) { + if (".mp4".equals(extension)) { + albumFile.setPath(savedFiles.getAbsolutePath()); + createVideoList.add(albumFile); + } + } + } catch (Exception e) { + } + } + } + } catch (Exception e) { + Log.e("Error: ", e.toString()); + } + setCreationsList(); + } + + void setLayoutManagerVideo() { + gridLayoutManager = new GridLayoutManager(this, 2); + createVideoRecyclerView.setLayoutManager(gridLayoutManager); + createVideoListAdapter = new CreatedVideoListAdapter(this, createVideoList); + addVideoPath(); + createVideoRecyclerView.setAdapter(createVideoListAdapter); + } + + public void setCreationsList() { + if (createVideoList.size() == 0 && isSelectedVideo) { + createVideoRecyclerView.setVisibility(View.GONE); + creationErrorView.setVisibility(View.VISIBLE); + }else { + creationErrorView.setVisibility(View.GONE); + } + } + +} diff --git a/app/src/main/java/com/trinity/sample/RecordActivity.kt b/app/src/main/java/com/trinity/sample/RecordActivity.kt old mode 100644 new mode 100755 index ee9da421..3399904a --- a/app/src/main/java/com/trinity/sample/RecordActivity.kt +++ b/app/src/main/java/com/trinity/sample/RecordActivity.kt @@ -1,16 +1,23 @@ package com.trinity.sample + +import VideoHandle.EpEditor +import VideoHandle.OnEditorListener import android.Manifest import android.annotation.SuppressLint import android.content.Intent import android.content.SharedPreferences import android.graphics.PointF +import android.os.Build import android.os.Bundle +import android.os.Handler +import android.util.Log.INFO import android.view.View import android.widget.FrameLayout import android.widget.ImageView import android.widget.RadioGroup import android.widget.Toast +import androidx.annotation.RequiresApi import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AppCompatActivity import androidx.fragment.app.commit @@ -42,435 +49,750 @@ import com.trinity.sample.view.foucs.DefaultAutoFocusMarker import com.trinity.sample.view.foucs.MarkerLayout import java.text.SimpleDateFormat import java.util.* +import java.util.logging.Level.INFO + /** * Create by wlanjie on 2019/4/13-下午3:14 */ -class RecordActivity : AppCompatActivity(), OnRecordingListener, OnRenderListener, RecordButton.OnGestureListener, - SharedPreferences.OnSharedPreferenceChangeListener, CameraCallback { - - companion object { - private const val SETTING_TAG = "setting_tag" - private const val MUSIC_TAG = "music_tag" - private const val MEDIA_TAG = "media_tag" - private const val FILTER_TAG = "filter_tag" - private const val BEAUTY_TAG = "beauty_tag" - private const val EFFECT_TAG = "effect_tag" - } - - private lateinit var mRecord: TrinityRecord - private lateinit var mLineView: LineProgressView - private lateinit var mSwitchCamera: ImageView - private lateinit var mFlash: ImageView - private lateinit var mInsideBottomSheet: FrameLayout - private lateinit var mMarkerLayout: MarkerLayout - private val mFlashModes = arrayOf(Flash.TORCH, Flash.OFF, Flash.AUTO) - private val mFlashImage = arrayOf(R.mipmap.ic_flash_on, R.mipmap.ic_flash_off, R.mipmap.ic_flash_auto) - private var mFlashIndex = 0 - private val mMedias = mutableListOf() - private val mRecordDurations = mutableListOf() - private var mCurrentRecordProgress = 0 - private var mCurrentRecordDuration = 0 - private var mHardwareEncode = false - private var mFrame = Frame.FIT - private var mRecordResolution = "720P" - private var mFrameRate = 25 - private var mChannels = 1 - private var mSampleRate = 44100 - private var mVideoBitRate = 18432000 - private var mAudioBitRate = 12800 - private var mRecordDuration = 60 * 1000 - private var mAutoFocusMarker = DefaultAutoFocusMarker() - private var mPermissionDenied = false - private var mSpeed = Speed.NORMAL - private var mFilterId = -1 - private var mBeautyId = -1 - private var mIdentifyId = -1 - - @SuppressLint("ClickableViewAccessibility") - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - - setContentView(R.layout.activity_record) +class RecordActivity : AppCompatActivity(), OnRecordingListener, OnRenderListener, + RecordButton.OnGestureListener, + SharedPreferences.OnSharedPreferenceChangeListener, CameraCallback { + + companion object { + private const val SETTING_TAG = "setting_tag" + private const val MUSIC_TAG = "music_tag" + private const val MEDIA_TAG = "media_tag" + private const val FILTER_TAG = "filter_tag" + private const val BEAUTY_TAG = "beauty_tag" + private const val EFFECT_TAG = "effect_tag" + } + + private lateinit var mRecord: TrinityRecord + private lateinit var mLineView: LineProgressView + private lateinit var mSwitchCamera: ImageView + private lateinit var mFlash: ImageView + private lateinit var mInsideBottomSheet: FrameLayout + private lateinit var mMarkerLayout: MarkerLayout + private lateinit var recordButtonImage: ImageView + private lateinit var recordButtonImageStop: ImageView + private lateinit var group: RadioGroup + private lateinit var gallery: ImageView + private lateinit var deleteView: ImageView + private lateinit var doneStop: ImageView + private lateinit var done: ImageView + private lateinit var setting: ImageView + private lateinit var mFilter: ImageView + private lateinit var mBeauty: ImageView + private lateinit var mEffect: ImageView + private val mFlashModes = arrayOf(Flash.TORCH, Flash.OFF, Flash.AUTO) + private val mFlashImage = + arrayOf(R.mipmap.ic_flash_on, R.mipmap.ic_flash_off, R.mipmap.ic_flash_auto) + private var mFlashIndex = 0 + private val mMedias = mutableListOf() + private val mRecordDurations = mutableListOf() + private var mCurrentRecordProgress = 0 + private var mCurrentRecordDuration = 0 + private var mHardwareEncode = false + private var mFrame = Frame.FIT + private var mRecordResolution = "720P" + private var mFrameRate = 25 + private var mChannels = 1 + private var mSampleRate = 44100 + private var mVideoBitRate = 18432000 + private var mAudioBitRate = 12800 + private var mRecordDuration = 60 * 1000 + private var mAutoFocusMarker = DefaultAutoFocusMarker() + private var mPermissionDenied = false + private var videoIsCreated = false + private var mDoneButton = true + private var mSpeed = Speed.NORMAL + private var mFilterId = -1 + private var mBeautyId = -1 + private var mIdentifyId = -1 + private var audiopath = "path" + var cutVideoCmd: ArrayList? = null + + + @RequiresApi(Build.VERSION_CODES.JELLY_BEAN_MR2) + @SuppressLint("ClickableViewAccessibility") + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + + setContentView(R.layout.activity_record) // openLog() - mMarkerLayout = findViewById(R.id.mark_layout) - mMarkerLayout.onMarker(MarkerLayout.TYPE_AUTOFOCUS, mAutoFocusMarker) - val preview = findViewById(R.id.preview) - mLineView = findViewById(R.id.line_view) - - mRecord = TrinityRecord(this, preview) - mRecord.setOnRenderListener(this) - mRecord.setOnRecordingListener(this) - mRecord.setCameraCallback(this) - mRecord.setCameraFacing(Facing.FRONT) - mRecord.setFrame(Frame.CROP) - val faceDetection = MnnFaceDetection() - mRecord.setFaceDetection(faceDetection) - val recordButton = findViewById(R.id.record_button) - recordButton.setOnGestureListener(this) - mSwitchCamera = findViewById(R.id.switch_camera) - switchCamera() - mFlash = findViewById(R.id.flash) - flash() - val deleteView = findViewById(R.id.delete) - deleteFile(deleteView) - setRate() - - findViewById(R.id.music) - .setOnClickListener { - showMusic() - } - - findViewById(R.id.filter) - .setOnClickListener { - showFilter() - } - - findViewById(R.id.beauty) - .setOnClickListener { - showBeauty() - } - findViewById(R.id.effect) - .setOnClickListener { - showEffect() - } - - mInsideBottomSheet = findViewById(R.id.frame_container) - findViewById(R.id.setting) - .setOnClickListener { - mInsideBottomSheet.visibility = View.VISIBLE - showSetting() - } - setFrame() - - findViewById(R.id.done) - .setOnClickListener { - if (mMedias.isNotEmpty()) { - val intent = Intent(this, EditorActivity::class.java) - intent.putExtra("medias", mMedias.toTypedArray()) - startActivity(intent) - } - } - findViewById(R.id.photo) - .setOnClickListener { - showMedia() - } - preview.setOnTouchListener { _, event -> -// closeBottomSheet() - mRecord.focus(PointF(event.x, event.y)) - true - } - } - - override fun dispatchOnFocusStart(where: PointF) { - runOnUiThread { - mMarkerLayout.onEvent(MarkerLayout.TYPE_AUTOFOCUS, arrayOf(where)) - mAutoFocusMarker.onAutoFocusStart(AutoFocusTrigger.GESTURE, where) - } - } - - override fun dispatchOnFocusEnd(success: Boolean, where: PointF) { - runOnUiThread { - mAutoFocusMarker.onAutoFocusEnd(AutoFocusTrigger.GESTURE, success, where) - } - } - - override fun dispatchOnPreviewCallback(data: ByteArray, width: Int, height: Int, orientation: Int) { - } - - private fun setFrame() { - mRecord.setFrame(mFrame) - } - - fun onMediaResult(medias: MutableList) { - val behavior = BottomSheetBehavior.from(mInsideBottomSheet) - if (behavior.state != BottomSheetBehavior.STATE_EXPANDED) { - behavior.state = BottomSheetBehavior.STATE_EXPANDED - } else { - behavior.state = BottomSheetBehavior.STATE_HIDDEN - } - medias.forEach { - mRecordDurations.add(it.duration) - mLineView.addProgress(it.duration * 1.0f / mRecordDuration) - mMedias.add(it) - } - } - - private fun showEffect() { - var effectFragment = supportFragmentManager.findFragmentByTag(EFFECT_TAG) - if (effectFragment == null) { - effectFragment = IdentifyFragment() - supportFragmentManager.commit { - replace(R.id.frame_container, effectFragment, EFFECT_TAG) - } - } - if (effectFragment is IdentifyFragment) { - effectFragment.setCallback(object: IdentifyFragment.Callback { - override fun onIdentifyClick(effect: Effect?) { - if (effect == null) { - mRecord.deleteEffect(mIdentifyId) - } else { - val effectPath = effect.effect - mIdentifyId = mRecord.addEffect(externalCacheDir?.absolutePath + "/" + effectPath) - if (effectPath == "effect/spaceBear") { - // 贴纸显示的宽, 0~1.0 - // 参数解释: spaceBear为effectName, 是在解析effect数组中的type为intoSticker中的name - // stickerWidth 为固定的, 如果想更新显示区域则必须为stickerWidth - mRecord.updateEffectParam(mIdentifyId, "spaceBear", "stickerWidth", 0.23f) - // 贴纸距离屏幕左边的距离, 左上角为原点, 0~1.0 - mRecord.updateEffectParam(mIdentifyId, "spaceBear", "stickerX", 0.13f) - // 贴纸距离屏幕上边的距离, 左上角为原点, 0~1.0 - mRecord.updateEffectParam(mIdentifyId, "spaceBear", "stickerY", 0.13f) - // 贴纸旋转的角度, 顺时针 0~360度 - mRecord.updateEffectParam( - mIdentifyId, - "spaceBear", - "stickerRotate", - 0f - ) - } - } - } - }) - } - val behavior = BottomSheetBehavior.from(mInsideBottomSheet) - if (behavior.state != BottomSheetBehavior.STATE_EXPANDED) { - behavior.state = BottomSheetBehavior.STATE_EXPANDED - } else { - behavior.state = BottomSheetBehavior.STATE_HIDDEN - } - } - - private fun showBeauty() { - var beautyFragment = supportFragmentManager.findFragmentByTag(BEAUTY_TAG) - if (beautyFragment == null) { - beautyFragment = BeautyFragment() - supportFragmentManager.commit { - replace(R.id.frame_container, beautyFragment, BEAUTY_TAG) - } - } - if (beautyFragment is BeautyFragment) { - beautyFragment.setCallback(object: BeautyFragment.Callback { - override fun onBeautyParam(value: Int, position: Int) { - if (mBeautyId == -1) { - mBeautyId = mRecord.addEffect(externalCacheDir?.absolutePath + "/effect/beauty") - } else { - mRecord.updateEffectParam(mBeautyId, "smoother", "intensity", value * 1.0F / 100) - } - } - }) - } - val behavior = BottomSheetBehavior.from(mInsideBottomSheet) - if (behavior.state != BottomSheetBehavior.STATE_EXPANDED) { - behavior.state = BottomSheetBehavior.STATE_EXPANDED - } else { - behavior.state = BottomSheetBehavior.STATE_HIDDEN - } - } - - private fun showFilter() { - var filterFragment = supportFragmentManager.findFragmentByTag(FILTER_TAG) - if (filterFragment == null) { - filterFragment = FilterFragment() - supportFragmentManager.commit { - replace(R.id.frame_container, filterFragment, FILTER_TAG) - } - } - if (filterFragment is FilterFragment) { - filterFragment.setCallback(object: FilterFragment.Callback { - override fun onFilterSelect(filter: Filter) { - if (mFilterId != -1) { - mRecord.deleteFilter(mFilterId) - } - mFilterId = mRecord.addFilter(externalCacheDir?.absolutePath + "/filter/${filter.config}") - } - - }) - } - val behavior = BottomSheetBehavior.from(mInsideBottomSheet) - if (behavior.state != BottomSheetBehavior.STATE_EXPANDED) { - behavior.state = BottomSheetBehavior.STATE_EXPANDED - } else { - behavior.state = BottomSheetBehavior.STATE_HIDDEN - } - } - - private fun showMedia() { - val mediaFragment = MediaFragment() - supportFragmentManager.commit { - replace(R.id.frame_container, mediaFragment, MEDIA_TAG) - } - val behavior = BottomSheetBehavior.from(mInsideBottomSheet) - if (behavior.state != BottomSheetBehavior.STATE_EXPANDED) { - behavior.state = BottomSheetBehavior.STATE_EXPANDED - } else { - behavior.state = BottomSheetBehavior.STATE_HIDDEN - } - } - - private fun showMusic() { - var musicFragment = supportFragmentManager.findFragmentByTag(MUSIC_TAG) - if (musicFragment == null) { - musicFragment = MusicFragment.newInstance() - supportFragmentManager.commit { - replace(R.id.frame_container, musicFragment, MUSIC_TAG) - } - } - val behavior = BottomSheetBehavior.from(mInsideBottomSheet) - if (behavior.state != BottomSheetBehavior.STATE_EXPANDED) { - behavior.state = BottomSheetBehavior.STATE_EXPANDED - } else { - behavior.state = BottomSheetBehavior.STATE_HIDDEN - } - } - - fun closeBottomSheet() { - val behavior = BottomSheetBehavior.from(mInsideBottomSheet) - behavior.state = BottomSheetBehavior.STATE_HIDDEN - } - - private fun showSetting() { - var settingFragment = supportFragmentManager.findFragmentByTag(SETTING_TAG) - if (settingFragment == null) { - settingFragment = SettingFragment.newInstance() - supportFragmentManager.commit { - replace(R.id.frame_container, settingFragment, SETTING_TAG) - } - } - val behavior = BottomSheetBehavior.from(mInsideBottomSheet) - if (behavior.state != BottomSheetBehavior.STATE_EXPANDED) { - behavior.state = BottomSheetBehavior.STATE_EXPANDED - } else { - behavior.state = BottomSheetBehavior.STATE_HIDDEN - } - } - - private fun setRate() { - val group = findViewById(R.id.rate_bar) - group.setOnCheckedChangeListener { _, checkedId -> - when (checkedId) { - R.id.rate_quarter -> { - mRecord.setSpeed(Speed.VERY_SLOW) - mSpeed = Speed.VERY_SLOW - } - R.id.rate_half -> { - mRecord.setSpeed(Speed.SLOW) - mSpeed = Speed.SLOW - } - R.id.rate_origin -> { - mRecord.setSpeed(Speed.NORMAL) - mSpeed = Speed.NORMAL - } - R.id.rate_double -> { - mRecord.setSpeed(Speed.FAST) - mSpeed = Speed.FAST - } - R.id.rate_double_power2 -> { - mRecord.setSpeed(Speed.VERY_FAST) - mSpeed = Speed.VERY_FAST - } - } - } - } - - private fun switchCamera() { - mSwitchCamera.setOnClickListener { - mRecord.switchCamera() - } - } - - private fun flash() { - mFlash.setOnClickListener { - mRecord.flash(mFlashModes[mFlashIndex % mFlashModes.size]) - mFlash.setImageResource(mFlashImage[mFlashIndex % mFlashImage.size]) - mFlashIndex++ - } - } - - private fun deleteFile(view: View) { - view.setOnClickListener { - if (mMedias.isNotEmpty()) { - mMedias.removeAt(mMedias.size - 1) + mMarkerLayout = findViewById(R.id.mark_layout) + mMarkerLayout.onMarker(MarkerLayout.TYPE_AUTOFOCUS, mAutoFocusMarker) + val preview = findViewById(R.id.preview) + mLineView = findViewById(R.id.line_view) + gallery = findViewById(R.id.photo) + doneStop = findViewById(R.id.done_stop) + done = findViewById(R.id.done) + setting = findViewById(R.id.setting) + mFilter = findViewById(R.id.filter) + mBeauty = findViewById(R.id.beauty) + mEffect = findViewById(R.id.effect) + + mRecord = TrinityRecord(this, preview) + mRecord.setOnRenderListener(this) + mRecord.setOnRecordingListener(this) + mRecord.setCameraCallback(this) + mRecord.setCameraFacing(Facing.FRONT) + mRecord.setFrame(Frame.CROP) + + val faceDetection = MnnFaceDetection() + mRecord.setFaceDetection(faceDetection) + recordButtonImage = findViewById(R.id.record_button) + recordButtonImageStop = findViewById(R.id.record_button_stop) +// recordButton.setOnGestureListener(this) + mSwitchCamera = findViewById(R.id.switch_camera) + switchCamera() + mFlash = findViewById(R.id.flash) + flash() + deleteView = findViewById(R.id.delete) + deleteFile(deleteView) + setRate() + findViewById(R.id.record_button) + .setOnClickListener { + onStatVideoRecord() + } + findViewById(R.id.record_button_stop) + .setOnClickListener { + onStopVideoRecord() + } + + findViewById(R.id.music) + .setOnClickListener { + showMusic() + } + + findViewById(R.id.filter) + .setOnClickListener { + showFilter() + } + + findViewById(R.id.beauty) + .setOnClickListener { + showBeauty() + } + findViewById(R.id.effect) + .setOnClickListener { + showEffect() + } + + mInsideBottomSheet = findViewById(R.id.frame_container) + findViewById(R.id.setting) + .setOnClickListener { + mInsideBottomSheet.visibility = View.VISIBLE + showSetting() + } + setFrame() + + findViewById(R.id.done) + .setOnClickListener { + if (mMedias.isNotEmpty()) { + + val medias = mutableListOf() + mMedias.forEach { + val media = it as MediaItem + val audio = audiopath + cutVideoCmd = ArrayList() + + cutVideoCmd!!.add("-i") + cutVideoCmd!!.add(media.path) + cutVideoCmd!!.add("-i") + cutVideoCmd!!.add("/storage/emulated/0/heloo.png") + cutVideoCmd!!.add("-filter_complex") + cutVideoCmd!!.add("\"overlay=10:10\"") + cutVideoCmd!!.add("/storage/emulated/0/viode.mp4") + +// cutVideoCmd!!.add("-i") +// cutVideoCmd!!.add(media.path) +// cutVideoCmd!!.add("-t") +// cutVideoCmd!!.add("10") +// cutVideoCmd!!.add("-ss") +// cutVideoCmd!!.add("0") +// cutVideoCmd!!.add("-i") +// cutVideoCmd!!.add(audio) +// cutVideoCmd!!.add("-i") +// cutVideoCmd!!.add("/storage/emulated/0/heloo.png") +// cutVideoCmd!!.add("-filter_complex") +// cutVideoCmd!!.add("[2]scale=640:640[frame];[0][frame]overlay=0:0") +// cutVideoCmd!!.add("-map") +// cutVideoCmd!!.add("0:v") +// cutVideoCmd!!.add("-map") +// cutVideoCmd!!.add("1:a") +// cutVideoCmd!!.add("-pix_fmt") +// cutVideoCmd!!.add("yuv420p") +// cutVideoCmd!!.add("-preset") +// cutVideoCmd!!.add("ultrafast") +// cutVideoCmd!!.add("/storage/emulated/0/viode.mp4") + + val newString = cutVideoCmd.toString() + var newCmd = newString.replace(",", " ").replace(" ", " ") + newCmd = newCmd.substring(1, newCmd.length - 1) + + val homeActivity = HomeActivity() +//// homeActivity.muxing(media.path,audio) +// val epVideo = EpVideo(media.path) +// +// val epDraw = EpDraw("/storage/emulated/0/heloo.png", 10, 10, 50F, 50F, true) +// epVideo.addDraw(epDraw) +// val outputOption = OutputOption("/storage/emulated/0/viode.mp4") + +// val rc: Int = FFmpeg.execute("-i "+media.path+" -i /storage/emulated/0/heloo.png -filter_complex \"overlay=10:10\" /storage/emulated/0/viode.mp4") +// +// if (rc == RETURN_CODE_SUCCESS) { +// Log.i( +// TAG, +// "Command execution completed successfully." +// ) +// } else if (rc == RETURN_CODE_CANCEL) { +// Log.i( +// TAG, +// "Command execution cancelled by user." +// ) +// } else { +// Log.i( +// TAG, +// String.format( +// "Command execution failed with rc=%d and the output below.", +// rc +// ) +// ) +// } + +// EpEditor.exec (epVideo, outputOption, object : +// OnEditorListener { +// override fun onSuccess() { +// runOnUiThread { +// Toast.makeText( +// applicationContext, +// "Video creating successful", +// Toast.LENGTH_LONG +// ).show() +// +// } +// } +// override fun onFailure() { +// runOnUiThread { +// Toast.makeText( +// applicationContext, +// "Please select any other valid video", +// Toast.LENGTH_LONG +// ).show() +// } +// } +// override fun onProgress(progress: Float) { +// +// } +// }) + + EpEditor.execCmd(newCmd, (media.duration * 1000000).toLong(), object : + OnEditorListener { + override fun onSuccess() { + runOnUiThread { + Toast.makeText( + applicationContext, + "Video creating successful", + Toast.LENGTH_LONG + ).show() + + } + } + override fun onFailure() { + runOnUiThread { + Toast.makeText( + applicationContext, + "Please select any other valid video", + Toast.LENGTH_LONG + ).show() + } + } + override fun onProgress(progress: Float) { + + } + }) + } + } +// if (videoIsCreated) { +// val intent = Intent(this, EditorActivity::class.java) +// intent.putExtra("medias", mMedias.toTypedArray()) +// startActivity(intent) +// } + + } + + + findViewById(R.id.done_stop) + .setOnClickListener { + if (mMedias.isNotEmpty()) { + onStopVideoRecord(); + val intent = Intent(this, EditorActivity::class.java) + intent.putExtra("medias", mMedias.toTypedArray()) + startActivity(intent) + } + } + + findViewById(R.id.photo) + .setOnClickListener { + showMedia() + } + preview.setOnTouchListener { _, event -> + closeBottomSheet() + mRecord.focus(PointF(event.x, event.y)) + true + } + } + + override fun dispatchOnFocusStart(where: PointF) { + runOnUiThread { + mMarkerLayout.onEvent(MarkerLayout.TYPE_AUTOFOCUS, arrayOf(where)) + mAutoFocusMarker.onAutoFocusStart(AutoFocusTrigger.GESTURE, where) + } + } + + override fun dispatchOnFocusEnd(success: Boolean, where: PointF) { + runOnUiThread { + mAutoFocusMarker.onAutoFocusEnd(AutoFocusTrigger.GESTURE, success, where) + } + } + + override fun dispatchOnPreviewCallback( + data: ByteArray, + width: Int, + height: Int, + orientation: Int + ) { + } + + private fun setFrame() { + mRecord.setFrame(mFrame) + } + + fun onMediaResult(medias: MutableList) { + val behavior = BottomSheetBehavior.from(mInsideBottomSheet) + if (behavior.state != BottomSheetBehavior.STATE_EXPANDED) { + behavior.state = BottomSheetBehavior.STATE_EXPANDED + } else { + behavior.state = BottomSheetBehavior.STATE_HIDDEN + } + medias.forEach { + mRecordDurations.add(it.duration) + mLineView.addProgress(it.duration * 1.0f / mRecordDuration) + mMedias.add(it) + } + } + + private fun showEffect() { + var effectFragment = supportFragmentManager.findFragmentByTag(EFFECT_TAG) + if (effectFragment == null) { + effectFragment = IdentifyFragment() + supportFragmentManager.commit { + replace(R.id.frame_container, effectFragment, EFFECT_TAG) + } + } + if (effectFragment is IdentifyFragment) { + effectFragment.setCallback(object : IdentifyFragment.Callback { + override fun onIdentifyClick(effect: Effect?) { + if (effect == null) { + mRecord.deleteEffect(mIdentifyId) + } else { + val effectPath = effect.effect + mIdentifyId = + mRecord.addEffect(externalCacheDir?.absolutePath + "/" + effectPath) + if (effectPath == "effect/spaceBear") { + // Sticker width, 0~1.0 + // Parameter explanation: spaceBear为effectName, The type in the parse effect array is the name in the intoSticker + // stickerWidth Fixed, If you want to update the display area, it must be stickerWidth + mRecord.updateEffectParam( + mIdentifyId, + "spaceBear", + "stickerWidth", + 0.23f + ) + // The distance between the sticker and the left side of the screen, The upper left corner is the origin, 0~1.0 + mRecord.updateEffectParam(mIdentifyId, "spaceBear", "stickerX", 0.13f) + // The distance between the sticker and the top of the screen, The upper left corner is the origin, 0~1.0 + mRecord.updateEffectParam(mIdentifyId, "spaceBear", "stickerY", 0.13f) + // The angle of rotation of the sticker, Clockwise 0~360 degrees + mRecord.updateEffectParam( + mIdentifyId, + "spaceBear", + "stickerRotate", + 0f + ) + } + } + } + }) + } + val behavior = BottomSheetBehavior.from(mInsideBottomSheet) + if (behavior.state != BottomSheetBehavior.STATE_EXPANDED) { + behavior.state = BottomSheetBehavior.STATE_EXPANDED + group.setVisibility(View.GONE) + + } else { + behavior.state = BottomSheetBehavior.STATE_HIDDEN + group.setVisibility(View.VISIBLE) + + } + } + + private fun showBeauty() { + var beautyFragment = supportFragmentManager.findFragmentByTag(BEAUTY_TAG) + if (beautyFragment == null) { + beautyFragment = BeautyFragment() + supportFragmentManager.commit { + replace(R.id.frame_container, beautyFragment, BEAUTY_TAG) + } + } + if (beautyFragment is BeautyFragment) { + beautyFragment.setCallback(object : BeautyFragment.Callback { + override fun onBeautyParam(value: Int, position: Int) { + if (mBeautyId == -1) { + mBeautyId = + mRecord.addEffect(externalCacheDir?.absolutePath + "/effect/beauty") + } else { + mRecord.updateEffectParam( + mBeautyId, + "smoother", + "intensity", + value * 1.0F / 100 + ) + } + } + }) + } + val behavior = BottomSheetBehavior.from(mInsideBottomSheet) + if (behavior.state != BottomSheetBehavior.STATE_EXPANDED) { + behavior.state = BottomSheetBehavior.STATE_EXPANDED + group.setVisibility(View.GONE) + } else { + behavior.state = BottomSheetBehavior.STATE_HIDDEN + group.setVisibility(View.VISIBLE) + + } + } + + private fun showFilter() { + var filterFragment = supportFragmentManager.findFragmentByTag(FILTER_TAG) + if (filterFragment == null) { + filterFragment = FilterFragment() + supportFragmentManager.commit { + replace(R.id.frame_container, filterFragment, FILTER_TAG) + } + } + if (filterFragment is FilterFragment) { + filterFragment.setCallback(object : FilterFragment.Callback { + override fun onFilterSelect(filter: Filter) { + if (mFilterId != -1) { + mRecord.deleteFilter(mFilterId) + } + mFilterId = + mRecord.addFilter(externalCacheDir?.absolutePath + "/filter/${filter.config}") + } + + }) + } + val behavior = BottomSheetBehavior.from(mInsideBottomSheet) + if (behavior.state != BottomSheetBehavior.STATE_EXPANDED) { + behavior.state = BottomSheetBehavior.STATE_EXPANDED + group.setVisibility(View.GONE) + } else { + behavior.state = BottomSheetBehavior.STATE_HIDDEN + group.setVisibility(View.VISIBLE) + + } + } + + private fun showMedia() { + val mediaFragment = MediaFragment() + supportFragmentManager.commit { + replace(R.id.frame_container, mediaFragment, MEDIA_TAG) + } + val behavior = BottomSheetBehavior.from(mInsideBottomSheet) + if (behavior.state != BottomSheetBehavior.STATE_EXPANDED) { + behavior.state = BottomSheetBehavior.STATE_EXPANDED + } else { + behavior.state = BottomSheetBehavior.STATE_HIDDEN + } + } + + private fun showMusic() { + var musicFragment = supportFragmentManager.findFragmentByTag(MUSIC_TAG) + if (musicFragment == null) { + musicFragment = MusicFragment.newInstance() + supportFragmentManager.commit { + replace(R.id.frame_container, musicFragment, MUSIC_TAG) + } + } + val behavior = BottomSheetBehavior.from(mInsideBottomSheet) + if (behavior.state != BottomSheetBehavior.STATE_EXPANDED) { + behavior.state = BottomSheetBehavior.STATE_EXPANDED + } else { + behavior.state = BottomSheetBehavior.STATE_HIDDEN + } + } + + fun closeBottomSheet() { + val behavior = BottomSheetBehavior.from(mInsideBottomSheet) + behavior.state = BottomSheetBehavior.STATE_HIDDEN + group.setVisibility(View.VISIBLE) + } + + private fun showSetting() { + var settingFragment = supportFragmentManager.findFragmentByTag(SETTING_TAG) + if (settingFragment == null) { + settingFragment = SettingFragment.newInstance() + supportFragmentManager.commit { + replace(R.id.frame_container, settingFragment, SETTING_TAG) + } + } + val behavior = BottomSheetBehavior.from(mInsideBottomSheet) + if (behavior.state != BottomSheetBehavior.STATE_EXPANDED) { + behavior.state = BottomSheetBehavior.STATE_EXPANDED + } else { + behavior.state = BottomSheetBehavior.STATE_HIDDEN + } + } + + private fun setRate() { + group = findViewById(R.id.rate_bar) + group.setOnCheckedChangeListener { _, checkedId -> + when (checkedId) { + R.id.rate_quarter -> { + mRecord.setSpeed(Speed.VERY_SLOW) + mSpeed = Speed.VERY_SLOW + } + R.id.rate_half -> { + mRecord.setSpeed(Speed.SLOW) + mSpeed = Speed.SLOW + } + R.id.rate_origin -> { + mRecord.setSpeed(Speed.NORMAL) + mSpeed = Speed.NORMAL + } + R.id.rate_double -> { + mRecord.setSpeed(Speed.FAST) + mSpeed = Speed.FAST + } + R.id.rate_double_power2 -> { + mRecord.setSpeed(Speed.VERY_FAST) + mSpeed = Speed.VERY_FAST + } + } + } + } + + private fun switchCamera() { + mSwitchCamera.setOnClickListener { + mRecord.switchCamera() + } + } + + private fun flash() { + mFlash.setOnClickListener { + mRecord.flash(mFlashModes[mFlashIndex % mFlashModes.size]) + mFlash.setImageResource(mFlashImage[mFlashIndex % mFlashImage.size]) + mFlashIndex++ + } + } + + private fun deleteFile(view: View) { + view.setOnClickListener { + if (mMedias.isNotEmpty()) { + mMedias.removeAt(mMedias.size - 1) // val file = File(media.path) // if (file.exists()) { // file.delete() // } - mLineView.deleteProgress() - } - if (mRecordDurations.isNotEmpty()) { - mRecordDurations.removeAt(mRecordDurations.size - 1) - } - } - } - - override fun onDown() { - var duration = 0 - mRecordDurations.forEach { - duration += it - } - Log.i("trinity", "duration: $duration size: ${mRecordDurations.size}") - if (duration >= mRecordDuration) { - Toast.makeText(this, "已达最大时长", Toast.LENGTH_LONG).show() - return - } - val date = SimpleDateFormat("yyyyMMdd_HHmmss").format(Date()) - val path = externalCacheDir?.absolutePath + "/VID_$date.mp4" - var width = 720 - var height = 1280 - when (mRecordResolution) { - "1080P" -> { - width = 1080 - height = 1920 - } - "720P" -> { - width = 720 - height = 1280 - } - "540P" -> { - width = 544 - height = 960 - } - "480P" -> { - width = 480 - height = 848 - } - "360P" -> { - width = 368 - height = 640 - } - } - val info = VideoExportInfo(path) - info.width = width - info.height = height - info.videoBitRate = mVideoBitRate - info.frameRate = mFrameRate - info.sampleRate = mSampleRate - info.channelCount = mChannels - info.audioBitRate = mAudioBitRate - mRecord.startRecording(info, mRecordDuration) - val media = MediaItem(path, "video", width, height) - mMedias.add(media) - } - - override fun onUp() { - mRecord.stopRecording() - mRecordDurations.add(mCurrentRecordProgress) - val item = mMedias[mMedias.size - 1] - item.duration = mCurrentRecordProgress - runOnUiThread { - mLineView.addProgress(mCurrentRecordProgress * 1.0F / mCurrentRecordDuration) - } - } - - fun setMusic(music: String) { - val musicInfo = MusicInfo(music) - mRecord.setBackgroundMusic(musicInfo) - closeBottomSheet() - } - - override fun onClick() { - } + mLineView.deleteProgress() + } + if (mRecordDurations.isNotEmpty()) { + mRecordDurations.removeAt(mRecordDurations.size - 1) + } + } + } + + + fun onStatVideoRecord() { + if (recordButtonImage.getVisibility() == View.VISIBLE) { + recordButtonImage.setVisibility(View.GONE); + recordButtonImageStop.setVisibility(View.VISIBLE) + mDoneButton = true + } else { + recordButtonImage.setVisibility(View.VISIBLE) + recordButtonImageStop.setVisibility(View.GONE) + mDoneButton = false + + } + group.setVisibility(View.GONE) + gallery.setVisibility(View.GONE) + deleteView.setVisibility(View.GONE) + done.setVisibility(View.GONE) +// setting.setVisibility(View.GONE) + mFilter.setVisibility(View.GONE) + mBeauty.setVisibility(View.GONE) + mEffect.setVisibility(View.GONE) + mFlash.setVisibility(View.GONE) + mSwitchCamera.setVisibility(View.GONE) + + Handler().postDelayed({ + //doSomethingHere() + if (mDoneButton) { + doneStop.setVisibility(View.VISIBLE) + } + }, 15000) + var duration = 0 + mRecordDurations.forEach { + duration += it + } + Log.i("trinity", "duration: $duration size: ${mRecordDurations.size}") + if (duration >= mRecordDuration) { + Toast.makeText(this, "Maximum time reached", Toast.LENGTH_LONG).show() + return + } + val date = SimpleDateFormat("yyyyMMdd_HHmmss").format(Date()) + val path = externalCacheDir?.absolutePath + "/VID_$date.mp4" + var width = 720 + var height = 1280 + when (mRecordResolution) { + "1080P" -> { + width = 1080 + height = 1920 + } + "720P" -> { + width = 720 + height = 1280 + } + "540P" -> { + width = 544 + height = 960 + } + "480P" -> { + width = 480 + height = 848 + } + "360P" -> { + width = 368 + height = 640 + } + } + val info = VideoExportInfo(path) + info.width = width + info.height = height + info.videoBitRate = mVideoBitRate + info.frameRate = mFrameRate + info.sampleRate = mSampleRate + info.channelCount = mChannels + info.audioBitRate = mAudioBitRate + mRecord.setMute(true) + mRecord.startRecording(info, mRecordDuration) + val media = MediaItem(path, "video", width, height) + mMedias.add(media) + } + + + override fun onDown() { + var duration = 0 + mRecordDurations.forEach { + duration += it + } + Log.i("trinity", "duration: $duration size: ${mRecordDurations.size}") + if (duration >= mRecordDuration) { + Toast.makeText(this, "Maximum time reached", Toast.LENGTH_LONG).show() + return + } + val date = SimpleDateFormat("yyyyMMdd_HHmmss").format(Date()) + val path = externalCacheDir?.absolutePath + "/VID_$date.mp4" + var width = 720 + var height = 1280 + when (mRecordResolution) { + "1080P" -> { + width = 1080 + height = 1920 + } + "720P" -> { + width = 720 + height = 1280 + } + "540P" -> { + width = 544 + height = 960 + } + "480P" -> { + width = 480 + height = 848 + } + "360P" -> { + width = 368 + height = 640 + } + } + val info = VideoExportInfo(path) + info.width = width + info.height = height + info.videoBitRate = mVideoBitRate + info.frameRate = mFrameRate + info.sampleRate = mSampleRate + info.channelCount = mChannels + info.audioBitRate = mAudioBitRate + mRecord.startRecording(info, mRecordDuration) + val media = MediaItem(path, "video", width, height) + mMedias.add(media) + } + + fun onStopVideoRecord() { + if (recordButtonImageStop.getVisibility() == View.VISIBLE) { + recordButtonImageStop.setVisibility(View.GONE); + recordButtonImage.setVisibility(View.VISIBLE) + } else { + recordButtonImageStop.setVisibility(View.VISIBLE) + recordButtonImage.setVisibility(View.GONE) + } + mDoneButton = false + group.setVisibility(View.VISIBLE); + gallery.setVisibility(View.VISIBLE); + deleteView.setVisibility(View.VISIBLE); + doneStop.setVisibility(View.GONE) + done.setVisibility(View.VISIBLE) +// setting.setVisibility(View.VISIBLE) + mFilter.setVisibility(View.VISIBLE) + mBeauty.setVisibility(View.VISIBLE) + mEffect.setVisibility(View.VISIBLE) + mFlash.setVisibility(View.VISIBLE) + mSwitchCamera.setVisibility(View.VISIBLE) + + mRecord.stopRecording() + mRecordDurations.add(mCurrentRecordProgress) + val item = mMedias[mMedias.size - 1] + item.duration = mCurrentRecordProgress + runOnUiThread { + mLineView.addProgress(mCurrentRecordProgress * 1.0F / mCurrentRecordDuration) + } + } + + override fun onUp() { + mRecord.stopRecording() + mRecordDurations.add(mCurrentRecordProgress) + val item = mMedias[mMedias.size - 1] + item.duration = mCurrentRecordProgress + runOnUiThread { + mLineView.addProgress(mCurrentRecordProgress * 1.0F / mCurrentRecordDuration) + } + } + + fun setMusic(music: String) { + val musicInfo = MusicInfo(music) + audiopath = musicInfo.path + mRecord.setBackgroundMusic(musicInfo) + closeBottomSheet() + } + + override fun onClick() { + } // private fun openLog() { @@ -489,155 +811,158 @@ class RecordActivity : AppCompatActivity(), OnRecordingListener, OnRenderListene // Log.appenderClose() // } - override fun onRecording(currentTime: Int, duration: Int) { - mCurrentRecordProgress = currentTime - mCurrentRecordDuration = duration - runOnUiThread { - mLineView.setLoadingProgress(currentTime * 1.0f / duration) - } - } - - override fun onResume() { - super.onResume() - val preferences = PreferenceManager.getDefaultSharedPreferences(this) - preferences.registerOnSharedPreferenceChangeListener(this) - mHardwareEncode = !preferences.getBoolean("soft_encode", false) - val renderType = preferences.getString("preview_render_type", "CROP") - mFrame = if (renderType == "FIT") { - Frame.FIT - } else { - Frame.CROP - } - setFrame() - - mRecordResolution = preferences.getString("record_resolution", "720P") ?: "720P" - try { - mFrameRate = (preferences.getString("frame_rate", "25") ?: "25").toInt() - mChannels = (preferences.getString("channels", "1") ?: "1").toInt() - mSampleRate = (preferences.getString("sample_rate", "44100") ?: "44100").toInt() - mVideoBitRate = (preferences.getString("video_bit_rate", "18432") ?: "18432").toInt() - mAudioBitRate = (preferences.getString("audio_bit_rate", "128") ?: "128").toInt() - mRecordDuration = (preferences.getString("record_duration", "60000") ?: "60000").toInt() - } catch (e: Exception) { - e.printStackTrace() - } - setPreviewResolution(preferences.getString("preview_resolution", "720P")) + override fun onRecording(currentTime: Int, duration: Int) { + mCurrentRecordProgress = currentTime + mCurrentRecordDuration = duration + runOnUiThread { + mLineView.setLoadingProgress(currentTime * 1.0f / duration) + } + } + + override fun onResume() { + super.onResume() + val preferences = PreferenceManager.getDefaultSharedPreferences(this) + preferences.registerOnSharedPreferenceChangeListener(this) + mHardwareEncode = !preferences.getBoolean("soft_encode", false) + val renderType = preferences.getString("preview_render_type", "CROP") + mFrame = if (renderType == "FIT") { + Frame.FIT + } else { + Frame.CROP + } + setFrame() + + mRecordResolution = preferences.getString("record_resolution", "720P") ?: "720P" + try { + mFrameRate = (preferences.getString("frame_rate", "25") ?: "25").toInt() + mChannels = (preferences.getString("channels", "1") ?: "1").toInt() + mSampleRate = (preferences.getString("sample_rate", "44100") ?: "44100").toInt() + mVideoBitRate = (preferences.getString("video_bit_rate", "18432") ?: "18432").toInt() + mAudioBitRate = (preferences.getString("audio_bit_rate", "128") ?: "128").toInt() + mRecordDuration = (preferences.getString("record_duration", "60000") ?: "60000").toInt() + } catch (e: Exception) { + e.printStackTrace() + } + setPreviewResolution(preferences.getString("preview_resolution", "720P")) // mLineView.setMaxDuration(mRecordDuration) - } - - override fun onPause() { - super.onPause() - mPermissionDenied = false - mRecord.stopPreview() - println("onPause") - PreferenceManager.getDefaultSharedPreferences(this).unregisterOnSharedPreferenceChangeListener(this) - } - - override fun onDestroy() { - super.onDestroy() - println("onDestroy") + } + + override fun onPause() { + super.onPause() + mPermissionDenied = false + mRecord.stopPreview() + println("onPause") + PreferenceManager.getDefaultSharedPreferences(this) + .unregisterOnSharedPreferenceChangeListener(this) + } + + override fun onDestroy() { + super.onDestroy() + println("onDestroy") // closeLog() - } - - override fun onSurfaceCreated() { - println("onSurfaceCreated") - } - - override fun onDrawFrame(textureId: Int, width: Int, height: Int, matrix: FloatArray?): Int { - return 0 - } - - override fun onSurfaceDestroy() { - println("onSurfaceDestroy") - } - - override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences, key: String) { - when (key) { - "soft_encode" -> mHardwareEncode = !sharedPreferences.getBoolean(key, false) - "preview_render_type" -> { - val type = sharedPreferences.getString(key, "CROP") - mFrame = if (type == "FIT") { - Frame.FIT + } + + override fun onSurfaceCreated() { + println("onSurfaceCreated") + } + + override fun onDrawFrame(textureId: Int, width: Int, height: Int, matrix: FloatArray?): Int { + return 0 + } + + override fun onSurfaceDestroy() { + println("onSurfaceDestroy") + } + + override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences, key: String) { + when (key) { + "soft_encode" -> mHardwareEncode = !sharedPreferences.getBoolean(key, false) + "preview_render_type" -> { + val type = sharedPreferences.getString(key, "CROP") + mFrame = if (type == "FIT") { + Frame.FIT + } else { + Frame.CROP + } + setFrame() + } + "preview_resolution" -> { + val resolution = sharedPreferences.getString("preview_resolution", "720P") + setPreviewResolution(resolution) + } + "record_resolution" -> { + mRecordResolution = sharedPreferences.getString(key, "720P") ?: "720P" + } + "frame_rate" -> { + val frameRate = sharedPreferences.getString(key, "25") ?: "25" + mFrameRate = frameRate.toInt() + } + "video_bit_rate" -> { + val videoBitRate = sharedPreferences.getString(key, "18432000") ?: "18432000" + mVideoBitRate = videoBitRate.toInt() + } + "channels" -> { + val channels = sharedPreferences.getString(key, "1") ?: "1" + mChannels = channels.toInt() + } + "sample_rate" -> { + val sampleRate = sharedPreferences.getString(key, "44100") ?: "44100" + mSampleRate = sampleRate.toInt() + } + "audio_bit_rate" -> { + val audioBitRate = sharedPreferences.getString(key, "128000") ?: "128000" + mAudioBitRate = audioBitRate.toInt() + } + "record_duration" -> { + val recordDuration = sharedPreferences.getString(key, "60000") ?: "60000" + mRecordDuration = recordDuration.toInt() + } + } + } + + private fun setPreviewResolution(resolution: String?) { + if (mPermissionDenied) { + return + } + mRecord.stopPreview() + var previewResolution = PreviewResolution.RESOLUTION_1280x720 + if (resolution == "1080P") { + previewResolution = PreviewResolution.RESOLUTION_1920x1080 + } else if (resolution == "720P") { + previewResolution = PreviewResolution.RESOLUTION_1280x720 + } + + askPermission( + Manifest.permission.CAMERA, + Manifest.permission.RECORD_AUDIO, + Manifest.permission.WRITE_EXTERNAL_STORAGE, + Manifest.permission.READ_EXTERNAL_STORAGE + ) { + mRecord.startPreview(previewResolution) + }.onDeclined { + if (it.hasDenied()) { + mPermissionDenied = true + AlertDialog.Builder(this) + .setMessage("Please allow all permissions requested") + .setPositiveButton("Request") { _, _ -> + it.askAgain() + }.setNegativeButton("Refuse") { dialog, _ -> + dialog.dismiss() + finish() + }.show() + } + if (it.hasForeverDenied()) { + it.goToSettings() + } + } + } + + override fun onBackPressed() { + val behavior = BottomSheetBehavior.from(mInsideBottomSheet) + if (behavior.state == BottomSheetBehavior.STATE_EXPANDED) { + closeBottomSheet() } else { - Frame.CROP + super.onBackPressed() } - setFrame() - } - "preview_resolution" -> { - val resolution = sharedPreferences.getString("preview_resolution", "720P") - setPreviewResolution(resolution) - } - "record_resolution" -> { - mRecordResolution = sharedPreferences.getString(key, "720P") ?: "720P" - } - "frame_rate" -> { - val frameRate = sharedPreferences.getString(key, "25") ?: "25" - mFrameRate = frameRate.toInt() - } - "video_bit_rate" -> { - val videoBitRate = sharedPreferences.getString(key, "18432000") ?: "18432000" - mVideoBitRate = videoBitRate.toInt() - } - "channels" -> { - val channels = sharedPreferences.getString(key, "1") ?: "1" - mChannels = channels.toInt() - } - "sample_rate" -> { - val sampleRate = sharedPreferences.getString(key, "44100") ?: "44100" - mSampleRate = sampleRate.toInt() - } - "audio_bit_rate" -> { - val audioBitRate = sharedPreferences.getString(key, "128000") ?: "128000" - mAudioBitRate = audioBitRate.toInt() - } - "record_duration" -> { - val recordDuration = sharedPreferences.getString(key, "60000") ?: "60000" - mRecordDuration = recordDuration.toInt() - } - } - } - - private fun setPreviewResolution(resolution: String?) { - if (mPermissionDenied) { - return - } - mRecord.stopPreview() - var previewResolution = PreviewResolution.RESOLUTION_1280x720 - if (resolution == "1080P") { - previewResolution = PreviewResolution.RESOLUTION_1920x1080 - } else if (resolution == "720P") { - previewResolution = PreviewResolution.RESOLUTION_1280x720 - } - - askPermission(Manifest.permission.CAMERA, - Manifest.permission.RECORD_AUDIO, - Manifest.permission.WRITE_EXTERNAL_STORAGE, - Manifest.permission.READ_EXTERNAL_STORAGE) { - mRecord.startPreview(previewResolution) - }.onDeclined { - if (it.hasDenied()) { - mPermissionDenied = true - AlertDialog.Builder(this) - .setMessage("请允许请求的所有权限") - .setPositiveButton("请求") { _, _-> - it.askAgain() - }.setNegativeButton("拒绝") { dialog, _-> - dialog.dismiss() - finish() - }.show() - } - if (it.hasForeverDenied()) { - it.goToSettings() - } - } - } - - override fun onBackPressed() { - val behavior = BottomSheetBehavior.from(mInsideBottomSheet) - if (behavior.state == BottomSheetBehavior.STATE_EXPANDED) { - closeBottomSheet() - } else { - super.onBackPressed() - } - } + } } \ No newline at end of file diff --git a/app/src/main/java/com/trinity/sample/TrinityApplication.kt b/app/src/main/java/com/trinity/sample/TrinityApplication.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/VideoExportActivity.kt b/app/src/main/java/com/trinity/sample/VideoExportActivity.kt old mode 100644 new mode 100755 index 35a65283..68a23e1e --- a/app/src/main/java/com/trinity/sample/VideoExportActivity.kt +++ b/app/src/main/java/com/trinity/sample/VideoExportActivity.kt @@ -1,6 +1,7 @@ package com.trinity.sample import android.os.Bundle +import android.os.Environment import android.view.View import android.widget.VideoView import androidx.appcompat.app.AppCompatActivity @@ -21,7 +22,7 @@ class VideoExportActivity : AppCompatActivity(), OnExportListener { private lateinit var mProgressBar: ColorfulRingProgressView private lateinit var mVideoView: VideoView private lateinit var mVideoExport: VideoExport - + lateinit var newfile: File override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_video_export) @@ -31,10 +32,20 @@ class VideoExportActivity : AppCompatActivity(), OnExportListener { it.isLooping = true } + + val filepath = Environment.getExternalStorageDirectory() + val dir = + File(filepath.absolutePath + "/" + "Video Creator" + "/") + if (!dir.exists()) { + dir.mkdirs() + } + + newfile = File(dir, "save_" + System.currentTimeMillis() + ".mp4") + val preferences = PreferenceManager.getDefaultSharedPreferences(this) val softCodecEncode = preferences.getBoolean("export_soft_encode", false) val softCodecDecode = preferences.getBoolean("export_soft_decode", false) - val info = VideoExportInfo("/sdcard/export.mp4") + val info = VideoExportInfo(newfile.toString()) info.mediaCodecDecode = !softCodecDecode info.mediaCodecEncode = !softCodecEncode val width = resources.displayMetrics.widthPixels @@ -55,18 +66,22 @@ class VideoExportActivity : AppCompatActivity(), OnExportListener { } override fun onExportCanceled() { - val file = File("/sdcard/export.mp4") + val file = File(newfile.toString()) file.delete() } + override fun onExportComplete() { mProgressBar.visibility = View.GONE - mVideoView.setVideoPath("/sdcard/export.mp4") + mVideoView.setVideoPath(newfile.toString()) mVideoView.start() + } override fun onDestroy() { super.onDestroy() mVideoExport.cancel() } + + } \ No newline at end of file diff --git a/app/src/main/java/com/trinity/sample/adapter/BeautyAdapter.kt b/app/src/main/java/com/trinity/sample/adapter/BeautyAdapter.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/adapter/CategoryAdapter.kt b/app/src/main/java/com/trinity/sample/adapter/CategoryAdapter.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/adapter/CreatedVideoListAdapter.java b/app/src/main/java/com/trinity/sample/adapter/CreatedVideoListAdapter.java new file mode 100644 index 00000000..94121e7c --- /dev/null +++ b/app/src/main/java/com/trinity/sample/adapter/CreatedVideoListAdapter.java @@ -0,0 +1,94 @@ +package com.trinity.sample.adapter; + +import android.content.Context; +import android.content.Intent; +import android.media.MediaMetadataRetriever; +import android.net.Uri; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ImageView; +import android.widget.RelativeLayout; +import android.widget.Toast; + +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; + +import com.bumptech.glide.Glide; +import com.trinity.sample.AlbumFile; +import com.trinity.sample.R; + +import java.io.File; +import java.util.ArrayList; + +public class CreatedVideoListAdapter extends RecyclerView.Adapter { + private ArrayList videoList; + private Context context; + MediaMetadataRetriever retriever = new MediaMetadataRetriever(); + + public CreatedVideoListAdapter(Context context, ArrayList videoList) { + this.context = context; + this.videoList = videoList; + } + + public void replaceData(ArrayList arrayList) { + videoList = arrayList; + notifyDataSetChanged(); + } + + @NonNull + @Override + public CreatedVideoListAdapter.MyViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) { + LayoutInflater layoutInflater = LayoutInflater.from(viewGroup.getContext()); + View view = layoutInflater.inflate(R.layout.adapter_createdvideo, viewGroup, false); + return new MyViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull CreatedVideoListAdapter.MyViewHolder myViewHolder, final int i) { + final AlbumFile albumFile = videoList.get(i); + Glide.with(context) + .load(albumFile.getPath()) +// .override(540, 960) +// .fitCenter() + .into(myViewHolder.videoImage); + + + myViewHolder.videoImage.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + + } + }); + } + + @Override + public int getItemCount() { + return videoList.size(); + } + + class MyViewHolder extends RecyclerView.ViewHolder { + + ImageView videoImage; + + RelativeLayout mainLayout; + + MyViewHolder(@NonNull View itemView) { + super(itemView); + videoImage = itemView.findViewById(R.id.iv_create_video_Image); + } + } + + public boolean getVideoTime(String getPath) { + try { + retriever.setDataSource(context, Uri.fromFile(new File(getPath))); + String time = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION); + if (time == null) { + return true; + } + } catch (Exception e) { + return true; + } + return false; + } +} diff --git a/app/src/main/java/com/trinity/sample/adapter/EffectAdapter.kt b/app/src/main/java/com/trinity/sample/adapter/EffectAdapter.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/adapter/FilterAdapter.kt b/app/src/main/java/com/trinity/sample/adapter/FilterAdapter.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/adapter/IdentifyAdapter.kt b/app/src/main/java/com/trinity/sample/adapter/IdentifyAdapter.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/adapter/MediaAdapter.kt b/app/src/main/java/com/trinity/sample/adapter/MediaAdapter.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/adapter/MediaPagerAdapter.kt b/app/src/main/java/com/trinity/sample/adapter/MediaPagerAdapter.kt old mode 100644 new mode 100755 index 412053c4..64d16da9 --- a/app/src/main/java/com/trinity/sample/adapter/MediaPagerAdapter.kt +++ b/app/src/main/java/com/trinity/sample/adapter/MediaPagerAdapter.kt @@ -26,9 +26,9 @@ class MediaPagerAdapter(fm: FragmentManager) : FragmentStatePagerAdapter(fm, BEH override fun getPageTitle(position: Int): CharSequence? { return if (position == 0) { - "视频" + "Video" } else { - "图片" + "Image" } } } \ No newline at end of file diff --git a/app/src/main/java/com/trinity/sample/adapter/MusicAdapter.kt b/app/src/main/java/com/trinity/sample/adapter/MusicAdapter.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/adapter/SubtitleAdapter.kt b/app/src/main/java/com/trinity/sample/adapter/SubtitleAdapter.kt index f58691f9..2fdd47a3 100755 --- a/app/src/main/java/com/trinity/sample/adapter/SubtitleAdapter.kt +++ b/app/src/main/java/com/trinity/sample/adapter/SubtitleAdapter.kt @@ -1,19 +1,4 @@ -/* - * Copyright (C) 2020 Trinity. All rights reserved. - * Copyright (C) 2020 Wang LianJie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + package com.trinity.sample.adapter import android.content.Context diff --git a/app/src/main/java/com/trinity/sample/editor/Chooser.kt b/app/src/main/java/com/trinity/sample/editor/Chooser.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/editor/EditorPage.kt b/app/src/main/java/com/trinity/sample/editor/EditorPage.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/editor/EffectChooser.kt b/app/src/main/java/com/trinity/sample/editor/EffectChooser.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/editor/EffectController.kt b/app/src/main/java/com/trinity/sample/editor/EffectController.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/editor/EffectId.kt b/app/src/main/java/com/trinity/sample/editor/EffectId.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/editor/LutFilterChooser.kt b/app/src/main/java/com/trinity/sample/editor/LutFilterChooser.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/editor/MusicChooser.kt b/app/src/main/java/com/trinity/sample/editor/MusicChooser.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/editor/PlayerListener.kt b/app/src/main/java/com/trinity/sample/editor/PlayerListener.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/editor/SubtitleChooser.kt b/app/src/main/java/com/trinity/sample/editor/SubtitleChooser.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/editor/ViewOperator.kt b/app/src/main/java/com/trinity/sample/editor/ViewOperator.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/entity/DynamicImage.kt b/app/src/main/java/com/trinity/sample/entity/DynamicImage.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/entity/Effect.kt b/app/src/main/java/com/trinity/sample/entity/Effect.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/entity/EffectBase.kt b/app/src/main/java/com/trinity/sample/entity/EffectBase.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/entity/EffectCaption.kt b/app/src/main/java/com/trinity/sample/entity/EffectCaption.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/entity/EffectInfo.kt b/app/src/main/java/com/trinity/sample/entity/EffectInfo.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/entity/EffectPaste.kt b/app/src/main/java/com/trinity/sample/entity/EffectPaste.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/entity/EffectText.kt b/app/src/main/java/com/trinity/sample/entity/EffectText.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/entity/Filter.kt b/app/src/main/java/com/trinity/sample/entity/Filter.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/entity/Frame.kt b/app/src/main/java/com/trinity/sample/entity/Frame.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/entity/FrameTime.kt b/app/src/main/java/com/trinity/sample/entity/FrameTime.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/entity/MediaItem.kt b/app/src/main/java/com/trinity/sample/entity/MediaItem.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/entity/Music.kt b/app/src/main/java/com/trinity/sample/entity/Music.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/entity/PasteDescriptor.kt b/app/src/main/java/com/trinity/sample/entity/PasteDescriptor.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/entity/PasterForm.kt b/app/src/main/java/com/trinity/sample/entity/PasterForm.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/entity/ResourceForm.kt b/app/src/main/java/com/trinity/sample/entity/ResourceForm.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/entity/SubtitleInfo.kt b/app/src/main/java/com/trinity/sample/entity/SubtitleInfo.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/fragment/BeautyFragment.kt b/app/src/main/java/com/trinity/sample/fragment/BeautyFragment.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/fragment/EffectFilterFragment.kt b/app/src/main/java/com/trinity/sample/fragment/EffectFilterFragment.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/fragment/FilterFragment.kt b/app/src/main/java/com/trinity/sample/fragment/FilterFragment.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/fragment/IdentifyFragment.kt b/app/src/main/java/com/trinity/sample/fragment/IdentifyFragment.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/fragment/MediaFragment.kt b/app/src/main/java/com/trinity/sample/fragment/MediaFragment.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/fragment/MusicFragment.kt b/app/src/main/java/com/trinity/sample/fragment/MusicFragment.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/fragment/PictureFragment.kt b/app/src/main/java/com/trinity/sample/fragment/PictureFragment.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/fragment/SettingFragment.kt b/app/src/main/java/com/trinity/sample/fragment/SettingFragment.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/fragment/VideoFragment.kt b/app/src/main/java/com/trinity/sample/fragment/VideoFragment.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/listener/OnEffectTouchListener.kt b/app/src/main/java/com/trinity/sample/listener/OnEffectTouchListener.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/text/AbstractOutlineTextDrawable.kt b/app/src/main/java/com/trinity/sample/text/AbstractOutlineTextDrawable.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/text/AutoResizingEditText.kt b/app/src/main/java/com/trinity/sample/text/AutoResizingEditText.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/text/AutoResizingTextView.kt b/app/src/main/java/com/trinity/sample/text/AutoResizingTextView.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/text/FontForm.kt b/app/src/main/java/com/trinity/sample/text/FontForm.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/text/TextBitmap.kt b/app/src/main/java/com/trinity/sample/text/TextBitmap.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/text/TextBitmapGenerator.kt b/app/src/main/java/com/trinity/sample/text/TextBitmapGenerator.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/text/TextBoxDrawable.kt b/app/src/main/java/com/trinity/sample/text/TextBoxDrawable.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/text/TextDialog.kt b/app/src/main/java/com/trinity/sample/text/TextDialog.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/text/TypefaceConfig.kt b/app/src/main/java/com/trinity/sample/text/TypefaceConfig.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/view/AbstractPasteView.kt b/app/src/main/java/com/trinity/sample/view/AbstractPasteView.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/view/BitmapGenerator.kt b/app/src/main/java/com/trinity/sample/view/BitmapGenerator.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/view/CircleTextView.kt b/app/src/main/java/com/trinity/sample/view/CircleTextView.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/view/EditorTabLayout.kt b/app/src/main/java/com/trinity/sample/view/EditorTabLayout.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/view/LineProgressView.kt b/app/src/main/java/com/trinity/sample/view/LineProgressView.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/view/MaterialResources.java b/app/src/main/java/com/trinity/sample/view/MaterialResources.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/view/PasteBaseView.kt b/app/src/main/java/com/trinity/sample/view/PasteBaseView.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/view/PasteController.kt b/app/src/main/java/com/trinity/sample/view/PasteController.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/view/PasteControllerText.kt b/app/src/main/java/com/trinity/sample/view/PasteControllerText.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/view/PasteConverter.kt b/app/src/main/java/com/trinity/sample/view/PasteConverter.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/view/PasteManager.kt b/app/src/main/java/com/trinity/sample/view/PasteManager.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/view/PasteManagerImpl.kt b/app/src/main/java/com/trinity/sample/view/PasteManagerImpl.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/view/PasteUIGifImpl.kt b/app/src/main/java/com/trinity/sample/view/PasteUIGifImpl.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/view/PasteUISimpleImpl.kt b/app/src/main/java/com/trinity/sample/view/PasteUISimpleImpl.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/view/PasteUITextImpl.kt b/app/src/main/java/com/trinity/sample/view/PasteUITextImpl.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/view/PasteWithTextView.kt b/app/src/main/java/com/trinity/sample/view/PasteWithTextView.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/view/RecordButton.kt b/app/src/main/java/com/trinity/sample/view/RecordButton.kt old mode 100644 new mode 100755 index df56233a..ee44921a --- a/app/src/main/java/com/trinity/sample/view/RecordButton.kt +++ b/app/src/main/java/com/trinity/sample/view/RecordButton.kt @@ -61,10 +61,10 @@ class RecordButton : View { downColor = R.color.video_gray upColor = android.R.color.white paint = Paint() - paint?.isAntiAlias = true//抗锯齿 - paint?.style = Paint.Style.STROKE//画笔属性是空心圆 + paint?.isAntiAlias = true//Anti-aliasing + paint?.style = Paint.Style.STROKE//The brush attribute is hollow circle currentStrokeWidth = resources.getDimension(R.dimen.dp10) - paint?.strokeWidth = currentStrokeWidth//设置画笔粗细 + paint?.strokeWidth = currentStrokeWidth//Set the brush thickness slideDis = resources.getDimension(R.dimen.dp10) radiusDis = resources.getDimension(R.dimen.dp3) diff --git a/app/src/main/java/com/trinity/sample/view/SpacesItemDecoration.kt b/app/src/main/java/com/trinity/sample/view/SpacesItemDecoration.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/view/TabItem.java b/app/src/main/java/com/trinity/sample/view/TabItem.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/view/TabLayout.java b/app/src/main/java/com/trinity/sample/view/TabLayout.java old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/view/ThumbLineConfig.kt b/app/src/main/java/com/trinity/sample/view/ThumbLineConfig.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/view/foucs/AutoFocusMarker.kt b/app/src/main/java/com/trinity/sample/view/foucs/AutoFocusMarker.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/view/foucs/AutoFocusTrigger.kt b/app/src/main/java/com/trinity/sample/view/foucs/AutoFocusTrigger.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/view/foucs/DefaultAutoFocusMarker.kt b/app/src/main/java/com/trinity/sample/view/foucs/DefaultAutoFocusMarker.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/view/foucs/Marker.kt b/app/src/main/java/com/trinity/sample/view/foucs/Marker.kt old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/trinity/sample/view/foucs/MarkerLayout.kt b/app/src/main/java/com/trinity/sample/view/foucs/MarkerLayout.kt old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/background_undo.xml b/app/src/main/res/drawable/background_undo.xml old mode 100644 new mode 100755 index c58c4b25..5823811f --- a/app/src/main/res/drawable/background_undo.xml +++ b/app/src/main/res/drawable/background_undo.xml @@ -1,20 +1,4 @@ - diff --git a/app/src/main/res/drawable/bg_filter_select.xml b/app/src/main/res/drawable/bg_filter_select.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/bg_record_done.xml b/app/src/main/res/drawable/bg_record_done.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/bg_undo.xml b/app/src/main/res/drawable/bg_undo.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/cameraview_focus_marker_fill.xml b/app/src/main/res/drawable/cameraview_focus_marker_fill.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/cameraview_focus_marker_outline.xml b/app/src/main/res/drawable/cameraview_focus_marker_outline.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/content_frame_selector.xml b/app/src/main/res/drawable/content_frame_selector.xml index bf14caf0..ead6d8eb 100755 --- a/app/src/main/res/drawable/content_frame_selector.xml +++ b/app/src/main/res/drawable/content_frame_selector.xml @@ -1,20 +1,4 @@ - diff --git a/app/src/main/res/drawable/ic_action_back.png b/app/src/main/res/drawable/ic_action_back.png new file mode 100644 index 00000000..a0b6bebe Binary files /dev/null and b/app/src/main/res/drawable/ic_action_back.png differ diff --git a/app/src/main/res/drawable/ic_launcher.png b/app/src/main/res/drawable/ic_launcher.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_launcher_background.xml b/app/src/main/res/drawable/ic_launcher_background.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/ic_undo.png b/app/src/main/res/drawable/ic_undo.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/media_select.xml b/app/src/main/res/drawable/media_select.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/media_select_normal.xml b/app/src/main/res/drawable/media_select_normal.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable/overlay_cancel_selector.xml b/app/src/main/res/drawable/overlay_cancel_selector.xml old mode 100644 new mode 100755 index 0d119443..270b10f8 --- a/app/src/main/res/drawable/overlay_cancel_selector.xml +++ b/app/src/main/res/drawable/overlay_cancel_selector.xml @@ -1,20 +1,4 @@ - diff --git a/app/src/main/res/drawable/overlay_content_frame_selector.xml b/app/src/main/res/drawable/overlay_content_frame_selector.xml old mode 100644 new mode 100755 index 8dd1985f..819c996d --- a/app/src/main/res/drawable/overlay_content_frame_selector.xml +++ b/app/src/main/res/drawable/overlay_content_frame_selector.xml @@ -1,20 +1,4 @@ - diff --git a/app/src/main/res/drawable/overlay_transform_selector.xml b/app/src/main/res/drawable/overlay_transform_selector.xml old mode 100644 new mode 100755 index 5e49b1a2..a549e5a9 --- a/app/src/main/res/drawable/overlay_transform_selector.xml +++ b/app/src/main/res/drawable/overlay_transform_selector.xml @@ -1,20 +1,4 @@ - diff --git a/app/src/main/res/drawable/rec.png b/app/src/main/res/drawable/rec.png new file mode 100644 index 00000000..9e202185 Binary files /dev/null and b/app/src/main/res/drawable/rec.png differ diff --git a/app/src/main/res/drawable/record_rate_bg.xml b/app/src/main/res/drawable/record_rate_bg.xml index 8ad0c215..b6918936 100755 --- a/app/src/main/res/drawable/record_rate_bg.xml +++ b/app/src/main/res/drawable/record_rate_bg.xml @@ -1,5 +1,5 @@ - - + + \ No newline at end of file diff --git a/app/src/main/res/drawable/seek_bar_thumb.xml b/app/src/main/res/drawable/seek_bar_thumb.xml old mode 100644 new mode 100755 index 54eaf8de..19a09a25 --- a/app/src/main/res/drawable/seek_bar_thumb.xml +++ b/app/src/main/res/drawable/seek_bar_thumb.xml @@ -1,20 +1,4 @@ - diff --git a/app/src/main/res/drawable/stop.png b/app/src/main/res/drawable/stop.png new file mode 100644 index 00000000..e2cd194f Binary files /dev/null and b/app/src/main/res/drawable/stop.png differ diff --git a/app/src/main/res/drawable/subtitle_category_bg.xml b/app/src/main/res/drawable/subtitle_category_bg.xml index d9c3d89a..79ec0b93 100755 --- a/app/src/main/res/drawable/subtitle_category_bg.xml +++ b/app/src/main/res/drawable/subtitle_category_bg.xml @@ -1,20 +1,4 @@ - - - + android:layout_marginBottom="12dp"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml old mode 100644 new mode 100755 index 7df3e800..6a1bf4ea --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -9,13 +9,13 @@ tools:context=".MainActivity">