Tabula Sonora 0.1.0
A native C++20 implementation of the Roland Sound Canvas VA synth voice
Loading...
Searching...
No Matches
patch_directory.hpp File Reference
#include "tabulasonora/table_set.hpp"
#include "tabulasonora/tone.hpp"
#include "tabulasonora/wave_descriptor.hpp"
#include <cstdint>
#include <optional>
#include <string>
#include <string_view>
#include <utility>
#include <vector>

Go to the source code of this file.

Classes

struct  ts::ToneZone
 One key zone of a tone, expressed in MIDI note numbers. More...
struct  ts::ProgramReference
 A (map, bank, program) triple that resolves through the same three-level lookup. More...
struct  ts::AlternateEntry
 An entry of the alternate-articulation table. More...
class  ts::PatchDirectory
 The static patch directory: resolves a program change and a played note to the waves that sound, entirely from ROM tables with no engine involved. More...

Namespaces

namespace  ts

Enumerations

enum class  ts::ToneMap {
  ts::sc55 = 1 , ts::sc88 = 2 , ts::sc88pro = 3 , ts::sc8820 = 4 ,
  ts::xg = 0x77
}
 Which vintage's tone map a program change resolves against. More...

Functions

const std::vector< std::pair< std::string, int > > & ts::tone_map_choices () noexcept
 The tone maps a command line accepts, by name and by the module's own selector value.
std::string_view ts::tone_map_name (ToneMap map) noexcept
 The name of a tone map, for a UI to display. Empty for a value that names none.