|
Tabula Sonora 0.1.0
A native C++20 implementation of the Roland Sound Canvas VA synth voice
|
The machine-readable map of everything the engine needs out of SCCore.dll: the pinned build identity, every static table's byte-exact offset, and the live ROM/directory regions. More...
#include <tabulasonora/table_manifest.hpp>
Public Member Functions | |
| const DllIdentity & | dll () const noexcept |
| The DLL build these offsets are valid for. | |
| std::int64_t | image_base () const noexcept |
| The DLL's preferred image base, 0x180000000. | |
| const std::vector< TableEntry > & | cached_tables () const noexcept |
| The static tables cached as .bin slices. | |
| const std::vector< LiveRegion > & | live_regions () const noexcept |
| The regions read directly from the DLL rather than cached. | |
| const TableEntry & | table (std::string_view name) const |
| Looks up a cached table by its .bin file name, e.g. | |
| const LiveRegion & | region (std::string_view name) const |
| Looks up a live region by name, e.g. | |
Static Public Member Functions | |
| static const TableManifest & | defaults () |
| The manifest embedded in this library. Parsed once, on first use. | |
| static TableManifest | parse (std::string_view json) |
| Parses a manifest from a JSON document. | |
The machine-readable map of everything the engine needs out of SCCore.dll: the pinned build identity, every static table's byte-exact offset, and the live ROM/directory regions.
A copy of manifest.json from the Tabula Sonora spec repo is compiled into the library, so the engine is self-describing with no data files on disk.
|
staticnodiscard |
The manifest embedded in this library. Parsed once, on first use.
|
staticnodiscard |
Parses a manifest from a JSON document.
Throws std::runtime_error if the document is not a well-formed manifest.
|
inlinenodiscardnoexcept |
The DLL build these offsets are valid for.
|
inlinenodiscardnoexcept |
The DLL's preferred image base, 0x180000000.
|
inlinenodiscardnoexcept |
The static tables cached as .bin slices.
|
inlinenodiscardnoexcept |
The regions read directly from the DLL rather than cached.
|
nodiscard |
Looks up a cached table by its .bin file name, e.g.
pan_a2fa1.bin.
Throws std::out_of_range if no table with that name exists.
|
nodiscard |
Looks up a live region by name, e.g.
wave_rom_bank_A.
Throws std::out_of_range if no region with that name exists.