aboutsummaryrefslogtreecommitdiff
path: root/AudioTester/Core
diff options
context:
space:
mode:
authorbonmas14 <bonmas14@gmail.com>2023-10-24 20:59:19 +0300
committerbonmas14 <bonmas14@gmail.com>2023-10-24 20:59:19 +0300
commitbb22f05857bf5358343de294e98a655370e327aa (patch)
tree482f7f193105619006fb552616224ec1712908b3 /AudioTester/Core
parentaad3d0382c498f6a39e5dbf5c9682e18127df353 (diff)
downloadRayRoom-bb22f05857bf5358343de294e98a655370e327aa.tar.gz
RayRoom-bb22f05857bf5358343de294e98a655370e327aa.zip
- raycasting
- System.Drawing visualization - some tests
Diffstat (limited to 'AudioTester/Core')
-rw-r--r--AudioTester/Core/Extensions/Matrix2x2Extensions.cs14
-rw-r--r--AudioTester/Core/RenderStreamer.cs44
2 files changed, 58 insertions, 0 deletions
diff --git a/AudioTester/Core/Extensions/Matrix2x2Extensions.cs b/AudioTester/Core/Extensions/Matrix2x2Extensions.cs
new file mode 100644
index 0000000..0e0b405
--- /dev/null
+++ b/AudioTester/Core/Extensions/Matrix2x2Extensions.cs
@@ -0,0 +1,14 @@
+using System.Drawing;
+using System.Numerics;
+
+namespace AudioTester.Core.Extensions
+{
+ internal static class PointExtensions
+ {
+ public static Point GetPoint(this Vector2 vector)
+ {
+ return new Point((int)MathF.Round(vector.X), (int)MathF.Round(vector.Y));
+ }
+ }
+
+}
diff --git a/AudioTester/Core/RenderStreamer.cs b/AudioTester/Core/RenderStreamer.cs
new file mode 100644
index 0000000..85f76a5
--- /dev/null
+++ b/AudioTester/Core/RenderStreamer.cs
@@ -0,0 +1,44 @@
+using NAudio.Codecs;
+using NAudio.Wave;
+using NAudio.Wave.SampleProviders;
+
+namespace AudioTester.Core
+{
+ internal class RenderStreamer : ISampleProvider
+ {
+ public WaveFormat WaveFormat { get; }
+
+ private const int ReadBufferSize = 1024;
+ private int sample;
+ private Random rand;
+
+ private AudioFileReader streamReader;
+ private ISampleProvider provider;
+
+ public RenderStreamer()
+ {
+ rand = new Random();
+ WaveFormat = WaveFormat.CreateIeeeFloatWaveFormat(44100, 2);
+ sample = 0;
+
+ streamReader = new AudioFileReader(@"Resources\test.wav");
+
+ provider = streamReader.ToSampleProvider();
+ }
+
+ public int Read(float[] buffer, int offset, int count)
+ {
+ int length = provider.Read(buffer, offset, count);
+
+ Console.WriteLine("i: {0}; o:{1}", count, length);
+
+ if (length < count)
+ {
+ streamReader.Position = 0;
+ length += provider.Read(buffer, length, count - length);
+ }
+
+ return length;
+ }
+ }
+}