X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=test%2Faudio_analysis_test.cc;h=2799449191575571a55e3c2694a9032265608fee;hb=59e769023c392c332331567a1aea94660002c463;hp=77b2aeaf6f9671a1685bf841d357685145a291a8;hpb=72eedf0b240c71b9dbd27d1f95b109b48e3200a2;p=dcpomatic.git diff --git a/test/audio_analysis_test.cc b/test/audio_analysis_test.cc index 77b2aeaf6..279944919 100644 --- a/test/audio_analysis_test.cc +++ b/test/audio_analysis_test.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2012 Carl Hetherington + Copyright (C) 2012-2014 Carl Hetherington This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -17,8 +17,19 @@ */ +/** @file test/audio_analysis_test.cc + * @brief Check audio analysis code. + */ + #include #include "lib/audio_analysis.h" +#include "lib/film.h" +#include "lib/sndfile_content.h" +#include "lib/dcp_content_type.h" +#include "lib/ratio.h" +#include "test.h" + +using boost::shared_ptr; static float random_float () @@ -26,8 +37,7 @@ random_float () return (float (rand ()) / RAND_MAX) * 2 - 1; } -/* Check serialisation of audio analyses */ -BOOST_AUTO_TEST_CASE (audio_analysis_test) +BOOST_AUTO_TEST_CASE (audio_analysis_serialisation_test) { int const channels = 3; int const points = 4096; @@ -44,13 +54,13 @@ BOOST_AUTO_TEST_CASE (audio_analysis_test) } } - a.write ("build/test/audio_analysis_test"); + a.write ("build/test/audio_analysis_serialisation_test"); srand (1); - AudioAnalysis b ("build/test/audio_analysis_test"); + AudioAnalysis b ("build/test/audio_analysis_serialisation_test"); for (int i = 0; i < channels; ++i) { - BOOST_CHECK (b.points(i) == points); + BOOST_CHECK_EQUAL (b.points(i), points); for (int j = 0; j < points; ++j) { AudioPoint p = b.get_point (i, j); BOOST_CHECK_CLOSE (p[AudioPoint::PEAK], random_float (), 1); @@ -58,3 +68,25 @@ BOOST_AUTO_TEST_CASE (audio_analysis_test) } } } + +void +finished () +{ + +} + +BOOST_AUTO_TEST_CASE (audio_analysis_test) +{ + shared_ptr film = new_test_film ("audio_analysis_test"); + film->set_dcp_content_type (DCPContentType::from_isdcf_name ("FTR")); + film->set_container (Ratio::from_id ("185")); + film->set_name ("audio_analysis_test"); + boost::filesystem::path p = private_data / "betty_L.wav"; + + shared_ptr c (new SndfileContent (film, p)); + film->examine_and_add_content (c); + wait_for_jobs (); + + c->analyse_audio (boost::bind (&finished)); + wait_for_jobs (); +}