jdxi_editor.midi.data.control_change package

Submodules

jdxi_editor.midi.data.control_change.analog module

jdxi_editor.midi.data.control_change.bank_select module

Bank Select Control Change

class jdxi_editor.midi.data.control_change.bank_select.BankSelectCC(value)[source]

Bases: Enum

An enumeration.

BANK_MSB = 85[source]
BANK_LSB = {'EXTRA_S': 96, 'EXTRA_T': 97, 'EXTRA_U': 98, 'EXTRA_V': 99, 'EXTRA_W': 100, 'EXTRA_X': 101, 'EXTRA_Y': 102, 'EXTRA_Z': 103, 'PRESET_A': 64, 'PRESET_B': 64, 'PRESET_C': 65, 'PRESET_D': 65, 'USER_E': 0, 'USER_F': 0, 'USER_G': 1, 'USER_H': 1}[source]
ANALOG_BANK_MSB = 94[source]
DIGITAL_BANK_MSB = 95[source]
DRUM_BANK_MSB = 86[source]
PRESET_BANK_LSB = 64[source]
PRESET_BANK_2_LSB = 65[source]

jdxi_editor.midi.data.control_change.base module

Control Change Parameters

class jdxi_editor.midi.data.control_change.base.ControlChange(value)[source]

Bases: IntEnum

Base class for Synth Control Change parameters

static get_display_value(param: int, value: int) str[source]

Convert raw value to display value

jdxi_editor.midi.data.control_change.digital module

DigitalControlChange

Example usage

# Get Cutoff CC value for Partial 2 cutoff_partial_2 = DigitalControlChange.get_cc_value(“Cutoff”, 2) print(f”Cutoff (Partial 2): {cutoff_partial_2}”)

# Get Envelope NRPN value for Partial 3 envelope_partial_3 = DigitalControlChange.get_nrpn_value(“Envelope”, 3) print(f”Envelope (Partial 3): {envelope_partial_3}”)

envelope_map = DigitalControlChange.get_nrpn_map(“Envelope”)

class jdxi_editor.midi.data.control_change.digital.DigitalControlChange[source]

Bases: object

Grouped version of Control Change (CC) values for easier access.

CC = {'Cutoff': {1: 102, 2: 103, 3: 104}, 'Delay': {1: 13, 2: 13, 3: 13}, 'Hold1': {1: 64, 2: 64, 3: 64}, 'LFO_Rate': {1: 16, 2: 17, 3: 18}, 'Level': {1: 117, 2: 118, 3: 119}, 'Resonance': {1: 105, 2: 106, 3: 107}, 'Resonance -/+': {1: 71, 2: 71, 3: 71}, 'Reverb': {1: 12, 2: 12, 3: 12}}[source]
NRPN = {'Envelope': {1: 124, 2: 125, 3: 126}, 'LFO_Amp': {1: 21, 2: 22, 3: 23}, 'LFO_Filter': {1: 18, 2: 19, 3: 20}, 'LFO_Pitch': {1: 15, 2: 16, 3: 17}, 'LFO_Rate': {1: 21, 2: 22, 3: 23}, 'LFO_Shape': {1: 3, 2: 4, 3: 5}}[source]
static get_cc_value(group: str, partial: int) int | None[source]

Retrieve CC value based on group and partial.

static get_nrpn_value(group: str, partial: int) int | None[source]

Retrieve NRPN value based on group and partial.

static get_display_value(value: int, group: str, partial: int) str[source]

Convert raw value to display value

static get_nrpn_map(group: str) dict[int, int][source]

Return dynamic NRPN values for each partial from the given group.

static get_cc_map(group: str) dict[int, int][source]

Return dynamic CC values for each partial from the given group.

jdxi_editor.midi.data.control_change.drum module

Drum Kit CC values

class jdxi_editor.midi.data.control_change.drum.DrumKitCC[source]

Bases: object

Drum Kit Control Change parameters

MSB_LEVEL = 64[source]
MSB_CUTOFF = 89[source]
MSB_RESONANCE = 92[source]
MSB_ENVELOPE = 119[source]
MIN_NOTE = 36[source]
MAX_NOTE = 72[source]
MIN_VALUE = 0[source]
MAX_VALUE = 127[source]
static get_display_value(param: int, value: int) str[source]

Convert raw value to display value

static validate_note(note: int) bool[source]

Validate note is within drum kit range

static validate_msb(msb: int) bool[source]

Validate MSB value is valid

static validate_value(value: int) bool[source]

Validate parameter value is within range

jdxi_editor.midi.data.control_change.sustain module

Sustain Control Change

class jdxi_editor.midi.data.control_change.sustain.ControlChangeSustain(value)[source]

Bases: ControlChange

Control Change Sustain values

HOLD1 = 64[source]
PORTAMENTO = 65[source]
SOSTENUTO = 66[source]
SOFT_PEDAL = 67[source]
LEGATO = 68[source]
HOLD2 = 69[source]

Module contents