summaryrefslogtreecommitdiff
path: root/src/tests/common/audio_test_fixture.h
blob: 328e1674255c39df3a924a5078ad537d4375728c (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;
};