diff --git a/boswatch/inputSource/inputBase.py b/boswatch/inputSource/inputBase.py index 0a62410..8b62535 100644 --- a/boswatch/inputSource/inputBase.py +++ b/boswatch/inputSource/inputBase.py @@ -18,6 +18,7 @@ import time import logging import threading from abc import ABC, abstractmethod +from boswatch.processManager import ProcessManager logging.debug("- %s loaded", __name__) @@ -63,3 +64,21 @@ class InputBase(ABC): self._inputQueue.put_nowait((data, time.time())) logging.debug("Add received data to queue") print(data) + + def startmm(self, decoderConfig): + mmProc = ProcessManager(str(decoderConfig.get("mmPath", default="multimon-ng")), textMode=True) + if decoderConfig.get("fms", default=0): + mmProc.addArgument("-a FMSFSK") + if decoderConfig.get("zvei", default=0): + mmProc.addArgument("-a ZVEI1") + if decoderConfig.get("poc512", default=0): + mmProc.addArgument("-a POCSAG512") + if decoderConfig.get("poc1200", default=0): + mmProc.addArgument("-a POCSAG1200") + if decoderConfig.get("poc2400", default=0): + mmProc.addArgument("-a POCSAG2400") + if decoderConfig.get("mmChar"): + mmProc.addArgument("-C " + str(decoderConfig.get("mmChar"))) + mmProc.addArgument("-f alpha") + mmProc.addArgument("-t raw -") + return mmProc diff --git a/boswatch/inputSource/lineInInput.py b/boswatch/inputSource/lineInInput.py index c8016bc..50666ac 100644 --- a/boswatch/inputSource/lineInInput.py +++ b/boswatch/inputSource/lineInInput.py @@ -40,21 +40,7 @@ class LineInInput(InputBase): lineInProc.setStderr(open(paths.LOG_PATH + "asla.log", "a")) lineInProc.start() - mmProc = ProcessManager(str(lineInConfig.get("mmPath", default="multimon-ng")), textMode=True) - if decoderConfig.get("fms", default=0): - mmProc.addArgument("-a FMSFSK") - if decoderConfig.get("zvei", default=0): - mmProc.addArgument("-a ZVEI1") - if decoderConfig.get("poc512", default=0): - mmProc.addArgument("-a POCSAG512") - if decoderConfig.get("poc1200", default=0): - mmProc.addArgument("-a POCSAG1200") - if decoderConfig.get("poc2400", default=0): - mmProc.addArgument("-a POCSAG2400") - if lineInConfig.get("mmChar"): - mmProc.addArgument("-C " + str(lineInConfig.get("mmChar"))) - mmProc.addArgument("-f alpha") - mmProc.addArgument("-t raw -") + mmProc = self.startmm(decoderConfig) mmProc.setStdin(lineInProc.stdout) mmProc.setStderr(open(paths.LOG_PATH + "multimon-ng.log", "a")) mmProc.start() diff --git a/boswatch/inputSource/pulseaudioInput.py b/boswatch/inputSource/pulseaudioInput.py index 5d955db..97a5f79 100644 --- a/boswatch/inputSource/pulseaudioInput.py +++ b/boswatch/inputSource/pulseaudioInput.py @@ -39,21 +39,7 @@ class PulseAudioInput(InputBase): PulseAudioProc.setStderr(open(paths.LOG_PATH + "pulseaudio.log", "a")) PulseAudioProc.start() - mmProc = ProcessManager(str(PulseAudioConfig.get("mmPath", default="multimon-ng")), textMode=True) - if decoderConfig.get("fms", default=0): - mmProc.addArgument("-a FMSFSK") - if decoderConfig.get("zvei", default=0): - mmProc.addArgument("-a ZVEI1") - if decoderConfig.get("poc512", default=0): - mmProc.addArgument("-a POCSAG512") - if decoderConfig.get("poc1200", default=0): - mmProc.addArgument("-a POCSAG1200") - if decoderConfig.get("poc2400", default=0): - mmProc.addArgument("-a POCSAG2400") - if PulseAudioConfig.get("mmChar"): - mmProc.addArgument("-C " + str(PulseAudioConfig.get("mmChar"))) - mmProc.addArgument("-f alpha") - mmProc.addArgument("-t raw -") + mmProc = self.startmm(decoderConfig) mmProc.setStdin(PulseAudioProc.stdout) mmProc.setStderr(open(paths.LOG_PATH + "multimon-ng.log", "a")) mmProc.start() diff --git a/boswatch/inputSource/sdrInput.py b/boswatch/inputSource/sdrInput.py index 6dcb278..851db22 100644 --- a/boswatch/inputSource/sdrInput.py +++ b/boswatch/inputSource/sdrInput.py @@ -41,21 +41,7 @@ class SdrInput(InputBase): sdrProc.setStderr(open(paths.LOG_PATH + "rtl_fm.log", "a")) sdrProc.start() - mmProc = ProcessManager(str(sdrConfig.get("mmPath", default="multimon-ng")), textMode=True) - if decoderConfig.get("fms", default=0): - mmProc.addArgument("-a FMSFSK") - if decoderConfig.get("zvei", default=0): - mmProc.addArgument("-a ZVEI1") - if decoderConfig.get("poc512", default=0): - mmProc.addArgument("-a POCSAG512") - if decoderConfig.get("poc1200", default=0): - mmProc.addArgument("-a POCSAG1200") - if decoderConfig.get("poc2400", default=0): - mmProc.addArgument("-a POCSAG2400") - if sdrConfig.get("mmChar"): - mmProc.addArgument("-C " + str(sdrConfig.get("mmChar"))) - mmProc.addArgument("-f alpha") - mmProc.addArgument("-t raw -") + mmProc = self.startmm(decoderConfig) mmProc.setStdin(sdrProc.stdout) mmProc.setStderr(open(paths.LOG_PATH + "multimon-ng.log", "a")) mmProc.start()