From 56a2e9315b12f3f4215844a979c1bab96907b40a Mon Sep 17 00:00:00 2001 From: Mark Knoop Date: Sun, 9 Feb 2020 12:24:14 +0000 Subject: [PATCH 1/2] Add 'spdif-optical' to Input Enum Without this a KeyError is returned when using args.digital_in as the Enum key. ./audiofuse-cli.py --digital_in spdif-optical -r AudioFuse Digital I/O set to Input.ADAT and Output.ADAT Found an AudioFuse. Traceback (most recent call last): File "./audiofuse-cli.py", line 341, in main() File "./audiofuse-cli.py", line 334, in main af.set_digital_in(Input[args.digital_in]) File "/usr/lib64/python3.7/enum.py", line 352, in __getitem__ return cls._member_map_[name] KeyError: 'spdif-optical' --- audiofuse-cli.py | 1 + 1 file changed, 1 insertion(+) diff --git a/audiofuse-cli.py b/audiofuse-cli.py index 8d990db..0eed45d 100755 --- a/audiofuse-cli.py +++ b/audiofuse-cli.py @@ -16,6 +16,7 @@ ('spdif-coax', 1), ('SPDIF_optical', 2), ('SPDIF-optical', 2), + ('spdif-optical', 2), ('ADAT', 3), ('adat', 3), ('WClock', 4), From 1a69917a7ca2504b44765ae2301c080dd228ca86 Mon Sep 17 00:00:00 2001 From: Mark Knoop Date: Sun, 9 Feb 2020 12:27:17 +0000 Subject: [PATCH 2/2] Ensure to_adat is assigned before use in set_digital_{in,out} ./audiofuse-cli.py --digital_in spdif-optical AudioFuse Digital I/O set to Input.ADAT and Output.ADAT Found an AudioFuse. Attempting to set digital in to: Input.SPDIF_optical Traceback (most recent call last): File "./audiofuse-cli.py", line 343, in main() File "./audiofuse-cli.py", line 336, in main af.set_digital_in(Input[args.digital_in]) File "./audiofuse-cli.py", line 129, in set_digital_in self._change_digital_in(val, restart, to_adat) UnboundLocalError: local variable 'to_adat' referenced before assignment --- audiofuse-cli.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/audiofuse-cli.py b/audiofuse-cli.py index 0eed45d..739ab1b 100755 --- a/audiofuse-cli.py +++ b/audiofuse-cli.py @@ -114,6 +114,7 @@ def set_digital_in(self, val): return restart = False + to_adat = False # Restart when we would be switching from no ADAT I/O to some ADAT I/O # or from some ADAT I/O to no ADAT I/O. if val == Input.ADAT and self.input != Input.ADAT and self.output != Output.ADAT: @@ -157,6 +158,7 @@ def set_digital_out(self, val): return restart = False + to_adat = False # Restart when we would be switching from no ADAT I/O to some ADAT I/O # or from some ADAT I/O to no ADAT I/O. if val == Output.ADAT and self.output != Output.ADAT and self.input != Input.ADAT: