From 513e984b3758d1b2c93a5df891dbb6595346d27b Mon Sep 17 00:00:00 2001 From: tobias <tobias.ullerich@icloud.com> Date: Wed, 14 Sep 2016 10:56:54 +0200 Subject: [PATCH] Update WaveformView --- PlayWallNative/libNativeAudio.dylib | Bin 56080 -> 55808 bytes .../de/tobias/playpad/view/WaveformView.java | 19 ++++++++++-------- .../test/de/tobias/playpad/WaveformTest.java | 17 +++++++++------- 3 files changed, 21 insertions(+), 15 deletions(-) diff --git a/PlayWallNative/libNativeAudio.dylib b/PlayWallNative/libNativeAudio.dylib index fc1f2851992daee95ab3d3a81e050014735ddc5c..14afa4716652379483939e006f1d32ba3adde6bb 100644 GIT binary patch delta 11599 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 delta 11780 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 F0|1UCz>)v} diff --git a/PlayWallNative/src/de/tobias/playpad/view/WaveformView.java b/PlayWallNative/src/de/tobias/playpad/view/WaveformView.java index 2e77bdd1..25029d49 100644 --- a/PlayWallNative/src/de/tobias/playpad/view/WaveformView.java +++ b/PlayWallNative/src/de/tobias/playpad/view/WaveformView.java @@ -10,21 +10,24 @@ public class WaveformView extends Path { public WaveformView(float[] data) { getElements().add(new MoveTo(0, 0)); - double width = data.length / 1200.0; - + double width2 = data.length / 1200.0; + int width = data.length / 10000; + System.out.println(data.length); + System.out.println(width); + int i = 0; - for (i = 0; i < data.length; i+=1000) { + for (i = 0; i < data.length; i += width) { if (i < data.length) { - LineTo lineTo = new LineTo(i/width, data[i] * 50.0); - MoveTo moveTo = new MoveTo(i/width, data[i] * 50.0); + LineTo lineTo = new LineTo(i / width2, data[i] * 50.0); + MoveTo moveTo = new MoveTo(i / width2, data[i] * 50.0); getElements().addAll(lineTo, moveTo); } } - for (; i >= 0; i-=1000) { + for (; i >= 0; i -= width) { if (i >= 0 && i < data.length) { - LineTo lineTo = new LineTo(i/width, -data[i] * 50.0); - MoveTo moveTo = new MoveTo(i/width, -data[i] * 50.0); + LineTo lineTo = new LineTo(i / width2, -data[i] * 50.0); + MoveTo moveTo = new MoveTo(i / width2, -data[i] * 50.0); getElements().addAll(lineTo, moveTo); } diff --git a/PlayWallNative/test/de/tobias/playpad/WaveformTest.java b/PlayWallNative/test/de/tobias/playpad/WaveformTest.java index 20944d3b..704d8b6e 100644 --- a/PlayWallNative/test/de/tobias/playpad/WaveformTest.java +++ b/PlayWallNative/test/de/tobias/playpad/WaveformTest.java @@ -18,16 +18,19 @@ public class WaveformTest extends Application { @Override public void start(Stage primaryStage) throws Exception { -// float[] data = Waveform.createWaveform("/Users/tobias/Music/iTunes/iTunes Media/Music/Coldplay/Mylo Xyloto/04 Charlie Brown.mp3"); - float[] data = Waveform.createWaveform("/Users/tobias/Downloads/TNT-Loop.wav"); + float[] data = Waveform.createWaveform("/Users/tobias/Music/iTunes/iTunes Media/Music/Coldplay/Mylo Xyloto/04 Charlie Brown.mp3"); + float[] data2 = Waveform.createWaveform("/Users/tobias/Downloads/TNT-Loop.wav"); WaveformView view = new WaveformView(data); - + WaveformView view2 = new WaveformView(data2); + WritableImage image = new WritableImage(1200, 150); - view.snapshot(null, image ); - - VBox root = new VBox(new ImageView(image)); + view.snapshot(null, image); + WritableImage image2 = new WritableImage(1200, 150); + view2.snapshot(null, image2); + + VBox root = new VBox(new ImageView(image), new ImageView(image2)); Scene scene = new Scene(root); - + primaryStage.setScene(scene); primaryStage.show(); } -- GitLab