mirror of
https://github.com/mackron/miniaudio.git
synced 2026-05-05 14:44:03 +02:00
Remove the generation test.
Noise and waveform generation can be tested with the deviceio test.
This commit is contained in:
@@ -921,9 +921,6 @@ if(MINIAUDIO_BUILD_TESTS)
|
|||||||
|
|
||||||
add_miniaudio_test(miniaudio_filtering filtering/filtering.c)
|
add_miniaudio_test(miniaudio_filtering filtering/filtering.c)
|
||||||
add_test(NAME miniaudio_filtering COMMAND miniaudio_filtering ${CMAKE_CURRENT_SOURCE_DIR}/data/16-44100-stereo.flac)
|
add_test(NAME miniaudio_filtering COMMAND miniaudio_filtering ${CMAKE_CURRENT_SOURCE_DIR}/data/16-44100-stereo.flac)
|
||||||
|
|
||||||
add_miniaudio_test(miniaudio_generation generation/generation.c)
|
|
||||||
add_test(NAME miniaudio_generation COMMAND miniaudio_generation)
|
|
||||||
|
|
||||||
add_miniaudio_test(miniaudio_profiling profiling/profiling.c)
|
add_miniaudio_test(miniaudio_profiling profiling/profiling.c)
|
||||||
#add_test(NAME miniaudio_profiling COMMAND miniaudio_profiling)
|
#add_test(NAME miniaudio_profiling COMMAND miniaudio_profiling)
|
||||||
|
|||||||
@@ -1,13 +0,0 @@
|
|||||||
#define MA_NO_DEVICE_IO
|
|
||||||
#include "../common/common.c"
|
|
||||||
|
|
||||||
#include "generation_noise.c"
|
|
||||||
#include "generation_waveform.c"
|
|
||||||
|
|
||||||
int main(int argc, char** argv)
|
|
||||||
{
|
|
||||||
ma_register_test("Noise", test_entry__noise);
|
|
||||||
ma_register_test("Waveform", test_entry__waveform);
|
|
||||||
|
|
||||||
return ma_run_tests(argc, argv);
|
|
||||||
}
|
|
||||||
@@ -1,147 +0,0 @@
|
|||||||
|
|
||||||
ma_result test_noise__by_format_and_type(ma_format format, ma_noise_type type, const char* pFileName)
|
|
||||||
{
|
|
||||||
ma_result result;
|
|
||||||
ma_noise_config noiseConfig;
|
|
||||||
ma_noise noise;
|
|
||||||
ma_encoder_config encoderConfig;
|
|
||||||
ma_encoder encoder;
|
|
||||||
ma_uint32 iFrame;
|
|
||||||
|
|
||||||
printf(" %s\n", pFileName);
|
|
||||||
|
|
||||||
noiseConfig = ma_noise_config_init(format, 1, type, 0, 0.1);
|
|
||||||
result = ma_noise_init(&noiseConfig, NULL, &noise);
|
|
||||||
if (result != MA_SUCCESS) {
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
encoderConfig = ma_encoder_config_init(ma_encoding_format_wav, format, noiseConfig.channels, 48000);
|
|
||||||
result = ma_encoder_init_file(pFileName, &encoderConfig, &encoder);
|
|
||||||
if (result != MA_SUCCESS) {
|
|
||||||
printf("Failed to open \"%s\" for writing. %s\n", pFileName, ma_result_description(result));
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* We'll do a few seconds of data. */
|
|
||||||
for (iFrame = 0; iFrame < encoder.config.sampleRate * 10; iFrame += 1) {
|
|
||||||
ma_uint8 temp[1024];
|
|
||||||
ma_noise_read_pcm_frames(&noise, temp, 1, NULL);
|
|
||||||
ma_encoder_write_pcm_frames(&encoder, temp, 1, NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
ma_encoder_uninit(&encoder);
|
|
||||||
ma_noise_uninit(&noise);
|
|
||||||
return MA_SUCCESS;
|
|
||||||
}
|
|
||||||
|
|
||||||
ma_result test_noise__f32(void)
|
|
||||||
{
|
|
||||||
ma_result result;
|
|
||||||
ma_bool32 hasError = MA_FALSE;
|
|
||||||
|
|
||||||
result = test_noise__by_format_and_type(ma_format_f32, ma_noise_type_white, TEST_OUTPUT_DIR"/noise_f32_white.wav");
|
|
||||||
if (result != MA_SUCCESS) {
|
|
||||||
hasError = MA_TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
result = test_noise__by_format_and_type(ma_format_f32, ma_noise_type_pink, TEST_OUTPUT_DIR"/noise_f32_pink.wav");
|
|
||||||
if (result != MA_SUCCESS) {
|
|
||||||
hasError = MA_TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
result = test_noise__by_format_and_type(ma_format_f32, ma_noise_type_brownian, TEST_OUTPUT_DIR"/noise_f32_brownian.wav");
|
|
||||||
if (result != MA_SUCCESS) {
|
|
||||||
hasError = MA_TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (hasError) {
|
|
||||||
return MA_ERROR;
|
|
||||||
} else {
|
|
||||||
return MA_SUCCESS;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ma_result test_noise__s16(void)
|
|
||||||
{
|
|
||||||
ma_result result;
|
|
||||||
ma_bool32 hasError = MA_FALSE;
|
|
||||||
|
|
||||||
result = test_noise__by_format_and_type(ma_format_s16, ma_noise_type_white, TEST_OUTPUT_DIR"/noise_s16_white.wav");
|
|
||||||
if (result != MA_SUCCESS) {
|
|
||||||
hasError = MA_TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
result = test_noise__by_format_and_type(ma_format_s16, ma_noise_type_pink, TEST_OUTPUT_DIR"/noise_s16_pink.wav");
|
|
||||||
if (result != MA_SUCCESS) {
|
|
||||||
hasError = MA_TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
result = test_noise__by_format_and_type(ma_format_s16, ma_noise_type_brownian, TEST_OUTPUT_DIR"/noise_s16_brownian.wav");
|
|
||||||
if (result != MA_SUCCESS) {
|
|
||||||
hasError = MA_TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (hasError) {
|
|
||||||
return MA_ERROR;
|
|
||||||
} else {
|
|
||||||
return MA_SUCCESS;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ma_result test_noise__u8(void)
|
|
||||||
{
|
|
||||||
ma_result result;
|
|
||||||
ma_bool32 hasError = MA_FALSE;
|
|
||||||
|
|
||||||
result = test_noise__by_format_and_type(ma_format_u8, ma_noise_type_white, TEST_OUTPUT_DIR"/noise_u8_white.wav");
|
|
||||||
if (result != MA_SUCCESS) {
|
|
||||||
hasError = MA_TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
result = test_noise__by_format_and_type(ma_format_u8, ma_noise_type_pink, TEST_OUTPUT_DIR"/noise_u8_pink.wav");
|
|
||||||
if (result != MA_SUCCESS) {
|
|
||||||
hasError = MA_TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
result = test_noise__by_format_and_type(ma_format_u8, ma_noise_type_brownian, TEST_OUTPUT_DIR"/noise_u8_brownian.wav");
|
|
||||||
if (result != MA_SUCCESS) {
|
|
||||||
hasError = MA_TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (hasError) {
|
|
||||||
return MA_ERROR;
|
|
||||||
} else {
|
|
||||||
return MA_SUCCESS;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
int test_entry__noise(int argc, char** argv)
|
|
||||||
{
|
|
||||||
ma_result result;
|
|
||||||
ma_bool32 hasError = MA_FALSE;
|
|
||||||
|
|
||||||
(void)argc;
|
|
||||||
(void)argv;
|
|
||||||
|
|
||||||
result = test_noise__f32();
|
|
||||||
if (result != MA_SUCCESS) {
|
|
||||||
hasError = MA_TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
result = test_noise__s16();
|
|
||||||
if (result != MA_SUCCESS) {
|
|
||||||
hasError = MA_TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
result = test_noise__u8();
|
|
||||||
if (result != MA_SUCCESS) {
|
|
||||||
hasError = MA_TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (hasError) {
|
|
||||||
return -1;
|
|
||||||
} else {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,240 +0,0 @@
|
|||||||
|
|
||||||
ma_result test_waveform__by_format_and_type(ma_format format, ma_waveform_type type, double amplitude, const char* pFileName)
|
|
||||||
{
|
|
||||||
ma_result result;
|
|
||||||
ma_waveform_config waveformConfig;
|
|
||||||
ma_waveform waveform;
|
|
||||||
ma_encoder_config encoderConfig;
|
|
||||||
ma_encoder encoder;
|
|
||||||
ma_uint32 iFrame;
|
|
||||||
|
|
||||||
printf(" %s\n", pFileName);
|
|
||||||
|
|
||||||
waveformConfig = ma_waveform_config_init(format, 2, 48000, type, amplitude, 220);
|
|
||||||
result = ma_waveform_init(&waveformConfig, &waveform);
|
|
||||||
if (result != MA_SUCCESS) {
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
encoderConfig = ma_encoder_config_init(ma_encoding_format_wav, waveformConfig.format, waveformConfig.channels, waveformConfig.sampleRate);
|
|
||||||
result = ma_encoder_init_file(pFileName, &encoderConfig, &encoder);
|
|
||||||
if (result != MA_SUCCESS) {
|
|
||||||
return result; /* Failed to initialize encoder. */
|
|
||||||
}
|
|
||||||
|
|
||||||
/* We'll do a few seconds of data. */
|
|
||||||
for (iFrame = 0; iFrame < waveformConfig.sampleRate * 10; iFrame += 1) {
|
|
||||||
float temp[MA_MAX_CHANNELS];
|
|
||||||
ma_waveform_read_pcm_frames(&waveform, temp, 1, NULL);
|
|
||||||
ma_encoder_write_pcm_frames(&encoder, temp, 1, NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
ma_encoder_uninit(&encoder);
|
|
||||||
ma_waveform_uninit(&waveform);
|
|
||||||
|
|
||||||
return MA_SUCCESS;
|
|
||||||
}
|
|
||||||
|
|
||||||
ma_result test_waveform__f32(void)
|
|
||||||
{
|
|
||||||
ma_result result;
|
|
||||||
ma_bool32 hasError = MA_FALSE;
|
|
||||||
double amplitude = 0.2;
|
|
||||||
|
|
||||||
/* Sine */
|
|
||||||
result = test_waveform__by_format_and_type(ma_format_f32, ma_waveform_type_sine, +amplitude, TEST_OUTPUT_DIR"/waveform_f32_sine.wav");
|
|
||||||
if (result != MA_SUCCESS) {
|
|
||||||
hasError = MA_TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
result = test_waveform__by_format_and_type(ma_format_f32, ma_waveform_type_sine, -amplitude, TEST_OUTPUT_DIR"/waveform_f32_sine_neg.wav");
|
|
||||||
if (result != MA_SUCCESS) {
|
|
||||||
hasError = MA_TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Square */
|
|
||||||
result = test_waveform__by_format_and_type(ma_format_f32, ma_waveform_type_square, +amplitude, TEST_OUTPUT_DIR"/waveform_f32_square.wav");
|
|
||||||
if (result != MA_SUCCESS) {
|
|
||||||
hasError = MA_TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
result = test_waveform__by_format_and_type(ma_format_f32, ma_waveform_type_square, -amplitude, TEST_OUTPUT_DIR"/waveform_f32_square_neg.wav");
|
|
||||||
if (result != MA_SUCCESS) {
|
|
||||||
hasError = MA_TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Triangle */
|
|
||||||
result = test_waveform__by_format_and_type(ma_format_f32, ma_waveform_type_triangle, +amplitude, TEST_OUTPUT_DIR"/waveform_f32_triangle.wav");
|
|
||||||
if (result != MA_SUCCESS) {
|
|
||||||
hasError = MA_TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
result = test_waveform__by_format_and_type(ma_format_f32, ma_waveform_type_triangle, -amplitude, TEST_OUTPUT_DIR"/waveform_f32_triangle_neg.wav");
|
|
||||||
if (result != MA_SUCCESS) {
|
|
||||||
hasError = MA_TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Sawtooth */
|
|
||||||
result = test_waveform__by_format_and_type(ma_format_f32, ma_waveform_type_sawtooth, +amplitude, TEST_OUTPUT_DIR"/waveform_f32_sawtooth.wav");
|
|
||||||
if (result != MA_SUCCESS) {
|
|
||||||
hasError = MA_TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
result = test_waveform__by_format_and_type(ma_format_f32, ma_waveform_type_sawtooth, -amplitude, TEST_OUTPUT_DIR"/waveform_f32_sawtooth_neg.wav");
|
|
||||||
if (result != MA_SUCCESS) {
|
|
||||||
hasError = MA_TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
if (hasError) {
|
|
||||||
return MA_ERROR;
|
|
||||||
} else {
|
|
||||||
return MA_SUCCESS;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ma_result test_waveform__s16(void)
|
|
||||||
{
|
|
||||||
ma_result result;
|
|
||||||
ma_bool32 hasError = MA_FALSE;
|
|
||||||
double amplitude = 0.2;
|
|
||||||
|
|
||||||
/* Sine */
|
|
||||||
result = test_waveform__by_format_and_type(ma_format_s16, ma_waveform_type_sine, +amplitude, TEST_OUTPUT_DIR"/waveform_s16_sine.wav");
|
|
||||||
if (result != MA_SUCCESS) {
|
|
||||||
hasError = MA_TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
result = test_waveform__by_format_and_type(ma_format_s16, ma_waveform_type_sine, -amplitude, TEST_OUTPUT_DIR"/waveform_s16_sine_neg.wav");
|
|
||||||
if (result != MA_SUCCESS) {
|
|
||||||
hasError = MA_TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Square */
|
|
||||||
result = test_waveform__by_format_and_type(ma_format_s16, ma_waveform_type_square, +amplitude, TEST_OUTPUT_DIR"/waveform_s16_square.wav");
|
|
||||||
if (result != MA_SUCCESS) {
|
|
||||||
hasError = MA_TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
result = test_waveform__by_format_and_type(ma_format_s16, ma_waveform_type_square, -amplitude, TEST_OUTPUT_DIR"/waveform_s16_square_neg.wav");
|
|
||||||
if (result != MA_SUCCESS) {
|
|
||||||
hasError = MA_TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Triangle */
|
|
||||||
result = test_waveform__by_format_and_type(ma_format_s16, ma_waveform_type_triangle, +amplitude, TEST_OUTPUT_DIR"/waveform_s16_triangle.wav");
|
|
||||||
if (result != MA_SUCCESS) {
|
|
||||||
hasError = MA_TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
result = test_waveform__by_format_and_type(ma_format_s16, ma_waveform_type_triangle, -amplitude, TEST_OUTPUT_DIR"/waveform_s16_triangle_neg.wav");
|
|
||||||
if (result != MA_SUCCESS) {
|
|
||||||
hasError = MA_TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Sawtooth */
|
|
||||||
result = test_waveform__by_format_and_type(ma_format_s16, ma_waveform_type_sawtooth, +amplitude, TEST_OUTPUT_DIR"/waveform_s16_sawtooth.wav");
|
|
||||||
if (result != MA_SUCCESS) {
|
|
||||||
hasError = MA_TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
result = test_waveform__by_format_and_type(ma_format_s16, ma_waveform_type_sawtooth, -amplitude, TEST_OUTPUT_DIR"/waveform_s16_sawtooth_neg.wav");
|
|
||||||
if (result != MA_SUCCESS) {
|
|
||||||
hasError = MA_TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
if (hasError) {
|
|
||||||
return MA_ERROR;
|
|
||||||
} else {
|
|
||||||
return MA_SUCCESS;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ma_result test_waveform__u8(void)
|
|
||||||
{
|
|
||||||
ma_result result;
|
|
||||||
ma_bool32 hasError = MA_FALSE;
|
|
||||||
double amplitude = 0.2;
|
|
||||||
|
|
||||||
/* Sine */
|
|
||||||
result = test_waveform__by_format_and_type(ma_format_u8, ma_waveform_type_sine, +amplitude, TEST_OUTPUT_DIR"/waveform_u8_sine.wav");
|
|
||||||
if (result != MA_SUCCESS) {
|
|
||||||
hasError = MA_TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
result = test_waveform__by_format_and_type(ma_format_u8, ma_waveform_type_sine, -amplitude, TEST_OUTPUT_DIR"/waveform_u8_sine_neg.wav");
|
|
||||||
if (result != MA_SUCCESS) {
|
|
||||||
hasError = MA_TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Square */
|
|
||||||
result = test_waveform__by_format_and_type(ma_format_u8, ma_waveform_type_square, +amplitude, TEST_OUTPUT_DIR"/waveform_u8_square.wav");
|
|
||||||
if (result != MA_SUCCESS) {
|
|
||||||
hasError = MA_TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
result = test_waveform__by_format_and_type(ma_format_u8, ma_waveform_type_square, -amplitude, TEST_OUTPUT_DIR"/waveform_u8_square_neg.wav");
|
|
||||||
if (result != MA_SUCCESS) {
|
|
||||||
hasError = MA_TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Triangle */
|
|
||||||
result = test_waveform__by_format_and_type(ma_format_u8, ma_waveform_type_triangle, +amplitude, TEST_OUTPUT_DIR"/waveform_u8_triangle.wav");
|
|
||||||
if (result != MA_SUCCESS) {
|
|
||||||
hasError = MA_TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
result = test_waveform__by_format_and_type(ma_format_u8, ma_waveform_type_triangle, -amplitude, TEST_OUTPUT_DIR"/waveform_u8_triangle_neg.wav");
|
|
||||||
if (result != MA_SUCCESS) {
|
|
||||||
hasError = MA_TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Sawtooth */
|
|
||||||
result = test_waveform__by_format_and_type(ma_format_u8, ma_waveform_type_sawtooth, +amplitude, TEST_OUTPUT_DIR"/waveform_u8_sawtooth.wav");
|
|
||||||
if (result != MA_SUCCESS) {
|
|
||||||
hasError = MA_TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
result = test_waveform__by_format_and_type(ma_format_u8, ma_waveform_type_sawtooth, -amplitude, TEST_OUTPUT_DIR"/waveform_u8_sawtooth_neg.wav");
|
|
||||||
if (result != MA_SUCCESS) {
|
|
||||||
hasError = MA_TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
if (hasError) {
|
|
||||||
return MA_ERROR;
|
|
||||||
} else {
|
|
||||||
return MA_SUCCESS;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
int test_entry__waveform(int argc, char** argv)
|
|
||||||
{
|
|
||||||
ma_result result;
|
|
||||||
ma_bool32 hasError = MA_FALSE;
|
|
||||||
|
|
||||||
(void)argc;
|
|
||||||
(void)argv;
|
|
||||||
|
|
||||||
result = test_waveform__f32();
|
|
||||||
if (result != MA_SUCCESS) {
|
|
||||||
hasError = MA_TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
result = test_waveform__s16();
|
|
||||||
if (result != MA_SUCCESS) {
|
|
||||||
hasError = MA_TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
result = test_waveform__u8();
|
|
||||||
if (result != MA_SUCCESS) {
|
|
||||||
hasError = MA_TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (hasError) {
|
|
||||||
return -1;
|
|
||||||
} else {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user