途中経過

ギガチュウくんが月例でなんか言うって言ってるし、もう冬コミ危ない気がするし、今週の実験は奇跡的に即日レポの超良ゲーだったし、id:nagoya313を見るとC++プログラマって気持ち悪いなあと思ったりするので。もうこれでいいんじゃないかなあ。

#pragma once

#include "util.hpp"
#include "exceptions.hpp"
#include "file.hpp"
#include <dsound.h>
#pragma comment(lib, "dsound.lib")
#pragma comment(lib, "dxguid.lib")
#include <list>

namespace dx9lib {

	class DSound : private Uncopyable {
	private:
		shared_ptr<IDirectSound8> m_pds;
		shared_ptr<IDirectSoundBuffer8> createSoundBuffer(const std::vector<BYTE> &src);

		std::vector<shared_ptr<IDirectSoundBuffer8>> m_selib;
		std::list<shared_ptr<IDirectSoundBuffer8>> m_playing;
	public:
		explicit DSound(HWND hwnd);
		int load(const std::vector<BYTE> &src);
		void unloadAll();
		void play(int id);
		void stopAll();
		void processFrame();
	};

}