From 197e6d8244af1132441f7bba4a904c205a8d4d63 Mon Sep 17 00:00:00 2001 From: Martin Keßler Date: Sun, 6 Nov 2016 13:16:37 +0100 Subject: added configuration option to specify initial audio source if such an initial source is specified, removed the GUI element to change it later. this is to avoid accidentally changing the source during production. --- voctocore/default-config.ini | 3 +++ voctocore/lib/audiomix.py | 4 ++-- voctocore/lib/pipeline.py | 8 +++++++- voctogui/lib/ui.py | 16 ++++++++++------ 4 files changed, 22 insertions(+), 9 deletions(-) diff --git a/voctocore/default-config.ini b/voctocore/default-config.ini index 4c85abb..168e3e8 100644 --- a/voctocore/default-config.ini +++ b/voctocore/default-config.ini @@ -5,6 +5,9 @@ audiocaps=audio/x-raw,format=S16LE,channels=2,layout=interleaved,rate=48000 ; tcp-ports will be 10000,10001,10002 sources=cam1,cam2,grabber +; set the initial audio source +audiosource=cam1 + [output-buffers] ; voctocore has a buffer on all video-outputs, that store video-frames for your diff --git a/voctocore/lib/audiomix.py b/voctocore/lib/audiomix.py index 37376fd..f35dd0c 100644 --- a/voctocore/lib/audiomix.py +++ b/voctocore/lib/audiomix.py @@ -8,10 +8,10 @@ from lib.clock import Clock class AudioMix(object): - def __init__(self): + def __init__(self, source=0): self.log = logging.getLogger('AudioMix') - self.selectedSource = 0 + self.selectedSource = source self.caps = Config.get('mix', 'audiocaps') self.names = Config.getlist('mix', 'sources') diff --git a/voctocore/lib/pipeline.py b/voctocore/lib/pipeline.py index 1a1349e..6213ac6 100644 --- a/voctocore/lib/pipeline.py +++ b/voctocore/lib/pipeline.py @@ -60,8 +60,14 @@ class Pipeline(object): self.log.info('Creating Videmixer') self.vmix = VideoMix() + # check if there is an audio source preconfigured + try: + audiosource = names.index(Config.get('mix', 'audiosource')) + except: + audiosource = 0 + self.log.info('Creating Audiomixer') - self.amix = AudioMix() + self.amix = AudioMix(audiosource) port = 16000 self.log.info('Creating Mixer-Background VSource at tcp-port %u', port) diff --git a/voctogui/lib/ui.py b/voctogui/lib/ui.py index 92d0692..a8fb6a9 100644 --- a/voctogui/lib/ui.py +++ b/voctogui/lib/ui.py @@ -58,12 +58,16 @@ class Ui(UiBuilder): uibuilder=self ) - drawing_area = self.find_widget_recursive(self.win, 'combo_audio') - self.audio_selector_controller = AudioSelectorController( - drawing_area, - win=self.win, - uibuilder=self - ) + # check if there is a fixed audio source configured. + # if so, remove the combo-box entirely instead of setting it up. + if Config.has_option('mix', 'audiosource'): + drawing_area.remove(self.find_widget_recursive(self.win, 'box_audio')) + else: + self.audio_selector_controller = AudioSelectorController( + drawing_area=self.find_widget_recursive(self.win, 'combo_audio'), + win=self.win, + uibuilder=self + ) # Setup Toolbar Controllers toolbar = self.find_widget_recursive(self.win, 'toolbar') -- cgit v1.2.3