added a lot of documentation and Enums for most function parameters
This commit is contained in:
@@ -63,6 +63,7 @@ class SMP35x(TelnetAdapter, RecorderAdapter):
|
|||||||
Input_4 (int): The input number for Input 4.
|
Input_4 (int): The input number for Input 4.
|
||||||
Input_5 (int): The input number for Input 5.
|
Input_5 (int): The input number for Input 5.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
INPUT_1 = 1
|
INPUT_1 = 1
|
||||||
INPUT_2 = 2
|
INPUT_2 = 2
|
||||||
INPUT_3 = 3
|
INPUT_3 = 3
|
||||||
@@ -77,9 +78,50 @@ class SMP35x(TelnetAdapter, RecorderAdapter):
|
|||||||
A (int): The first output channel.
|
A (int): The first output channel.
|
||||||
B (int): The second output channel.
|
B (int): The second output channel.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
A = 1 # channel A
|
A = 1 # channel A
|
||||||
B = 2 # channel B
|
B = 2 # channel B
|
||||||
|
|
||||||
|
class UserEncoderLayoutPresetNumber(enum.IntEnum):
|
||||||
|
"""
|
||||||
|
An enumeration representing the available user encoder layout preset numbers.
|
||||||
|
|
||||||
|
Attributes:
|
||||||
|
PRESET_1 (int): The preset number for layout 1.
|
||||||
|
PRESET_2 (int): The preset number for layout 2.
|
||||||
|
PRESET_3 (int): The preset number for layout 3.
|
||||||
|
PRESET_4 (int): The preset number for layout 4.
|
||||||
|
PRESET_5 (int): The preset number for layout 5.
|
||||||
|
PRESET_6 (int): The preset number for layout 6.
|
||||||
|
PRESET_7 (int): The preset number for layout 7.
|
||||||
|
PRESET_8 (int): The preset number for layout 8.
|
||||||
|
PRESET_9 (int): The preset number for layout 9.
|
||||||
|
PRESET_10 (int): The preset number for layout 10.
|
||||||
|
PRESET_11 (int): The preset number for layout 11.
|
||||||
|
PRESET_12 (int): The preset number for layout 12.
|
||||||
|
PRESET_13 (int): The preset number for layout 13.
|
||||||
|
PRESET_14 (int): The preset number for layout 14.
|
||||||
|
PRESET_15 (int): The preset number for layout 15.
|
||||||
|
PRESET_16 (int): The preset number for layout 16.
|
||||||
|
"""
|
||||||
|
|
||||||
|
PRESET_1 = 1
|
||||||
|
PRESET_2 = 2
|
||||||
|
PRESET_3 = 3
|
||||||
|
PRESET_4 = 4
|
||||||
|
PRESET_5 = 5
|
||||||
|
PRESET_6 = 6
|
||||||
|
PRESET_7 = 7
|
||||||
|
PRESET_8 = 8
|
||||||
|
PRESET_9 = 9
|
||||||
|
PRESET_10 = 10
|
||||||
|
PRESET_11 = 11
|
||||||
|
PRESET_12 = 12
|
||||||
|
PRESET_13 = 13
|
||||||
|
PRESET_14 = 14
|
||||||
|
PRESET_15 = 15
|
||||||
|
PRESET_16 = 16
|
||||||
|
|
||||||
class AudioChannels(enum.IntEnum):
|
class AudioChannels(enum.IntEnum):
|
||||||
"""
|
"""
|
||||||
Enum representing the available audio channels on the Extron SMP recorder.
|
Enum representing the available audio channels on the Extron SMP recorder.
|
||||||
@@ -632,7 +674,9 @@ class SMP35x(TelnetAdapter, RecorderAdapter):
|
|||||||
|
|
||||||
### File related stuff not implemented. (-> use sftp)
|
### File related stuff not implemented. (-> use sftp)
|
||||||
|
|
||||||
def set_input(self, input_num: Union[InputNumber, int], channel_num: Union[OutputChannel, int]):
|
def set_input(
|
||||||
|
self, input_num: Union[InputNumber, int], channel_num: Union[OutputChannel, int]
|
||||||
|
):
|
||||||
"""
|
"""
|
||||||
Switches input # (1 to 5) to output channel (1=A [input 1 and 2], 2=B [input 3, 4 and 5])
|
Switches input # (1 to 5) to output channel (1=A [input 1 and 2], 2=B [input 3, 4 and 5])
|
||||||
:param input_num:
|
:param input_num:
|
||||||
@@ -662,7 +706,7 @@ class SMP35x(TelnetAdapter, RecorderAdapter):
|
|||||||
self.tn.write(f"{channel_num}!\n")
|
self.tn.write(f"{channel_num}!\n")
|
||||||
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
||||||
|
|
||||||
def set_input_format(self, input_num: int, input_format: int):
|
def set_input_format(self, input_num: Union[InputNumber, int], input_format: int):
|
||||||
"""
|
"""
|
||||||
Sets the input to the format, where the input_format parameter may be:
|
Sets the input to the format, where the input_format parameter may be:
|
||||||
1 = YUVp / HDTV (default)
|
1 = YUVp / HDTV (default)
|
||||||
@@ -672,22 +716,42 @@ class SMP35x(TelnetAdapter, RecorderAdapter):
|
|||||||
:param input_format:
|
:param input_format:
|
||||||
:return:
|
:return:
|
||||||
"""
|
"""
|
||||||
if input_num not in range(1, 6):
|
input_num = self._get_number_from_enum(input_num, SMP35x.InputNumber)
|
||||||
raise LrcException("input_num must be a value between 1 and 5!")
|
|
||||||
if input_format not in range(1, 4):
|
if input_format not in range(1, 4):
|
||||||
raise LrcException("input_num must be a value between 1 and 3!")
|
raise LrcException("input_num must be a value between 1 and 3!")
|
||||||
self.tn.write(f"{input_num}*{input_format}\\\n")
|
self.tn.write(f"{input_num}*{input_format}\\\n")
|
||||||
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
||||||
|
|
||||||
def get_input_format(self, input_num: int):
|
def get_input_format(self, input_num: Union[InputNumber, int]):
|
||||||
if input_num not in range(1, 6):
|
"""
|
||||||
raise LrcException("input_num must be a value between 1 and 5!")
|
Get the input format for the specified input number.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
input_num (Union[InputNumber, int]): The input number to get the format for.
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
str: The input format for the specified input number.
|
||||||
|
"""
|
||||||
|
input_num = self._get_number_from_enum(input_num, SMP35x.InputNumber)
|
||||||
self.tn.write(f"{input_num}\\\n")
|
self.tn.write(f"{input_num}\\\n")
|
||||||
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
||||||
|
|
||||||
def set_input_name(self, input_num: int, input_name: str):
|
def set_input_name(self, input_num: Union[InputNumber, int], input_name: str):
|
||||||
if input_num not in range(1, 6):
|
"""
|
||||||
raise LrcException("input_num must be a value between 1 and 5!")
|
Sets the name of the specified input on the Extron SMP device.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
input_num (Union[InputNumber, int]): The input number to set the name for.
|
||||||
|
input_name (str): The name to set for the input. Must be no longer than
|
||||||
|
16 characters and only contain ASCII characters.
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
str: The response from the device after setting the input name.
|
||||||
|
Raises:
|
||||||
|
LrcException: If the input_name is longer than
|
||||||
|
16 characters or contains non-ASCII characters.
|
||||||
|
"""
|
||||||
|
input_num = self._get_number_from_enum(input_num, SMP35x.InputNumber)
|
||||||
if len(input_name) > 16:
|
if len(input_name) > 16:
|
||||||
raise LrcException("input_name must be no longer than 16 chars")
|
raise LrcException("input_name must be no longer than 16 chars")
|
||||||
try:
|
try:
|
||||||
@@ -697,13 +761,29 @@ class SMP35x(TelnetAdapter, RecorderAdapter):
|
|||||||
self.tn.write(f"{self.esc_char}{input_num},{input_name}NI\n")
|
self.tn.write(f"{self.esc_char}{input_num},{input_name}NI\n")
|
||||||
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
||||||
|
|
||||||
def get_input_name(self, input_num: int):
|
def get_input_name(self, input_num: Union[InputNumber, int]) -> str:
|
||||||
if input_num not in range(1, 6):
|
"""
|
||||||
raise LrcException("input_num must be a value between 1 and 5!")
|
Sends a command to the Extron SMP device to retrieve the name of the input
|
||||||
|
corresponding to the given input number. Returns the name of the input as a string.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
input_num (Union[InputNumber, int]): The number of the input to retrieve the name for.
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
str: The name of the input as a string.
|
||||||
|
"""
|
||||||
|
input_num = self._get_number_from_enum(input_num, SMP35x.InputNumber)
|
||||||
self.tn.write(f"{self.esc_char}{input_num}NI\n")
|
self.tn.write(f"{self.esc_char}{input_num}NI\n")
|
||||||
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
||||||
|
|
||||||
def get_input_selction_per_channel(self):
|
def get_input_selection_per_channel(self):
|
||||||
|
"""
|
||||||
|
Sends a command to the Extron SMP device to get the
|
||||||
|
input selection per channel and returns the response.
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
str: The response from the device.
|
||||||
|
"""
|
||||||
self.tn.write("32I\n")
|
self.tn.write("32I\n")
|
||||||
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
||||||
|
|
||||||
@@ -830,25 +910,74 @@ class SMP35x(TelnetAdapter, RecorderAdapter):
|
|||||||
|
|
||||||
### Metadata part skipped
|
### Metadata part skipped
|
||||||
|
|
||||||
def recall_user_preset(self, channel_number: int, preset_number: int):
|
def recall_user_preset(
|
||||||
if channel_number not in range(1, 3):
|
self,
|
||||||
raise LrcException("channel_number must be a value between 1 and 2!")
|
channel_number: Union["SMP35x.OutputChannel", int],
|
||||||
if preset_number not in range(1, 17):
|
preset_number: Union["SMP35x.UserEncoderLayoutPresetNumber", int],
|
||||||
raise LrcException("preset_number must be a value between 1 and 16!")
|
):
|
||||||
|
"""
|
||||||
|
Recalls a user preset on the specified channel.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
channel_number (Union[SMP35x.OutputChannel, int]): The channel number to recall the preset on.
|
||||||
|
preset_number (Union[SMP35x.UserEncoderLayoutPresetNumber, int]): The preset number to recall.
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
str: The response from the device.
|
||||||
|
"""
|
||||||
|
channel_number = self._get_number_from_enum(
|
||||||
|
channel_number, SMP35x.OutputChannel
|
||||||
|
)
|
||||||
|
preset_number = self._get_number_from_enum(
|
||||||
|
preset_number, SMP35x.UserEncoderLayoutPresetNumber
|
||||||
|
)
|
||||||
self.tn.write(f"1*{channel_number}*{preset_number}.\n")
|
self.tn.write(f"1*{channel_number}*{preset_number}.\n")
|
||||||
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
||||||
|
|
||||||
def save_user_preset(self, channel_number: int, preset_number: int):
|
def save_user_preset(
|
||||||
if channel_number not in range(1, 3):
|
self,
|
||||||
raise LrcException("channel_number must be a value between 1 and 2!")
|
channel_number: Union["SMP35x.OutputChannel", int],
|
||||||
if preset_number not in range(1, 17):
|
preset_number: Union["SMP35x.UserEncoderLayoutPresetNumber", int],
|
||||||
raise LrcException("preset_number must be a value between 1 and 16!")
|
):
|
||||||
|
"""
|
||||||
|
Saves a user preset for the specified channel number and preset number.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
channel_number (Union[SMP35x.OutputChannel, int]): The channel number to save the preset for.
|
||||||
|
preset_number (Union[SMP35x.UserEncoderLayoutPresetNumber, int]): The preset number to save the preset to.
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
str: The response string from the Telnet server.
|
||||||
|
"""
|
||||||
|
channel_number = self._get_number_from_enum(
|
||||||
|
channel_number, SMP35x.OutputChannel
|
||||||
|
)
|
||||||
|
preset_number = self._get_number_from_enum(
|
||||||
|
preset_number, SMP35x.UserEncoderLayoutPresetNumber
|
||||||
|
)
|
||||||
self.tn.write(f"1*{channel_number}*{preset_number},\n")
|
self.tn.write(f"1*{channel_number}*{preset_number},\n")
|
||||||
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
||||||
|
|
||||||
def set_user_preset_name(self, preset_number: int, preset_name: str):
|
def set_user_preset_name(
|
||||||
if preset_number not in range(1, 17):
|
self,
|
||||||
raise LrcException("preset_number must be a value between 1 and 16!")
|
preset_number: Union["SMP35x.UserEncoderLayoutPresetNumber", int],
|
||||||
|
preset_name: str,
|
||||||
|
):
|
||||||
|
"""
|
||||||
|
Sets the name of a user encoder layout preset on the Extron SMP device.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
preset_number (Union[SMP35x.UserEncoderLayoutPresetNumber, int]):
|
||||||
|
The number of the preset to set the name for.
|
||||||
|
preset_name (str): The name to set for the preset.
|
||||||
|
Must be no longer than 16 characters and only contain ASCII characters.
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
str: The response from the device after setting the preset name.
|
||||||
|
"""
|
||||||
|
preset_number = self._get_number_from_enum(
|
||||||
|
preset_number, SMP35x.UserEncoderLayoutPresetNumber
|
||||||
|
)
|
||||||
if len(preset_name) > 16:
|
if len(preset_name) > 16:
|
||||||
raise LrcException("preset_name must be no longer than 16 chars")
|
raise LrcException("preset_name must be no longer than 16 chars")
|
||||||
try:
|
try:
|
||||||
@@ -860,37 +989,106 @@ class SMP35x(TelnetAdapter, RecorderAdapter):
|
|||||||
self.tn.write(f"{self.esc_char}1*{preset_number},{preset_name}PNAM\n")
|
self.tn.write(f"{self.esc_char}1*{preset_number},{preset_name}PNAM\n")
|
||||||
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
||||||
|
|
||||||
def get_user_preset_name(self, preset_number: int):
|
def get_user_preset_name(
|
||||||
if preset_number not in range(1, 17):
|
self, preset_number: Union["SMP35x.UserEncoderLayoutPresetNumber", int]
|
||||||
raise LrcException("preset_number must be a value between 1 and 16!")
|
):
|
||||||
|
"""
|
||||||
|
Retrieves the name of a user encoder layout preset from the Extron SMP device.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
preset_number (Union[SMP35x.UserEncoderLayoutPresetNumber, int]):
|
||||||
|
The number of the preset to retrieve.
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
str: The name of the specified user encoder layout preset.
|
||||||
|
"""
|
||||||
|
preset_number = self._get_number_from_enum(
|
||||||
|
preset_number, SMP35x.UserEncoderLayoutPresetNumber
|
||||||
|
)
|
||||||
self.tn.write(f"{self.esc_char}1*{preset_number}PNAM\n")
|
self.tn.write(f"{self.esc_char}1*{preset_number}PNAM\n")
|
||||||
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
||||||
|
|
||||||
def get_user_presets(self, input_number: int):
|
def get_user_presets(self, input_number: Union[InputNumber, int]):
|
||||||
if input_number not in range(1, 6):
|
"""
|
||||||
raise LrcException("input_number must be a value between 1 and 5!")
|
Retrieves the user presets for the specified input number.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
input_number (Union[InputNumber, int]): The input number to retrieve user presets for.
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
str: The response string from the device.
|
||||||
|
"""
|
||||||
|
input_number = self._get_number_from_enum(input_number, SMP35x.InputNumber)
|
||||||
self.tn.write(f"52*{input_number}#\n")
|
self.tn.write(f"52*{input_number}#\n")
|
||||||
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
||||||
|
|
||||||
# Input Presets
|
# Input Presets
|
||||||
def recall_input_preset(self, channel_number: int, preset_number: int):
|
def recall_input_preset(
|
||||||
if channel_number not in range(1, 3):
|
self,
|
||||||
raise LrcException("channel_number must be a value between 1 and 2!")
|
channel_number: Union["SMP35x.OutputChannel", int],
|
||||||
if preset_number not in range(1, 129):
|
input_preset_number: int,
|
||||||
|
):
|
||||||
|
"""
|
||||||
|
Recalls an input preset on the specified channel.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
channel_number (Union[SMP35x.OutputChannel, int]):
|
||||||
|
The channel number to recall the input preset on.
|
||||||
|
input_preset_number (int): The input preset number to recall.
|
||||||
|
|
||||||
|
Raises:
|
||||||
|
LrcException: If the input preset number is not between 1 and 128.
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
str: The response from the device.
|
||||||
|
"""
|
||||||
|
channel_number = self._get_number_from_enum(
|
||||||
|
channel_number, SMP35x.OutputChannel
|
||||||
|
)
|
||||||
|
if input_preset_number not in range(1, 129):
|
||||||
raise LrcException("preset_number must be a value between 1 and 128!")
|
raise LrcException("preset_number must be a value between 1 and 128!")
|
||||||
self.tn.write(f"2*{channel_number}*{preset_number}.\n")
|
self.tn.write(f"2*{channel_number}*{input_preset_number}.\n")
|
||||||
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
||||||
|
|
||||||
def save_input_preset(self, channel_number: int, preset_number: int):
|
def save_input_preset(
|
||||||
if channel_number not in range(1, 3):
|
self,
|
||||||
raise LrcException("channel_number must be a value between 1 and 2!")
|
channel_number: Union["SMP35x.OutputChannel", int],
|
||||||
if preset_number not in range(1, 129):
|
input_preset_number: int,
|
||||||
raise LrcException("preset_number must be a value between 1 and 128!")
|
):
|
||||||
self.tn.write(f"1*{channel_number}*{preset_number},\n")
|
"""
|
||||||
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
Saves the current input configuration as a preset on the specified channel.
|
||||||
|
|
||||||
def set_input_preset_name(self, preset_number: int, preset_name: str):
|
Args:
|
||||||
if preset_number not in range(1, 129):
|
channel_number (Union[SMP35x.OutputChannel, int]):
|
||||||
|
The channel number to save the preset on.
|
||||||
|
input_preset_number (int): The preset number to save the input configuration to.
|
||||||
|
|
||||||
|
Raises:
|
||||||
|
LrcException: If the input_preset_number is not between 1 and 128.
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
str: The response from the device.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def set_input_preset_name(self, input_preset_number: int, preset_name: str):
|
||||||
|
"""
|
||||||
|
Sets the name of an input preset on the Extron SMP recorder.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
input_preset_number (int): The number of the input preset to set the name for.
|
||||||
|
Must be a value between 1 and 128.
|
||||||
|
preset_name (str): The name to set for the input preset. Must be a string of
|
||||||
|
ASCII characters no longer than 16 characters.
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
str: The response string returned by the Extron SMP recorder after setting
|
||||||
|
the input preset name.
|
||||||
|
|
||||||
|
Raises:
|
||||||
|
LrcException: If the input_preset_number is not between 1 and 128, or if the
|
||||||
|
preset_name is longer than 16 characters or contains non-ASCII characters.
|
||||||
|
"""
|
||||||
|
if input_preset_number not in range(1, 129):
|
||||||
raise LrcException("preset_number must be a value between 1 and 128!")
|
raise LrcException("preset_number must be a value between 1 and 128!")
|
||||||
if len(preset_name) > 16:
|
if len(preset_name) > 16:
|
||||||
raise LrcException("preset_name must be no longer than 16 chars")
|
raise LrcException("preset_name must be no longer than 16 chars")
|
||||||
@@ -900,19 +1098,41 @@ class SMP35x(TelnetAdapter, RecorderAdapter):
|
|||||||
raise LrcException(
|
raise LrcException(
|
||||||
"preset_name must only contain ascii characters"
|
"preset_name must only contain ascii characters"
|
||||||
) from exc
|
) from exc
|
||||||
self.tn.write(f"{self.esc_char}2*{preset_number},{preset_name}PNAM\n")
|
self.tn.write(f"{self.esc_char}2*{input_preset_number},{preset_name}PNAM\n")
|
||||||
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
||||||
|
|
||||||
def get_input_preset_name(self, preset_number: int):
|
def get_input_preset_name(self, input_preset_number: int):
|
||||||
if preset_number not in range(1, 129):
|
"""
|
||||||
|
Retrieves the name of the input preset with the given number.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
input_preset_number (int): The number of the input preset to retrieve the name of.
|
||||||
|
Must be a value between 1 and 128.
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
str: The name of the input preset.
|
||||||
|
|
||||||
|
Raises:
|
||||||
|
LrcException: If the input_preset_number is not a value between 1 and 128.
|
||||||
|
"""
|
||||||
|
if input_preset_number not in range(1, 129):
|
||||||
raise LrcException("preset_number must be a value between 1 and 128!")
|
raise LrcException("preset_number must be a value between 1 and 128!")
|
||||||
self.tn.write(f"{self.esc_char}2*{preset_number}PNAM\n")
|
self.tn.write(f"{self.esc_char}2*{input_preset_number}PNAM\n")
|
||||||
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
||||||
|
|
||||||
def delete_input_preset(self, preset_number: int):
|
def delete_input_preset(self, input_preset_number: int):
|
||||||
if preset_number not in range(1, 129):
|
"""
|
||||||
|
Deletes the input preset with the given number.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
input_preset_number (int): The number of the input preset to delete. Must be a value between 1 and 128.
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
str: The response from the device after attempting to delete the input preset.
|
||||||
|
"""
|
||||||
|
if input_preset_number not in range(1, 129):
|
||||||
raise LrcException("preset_number must be a value between 1 and 128!")
|
raise LrcException("preset_number must be a value between 1 and 128!")
|
||||||
self.tn.write(f"{self.esc_char}X2*{preset_number}PRST\n")
|
self.tn.write(f"{self.esc_char}X2*{input_preset_number}PRST\n")
|
||||||
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
||||||
|
|
||||||
def get_input_presets(self):
|
def get_input_presets(self):
|
||||||
@@ -924,7 +1144,11 @@ class SMP35x(TelnetAdapter, RecorderAdapter):
|
|||||||
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
||||||
|
|
||||||
# Streaming Presets
|
# Streaming Presets
|
||||||
def recall_streaming_preset(self, output_number: int, preset_number: int):
|
def recall_streaming_preset(
|
||||||
|
self,
|
||||||
|
output_number: int,
|
||||||
|
preset_number: Union[UserEncoderLayoutPresetNumber, int],
|
||||||
|
):
|
||||||
"""
|
"""
|
||||||
Output_number:
|
Output_number:
|
||||||
1 = Channel A
|
1 = Channel A
|
||||||
@@ -936,12 +1160,17 @@ class SMP35x(TelnetAdapter, RecorderAdapter):
|
|||||||
"""
|
"""
|
||||||
if output_number not in range(1, 4):
|
if output_number not in range(1, 4):
|
||||||
raise LrcException("output_number must be a value between 1 and 3!")
|
raise LrcException("output_number must be a value between 1 and 3!")
|
||||||
if preset_number not in range(1, 17):
|
preset_number = self._get_number_from_enum(
|
||||||
raise LrcException("preset_number must be a value between 1 and 16!")
|
preset_number, SMP35x.UserEncoderLayoutPresetNumber
|
||||||
|
)
|
||||||
self.tn.write(f"3*{output_number}*{preset_number}.\n")
|
self.tn.write(f"3*{output_number}*{preset_number}.\n")
|
||||||
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
||||||
|
|
||||||
def save_streaming_preset(self, output_number: int, preset_number: int):
|
def save_streaming_preset(
|
||||||
|
self,
|
||||||
|
output_number: int,
|
||||||
|
preset_number: Union[UserEncoderLayoutPresetNumber, int],
|
||||||
|
):
|
||||||
"""
|
"""
|
||||||
Output_number:
|
Output_number:
|
||||||
1 = Channel A
|
1 = Channel A
|
||||||
@@ -953,14 +1182,34 @@ class SMP35x(TelnetAdapter, RecorderAdapter):
|
|||||||
"""
|
"""
|
||||||
if output_number not in range(1, 4):
|
if output_number not in range(1, 4):
|
||||||
raise LrcException("output_number must be a value between 1 and 3!")
|
raise LrcException("output_number must be a value between 1 and 3!")
|
||||||
if preset_number not in range(1, 17):
|
preset_number = self._get_number_from_enum(
|
||||||
raise LrcException("preset_number must be a value between 1 and 16!")
|
preset_number, SMP35x.UserEncoderLayoutPresetNumber
|
||||||
|
)
|
||||||
self.tn.write(f"3*{output_number}*{preset_number},\n")
|
self.tn.write(f"3*{output_number}*{preset_number},\n")
|
||||||
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
||||||
|
|
||||||
def set_streaming_preset_name(self, preset_number: int, preset_name: str):
|
def set_streaming_preset_name(
|
||||||
if preset_number not in range(1, 17):
|
self, preset_number: Union[UserEncoderLayoutPresetNumber, int], preset_name: str
|
||||||
raise LrcException("preset_number must be a value between 1 and 16!")
|
):
|
||||||
|
"""
|
||||||
|
Sets the name of a streaming preset on the Extron SMP device.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
preset_number (Union[UserEncoderLayoutPresetNumber, int]):
|
||||||
|
The number of the preset to set the name for.
|
||||||
|
preset_name (str): The name to set for the preset.
|
||||||
|
Must be no longer than 16 characters and contain only ASCII characters.
|
||||||
|
|
||||||
|
Raises:
|
||||||
|
LrcException: If the preset_name is longer
|
||||||
|
than 16 characters or contains non-ASCII characters.
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
str: The response from the Extron SMP device.
|
||||||
|
"""
|
||||||
|
preset_number = self._get_number_from_enum(
|
||||||
|
preset_number, SMP35x.UserEncoderLayoutPresetNumber
|
||||||
|
)
|
||||||
if len(preset_name) > 16:
|
if len(preset_name) > 16:
|
||||||
raise LrcException("preset_name must be no longer than 16 chars")
|
raise LrcException("preset_name must be no longer than 16 chars")
|
||||||
try:
|
try:
|
||||||
@@ -972,20 +1221,48 @@ class SMP35x(TelnetAdapter, RecorderAdapter):
|
|||||||
self.tn.write(f"{self.esc_char}3*{preset_number},{preset_name}PNAM\n")
|
self.tn.write(f"{self.esc_char}3*{preset_number},{preset_name}PNAM\n")
|
||||||
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
||||||
|
|
||||||
def get_streaming_preset_name(self, preset_number: int):
|
def get_streaming_preset_name(
|
||||||
if preset_number not in range(1, 17):
|
self, preset_number: Union[UserEncoderLayoutPresetNumber, int]
|
||||||
raise LrcException("preset_number must be a value between 1 and 16!")
|
):
|
||||||
|
"""
|
||||||
|
Retrieves the name of the streaming preset associated with the given preset number.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
preset_number (Union[UserEncoderLayoutPresetNumber, int]): The preset number or enum value.
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
str: The name of the streaming preset.
|
||||||
|
"""
|
||||||
|
preset_number = self._get_number_from_enum(
|
||||||
|
preset_number, SMP35x.UserEncoderLayoutPresetNumber
|
||||||
|
)
|
||||||
self.tn.write(f"{self.esc_char}3*{preset_number}PNAM\n")
|
self.tn.write(f"{self.esc_char}3*{preset_number}PNAM\n")
|
||||||
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
||||||
|
|
||||||
def reset_streaming_preset_to_default(self, preset_number: int):
|
def reset_streaming_preset_to_default(
|
||||||
if preset_number not in range(1, 17):
|
self, preset_number: Union[UserEncoderLayoutPresetNumber, int]
|
||||||
raise LrcException("preset_number must be a value between 1 and 16!")
|
):
|
||||||
|
"""
|
||||||
|
Resets the streaming preset to its default settings.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
preset_number (Union[UserEncoderLayoutPresetNumber, int]): The preset number to reset.
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
str: The response from the device.
|
||||||
|
"""
|
||||||
|
preset_number = self._get_number_from_enum(
|
||||||
|
preset_number, SMP35x.UserEncoderLayoutPresetNumber
|
||||||
|
)
|
||||||
self.tn.write(f"{self.esc_char}X3*{preset_number}PRST\n")
|
self.tn.write(f"{self.esc_char}X3*{preset_number}PRST\n")
|
||||||
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
||||||
|
|
||||||
# Encoder Presets
|
# Encoder Presets
|
||||||
def recall_encoder_preset(self, output_number: int, preset_number: int):
|
def recall_encoder_preset(
|
||||||
|
self,
|
||||||
|
output_number: int,
|
||||||
|
preset_number: Union[UserEncoderLayoutPresetNumber, int],
|
||||||
|
):
|
||||||
"""
|
"""
|
||||||
Output_number:
|
Output_number:
|
||||||
1 = Channel A
|
1 = Channel A
|
||||||
@@ -997,12 +1274,17 @@ class SMP35x(TelnetAdapter, RecorderAdapter):
|
|||||||
"""
|
"""
|
||||||
if output_number not in range(1, 4):
|
if output_number not in range(1, 4):
|
||||||
raise LrcException("output_number must be a value between 1 and 3!")
|
raise LrcException("output_number must be a value between 1 and 3!")
|
||||||
if preset_number not in range(1, 17):
|
preset_number = self._get_number_from_enum(
|
||||||
raise LrcException("preset_number must be a value between 1 and 16!")
|
preset_number, SMP35x.UserEncoderLayoutPresetNumber
|
||||||
|
)
|
||||||
self.tn.write(f"4*{output_number}*{preset_number}.\n")
|
self.tn.write(f"4*{output_number}*{preset_number}.\n")
|
||||||
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
||||||
|
|
||||||
def save_encoder_preset(self, output_number: int, preset_number: int):
|
def save_encoder_preset(
|
||||||
|
self,
|
||||||
|
output_number: int,
|
||||||
|
preset_number: Union[UserEncoderLayoutPresetNumber, int],
|
||||||
|
):
|
||||||
"""
|
"""
|
||||||
Output_number:
|
Output_number:
|
||||||
1 = Channel A
|
1 = Channel A
|
||||||
@@ -1014,14 +1296,33 @@ class SMP35x(TelnetAdapter, RecorderAdapter):
|
|||||||
"""
|
"""
|
||||||
if output_number not in range(1, 4):
|
if output_number not in range(1, 4):
|
||||||
raise LrcException("output_number must be a value between 1 and 3!")
|
raise LrcException("output_number must be a value between 1 and 3!")
|
||||||
if preset_number not in range(1, 17):
|
preset_number = self._get_number_from_enum(
|
||||||
raise LrcException("preset_number must be a value between 1 and 16!")
|
preset_number, SMP35x.UserEncoderLayoutPresetNumber
|
||||||
|
)
|
||||||
self.tn.write(f"4*{output_number}*{preset_number},\n")
|
self.tn.write(f"4*{output_number}*{preset_number},\n")
|
||||||
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
||||||
|
|
||||||
def set_encoder_preset_name(self, preset_number: int, preset_name: str):
|
def set_encoder_preset_name(
|
||||||
if preset_number not in range(1, 17):
|
self, preset_number: Union[UserEncoderLayoutPresetNumber, int], preset_name: str
|
||||||
raise LrcException("preset_number must be a value between 1 and 16!")
|
):
|
||||||
|
"""
|
||||||
|
Sets the name of an encoder preset on the Extron SMP device.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
preset_number (Union[UserEncoderLayoutPresetNumber, int]):
|
||||||
|
The number of the preset to set the name for.
|
||||||
|
preset_name (str): The name to set for the preset.
|
||||||
|
Must be no longer than 16 characters and only contain ASCII characters.
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
str: The response from the device after setting the preset name.
|
||||||
|
Raises:
|
||||||
|
LrcException: If the preset_name is longer
|
||||||
|
than 16 characters or contains non-ASCII characters.
|
||||||
|
"""
|
||||||
|
preset_number = self._get_number_from_enum(
|
||||||
|
preset_number, SMP35x.UserEncoderLayoutPresetNumber
|
||||||
|
)
|
||||||
if len(preset_name) > 16:
|
if len(preset_name) > 16:
|
||||||
raise LrcException("preset_name must be no longer than 16 chars")
|
raise LrcException("preset_name must be no longer than 16 chars")
|
||||||
try:
|
try:
|
||||||
@@ -1033,39 +1334,113 @@ class SMP35x(TelnetAdapter, RecorderAdapter):
|
|||||||
self.tn.write(f"{self.esc_char}4*{preset_number},{preset_name}PNAM\n")
|
self.tn.write(f"{self.esc_char}4*{preset_number},{preset_name}PNAM\n")
|
||||||
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
||||||
|
|
||||||
def get_encoder_preset_name(self, preset_number: int):
|
def get_encoder_preset_name(
|
||||||
if preset_number not in range(1, 17):
|
self, preset_number: Union[UserEncoderLayoutPresetNumber, int]
|
||||||
raise LrcException("preset_number must be a value between 1 and 16!")
|
):
|
||||||
|
"""
|
||||||
|
Sends a command to the Extron SMP device to retrieve the name of the encoder preset
|
||||||
|
associated with the given preset number.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
preset_number (Union[UserEncoderLayoutPresetNumber, int]): The preset number to
|
||||||
|
retrieve the name for. This can be either an integer or a value from the
|
||||||
|
UserEncoderLayoutPresetNumber enum.
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
str: The name of the encoder preset associated with the given preset number.
|
||||||
|
"""
|
||||||
|
preset_number = self._get_number_from_enum(
|
||||||
|
preset_number, SMP35x.UserEncoderLayoutPresetNumber
|
||||||
|
)
|
||||||
self.tn.write(f"{self.esc_char}4*{preset_number}PNAM\n")
|
self.tn.write(f"{self.esc_char}4*{preset_number}PNAM\n")
|
||||||
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
||||||
|
|
||||||
def reset_encoder_preset_to_default(self, preset_number: int):
|
def reset_encoder_preset_to_default(
|
||||||
if preset_number not in range(1, 17):
|
self, preset_number: Union[UserEncoderLayoutPresetNumber, int]
|
||||||
raise LrcException("preset_number must be a value between 1 and 16!")
|
):
|
||||||
|
"""
|
||||||
|
Resets the specified encoder preset to its default settings.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
preset_number (Union[UserEncoderLayoutPresetNumber, int]):
|
||||||
|
The number of the preset to reset.
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
str: The response from the device after sending the reset command.
|
||||||
|
"""
|
||||||
|
preset_number = self._get_number_from_enum(
|
||||||
|
preset_number, SMP35x.UserEncoderLayoutPresetNumber
|
||||||
|
)
|
||||||
self.tn.write(f"{self.esc_char}X4*{preset_number}PRST\n")
|
self.tn.write(f"{self.esc_char}X4*{preset_number}PRST\n")
|
||||||
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
||||||
|
|
||||||
# Layout Presets
|
# Layout Presets
|
||||||
def save_layout_preset(self, preset_number: int):
|
|
||||||
if preset_number not in range(1, 17):
|
def save_layout_preset(
|
||||||
raise LrcException("preset_number must be a value between 1 and 16!")
|
self, preset_number: Union[UserEncoderLayoutPresetNumber, int]
|
||||||
|
):
|
||||||
|
"""
|
||||||
|
Saves the current layout as a preset with the given number.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
preset_number (Union[UserEncoderLayoutPresetNumber, int]):
|
||||||
|
The number of the preset to save.
|
||||||
|
This can be either an integer or a
|
||||||
|
value from the UserEncoderLayoutPresetNumber enum.
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
str: The response from the device after sending the save command.
|
||||||
|
"""
|
||||||
|
preset_number = self._get_number_from_enum(
|
||||||
|
preset_number, SMP35x.UserEncoderLayoutPresetNumber
|
||||||
|
)
|
||||||
self.tn.write(f"7*{preset_number},\n")
|
self.tn.write(f"7*{preset_number},\n")
|
||||||
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
||||||
|
|
||||||
def recall_layout_preset(
|
def recall_layout_preset(
|
||||||
self, preset_number: int, include_input_selections: bool = True
|
self,
|
||||||
|
preset_number: Union[UserEncoderLayoutPresetNumber, int],
|
||||||
|
include_input_selections: bool = True,
|
||||||
):
|
):
|
||||||
if preset_number not in range(1, 17):
|
"""
|
||||||
raise LrcException("preset_number must be a value between 1 and 16!")
|
Recalls a layout preset on the Extron SMP device.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
preset_number (Union[UserEncoderLayoutPresetNumber, int]):
|
||||||
|
The preset number to recall.
|
||||||
|
include_input_selections (bool, optional):
|
||||||
|
Whether to include input selections in the recall. Defaults to True.
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
str: The response from the device.
|
||||||
|
"""
|
||||||
|
preset_number = self._get_number_from_enum(
|
||||||
|
preset_number, SMP35x.UserEncoderLayoutPresetNumber
|
||||||
|
)
|
||||||
if include_input_selections:
|
if include_input_selections:
|
||||||
self.tn.write(f"7*{preset_number}.\n")
|
self.tn.write(f"7*{preset_number}.\n")
|
||||||
else:
|
else:
|
||||||
self.tn.write(f"8*{preset_number}.\n")
|
self.tn.write(f"8*{preset_number}.\n")
|
||||||
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
||||||
|
|
||||||
def set_layout_preset_name(self, preset_number: int, preset_name: str):
|
def set_layout_preset_name(
|
||||||
if preset_number not in range(1, 17):
|
self, preset_number: Union[UserEncoderLayoutPresetNumber, int], preset_name: str
|
||||||
raise LrcException("preset_number must be a value between 1 and 16!")
|
):
|
||||||
|
"""
|
||||||
|
Sets the name of a user encoder layout preset on the Extron SMP device.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
preset_number (Union[UserEncoderLayoutPresetNumber, int]):
|
||||||
|
The number of the preset to set the name for.
|
||||||
|
preset_name (str): The name to set for the preset.
|
||||||
|
Must be no longer than 16 characters and only contain ASCII characters.
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
str: The response from the device after setting the preset name.
|
||||||
|
"""
|
||||||
|
preset_number = self._get_number_from_enum(
|
||||||
|
preset_number, SMP35x.UserEncoderLayoutPresetNumber
|
||||||
|
)
|
||||||
if len(preset_name) > 16:
|
if len(preset_name) > 16:
|
||||||
raise LrcException("preset_name must be no longer than 16 chars")
|
raise LrcException("preset_name must be no longer than 16 chars")
|
||||||
try:
|
try:
|
||||||
@@ -1074,20 +1449,44 @@ class SMP35x(TelnetAdapter, RecorderAdapter):
|
|||||||
raise LrcException(
|
raise LrcException(
|
||||||
"preset_name must only contain ascii characters"
|
"preset_name must only contain ascii characters"
|
||||||
) from exc
|
) from exc
|
||||||
self.tn.write(
|
self.tn.write(f"{self.esc_char}7*{preset_number},{preset_name}PNAM\n")
|
||||||
"{}7*{},{}PNAM\n".format(self.esc_char, preset_number, preset_name)
|
|
||||||
)
|
|
||||||
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
||||||
|
|
||||||
def get_layout_preset_name(self, preset_number: int):
|
def get_layout_preset_name(
|
||||||
if preset_number not in range(1, 17):
|
self, preset_number: Union[UserEncoderLayoutPresetNumber, int]
|
||||||
raise LrcException("preset_number must be a value between 1 and 16!")
|
):
|
||||||
|
"""
|
||||||
|
Gets the name of the layout preset with the given preset number.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
preset_number (Union[UserEncoderLayoutPresetNumber, int]): The preset number
|
||||||
|
of the layout preset to get the name of.
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
str: The name of the layout preset with the given preset number.
|
||||||
|
"""
|
||||||
|
preset_number = self._get_number_from_enum(
|
||||||
|
preset_number, SMP35x.UserEncoderLayoutPresetNumber
|
||||||
|
)
|
||||||
self.tn.write(f"{self.esc_char}7*{preset_number}PNAM\n")
|
self.tn.write(f"{self.esc_char}7*{preset_number}PNAM\n")
|
||||||
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
||||||
|
|
||||||
def reset_layout_preset_to_default(self, preset_number: int):
|
def reset_layout_preset_to_default(
|
||||||
if preset_number not in range(1, 17):
|
self, preset_number: Union[UserEncoderLayoutPresetNumber, int]
|
||||||
raise LrcException("preset_number must be a value between 1 and 16!")
|
):
|
||||||
|
"""
|
||||||
|
Resets the layout preset to its default value.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
preset_number (Union[UserEncoderLayoutPresetNumber, int]):
|
||||||
|
The number of the preset to reset.
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
str: The response from the device.
|
||||||
|
"""
|
||||||
|
preset_number = self._get_number_from_enum(
|
||||||
|
preset_number, SMP35x.UserEncoderLayoutPresetNumber
|
||||||
|
)
|
||||||
self.tn.write(f"{self.esc_char}X7*{preset_number}PRST\n")
|
self.tn.write(f"{self.esc_char}X7*{preset_number}PRST\n")
|
||||||
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
return TelnetAdapter._get_response_str(self.tn.read_until_non_empty_line())
|
||||||
|
|
||||||
@@ -1239,13 +1638,12 @@ def main():
|
|||||||
print(smp.is_audio_channel_muted(60000))
|
print(smp.is_audio_channel_muted(60000))
|
||||||
|
|
||||||
exit()
|
exit()
|
||||||
smp._login()
|
# smp._login()
|
||||||
print(smp.get_version(verbose_info=False))
|
print(smp.get_version(verbose_info=False))
|
||||||
print(smp.get_file_transfer_config())
|
print(smp.get_file_transfer_config())
|
||||||
print(smp.save_configuration())
|
print(smp.save_configuration())
|
||||||
print(smp.restore_configuration())
|
print(smp.restore_configuration())
|
||||||
|
|
||||||
return
|
|
||||||
print(smp.get_bootstrap_version())
|
print(smp.get_bootstrap_version())
|
||||||
print(smp.get_part_number())
|
print(smp.get_part_number())
|
||||||
print(smp.get_model_name())
|
print(smp.get_model_name())
|
||||||
@@ -1264,7 +1662,7 @@ def main():
|
|||||||
print(smp.get_front_panel_lock())
|
print(smp.get_front_panel_lock())
|
||||||
|
|
||||||
print(smp.get_input_name(1))
|
print(smp.get_input_name(1))
|
||||||
print(smp.get_input_selction_per_channel())
|
print(smp.get_input_selection_per_channel())
|
||||||
print(smp.get_recording_status())
|
print(smp.get_recording_status())
|
||||||
print("Preset Name: " + smp.get_user_preset_name(2))
|
print("Preset Name: " + smp.get_user_preset_name(2))
|
||||||
print(smp.get_user_presets(1))
|
print(smp.get_user_presets(1))
|
||||||
|
|||||||
@@ -13,15 +13,6 @@ pw = "123mzsmp"
|
|||||||
|
|
||||||
|
|
||||||
def print_tn(tn_response):
|
def print_tn(tn_response):
|
||||||
"""
|
|
||||||
Prints the given TN response, decoding it if necessary.
|
|
||||||
|
|
||||||
Args:
|
|
||||||
tn_response (bytes or str): The TN response to print.
|
|
||||||
|
|
||||||
Returns:
|
|
||||||
None
|
|
||||||
"""
|
|
||||||
if isinstance(tn_response, bytes):
|
if isinstance(tn_response, bytes):
|
||||||
print(tn_response.decode("ascii").rstrip())
|
print(tn_response.decode("ascii").rstrip())
|
||||||
else:
|
else:
|
||||||
|
|||||||
Reference in New Issue
Block a user