Source code for jdxi_editor.midi.data.programs.digital

"""
Digital preset list
"""

import csv
from io import StringIO
from typing import Optional, Tuple

# Preset data as structured JSON
[docs] DIGITAL_PRESET_LIST = [ { "id": "001", "name": "JP8 Strings1", "category": r"Strings/Pad", "msb": 95.0, "lsb": 64.0, "pc": 1.0, }, { "id": "002", "name": "Soft Pad 1", "category": r"Strings/Pad", "msb": 95.0, "lsb": 64.0, "pc": 2.0, }, { "id": "003", "name": "JP8 Strings2", "category": r"Strings/Pad", "msb": 95.0, "lsb": 64.0, "pc": 3.0, }, { "id": "004", "name": "JUNO Str 1", "category": r"Strings/Pad", "msb": 95.0, "lsb": 64.0, "pc": 4.0, }, { "id": "005", "name": "Oct Strings", "category": r"Strings/Pad", "msb": 95.0, "lsb": 64.0, "pc": 5.0, }, { "id": "006", "name": "Brite Str 1", "category": r"Strings/Pad", "msb": 95.0, "lsb": 64.0, "pc": 6.0, }, { "id": "007", "name": "Boreal Pad", "category": r"Strings/Pad", "msb": 95.0, "lsb": 64.0, "pc": 7.0, }, { "id": "008", "name": "JP8 Strings3", "category": r"Strings/Pad", "msb": 95.0, "lsb": 64.0, "pc": 8.0, }, { "id": "009", "name": "JP8 Strings4", "category": r"Strings/Pad", "msb": 95.0, "lsb": 64.0, "pc": 9.0, }, { "id": "010", "name": "Hollow Pad 1", "category": r"Strings/Pad", "msb": 95.0, "lsb": 64.0, "pc": 10.0, }, { "id": "011", "name": "LFO Pad 1", "category": r"Strings/Pad", "msb": 95.0, "lsb": 64.0, "pc": 11.0, }, { "id": "012", "name": "Hybrid Str", "category": r"Strings/Pad", "msb": 95.0, "lsb": 64.0, "pc": 12.0, }, { "id": "013", "name": "Awakening 1", "category": r"Strings/Pad", "msb": 95.0, "lsb": 64.0, "pc": 13.0, }, { "id": "014", "name": "Cincosoft 1", "category": r"Strings/Pad", "msb": 95.0, "lsb": 64.0, "pc": 14.0, }, { "id": "015", "name": "Bright Pad 1", "category": r"Strings/Pad", "msb": 95.0, "lsb": 64.0, "pc": 15.0, }, { "id": "016", "name": "Analog Str 1", "category": r"Strings/Pad", "msb": 95.0, "lsb": 64.0, "pc": 16.0, }, { "id": "017", "name": "Soft ResoPd1", "category": r"Strings/Pad", "msb": 95.0, "lsb": 64.0, "pc": 17.0, }, { "id": "018", "name": "HPF Poly 1", "category": r"Strings/Pad", "msb": 95.0, "lsb": 64.0, "pc": 18.0, }, { "id": "019", "name": "BPF Poly", "category": r"Strings/Pad", "msb": 95.0, "lsb": 64.0, "pc": 19.0, }, { "id": "020", "name": "Sweep Pad 1", "category": r"Strings/Pad", "msb": 95.0, "lsb": 64.0, "pc": 20.0, }, { "id": "021", "name": "Soft Pad 2", "category": r"Strings/Pad", "msb": 95.0, "lsb": 64.0, "pc": 21.0, }, { "id": "022", "name": "Sweep JD 1", "category": r"Strings/Pad", "msb": 95.0, "lsb": 64.0, "pc": 22.0, }, { "id": "023", "name": "FltSweep Pd1", "category": r"Strings/Pad", "msb": 95.0, "lsb": 64.0, "pc": 23.0, }, { "id": "024", "name": "HPF Pad", "category": r"Strings/Pad", "msb": 95.0, "lsb": 64.0, "pc": 24.0, }, { "id": "025", "name": "HPF SweepPd1", "category": r"Strings/Pad", "msb": 95.0, "lsb": 64.0, "pc": 25.0, }, { "id": "026", "name": "KO Pad", "category": r"Strings/Pad", "msb": 95.0, "lsb": 64.0, "pc": 26.0, }, { "id": "027", "name": "Sweep Pad 2", "category": r"Strings/Pad", "msb": 95.0, "lsb": 64.0, "pc": 27.0, }, { "id": "028", "name": "TrnsSweepPad", "category": r"Strings/Pad", "msb": 95.0, "lsb": 64.0, "pc": 28.0, }, { "id": "029", "name": "Revalation 1", "category": r"Strings/Pad", "msb": 95.0, "lsb": 64.0, "pc": 29.0, }, { "id": "030", "name": "LFO CarvePd1", "category": r"Strings/Pad", "msb": 95.0, "lsb": 64.0, "pc": 30.0, }, { "id": "031", "name": "RETROX 139 1", "category": r"Strings/Pad", "msb": 95.0, "lsb": 64.0, "pc": 31.0, }, { "id": "032", "name": "LFO ResoPad1", "category": r"Strings/Pad", "msb": 95.0, "lsb": 64.0, "pc": 32.0, }, { "id": "033", "name": "PLS Pad 1", "category": r"Strings/Pad", "msb": 95.0, "lsb": 64.0, "pc": 33.0, }, { "id": "034", "name": "PLS Pad 2", "category": r"Strings/Pad", "msb": 95.0, "lsb": 64.0, "pc": 34.0, }, { "id": "035", "name": "Trip 2 Mars1", "category": r"Strings/Pad", "msb": 95.0, "lsb": 64.0, "pc": 35.0, }, { "id": "036", "name": "Reso S&H Pd1", "category": r"Strings/Pad", "msb": 95.0, "lsb": 64.0, "pc": 36.0, }, { "id": "037", "name": "SideChainPd1", "category": r"Strings/Pad", "msb": 95.0, "lsb": 64.0, "pc": 37.0, }, { "id": "038", "name": "PXZoon 1", "category": r"Strings/Pad", "msb": 95.0, "lsb": 64.0, "pc": 38.0, }, { "id": "039", "name": "Psychoscilo1", "category": r"Strings/Pad", "msb": 95.0, "lsb": 64.0, "pc": 39.0, }, { "id": "040", "name": "Fantasy 1", "category": r"Strings/Pad", "msb": 95.0, "lsb": 64.0, "pc": 40.0, }, { "id": "041", "name": "D-50 Stack 1", "category": r"Strings/Pad", "msb": 95.0, "lsb": 64.0, "pc": 41.0, }, { "id": "042", "name": "Organ Pad", "category": r"Strings/Pad", "msb": 95.0, "lsb": 64.0, "pc": 42.0, }, { "id": "043", "name": "Bell Pad", "category": r"Strings/Pad", "msb": 95.0, "lsb": 64.0, "pc": 43.0, }, { "id": "044", "name": "Dreaming 1", "category": r"Strings/Pad", "msb": 95.0, "lsb": 64.0, "pc": 44.0, }, { "id": "045", "name": "Syn Sniper 1", "category": r"Strings/Pad", "msb": 95.0, "lsb": 64.0, "pc": 45.0, }, { "id": "046", "name": "Strings 1", "category": r"Strings/Pad", "msb": 95.0, "lsb": 64.0, "pc": 46.0, }, { "id": "047", "name": "D-50 Pizz 1", "category": r"Strings/Pad", "msb": 95.0, "lsb": 64.0, "pc": 47.0, }, { "id": "048", "name": "Super Saw 1 Lead", "category": r"Strings/Pad", "msb": 95.0, "lsb": 64.0, "pc": 48.0, }, { "id": "049", "name": "S-SawStacLd1", "category": "Lead", "msb": 95.0, "lsb": 64.0, "pc": 49.0, }, { "id": "050", "name": "Tekno Lead 1", "category": "Lead", "msb": 95.0, "lsb": 64.0, "pc": 50.0, }, { "id": "051", "name": "Tekno Lead 2", "category": "Lead", "msb": 95.0, "lsb": 64.0, "pc": 51.0, }, { "id": "052", "name": "Tekno Lead 3", "category": "Lead", "msb": 95.0, "lsb": 64.0, "pc": 52.0, }, { "id": "053", "name": "OSC-SyncLd 1", "category": "Lead", "msb": 95.0, "lsb": 64.0, "pc": 53.0, }, { "id": "054", "name": "WaveShapeLd1", "category": "Lead", "msb": 95.0, "lsb": 64.0, "pc": 54.0, }, { "id": "055", "name": "JD RingMod 1 Lead", "category": "Lead", "msb": 95.0, "lsb": 64.0, "pc": 55.0, }, { "id": "056", "name": "Buzz Lead 1", "category": "Lead", "msb": 95.0, "lsb": 64.0, "pc": 56.0, }, { "id": "057", "name": "Buzz Lead 2", "category": "Lead", "msb": 95.0, "lsb": 64.0, "pc": 57.0, }, { "id": "058", "name": "SawBuzz Ld 1", "category": "Lead", "msb": 95.0, "lsb": 64.0, "pc": 58.0, }, { "id": "059", "name": "Sqr Buzz Ld1", "category": "Lead", "msb": 95.0, "lsb": 64.0, "pc": 59.0, }, { "id": "060", "name": "Tekno Lead 4", "category": "Lead", "msb": 95.0, "lsb": 64.0, "pc": 60.0, }, { "id": "061", "name": "Dist Flt TB1", "category": "Lead", "msb": 95.0, "lsb": 64.0, "pc": 61.0, }, { "id": "062", "name": "Dist TB Sqr1", "category": "Lead", "msb": 95.0, "lsb": 64.0, "pc": 62.0, }, { "id": "063", "name": "Glideator 1", "category": "Lead", "msb": 95.0, "lsb": 64.0, "pc": 63.0, }, { "id": "064", "name": "Vintager 1", "category": "Lead", "msb": 95.0, "lsb": 64.0, "pc": 64.0, }, { "id": "065", "name": "Hover Lead 1", "category": "Lead", "msb": 95.0, "lsb": 64.0, "pc": 65.0, }, { "id": "066", "name": "Saw Lead 1", "category": "Lead", "msb": 95.0, "lsb": 64.0, "pc": 66.0, }, { "id": "067", "name": "Saw+Tri Lead", "category": "Lead", "msb": 95.0, "lsb": 64.0, "pc": 67.0, }, { "id": "068", "name": "PortaSaw Ld1", "category": "Lead", "msb": 95.0, "lsb": 64.0, "pc": 68.0, }, { "id": "069", "name": "Reso Saw Ld", "category": "Lead", "msb": 95.0, "lsb": 64.0, "pc": 69.0, }, { "id": "070", "name": "4th Syn Lead", "category": "Lead", "msb": 95.0, "lsb": 64.0, "pc": 84.0, }, { "id": "071", "name": "Maj Stack Ld", "category": "Lead", "msb": 95.0, "lsb": 64.0, "pc": 85.0, }, { "id": "072", "name": "MinStack Ld1", "category": "Lead", "msb": 95.0, "lsb": 64.0, "pc": 86.0, }, { "id": "073", "name": "Chubby Lead1", "category": "Lead", "msb": 95.0, "lsb": 64.0, "pc": 87.0, }, { "id": "074", "name": "CuttingLead1", "category": "Lead", "msb": 95.0, "lsb": 64.0, "pc": 88.0, }, { "id": "089", "name": "Seq Bass 1", "category": "Bass", "msb": 95.0, "lsb": 64.0, "pc": 89.0, }, { "id": "090", "name": "Reso Bass 1", "category": "Bass", "msb": 95.0, "lsb": 64.0, "pc": 90.0, }, { "id": "091", "name": "TB Bass 1", "category": "Bass", "msb": 95.0, "lsb": 64.0, "pc": 91.0, }, { "id": "092", "name": "106 Bass 1", "category": "Bass", "msb": 95.0, "lsb": 64.0, "pc": 92.0, }, { "id": "093", "name": "FilterEnvBs1", "category": "Bass", "msb": 95.0, "lsb": 64.0, "pc": 93.0, }, { "id": "094", "name": "JUNO Sqr Bs1", "category": "Bass", "msb": 95.0, "lsb": 64.0, "pc": 94.0, }, { "id": "095", "name": "Reso Bass 2", "category": "Bass", "msb": 95.0, "lsb": 64.0, "pc": 95.0, }, { "id": "096", "name": "JUNO Bass", "category": "Bass", "msb": 95.0, "lsb": 64.0, "pc": 96.0, }, { "id": "097", "name": "MG Bass 1", "category": "Bass", "msb": 95.0, "lsb": 64.0, "pc": 97.0, }, { "id": "098", "name": "106 Bass 3", "category": "Bass", "msb": 95.0, "lsb": 64.0, "pc": 98.0, }, { "id": "099", "name": "Reso Bass 3", "category": "Bass", "msb": 95.0, "lsb": 64.0, "pc": 99.0, }, { "id": "100", "name": "Detune Bs 1", "category": "Bass", "msb": 95.0, "lsb": 64.0, "pc": 100.0, }, { "id": "101", "name": "MKS-50 Bass1", "category": "Bass", "msb": 95.0, "lsb": 64.0, "pc": 101.0, }, { "id": "102", "name": "Sweep Bass", "category": "Bass", "msb": 95.0, "lsb": 64.0, "pc": 102.0, }, { "id": "103", "name": "MG Bass 2", "category": "Bass", "msb": 95.0, "lsb": 64.0, "pc": 103.0, }, { "id": "104", "name": "MG Bass 3", "category": "Bass", "msb": 95.0, "lsb": 64.0, "pc": 104.0, }, { "id": "105", "name": "ResRubber Bs", "category": "Bass", "msb": 95.0, "lsb": 64.0, "pc": 105.0, }, { "id": "106", "name": "R&B Bass 1", "category": "Bass", "msb": 95.0, "lsb": 64.0, "pc": 106.0, }, { "id": "107", "name": "Reso Bass 4", "category": "Bass", "msb": 95.0, "lsb": 64.0, "pc": 107.0, }, { "id": "108", "name": "Wide Bass 1", "category": "Bass", "msb": 95.0, "lsb": 64.0, "pc": 108.0, }, { "id": "109", "name": "Chow Bass 1", "category": "Bass", "msb": 95.0, "lsb": 64.0, "pc": 109.0, }, { "id": "110", "name": "Chow Bass 2", "category": "Bass", "msb": 95.0, "lsb": 64.0, "pc": 110.0, }, { "id": "111", "name": "SqrFilterBs1", "category": "Bass", "msb": 95.0, "lsb": 64.0, "pc": 111.0, }, { "id": "112", "name": "Reso Bass 5", "category": "Bass", "msb": 95.0, "lsb": 64.0, "pc": 112.0, }, { "id": "113", "name": "Syn Bass 1", "category": "Bass", "msb": 95.0, "lsb": 64.0, "pc": 113.0, }, { "id": "114", "name": "ResoSawSynBs", "category": "Bass", "msb": 95.0, "lsb": 64.0, "pc": 114.0, }, { "id": "115", "name": "Filter Bass1", "category": "Bass", "msb": 95.0, "lsb": 64.0, "pc": 115.0, }, { "id": "116", "name": "SeqFltEnvBs", "category": "Bass", "msb": 95.0, "lsb": 64.0, "pc": 116.0, }, { "id": "117", "name": "DnB Bass 1", "category": "Bass", "msb": 95.0, "lsb": 64.0, "pc": 117.0, }, { "id": "118", "name": "UnisonSynBs1", "category": "Bass", "msb": 95.0, "lsb": 64.0, "pc": 118.0, }, { "id": "119", "name": "Modular Bs", "category": "Bass", "msb": 95.0, "lsb": 64.0, "pc": 119.0, }, { "id": "120", "name": "Monster Bs 1", "category": "Bass", "msb": 95.0, "lsb": 64.0, "pc": 120.0, }, { "id": "121", "name": "Monster Bs 2", "category": "Bass", "msb": 95.0, "lsb": 64.0, "pc": 121.0, }, { "id": "122", "name": "Monster Bs 3", "category": "Bass", "msb": 95.0, "lsb": 64.0, "pc": 122.0, }, { "id": "123", "name": "Monster Bs 4", "category": "Bass", "msb": 95.0, "lsb": 64.0, "pc": 123.0, }, { "id": "124", "name": "Square Bs 1", "category": "Bass", "msb": 95.0, "lsb": 64.0, "pc": 124.0, }, { "id": "125", "name": "106 Bass 2", "category": "Bass", "msb": 95.0, "lsb": 64.0, "pc": 125.0, }, { "id": "126", "name": "5th Stac Bs1", "category": "Bass", "msb": 95.0, "lsb": 64.0, "pc": 126.0, }, { "id": "127", "name": "SqrStacSynBs", "category": "Bass", "msb": 95.0, "lsb": 64.0, "pc": 127.0, }, { "id": "128", "name": "MC-202 Bs", "category": "Bass", "msb": 95.0, "lsb": 64.0, "pc": 128.0, }, { "id": "129", "name": "TB Bass 2", "category": "Bass", "msb": 95.0, "lsb": 65.0, "pc": 1.0, }, { "id": "130", "name": "Square Bs 2", "category": "Bass", "msb": 95.0, "lsb": 65.0, "pc": 2.0, }, { "id": "131", "name": "SH-101 Bs", "category": "Bass", "msb": 95.0, "lsb": 65.0, "pc": 3.0, }, { "id": "132", "name": "R&B Bass 2", "category": "Bass", "msb": 95.0, "lsb": 65.0, "pc": 4.0, }, { "id": "133", "name": "MG Bass 4", "category": "Bass", "msb": 95.0, "lsb": 65.0, "pc": 5.0, }, { "id": "134", "name": "Seq Bass 2", "category": "Bass", "msb": 95.0, "lsb": 65.0, "pc": 6.0, }, { "id": "135", "name": "Tri Bass 1", "category": "Bass", "msb": 95.0, "lsb": 65.0, "pc": 7.0, }, { "id": "136", "name": "BPF Syn Bs 2", "category": "Bass", "msb": 95.0, "lsb": 65.0, "pc": 8.0, }, { "id": "137", "name": "BPF Syn Bs 1", "category": "Bass", "msb": 95.0, "lsb": 65.0, "pc": 9.0, }, { "id": "138", "name": "Low Bass 1", "category": "Bass", "msb": 95.0, "lsb": 65.0, "pc": 10.0, }, { "id": "139", "name": "Low Bass 2", "category": "Bass", "msb": 95.0, "lsb": 65.0, "pc": 11.0, }, { "id": "140", "name": "Kick Bass 1", "category": "Bass", "msb": 95.0, "lsb": 65.0, "pc": 12.0, }, { "id": "141", "name": "SinDetuneBs1", "category": "Bass", "msb": 95.0, "lsb": 65.0, "pc": 13.0, }, { "id": "142", "name": "Organ Bass 1", "category": "Bass", "msb": 95.0, "lsb": 65.0, "pc": 14.0, }, { "id": "143", "name": "Growl Bass 1", "category": "Bass", "msb": 95.0, "lsb": 65.0, "pc": 15.0, }, { "id": "144", "name": "Talking Bs 1", "category": "Bass", "msb": 95.0, "lsb": 65.0, "pc": 16.0, }, { "id": "145", "name": "LFO Bass 1", "category": "Bass", "msb": 95.0, "lsb": 65.0, "pc": 17.0, }, { "id": "146", "name": "LFO Bass 2", "category": "Bass", "msb": 95.0, "lsb": 65.0, "pc": 18.0, }, { "id": "147", "name": "Crack Bass", "category": "Bass", "msb": 95.0, "lsb": 65.0, "pc": 19.0, }, { "id": "148", "name": "Wobble Bs 1", "category": "Bass", "msb": 95.0, "lsb": 65.0, "pc": 20.0, }, { "id": "149", "name": "Wobble Bs 2", "category": "Bass", "msb": 95.0, "lsb": 65.0, "pc": 21.0, }, { "id": "150", "name": "Wobble Bs 3", "category": "Bass", "msb": 95.0, "lsb": 65.0, "pc": 22.0, }, { "id": "151", "name": "Wobble Bs 4", "category": "Bass", "msb": 95.0, "lsb": 65.0, "pc": 23.0, }, { "id": "152", "name": "SideChainBs1", "category": "Bass", "msb": 95.0, "lsb": 65.0, "pc": 24.0, }, { "id": "153", "name": "SideChainBs2", "category": "Bass", "msb": 95.0, "lsb": 65.0, "pc": 25.0, }, { "id": "154", "name": "House Bass 1", "category": "Bass", "msb": 95.0, "lsb": 65.0, "pc": 26.0, }, { "id": "155", "name": "FM Bass", "category": "Bass", "msb": 95.0, "lsb": 65.0, "pc": 27.0, }, { "id": "156", "name": "4Op FM Bass1", "category": "Bass", "msb": 95.0, "lsb": 65.0, "pc": 28.0, }, { "id": "157", "name": "Ac. Bass", "category": "Bass", "msb": 95.0, "lsb": 65.0, "pc": 29.0, }, { "id": "158", "name": "Fingerd Bs 1", "category": "Bass", "msb": 95.0, "lsb": 65.0, "pc": 30.0, }, { "id": "159", "name": "Picked Bass", "category": "Bass", "msb": 95.0, "lsb": 65.0, "pc": 31.0, }, { "id": "160", "name": "Fretless Bs", "category": "Bass", "msb": 95.0, "lsb": 65.0, "pc": 32.0, }, { "id": "161", "name": "Slap Bass 1", "category": "Bass", "msb": 95.0, "lsb": 65.0, "pc": 33.0, }, { "id": "162", "name": "JD Piano 1", "category": "Keyboard", "msb": 95.0, "lsb": 65.0, "pc": 34.0, }, { "id": "163", "name": "E. Grand 1", "category": "Keyboard", "msb": 95.0, "lsb": 65.0, "pc": 35.0, }, { "id": "164", "name": "Trem EP 1", "category": "Keyboard", "msb": 95.0, "lsb": 65.0, "pc": 36.0, }, { "id": "165", "name": "FM E. Piano 1", "category": "Keyboard", "msb": 95.0, "lsb": 65.0, "pc": 37.0, }, { "id": "166", "name": "FM E. Piano 2", "category": "Keyboard", "msb": 95.0, "lsb": 65.0, "pc": 38.0, }, { "id": "167", "name": "Vib Wurly 1", "category": "Keyboard", "msb": 95.0, "lsb": 65.0, "pc": 39.0, }, { "id": "168", "name": "Pulse Clav", "category": "Keyboard", "msb": 95.0, "lsb": 65.0, "pc": 40.0, }, { "id": "169", "name": "Clav", "category": "Keyboard", "msb": 95.0, "lsb": 65.0, "pc": 41.0, }, { "id": "170", "name": "70's E. Organ", "category": "Keyboard", "msb": 95.0, "lsb": 65.0, "pc": 42.0, }, { "id": "171", "name": "House Org 1", "category": "Keyboard", "msb": 95.0, "lsb": 65.0, "pc": 43.0, }, { "id": "172", "name": "House Org 2", "category": "Keyboard", "msb": 95.0, "lsb": 65.0, "pc": 44.0, }, { "id": "173", "name": "Bell 1", "category": "Keyboard", "msb": 95.0, "lsb": 65.0, "pc": 45.0, }, { "id": "174", "name": "Bell 2", "category": "Keyboard", "msb": 95.0, "lsb": 65.0, "pc": 46.0, }, { "id": "175", "name": "Organ Bell", "category": "Keyboard", "msb": 95.0, "lsb": 65.0, "pc": 47.0, }, { "id": "176", "name": "Vibraphone 1", "category": "Keyboard", "msb": 95.0, "lsb": 65.0, "pc": 48.0, }, { "id": "177", "name": "Steel Drum", "category": "Keyboard", "msb": 95.0, "lsb": 65.0, "pc": 49.0, }, { "id": "178", "name": "Harp 1", "category": "Keyboard", "msb": 95.0, "lsb": 65.0, "pc": 50.0, }, { "id": "179", "name": "Ac. Guitar", "category": "Keyboard", "msb": 95.0, "lsb": 65.0, "pc": 51.0, }, { "id": "180", "name": "Bright Strat", "category": "Keyboard", "msb": 95.0, "lsb": 65.0, "pc": 52.0, }, { "id": "181", "name": "Funk Guitar1", "category": "Keyboard", "msb": 95.0, "lsb": 65.0, "pc": 53.0, }, { "id": "182", "name": "Jazz Guitar", "category": "Keyboard", "msb": 95.0, "lsb": 65.0, "pc": 54.0, }, { "id": "183", "name": "Dist Guitar1", "category": "Keyboard", "msb": 95.0, "lsb": 65.0, "pc": 55.0, }, { "id": "184", "name": "D. Mute Gtr1", "category": "Keyboard", "msb": 95.0, "lsb": 65.0, "pc": 56.0, }, { "id": "185", "name": "E. Sitar", "category": "Keyboard", "msb": 95.0, "lsb": 65.0, "pc": 57.0, }, { "id": "186", "name": "Sitar Drone", "category": "Keyboard", "msb": 95.0, "lsb": 65.0, "pc": 58.0, }, { "id": "187", "name": "FX 1", "category": r"FX/Other", "msb": 95.0, "lsb": 65.0, "pc": 59.0, }, { "id": "188", "name": "FX 2", "category": r"FX/Other", "msb": 95.0, "lsb": 65.0, "pc": 60.0, }, { "id": "189", "name": "FX 3", "category": r"FX/Other", "msb": 95.0, "lsb": 65.0, "pc": 61.0, }, { "id": "190", "name": "Tuned Winds1", "category": r"FX/Other", "msb": 95.0, "lsb": 65.0, "pc": 62.0, }, { "id": "191", "name": "Bend Lead 1", "category": r"FX/Other", "msb": 95.0, "lsb": 65.0, "pc": 63.0, }, { "id": "192", "name": "RiSER 1", "category": r"FX/Other", "msb": 95.0, "lsb": 65.0, "pc": 64.0, }, { "id": "193", "name": "Rising SEQ 1", "category": r"FX/Other", "msb": 95.0, "lsb": 65.0, "pc": 65.0, }, { "id": "194", "name": "Scream Saw", "category": r"FX/Other", "msb": 95.0, "lsb": 65.0, "pc": 66.0, }, { "id": "195", "name": "Noise SEQ 1", "category": r"FX/Other", "msb": 95.0, "lsb": 65.0, "pc": 67.0, }, { "id": "196", "name": "Syn Vox 1", "category": r"FX/Other", "msb": 95.0, "lsb": 65.0, "pc": 68.0, }, { "id": "197", "name": "JD SoftVox", "category": r"FX/Other", "msb": 95.0, "lsb": 65.0, "pc": 69.0, }, { "id": "198", "name": "Vox Pad", "category": r"FX/Other", "msb": 95.0, "lsb": 65.0, "pc": 70.0, }, { "id": "199", "name": "VP-330 Chr", "category": r"FX/Other", "msb": 95.0, "lsb": 65.0, "pc": 71.0, }, { "id": "200", "name": "Orch Hit", "category": r"FX/Other", "msb": 95.0, "lsb": 65.0, "pc": 72.0, }, { "id": "201", "name": "Philly Hit", "category": r"FX/Other", "msb": 95.0, "lsb": 65.0, "pc": 73.0, }, { "id": "202", "name": "House Hit", "category": r"FX/Other", "msb": 95.0, "lsb": 65.0, "pc": 74.0, }, { "id": "203", "name": "O'Skool Hit1", "category": r"FX/Other", "msb": 95.0, "lsb": 65.0, "pc": 75.0, }, { "id": "204", "name": "Punch Hit", "category": r"FX/Other", "msb": 95.0, "lsb": 65.0, "pc": 76.0, }, { "id": "205", "name": "Tao Hit", "category": r"FX/Other", "msb": 95.0, "lsb": 65.0, "pc": 77.0, }, { "id": "206", "name": "SEQ Saw 1", "category": "Seq", "msb": 95.0, "lsb": 65.0, "pc": 78.0, }, { "id": "207", "name": "SEQ Sqr", "category": "Seq", "msb": 95.0, "lsb": 65.0, "pc": 79.0, }, { "id": "208", "name": "SEQ Tri 1", "category": "Seq", "msb": 95.0, "lsb": 65.0, "pc": 80.0, }, { "id": "209", "name": "SEQ 1", "category": "Seq", "msb": 95.0, "lsb": 65.0, "pc": 81.0, }, { "id": "210", "name": "SEQ 2", "category": "Seq", "msb": 95.0, "lsb": 65.0, "pc": 82.0, }, { "id": "211", "name": "SEQ 3", "category": "Seq", "msb": 95.0, "lsb": 65.0, "pc": 83.0, }, { "id": "212", "name": "SEQ 4", "category": "Seq", "msb": 95.0, "lsb": 65.0, "pc": 84.0, }, { "id": "213", "name": "Sqr Reso Plk", "category": "Seq", "msb": 95.0, "lsb": 65.0, "pc": 85.0, }, { "id": "214", "name": "Pluck Synth1", "category": "Seq", "msb": 95.0, "lsb": 65.0, "pc": 86.0, }, { "id": "215", "name": "Paperclip 1", "category": "Seq", "msb": 95.0, "lsb": 65.0, "pc": 87.0, }, { "id": "216", "name": "Sonar Pluck1", "category": "Seq", "msb": 95.0, "lsb": 65.0, "pc": 88.0, }, { "id": "217", "name": "SqrTrapPlk 1", "category": "Seq", "msb": 95.0, "lsb": 65.0, "pc": 89.0, }, { "id": "218", "name": "TB Saw Seq 1", "category": "Seq", "msb": 95.0, "lsb": 65.0, "pc": 90.0, }, { "id": "219", "name": "TB Sqr Seq 1", "category": "Seq", "msb": 95.0, "lsb": 65.0, "pc": 91.0, }, { "id": "220", "name": "JUNO Key Seq", "category": "Seq", "msb": 95.0, "lsb": 65.0, "pc": 92.0, }, { "id": "221", "name": "Analog Poly1", "category": "Seq", "msb": 95.0, "lsb": 65.0, "pc": 93.0, }, { "id": "222", "name": "Analog Poly2", "category": "Seq", "msb": 95.0, "lsb": 65.0, "pc": 94.0, }, { "id": "223", "name": "Analog Poly3", "category": "Seq", "msb": 95.0, "lsb": 65.0, "pc": 95.0, }, { "id": "224", "name": "Analog Poly4", "category": "Seq", "msb": 95.0, "lsb": 65.0, "pc": 96.0, }, { "id": "225", "name": "JUNO Octavr1", "category": "Seq", "msb": 95.0, "lsb": 65.0, "pc": 97.0, }, { "id": "226", "name": "EDM Synth 1", "category": "Seq", "msb": 95.0, "lsb": 65.0, "pc": 98.0, }, { "id": "227", "name": "Super Saw 2", "category": "Seq", "msb": 95.0, "lsb": 65.0, "pc": 99.0, }, { "id": "228", "name": "S-Saw Poly", "category": "Seq", "msb": 95.0, "lsb": 65.0, "pc": 100.0, }, { "id": "229", "name": "Trance Key 1", "category": "Seq", "msb": 95.0, "lsb": 65.0, "pc": 101.0, }, { "id": "230", "name": "S-Saw Pad 1", "category": "Seq", "msb": 95.0, "lsb": 65.0, "pc": 102.0, }, { "id": "231", "name": "7th Stac Syn", "category": "Seq", "msb": 95.0, "lsb": 65.0, "pc": 103.0, }, { "id": "232", "name": "S-SawStc Syn", "category": "Seq", "msb": 95.0, "lsb": 65.0, "pc": 104.0, }, { "id": "233", "name": "Trance Key 2", "category": "Seq", "msb": 95.0, "lsb": 65.0, "pc": 105.0, }, { "id": "234", "name": "Analog Brass", "category": "Brass", "msb": 95.0, "lsb": 65.0, "pc": 106.0, }, { "id": "235", "name": "Reso Brass", "category": "Brass", "msb": 95.0, "lsb": 65.0, "pc": 107.0, }, { "id": "236", "name": "Soft Brass 1", "category": "Brass", "msb": 95.0, "lsb": 65.0, "pc": 108.0, }, { "id": "237", "name": "FM Brass", "category": "Brass", "msb": 95.0, "lsb": 65.0, "pc": 109.0, }, { "id": "238", "name": "Syn Brass 1", "category": "Brass", "msb": 95.0, "lsb": 65.0, "pc": 110.0, }, { "id": "239", "name": "Syn Brass 2", "category": "Brass", "msb": 95.0, "lsb": 65.0, "pc": 111.0, }, { "id": "240", "name": "JP8 Brass", "category": "Brass", "msb": 95.0, "lsb": 65.0, "pc": 112.0, }, { "id": "241", "name": "Soft SynBrs1", "category": "Brass", "msb": 95.0, "lsb": 65.0, "pc": 113.0, }, { "id": "242", "name": "Soft SynBrs2", "category": "Brass", "msb": 95.0, "lsb": 65.0, "pc": 114.0, }, { "id": "243", "name": "EpicSlow Brs", "category": "Brass", "msb": 95.0, "lsb": 65.0, "pc": 115.0, }, { "id": "244", "name": "JUNO Brass", "category": "Brass", "msb": 95.0, "lsb": 65.0, "pc": 116.0, }, { "id": "245", "name": "Poly Brass", "category": "Brass", "msb": 95.0, "lsb": 65.0, "pc": 117.0, }, { "id": "246", "name": "Voc:Ensemble", "category": r"FX/Other", "msb": 95.0, "lsb": 65.0, "pc": 118.0, }, { "id": "247", "name": "Voc:5thStack", "category": r"FX/Other", "msb": 95.0, "lsb": 65.0, "pc": 119.0, }, { "id": "248", "name": "Voc:Robot", "category": r"FX/Other", "msb": 95.0, "lsb": 65.0, "pc": 120.0, }, { "id": "249", "name": "Voc:Saw", "category": r"FX/Other", "msb": 95.0, "lsb": 65.0, "pc": 121.0, }, { "id": "250", "name": "Voc:Sqr", "category": r"FX/Other", "msb": 95.0, "lsb": 65.0, "pc": 122.0, }, { "id": "251", "name": "Voc:Rise Up", "category": r"FX/Other", "msb": 95.0, "lsb": 65.0, "pc": 123.0, }, { "id": "252", "name": "Voc:Auto Vib", "category": r"FX/Other", "msb": 95.0, "lsb": 65.0, "pc": 124.0, }, { "id": "253", "name": "Voc:PitchEnv", "category": r"FX/Other", "msb": 95.0, "lsb": 65.0, "pc": 125.0, }, { "id": "254", "name": "Voc:VP-330", "category": r"FX/Other", "msb": 95.0, "lsb": 65.0, "pc": 126.0, }, { "id": "255", "name": "Voc:Noise", "category": r"FX/Other", "msb": 95.0, "lsb": 65.0, "pc": 127.0, }, { "id": "256", "name": "Init Tone", "category": r"FX/Other", "msb": 95.0, "lsb": 65.0, "pc": 128.0, }, ]
# placeholder, the file is in the doc directory if needed
[docs] RAW_PRESETS_CSV = ""
[docs] def generate_preset_list() -> list[dict[str, str]]: """Generate a list of presets from RAW_PRESETS_CSV data.""" presets = [] csv_file = StringIO(RAW_PRESETS_CSV) reader = csv.DictReader(csv_file) for row in reader: # print(row) # Convert numeric fields to integers msb = int(row["msb"]) lsb = int(row["lsb"]) pc = int(row["pc"]) presets.append( { "id": row["id"].zfill(3), "name": row["name"], "category": row["category"], "msb": msb, "lsb": lsb, "pc": pc, } ) return presets
[docs] def get_preset_by_program_number(program_number: str) -> Optional[dict]: """Get preset information by program number. :param program_number: str The program number (e.g., '090') :return: Optional[dict] The preset information containing msb, lsb, pc, and other details :return: None If preset not found """ program_number = str(program_number).zfill(3) return next( (preset for preset in DIGITAL_PRESET_LIST if preset["id"] == program_number), None, )
[docs] def get_preset_parameters(program_number: str) -> Optional[Tuple[int, int, int]]: """ Get MSB, LSB, and PC values for a given program number. :param program_number: str The program number (e.g., '090') :return: Tuple[int, int, int] The MSB, LSB, and PC values as integers :return: Optional[Tuple[int, int, int]] The MSB, LSB, and PC values as integers :return: None If preset not found """ preset = get_preset_by_program_number(program_number) if preset: return preset["msb"], preset["lsb"], preset["pc"] # Already integers return None