summaryrefslogtreecommitdiff
path: root/src/tests/common/audio_test_fixture.h
blob: fefc37aeb0945de46166cd8a088be05f92f0fec7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// audio_test_fixture.h - RAII wrapper for AudioEngine lifecycle
// Simplifies audio test setup and teardown

#pragma once
#include "audio/audio_engine.h"
#include "audio/gen.h"
#include "audio/tracker.h"
#include "generated/assets.h"

// RAII wrapper for AudioEngine lifecycle
class AudioTestFixture {
 public:
  AudioTestFixture();  // Calls engine.init()
  ~AudioTestFixture(); // Calls engine.shutdown()

  AudioEngine& engine() {
    return m_engine;
  }

  // Helper: Load tracker music data
  void load_music(const TrackerScore* score, const NoteParams* samples,
                  const AssetId* assets, uint32_t count);

 private:
  AudioEngine m_engine;
};