jdxi_editor.midi.message.roland
This module provides a class for constructing and parsing Roland System Exclusive (SysEx) messages. The RolandSysEx class allows for easy creation of messages to be sent to Roland devices, as well as the ability to parse incoming SysEx messages.
Usage Example:
```python from roland_sysex import RolandSysEx
# Creating a SysEx message message = RolandSysEx(command=0x12, area=0x01, section=0x02, group=0x03, param=0x04, value=0x05) message_bytes = message.to_bytes() print(“Generated SysEx Message (bytes):”, message_bytes)
# Parsing a SysEx message from bytes received_bytes = bytes.fromhex(‘f0411012000102030405f7’) # Example received SysEx message parsed_message = RolandSysEx.from_bytes(received_bytes) print(“Parsed Command:”, parsed_message.command) print(“Parsed Address:”, parsed_message.address) print(“Parsed Value:”, parsed_message.value)
Classes
JD-Xi specialized class for Roland SysEx messages. |
|
Base class for parameter messages |
|
System parameter message |
|
Program parameter message |
|
Effect 1 parameter message |
|
Effect 2 parameter message |
|
Delay parameter message |
|
Reverb parameter message |
|
Program Part parameter message |
|
Program Zone parameter message |
|
Program Controller parameter message |
|
SuperNATURAL Synth Tone Common parameter message |
|
SuperNATURAL Synth Tone Modify parameter message |
|
SuperNATURAL Synth Tone Partial parameter message |
|
Message for analog tone parameters |
|
Drum Kit Common parameter message |
|
Drum Kit Partial parameter message |
Functions
|
Create address JD-Xi SysEx message with the given parameters |
|
Create messages to load address patch (bank select + program change) |
|
Create address message to request patch data |
Module Contents
- class jdxi_editor.midi.message.roland.JDXiSysEx[source]
Bases:
picomidi.RolandSysExMessageJD-Xi specialized class for Roland SysEx messages.
Inherits from PicoMidi’s generic RolandSysExMessage and adds JD-Xi specific features like address object handling, automatic value conversion, and JD-Xi validation.
- sysex_address: jdxi_editor.midi.data.address.address.JDXiSysExAddress | None = None[source]
- from_sysex_address(sysex_address: jdxi_editor.midi.data.address.address.JDXiSysExAddress) None[source]
Update address from RolandSysExAddress object.
- Parameters:
sysex_address – RolandSysExAddress
- Returns:
None
- to_message_list() List[int][source]
Convert to message list using parent implementation.
Maintains backward compatibility with existing code that calls to_message_list().
- Returns:
List[int]
- to_list() List[int][source]
Alias for to_message_list() for compatibility with PicoMidi Message interface.
- Returns:
List[int]
- to_bytes() bytes[source]
Convert message to bytes for sending.
- Returns:
bytes representation of the message
- classmethod from_bytes(data: bytes) JDXiSysEx[source]
Create message from received bytes with JD-Xi specific validation.
- Parameters:
data – Raw SysEx message bytes
- Returns:
Parsed JDXiSysEx instance
- Raises:
ValueError – If message format is invalid or not JD-Xi
- construct_sysex(address: jdxi_editor.midi.data.address.address.JDXiSysExAddress, *data_bytes: List[int] | int, request: bool = False) List[int][source]
Construct a SysEx message based on the provided address and data bytes.
- Parameters:
address – RolandSysExAddress
data_bytes – list of data bytes
request – bool is this a request?
- Returns:
None
- class jdxi_editor.midi.message.roland.ParameterMessage[source]
Bases:
JDXiSysExBase class for parameter messages
- class jdxi_editor.midi.message.roland.SystemMessage[source]
Bases:
ParameterMessageSystem parameter message
- class jdxi_editor.midi.message.roland.ProgramMessage[source]
Bases:
ParameterMessageProgram parameter message
- class jdxi_editor.midi.message.roland.Effect1Message[source]
Bases:
ParameterMessageEffect 1 parameter message
- class jdxi_editor.midi.message.roland.Effect2Message[source]
Bases:
ParameterMessageEffect 2 parameter message
- class jdxi_editor.midi.message.roland.DelayMessage[source]
Bases:
ParameterMessageDelay parameter message
- class jdxi_editor.midi.message.roland.ReverbMessage[source]
Bases:
ParameterMessageReverb parameter message
- class jdxi_editor.midi.message.roland.PartMessage[source]
Bases:
ParameterMessageProgram Part parameter message
- class jdxi_editor.midi.message.roland.ZoneMessage[source]
Bases:
ParameterMessageProgram Zone parameter message
- class jdxi_editor.midi.message.roland.ControllerMessage[source]
Bases:
ParameterMessageProgram Controller parameter message
- class jdxi_editor.midi.message.roland.DigitalToneCommonMessage[source]
Bases:
ParameterMessageSuperNATURAL Synth Tone Common parameter message
- class jdxi_editor.midi.message.roland.DigitalToneModifyMessage[source]
Bases:
ParameterMessageSuperNATURAL Synth Tone Modify parameter message
- class jdxi_editor.midi.message.roland.DigitalTonePartialMessage[source]
Bases:
ParameterMessageSuperNATURAL Synth Tone Partial parameter message
- class jdxi_editor.midi.message.roland.AnalogToneMessage[source]
Bases:
ParameterMessageMessage for analog tone parameters
- class jdxi_editor.midi.message.roland.DrumKitCommonMessage[source]
Bases:
ParameterMessageDrum Kit Common parameter message
- class jdxi_editor.midi.message.roland.DrumKitPartialMessage[source]
Bases:
ParameterMessageDrum Kit Partial parameter message
- jdxi_editor.midi.message.roland.create_sysex_message(msb: int, umb: int, lmb: int, lsb: int, value: int) JDXiSysEx[source]
Create address JD-Xi SysEx message with the given parameters