ability to change mic volume through GUI (doesn't work for the moment)
This commit is contained in:
parent
8bb1aaf382
commit
619518204c
3 changed files with 26 additions and 14 deletions
|
@ -771,7 +771,6 @@
|
|||
<property name="adjustment">0 0 110 1 10 10</property>
|
||||
<property name="digits">0</property>
|
||||
<property name="value_pos">bottom</property>
|
||||
<signal name="value_changed" handler="on_sound_hscale_value_changed"/>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
|
@ -796,7 +795,6 @@
|
|||
<property name="adjustment">0 0 110 1 10 10</property>
|
||||
<property name="digits">0</property>
|
||||
<property name="value_pos">bottom</property>
|
||||
<signal name="value_changed" handler="on_mic_hscale_value_changed"/>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
|
|
|
@ -1382,6 +1382,14 @@ class ChatControl(ChatControlBase):
|
|||
id_ = widget.connect('released', self.on_num_button_released)
|
||||
self.handlers[id_] = widget
|
||||
|
||||
widget = self.xml.get_widget('mic_hscale')
|
||||
id_ = widget.connect('value_changed', self.on_mic_hscale_value_changed)
|
||||
self.handlers[id_] = widget
|
||||
|
||||
widget = self.xml.get_widget('sound_hscale')
|
||||
id_ = widget.connect('value_changed', self.on_sound_hscale_value_changed)
|
||||
self.handlers[id_] = widget
|
||||
|
||||
if not session:
|
||||
# Don't use previous session if we want to a specific resource
|
||||
# and it's not the same
|
||||
|
@ -1604,22 +1612,22 @@ class ChatControl(ChatControlBase):
|
|||
def set_video_state(self, state, sid=None, reason=None):
|
||||
self._set_jingle_state('video', state, sid=sid, reason=reason)
|
||||
|
||||
def on_num_button_pressed(self, widget, num):
|
||||
def _get_audio_content(self):
|
||||
session = gajim.connections[self.account].get_jingle_session(
|
||||
self.contact.get_full_jid(), self.audio_sid)
|
||||
content = session.get_content('audio')
|
||||
content._start_dtmf(num)
|
||||
return session.get_content('audio')
|
||||
|
||||
def on_num_button_pressed(self, widget, num):
|
||||
self._get_audio_content()._start_dtmf(num)
|
||||
|
||||
def on_num_button_released(self, released):
|
||||
session = gajim.connections[self.account].get_jingle_session(
|
||||
self.contact.get_full_jid(), self.audio_sid)
|
||||
content = session.get_content('audio')
|
||||
content._stop_dtmf()
|
||||
self._get_audio_content()._stop_dtmf()
|
||||
|
||||
def on_mic_hscale_value_changed(self, widget, scroll_type):
|
||||
pass
|
||||
def on_mic_hscale_value_changed(self, widget):
|
||||
value = widget.get_value()
|
||||
self._get_audio_content().set_mic_volume(value / 100)
|
||||
|
||||
def on_sound_hscale_value_changed(self, widget, scroll_type):
|
||||
def on_sound_hscale_value_changed(self, widget):
|
||||
pass
|
||||
|
||||
def on_avatar_eventbox_enter_notify_event(self, widget, event):
|
||||
|
|
|
@ -257,6 +257,12 @@ class JingleAudio(JingleRTPContent):
|
|||
JingleRTPContent.__init__(self, session, 'audio', transport)
|
||||
self.setup_stream()
|
||||
|
||||
def set_mic_volume(self, vol):
|
||||
"""
|
||||
vol must be between 0 ans 1
|
||||
"""
|
||||
self.mic_volume.set_property('volume', vol)
|
||||
|
||||
def setup_stream(self):
|
||||
JingleRTPContent.setup_stream(self)
|
||||
|
||||
|
@ -281,7 +287,7 @@ class JingleAudio(JingleRTPContent):
|
|||
'audioconvert ! %s', _("audio output"))
|
||||
|
||||
self.mic_volume = src_bin.get_by_name('gajim_vol')
|
||||
self.mic_volume.set_property('volume', 1)
|
||||
self.set_mic_volume(0)
|
||||
|
||||
# link gst elements
|
||||
self.pipeline.add(self.sink, src_bin)
|
||||
|
|
Loading…
Add table
Reference in a new issue