Source code for jdxi_editor.midi.program.utils

[docs] def get_previous_program_bank_and_number( program_number: int, bank_letter: str ) -> tuple[str, int]: """ get previous program bank number :param program_number: int :param bank_letter: str :return: tuple[str,int] """ if program_number > 1: program_number -= 1 elif bank_letter == "A": program_number = 64 # wrap around to 64 bank_letter = "H" else: program_number = 64 # wrap around to 64 bank_letter = chr(ord(bank_letter) - 1) return bank_letter, program_number
[docs] def get_next_program_bank_and_number( program_number: int, bank_letter: str ) -> tuple[int, str]: """ get next program bank number :param program_number: int :param bank_letter: str :return: tuple """ if program_number < 64: program_number += 1 elif bank_letter == "H": program_number = 1 # reset program number, wrap around to 1 bank_letter = "A" # reset bank letter else: program_number = 1 # reset program number bank_letter = chr(ord(bank_letter) + 1) return program_number, bank_letter