Skip to content
Snippets Groups Projects
Commit cc176899 authored by Nicolas Pope's avatar Nicolas Pope
Browse files

Attempt fix for mixer unit on windows

parent 18534c8c
No related branches found
No related tags found
No related merge requests found
Pipeline #29174 failed
...@@ -5,10 +5,10 @@ using ftl::audio::StereoMixerF; ...@@ -5,10 +5,10 @@ using ftl::audio::StereoMixerF;
TEST_CASE("Audio Mixer Stereo Float", "") { TEST_CASE("Audio Mixer Stereo Float", "") {
SECTION("Add two in sync tracks") { SECTION("Add two in sync tracks") {
StereoMixerF<100> mixer; auto mixer = std::make_unique<StereoMixerF<100>>();
mixer.add("Track1"); mixer->add("Track1");
mixer.add("Track2"); mixer->add("Track2");
// Three 960 sample stereo frames // Three 960 sample stereo frames
std::vector<float> in1(960*2*3); std::vector<float> in1(960*2*3);
...@@ -17,16 +17,16 @@ TEST_CASE("Audio Mixer Stereo Float", "") { ...@@ -17,16 +17,16 @@ TEST_CASE("Audio Mixer Stereo Float", "") {
for (int i=0; i<960*2*3; ++i) in1[i] = float(i)+1.0f; for (int i=0; i<960*2*3; ++i) in1[i] = float(i)+1.0f;
for (int i=0; i<960*2*3; ++i) in2[i] = float(i)+2.0f; for (int i=0; i<960*2*3; ++i) in2[i] = float(i)+2.0f;
mixer.write(0, in1); mixer->write(0, in1);
mixer.write(1, in2); mixer->write(1, in2);
mixer.mix(); mixer->mix();
REQUIRE( mixer.writePosition() == 3 ); REQUIRE( mixer->writePosition() == 3 );
REQUIRE( mixer.readPosition() == 0 ); REQUIRE( mixer->readPosition() == 0 );
// Read one of the three valid frames // Read one of the three valid frames
std::vector<float> out; std::vector<float> out;
mixer.read(out, 1); mixer->read(out, 1);
bool correct = true; bool correct = true;
// Check all values are correct // Check all values are correct
...@@ -39,10 +39,10 @@ TEST_CASE("Audio Mixer Stereo Float", "") { ...@@ -39,10 +39,10 @@ TEST_CASE("Audio Mixer Stereo Float", "") {
} }
SECTION("Add two out of sync tracks") { SECTION("Add two out of sync tracks") {
StereoMixerF<100> mixer; auto mixer = std::make_unique<StereoMixerF<100>>();
mixer.add("Track1"); mixer->add("Track1");
mixer.add("Track2"); mixer->add("Track2");
// Three 960 sample stereo frames // Three 960 sample stereo frames
std::vector<float> in1(960*2*3); std::vector<float> in1(960*2*3);
...@@ -51,16 +51,16 @@ TEST_CASE("Audio Mixer Stereo Float", "") { ...@@ -51,16 +51,16 @@ TEST_CASE("Audio Mixer Stereo Float", "") {
for (int i=0; i<960*2*3; ++i) in1[i] = float(i)+1.0f; for (int i=0; i<960*2*3; ++i) in1[i] = float(i)+1.0f;
for (int i=0; i<960*2*2; ++i) in2[i] = float(i)+2.0f; for (int i=0; i<960*2*2; ++i) in2[i] = float(i)+2.0f;
mixer.write(0, in1); mixer->write(0, in1);
mixer.write(1, in2); mixer->write(1, in2);
mixer.mix(); mixer->mix();
REQUIRE( mixer.writePosition() == 2 ); REQUIRE( mixer->writePosition() == 2 );
REQUIRE( mixer.readPosition() == 0 ); REQUIRE( mixer->readPosition() == 0 );
// Read one of the three valid frames // Read one of the three valid frames
std::vector<float> out; std::vector<float> out;
mixer.read(out, 2); mixer->read(out, 2);
bool correct = true; bool correct = true;
// Check all values are correct // Check all values are correct
...@@ -75,13 +75,13 @@ TEST_CASE("Audio Mixer Stereo Float", "") { ...@@ -75,13 +75,13 @@ TEST_CASE("Audio Mixer Stereo Float", "") {
std::vector<float> in3(960*2*1); std::vector<float> in3(960*2*1);
for (int i=0; i<960*2*1; ++i) in3[i] = float(i)+1.0f; for (int i=0; i<960*2*1; ++i) in3[i] = float(i)+1.0f;
mixer.write(1, in3); mixer->write(1, in3);
mixer.mix(); mixer->mix();
REQUIRE( mixer.writePosition() == 3 ); REQUIRE( mixer->writePosition() == 3 );
REQUIRE( mixer.readPosition() == 2 ); REQUIRE( mixer->readPosition() == 2 );
mixer.read(out, 1); mixer->read(out, 1);
// Check all values are correct // Check all values are correct
for (int i=0; i<960*2*1; ++i) { for (int i=0; i<960*2*1; ++i) {
...@@ -95,35 +95,35 @@ TEST_CASE("Audio Mixer Stereo Float", "") { ...@@ -95,35 +95,35 @@ TEST_CASE("Audio Mixer Stereo Float", "") {
TEST_CASE("Audio Mixer Stereo Float Dynamic Tracks", "") { TEST_CASE("Audio Mixer Stereo Float Dynamic Tracks", "") {
SECTION("Add one track after write") { SECTION("Add one track after write") {
StereoMixerF<100> mixer; auto mixer = std::make_unique<StereoMixerF<100>>();
mixer.add("Track1"); mixer->add("Track1");
// Three 960 sample stereo frames // Three 960 sample stereo frames
std::vector<float> in1(960*2*3); std::vector<float> in1(960*2*3);
for (int i=0; i<960*2*3; ++i) in1[i] = float(i)+1.0f; for (int i=0; i<960*2*3; ++i) in1[i] = float(i)+1.0f;
mixer.write(0, in1); mixer->write(0, in1);
mixer.mix(); mixer->mix();
REQUIRE( mixer.writePosition() == 3 ); REQUIRE( mixer->writePosition() == 3 );
REQUIRE( mixer.readPosition() == 0 ); REQUIRE( mixer->readPosition() == 0 );
std::vector<float> in2(960*2*3); std::vector<float> in2(960*2*3);
for (int i=0; i<960*2*3; ++i) in2[i] = float(i)+2.0f; for (int i=0; i<960*2*3; ++i) in2[i] = float(i)+2.0f;
mixer.add("Track2"); mixer->add("Track2");
mixer.write(0, in1); mixer->write(0, in1);
mixer.write(1, in2); mixer->write(1, in2);
mixer.mix(); mixer->mix();
REQUIRE( mixer.writePosition() == 6 ); REQUIRE( mixer->writePosition() == 6 );
REQUIRE( mixer.readPosition() == 0 ); REQUIRE( mixer->readPosition() == 0 );
REQUIRE( mixer.frames() == 6 ); REQUIRE( mixer->frames() == 6 );
// Read one of the three valid frames // Read one of the three valid frames
std::vector<float> out; std::vector<float> out;
mixer.read(out, mixer.frames()); mixer->read(out, mixer->frames());
bool correct = true; bool correct = true;
// Check all values are correct // Check all values are correct
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment