diff options
Diffstat (limited to 'src/libjin/utils')
-rw-r--r-- | src/libjin/utils/endian.h | 3 | ||||
-rw-r--r-- | src/libjin/utils/unittest.cpp | 33 | ||||
-rw-r--r-- | src/libjin/utils/utils.h | 6 |
3 files changed, 21 insertions, 21 deletions
diff --git a/src/libjin/utils/endian.h b/src/libjin/utils/endian.h index df28ddb..d4c441a 100644 --- a/src/libjin/utils/endian.h +++ b/src/libjin/utils/endian.h @@ -1,6 +1,3 @@ -/** -* -*/ #ifndef JIN_LIL_ENDIAN && JIN_BIG_ENDIAN #define JIN_LIL_ENDIAN 2 diff --git a/src/libjin/utils/unittest.cpp b/src/libjin/utils/unittest.cpp index 764a2bd..5b73312 100644 --- a/src/libjin/utils/unittest.cpp +++ b/src/libjin/utils/unittest.cpp @@ -2,32 +2,41 @@ #if UNITTEST #include <stdio.h> -#include "../audio/audio.h" +#include "../audio/sdl/audio.h" using namespace jin::audio; -void fill_audio(void *udata, Uint8 *stream, int len) +int sample_nr = 0; + +void fill_audio(void *user_data, Uint8 *raw_buffer, int bytes) { - printf("%d\n", len); - memset(stream, 0x11, len); + Sint16 *buffer = (Sint16*)raw_buffer; + int length = bytes / 2; // 2 bytes per sample for AUDIO_S16SYS + int &sample_nr(*(int*)user_data); + + for (int i = 0; i < length; i++, sample_nr++) + { + double time = (double)sample_nr / (double)44100; + buffer[i] = (Sint16)(28000 * sin(2.0f * M_PI * 441.0f * time)); // render 441 HZ sine wave + } } int main(int argc, char* argv[]) { - Audio* audio = Audio::get(); - - AudioSetting setting; - setting.freq = 22050; - setting.format = AUDIO_S16; - setting.channels = 2; + Audio* audio = SDLAudio::get(); + SDLAudioSetting setting; + setting.rate = 44100; + setting.resolution = AUDIO_S16SYS; + setting.channels = 1; setting.callback = fill_audio; - setting.samples = 1024; - setting.userdata = NULL; + setting.samples = 44100; + setting.userdata = &sample_nr; audio->init(&setting); while (true) { SDL_Delay(100); } + audio->quit(); return 0; } diff --git a/src/libjin/utils/utils.h b/src/libjin/utils/utils.h index 1a4ef35..d597c83 100644 --- a/src/libjin/utils/utils.h +++ b/src/libjin/utils/utils.h @@ -1,12 +1,6 @@ #ifndef __JIN_UTILS_H #define __JIN_UTILS_H -#define min(a,b) (((a) < (b)) ? (a) : (b)) -#define max(a,b) (((a) > (b)) ? (a) : (b)) -#define clamp(a, mi,ma) min(max(a,mi),ma) - -#define within(a,min,max) (a >= min && a <= max) -#define without(a,min,max) (a < min || a > max) #include "macros.h" #include "endian.h" |