summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Keßler <martin@moegger.de>2016-11-06 13:16:37 +0100
committerMartin Keßler <martin@moegger.de>2016-11-06 13:16:37 +0100
commit197e6d8244af1132441f7bba4a904c205a8d4d63 (patch)
treeb4cb3da040871108d80182f88a28ead7c8948d0f
parentb52dd80c6e2b7c95e798bff9d6b075080b63aa1c (diff)
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.
-rw-r--r--voctocore/default-config.ini3
-rw-r--r--voctocore/lib/audiomix.py4
-rw-r--r--voctocore/lib/pipeline.py8
-rw-r--r--voctogui/lib/ui.py16
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')