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="adjustment">0 0 110 1 10 10</property>
|
||||||
<property name="digits">0</property>
|
<property name="digits">0</property>
|
||||||
<property name="value_pos">bottom</property>
|
<property name="value_pos">bottom</property>
|
||||||
<signal name="value_changed" handler="on_sound_hscale_value_changed"/>
|
|
||||||
</widget>
|
</widget>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="expand">False</property>
|
<property name="expand">False</property>
|
||||||
|
@ -796,7 +795,6 @@
|
||||||
<property name="adjustment">0 0 110 1 10 10</property>
|
<property name="adjustment">0 0 110 1 10 10</property>
|
||||||
<property name="digits">0</property>
|
<property name="digits">0</property>
|
||||||
<property name="value_pos">bottom</property>
|
<property name="value_pos">bottom</property>
|
||||||
<signal name="value_changed" handler="on_mic_hscale_value_changed"/>
|
|
||||||
</widget>
|
</widget>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="expand">False</property>
|
<property name="expand">False</property>
|
||||||
|
|
|
@ -1382,6 +1382,14 @@ class ChatControl(ChatControlBase):
|
||||||
id_ = widget.connect('released', self.on_num_button_released)
|
id_ = widget.connect('released', self.on_num_button_released)
|
||||||
self.handlers[id_] = widget
|
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:
|
if not session:
|
||||||
# Don't use previous session if we want to a specific resource
|
# Don't use previous session if we want to a specific resource
|
||||||
# and it's not the same
|
# and it's not the same
|
||||||
|
@ -1604,22 +1612,22 @@ class ChatControl(ChatControlBase):
|
||||||
def set_video_state(self, state, sid=None, reason=None):
|
def set_video_state(self, state, sid=None, reason=None):
|
||||||
self._set_jingle_state('video', state, sid=sid, reason=reason)
|
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(
|
session = gajim.connections[self.account].get_jingle_session(
|
||||||
self.contact.get_full_jid(), self.audio_sid)
|
self.contact.get_full_jid(), self.audio_sid)
|
||||||
content = session.get_content('audio')
|
return session.get_content('audio')
|
||||||
content._start_dtmf(num)
|
|
||||||
|
def on_num_button_pressed(self, widget, num):
|
||||||
|
self._get_audio_content()._start_dtmf(num)
|
||||||
|
|
||||||
def on_num_button_released(self, released):
|
def on_num_button_released(self, released):
|
||||||
session = gajim.connections[self.account].get_jingle_session(
|
self._get_audio_content()._stop_dtmf()
|
||||||
self.contact.get_full_jid(), self.audio_sid)
|
|
||||||
content = session.get_content('audio')
|
|
||||||
content._stop_dtmf()
|
|
||||||
|
|
||||||
def on_mic_hscale_value_changed(self, widget, scroll_type):
|
def on_mic_hscale_value_changed(self, widget):
|
||||||
pass
|
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
|
pass
|
||||||
|
|
||||||
def on_avatar_eventbox_enter_notify_event(self, widget, event):
|
def on_avatar_eventbox_enter_notify_event(self, widget, event):
|
||||||
|
|
|
@ -257,6 +257,12 @@ class JingleAudio(JingleRTPContent):
|
||||||
JingleRTPContent.__init__(self, session, 'audio', transport)
|
JingleRTPContent.__init__(self, session, 'audio', transport)
|
||||||
self.setup_stream()
|
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):
|
def setup_stream(self):
|
||||||
JingleRTPContent.setup_stream(self)
|
JingleRTPContent.setup_stream(self)
|
||||||
|
|
||||||
|
@ -281,7 +287,7 @@ class JingleAudio(JingleRTPContent):
|
||||||
'audioconvert ! %s', _("audio output"))
|
'audioconvert ! %s', _("audio output"))
|
||||||
|
|
||||||
self.mic_volume = src_bin.get_by_name('gajim_vol')
|
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
|
# link gst elements
|
||||||
self.pipeline.add(self.sink, src_bin)
|
self.pipeline.add(self.sink, src_bin)
|
||||||
|
@ -333,4 +339,4 @@ def get_content(desc):
|
||||||
|
|
||||||
contents[xmpp.NS_JINGLE_RTP] = get_content
|
contents[xmpp.NS_JINGLE_RTP] = get_content
|
||||||
|
|
||||||
# vim: se ts=3:
|
# vim: se ts=3:
|
||||||
|
|
Loading…
Add table
Reference in a new issue