OpenGothic
Open source reimplementation of Gothic I and II
Loading...
Searching...
No Matches
track.h
Go to the documentation of this file.
1#pragma once
2
3#include <memory>
4#include <vector>
5
6#include "reference.h"
7#include "riff.h"
8#include "structs.h"
9
10namespace Dx8 {
11
12class Track final {
13 public:
14 Track(Riff& input);
15
16 struct StyleRef {
17 StyleRef(Riff &chunk);
18
19 uint16_t stmp=0;
21 };
22
23 struct StyleTrack {
24 StyleTrack(Riff &chunk);
25 std::vector<StyleRef> styles;
26 };
27
28 class Chord {
29 public:
30 Chord(Riff &chunk);
31
32 uint32_t header=0;
34 std::vector<DMUS_IO_SUBCHORD> subchord;
35 private:
36 void implReadList(Riff &input);
37 };
38
40 public:
41 CommandTrack(Riff &chunk);
42
43 std::vector<DMUS_IO_COMMAND> commands;
44 };
45
47 std::shared_ptr<StyleTrack> sttr;
48 std::shared_ptr<Chord> cord;
49 std::shared_ptr<CommandTrack> cmnd;
50
51 private:
52 void implReadList(Riff &input);
53 };
54
55}
DMUS_IO_CHORD ioChord
Definition track.h:33
std::vector< DMUS_IO_SUBCHORD > subchord
Definition track.h:34
uint32_t header
Definition track.h:32
std::vector< DMUS_IO_COMMAND > commands
Definition track.h:43
std::shared_ptr< Chord > cord
Definition track.h:48
std::shared_ptr< CommandTrack > cmnd
Definition track.h:49
DMUS_IO_TRACK_HEADER head
Definition track.h:46
std::shared_ptr< StyleTrack > sttr
Definition track.h:47
Definition band.h:10
uint16_t stmp
Definition track.h:19
Reference reference
Definition track.h:20
std::vector< StyleRef > styles
Definition track.h:25