Demos/BeatPad/BeatPadKits.cs
namespace Sandbox.BeatPad;
// two 16-pad kits; .sound event paths under Assets/Sounds/{RolandTR909,RolandTR808}; index 0 = bottom-left, 15 = top-right (MPD order, low-row first).
public static class BeatPadKits
{
public const int PadCount = 16;
public const int KitCount = 2;
// Kit A - Roland TR-909 (geikha/tidal-drum-machines)
public static readonly string[] KitA =
{
"sounds/RolandTR909/rolandtr909-bd/bassdrum-01.sound",
"sounds/RolandTR909/rolandtr909-rim/rs01.sound",
"sounds/RolandTR909/rolandtr909-lt/lt01.sound",
"sounds/RolandTR909/rolandtr909-mt/mt01.sound",
"sounds/RolandTR909/rolandtr909-sd/sd01.sound",
"sounds/RolandTR909/rolandtr909-cp/cp01.sound",
"sounds/RolandTR909/rolandtr909-ht/ht01.sound",
"sounds/RolandTR909/rolandtr909-ht/ht05.sound",
"sounds/RolandTR909/rolandtr909-hh/hh01.sound",
"sounds/RolandTR909/rolandtr909-hh/hh03.sound",
"sounds/RolandTR909/rolandtr909-oh/oh01.sound",
"sounds/RolandTR909/rolandtr909-sd/sd08.sound",
"sounds/RolandTR909/rolandtr909-rd/rd01.sound",
"sounds/RolandTR909/rolandtr909-cr/cr01.sound",
"sounds/RolandTR909/rolandtr909-rim/rs02.sound",
"sounds/RolandTR909/rolandtr909-cr/cr03.sound",
};
// Kit B - Roland TR-808
public static readonly string[] KitB =
{
"sounds/RolandTR808/rolandtr808-bd/bd0000.sound",
"sounds/RolandTR808/rolandtr808-rim/rs.sound",
"sounds/RolandTR808/rolandtr808-lt/lt00.sound",
"sounds/RolandTR808/rolandtr808-mt/mt00.sound",
"sounds/RolandTR808/rolandtr808-sd/sd0000.sound",
"sounds/RolandTR808/rolandtr808-cp/cp0.sound",
"sounds/RolandTR808/rolandtr808-ht/ht00.sound",
"sounds/RolandTR808/rolandtr808-cb/cb.sound",
"sounds/RolandTR808/rolandtr808-hh/ch.sound",
"sounds/RolandTR808/rolandtr808-oh/oh10.sound",
"sounds/RolandTR808/rolandtr808-oh/oh75.sound",
"sounds/RolandTR808/rolandtr808-sh/ma.sound",
"sounds/RolandTR808/rolandtr808-cr/cy0000.sound",
"sounds/RolandTR808/rolandtr808-perc/cl.sound",
"sounds/RolandTR808/rolandtr808-perc/hc00.sound",
"sounds/RolandTR808/rolandtr808-perc/lc00.sound",
};
// Labels match the chosen sample per pad (low row = kicks/toms, then snare/clap,
// then hats, top row = cymbals/fx). 909 has no conga/maraca; 808 adds cowbell/clave/conga.
public static readonly string[] LabelsA =
{
"BD", "RIM", "LT", "MT",
"SD", "CLAP", "HT", "HT2",
"CHH", "HH2", "OHH", "SD2",
"RIDE", "CRASH", "RIM2", "CR2",
};
public static readonly string[] LabelsB =
{
"BD", "RIM", "LT", "MT",
"SD", "CLAP", "HT", "COW",
"CHH", "OHH", "OH2", "MARA",
"CYM", "CLAV", "HCON", "LCON",
};
public static string[] Sounds(int kit) => kit == 0 ? KitA : KitB;
public static string[] Labels(int kit) => kit == 0 ? LabelsA : LabelsB;
public static string KitName(int kit) => kit == 0 ? "A" : "B";
}