main.cpp 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #if defined(_WIN32)
  2. #define NOGDI // All GDI defines and routines
  3. #define NOUSER // All USER defines and routines
  4. #endif
  5. #include "spdlog/spdlog.h"
  6. #include "raylib.h"
  7. #include "Oscillator.h"
  8. int main(int, char **)
  9. {
  10. const int window_width = 1280;
  11. const int window_height = 768;
  12. InitWindow(window_width, window_height, "basic window");
  13. SetTargetFPS(60);
  14. Audio::SineOscillator primary = Audio::SineOscillator(440.0);
  15. InitAudioDevice();
  16. SetMasterVolume(0.3f);
  17. SetAudioStreamBufferSizeDefault(Audio::BUFFER_SIZE);
  18. AudioStream stream = LoadAudioStream(Audio::SAMPLE_RATIO, 32, 1);
  19. PlayAudioStream(stream);
  20. while (!WindowShouldClose())
  21. {
  22. if (IsAudioStreamProcessed(stream))
  23. {
  24. primary.update();
  25. UpdateAudioStream(stream, primary.data(), Audio::BUFFER_SIZE);
  26. }
  27. BeginDrawing();
  28. {
  29. ClearBackground(WHITE);
  30. DrawText("This is a raylib window!", 190, 200, 20, BLACK);
  31. }
  32. EndDrawing();
  33. }
  34. UnloadAudioStream(stream);
  35. CloseAudioDevice();
  36. CloseWindow();
  37. return (EXIT_SUCCESS);
  38. }