summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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')