OSDN Git Service

IR2MIDICompiler::Compile() のエラー処理部分まで作成
[yamml/yamml-git.git] / include / ir2midi / ir2midi.hpp
1
2 #pragma once
3
4 #include <string>
5
6 #include <compiler/base.hpp>
7 #include <ir/module.hpp>
8 #include <midi/file.hpp>
9
10 namespace YAMML
11 {
12
13 namespace IR2MIDI
14 {
15
16 class IR2MIDICompiler : public Compiler::CompilerBase
17 {
18 public:
19     bool Compile(const IR::Module& ir, const std::string& entryPoint);
20
21     MIDI::MIDIFile& GetMIDI();
22     const MIDI::MIDIFile& GetMIDI() const;
23
24 private:
25     bool CompileTrackBlock(const IR::Module& ir, const std::string& trackBlock);
26
27     MIDI::MIDIFile m_MIDI;
28 };
29
30 } // namespace IR2MIDI
31
32 } // namespace YAMML