audio: Define mixer_scale in _setup_mixer
This commit is contained in:
parent
6d8a8a7902
commit
81a76bfd92
@ -41,6 +41,7 @@ class Audio(pykka.ThreadingActor):
|
|||||||
self._playbin = None
|
self._playbin = None
|
||||||
self._mixer = None
|
self._mixer = None
|
||||||
self._mixer_track = None
|
self._mixer_track = None
|
||||||
|
self._mixer_scale = None
|
||||||
self._software_mixing = False
|
self._software_mixing = False
|
||||||
self._appsrc = None
|
self._appsrc = None
|
||||||
self._volume_set = None
|
self._volume_set = None
|
||||||
@ -150,6 +151,8 @@ class Audio(pykka.ThreadingActor):
|
|||||||
|
|
||||||
self._mixer = mixer
|
self._mixer = mixer
|
||||||
self._mixer_track = track
|
self._mixer_track = track
|
||||||
|
self._mixer_scale = (
|
||||||
|
self._mixer_track.min_volume, self._mixer_track.max_volume)
|
||||||
logger.info(
|
logger.info(
|
||||||
'Audio mixer set to "%s" using track "%s"',
|
'Audio mixer set to "%s" using track "%s"',
|
||||||
mixer.get_factory().get_name(), track.label)
|
mixer.get_factory().get_name(), track.label)
|
||||||
@ -390,15 +393,13 @@ class Audio(pykka.ThreadingActor):
|
|||||||
avg_volume = float(sum(volumes)) / len(volumes)
|
avg_volume = float(sum(volumes)) / len(volumes)
|
||||||
|
|
||||||
internal_scale = (0, 100)
|
internal_scale = (0, 100)
|
||||||
mixer_scale = (
|
|
||||||
self._mixer_track.min_volume, self._mixer_track.max_volume)
|
|
||||||
|
|
||||||
if self._volume_set is not None and self._rescale(self._volume_set,
|
if self._volume_set is not None and self._rescale(self._volume_set,
|
||||||
old=internal_scale, new=mixer_scale) == avg_volume:
|
old=internal_scale, new=self._mixer_scale) == avg_volume:
|
||||||
return self._volume_set
|
return self._volume_set
|
||||||
else:
|
else:
|
||||||
return self._rescale(
|
return self._rescale(
|
||||||
avg_volume, old=mixer_scale, new=internal_scale)
|
avg_volume, old=self._mixer_scale, new=internal_scale)
|
||||||
|
|
||||||
def set_volume(self, volume):
|
def set_volume(self, volume):
|
||||||
"""
|
"""
|
||||||
@ -418,10 +419,9 @@ class Audio(pykka.ThreadingActor):
|
|||||||
self._volume_set = volume
|
self._volume_set = volume
|
||||||
|
|
||||||
internal_scale = (0, 100)
|
internal_scale = (0, 100)
|
||||||
mixer_scale = (
|
|
||||||
self._mixer_track.min_volume, self._mixer_track.max_volume)
|
|
||||||
|
|
||||||
volume = self._rescale(volume, old=internal_scale, new=mixer_scale)
|
volume = self._rescale(
|
||||||
|
volume, old=internal_scale, new=self._mixer_scale)
|
||||||
|
|
||||||
volumes = (volume,) * self._mixer_track.num_channels
|
volumes = (volume,) * self._mixer_track.num_channels
|
||||||
self._mixer.set_volume(self._mixer_track, volumes)
|
self._mixer.set_volume(self._mixer_track, volumes)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user