Skip to content

Commit

Permalink
Quick fixes
Browse files Browse the repository at this point in the history
Took 48 seconds
  • Loading branch information
JulesPvx committed May 28, 2024
1 parent 23a436f commit 675b02c
Show file tree
Hide file tree
Showing 48 changed files with 837 additions and 117 deletions.
Original file line number Diff line number Diff line change
@@ -1,3 +1,18 @@
/*
* Copyright 2024 Angel Studio
*
* 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 fr.angel.soundtap

import androidx.test.ext.junit.runners.AndroidJUnit4
Expand All @@ -19,4 +34,4 @@ class ExampleInstrumentedTest {
val appContext = InstrumentationRegistry.getInstrumentation().targetContext
assertEquals("fr.angel.soundtap", appContext.packageName)
}
}
}
16 changes: 15 additions & 1 deletion app/src/main/java/fr/angel/soundtap/ColorExt.kt
Original file line number Diff line number Diff line change
@@ -1,3 +1,18 @@
/*
* Copyright 2024 Angel Studio
*
* 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 fr.angel.soundtap

import androidx.compose.ui.graphics.Color
Expand Down Expand Up @@ -38,4 +53,3 @@ fun Color.hue(): Float {
}
return (hue * 60.0).toFloat() // hue is in [0,6], scale it up
}

17 changes: 16 additions & 1 deletion app/src/main/java/fr/angel/soundtap/GlobalHelper.kt
Original file line number Diff line number Diff line change
@@ -1,3 +1,18 @@
/*
* Copyright 2024 Angel Studio
*
* 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 fr.angel.soundtap

import android.content.Context
Expand Down Expand Up @@ -57,4 +72,4 @@ object GlobalHelper {
}
context.sendOrderedBroadcast(startMediaPlayer, null)
}
}
}
17 changes: 16 additions & 1 deletion app/src/main/java/fr/angel/soundtap/MainActivity.kt
Original file line number Diff line number Diff line change
@@ -1,3 +1,18 @@
/*
* Copyright 2024 Angel Studio
*
* 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 fr.angel.soundtap

import android.os.Bundle
Expand Down Expand Up @@ -150,4 +165,4 @@ class MainActivity : ComponentActivity() {
}
super.onResume()
}
}
}
17 changes: 16 additions & 1 deletion app/src/main/java/fr/angel/soundtap/MainViewModel.kt
Original file line number Diff line number Diff line change
@@ -1,3 +1,18 @@
/*
* Copyright 2024 Angel Studio
*
* 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 fr.angel.soundtap

import android.content.Context
Expand Down Expand Up @@ -159,4 +174,4 @@ class MainViewModel @Inject constructor(
customizationSettingsDataStore.updateData { settings -> settings.copy(autoPlayMode = autoPlayMode) }
}
}
}
}
17 changes: 16 additions & 1 deletion app/src/main/java/fr/angel/soundtap/PackageQueryHelper.kt
Original file line number Diff line number Diff line change
@@ -1,3 +1,18 @@
/*
* Copyright 2024 Angel Studio
*
* 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 fr.angel.soundtap

import android.app.Application
Expand Down Expand Up @@ -39,4 +54,4 @@ object PackageQueryModule {
fun providePackageQueryHelper(@ApplicationContext application: Context): PackageQueryHelper {
return PackageQueryHelper(application as Application)
}
}
}
17 changes: 16 additions & 1 deletion app/src/main/java/fr/angel/soundtap/SoundTapApplication.kt
Original file line number Diff line number Diff line change
@@ -1,3 +1,18 @@
/*
* Copyright 2024 Angel Studio
*
* 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 fr.angel.soundtap

import android.app.Application
Expand Down Expand Up @@ -25,4 +40,4 @@ class SoundTapApplication : Application(), ImageLoaderFactory {
}
.build()
}
}
}
17 changes: 16 additions & 1 deletion app/src/main/java/fr/angel/soundtap/VibratorHelper.kt
Original file line number Diff line number Diff line change
@@ -1,3 +1,18 @@
/*
* Copyright 2024 Angel Studio
*
* 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 fr.angel.soundtap

import android.content.Context
Expand Down Expand Up @@ -34,4 +49,4 @@ class VibratorHelper(context: Context) {

fun long() =
vibrator.vibrate(VibrationEffect.createOneShot(200, VibrationEffect.DEFAULT_AMPLITUDE))
}
}
71 changes: 43 additions & 28 deletions app/src/main/java/fr/angel/soundtap/animations/AGSLShaders.kt
Original file line number Diff line number Diff line change
@@ -1,3 +1,18 @@
/*
* Copyright 2024 Angel Studio
*
* 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 fr.angel.soundtap.animations

import org.intellij.lang.annotations.Language
Expand All @@ -6,12 +21,12 @@ import org.intellij.lang.annotations.Language
val WOBBLE_SHADER = """
uniform float2 resolution;
uniform float time;
uniform shader contents;
uniform shader contents;
vec4 main(in vec2 fragCoord) {
vec2 uv = fragCoord.xy / resolution.xy * 0.8 + 0.1;
vec2 uv = fragCoord.xy / resolution.xy * 0.8 + 0.1;
uv += sin(time * vec2(1.0, 2.0) + uv* 2.0) * 0.01;
return contents.eval(uv * resolution.xy);
}
""".trimIndent()
Expand All @@ -21,7 +36,7 @@ val PERLIN_NOISE = """
uniform float2 resolution;
uniform float time;
uniform shader contents;
//
// Description : Array and textureless GLSL 2D/3D/4D simplex
// noise functions.
Expand All @@ -33,101 +48,101 @@ val PERLIN_NOISE = """
// https://github.com/ashima/webgl-noise
// https://github.com/stegu/webgl-noise
//
vec3 mod289(vec3 x) {
return x - floor(x * (1.0 / 289.0)) * 289.0;
}
vec4 mod289(vec4 x) {
return x - floor(x * (1.0 / 289.0)) * 289.0;
}
vec4 permute(vec4 x) {
return mod289(((x*34.0)+10.0)*x);
}
float snoise(vec3 v)
{
const vec2 C = vec2(1.0/6.0, 1.0/3.0) ;
const vec4 D = vec4(0.0, 0.5, 1.0, 2.0);
// First corner
vec3 i = floor(v + dot(v, C.yyy) );
vec3 x0 = v - i + dot(i, C.xxx) ;
// Other corners
vec3 g = step(x0.yzx, x0.xyz);
vec3 l = 1.0 - g;
vec3 i1 = min( g.xyz, l.zxy );
vec3 i2 = max( g.xyz, l.zxy );
// x0 = x0 - 0.0 + 0.0 * C.xxx;
// x1 = x0 - i1 + 1.0 * C.xxx;
// x2 = x0 - i2 + 2.0 * C.xxx;
// x3 = x0 - 1.0 + 3.0 * C.xxx;
vec3 x1 = x0 - i1 + C.xxx;
vec3 x2 = x0 - i2 + C.yyy; // 2.0*C.x = 1/3 = C.y
vec3 x3 = x0 - D.yyy; // -1.0+3.0*C.x = -0.5 = -D.y
// Permutations
i = mod289(i);
vec4 p = permute( permute( permute(
i.z + vec4(0.0, i1.z, i2.z, 1.0 ))
+ i.y + vec4(0.0, i1.y, i2.y, 1.0 ))
+ i.x + vec4(0.0, i1.x, i2.x, 1.0 ));
// Gradients: 7x7 points over a square, mapped onto an octahedron.
// The ring size 17*17 = 289 is close to a multiple of 49 (49*6 = 294)
float n_ = 0.142857142857; // 1.0/7.0
vec3 ns = n_ * D.wyz - D.xzx;
vec4 j = p - 49.0 * floor(p * ns.z * ns.z); // mod(p,7*7)
vec4 x_ = floor(j * ns.z);
vec4 y_ = floor(j - 7.0 * x_ ); // mod(j,N)
vec4 x = x_ *ns.x + ns.yyyy;
vec4 y = y_ *ns.x + ns.yyyy;
vec4 h = 1.0 - abs(x) - abs(y);
vec4 b0 = vec4( x.xy, y.xy );
vec4 b1 = vec4( x.zw, y.zw );
vec4 s0 = floor(b0)*2.0 + 1.0;
vec4 s1 = floor(b1)*2.0 + 1.0;
vec4 sh = -step(h, vec4(0.0));
vec4 a0 = b0.xzyw + s0.xzyw*sh.xxyy ;
vec4 a1 = b1.xzyw + s1.xzyw*sh.zzww ;
vec3 p0 = vec3(a0.xy,h.x);
vec3 p1 = vec3(a0.zw,h.y);
vec3 p2 = vec3(a1.xy,h.z);
vec3 p3 = vec3(a1.zw,h.w);
//Normalise gradients
vec4 norm = inversesqrt(vec4(dot(p0,p0), dot(p1,p1), dot(p2, p2), dot(p3,p3)));
p0 *= norm.x;
p1 *= norm.y;
p2 *= norm.z;
p3 *= norm.w;
// Mix final noise value
vec4 m = max(0.5 - vec4(dot(x0,x0), dot(x1,x1), dot(x2,x2), dot(x3,x3)), 0.0);
m = m * m;
return 105.0 * dot( m*m, vec4( dot(p0,x0), dot(p1,x1),
dot(p2,x2), dot(p3,x3) ) );
}
half4 main(in vec2 fragCoord) {
vec2 uv = (fragCoord.xy / resolution.xy);
float noise = snoise(vec3(uv.x * 6, uv.y * 6, time * 0.5));
noise *= exp(-length(abs(uv * 1.5)));
noise *= exp(-length(abs(uv * 1.5)));
vec2 offset1 = vec2(noise * 0.02);
vec2 offset2 = vec2(0.02) / resolution.xy;
uv += offset1 - offset2;
return contents.eval(uv * resolution.xy);
}
""".trimIndent()
""".trimIndent()
Loading

0 comments on commit 675b02c

Please sign in to comment.