Merge branch 'develop' into feature/nad-hardware-mixer

This commit is contained in:
Stein Magnus Jodal 2012-09-08 22:17:50 +02:00
commit b3f177fff4
2 changed files with 48 additions and 40 deletions

View File

@ -1,3 +1,43 @@
import pygst
pygst.require('0.10')
import gst
import gobject
def create_track(label, initial_volume, min_volume, max_volume,
num_channels, flags):
class Track(gst.interfaces.MixerTrack):
def __init__(self):
super(Track, self).__init__()
self.volumes = (initial_volume,) * self.num_channels
@gobject.property
def label(self):
return label
@gobject.property
def min_volume(self):
return min_volume
@gobject.property
def max_volume(self):
return max_volume
@gobject.property
def num_channels(self):
return num_channels
@gobject.property
def flags(self):
return flags
return Track()
# Import all mixers so that they are registered with GStreamer.
#
# Keep these imports at the bottom of the file to avoid cyclic import problems
# when mixers use the above code.
from mopidy.mixers.auto import AutoAudioMixer from mopidy.mixers.auto import AutoAudioMixer
from mopidy.mixers.fake import FakeMixer from mopidy.mixers.fake import FakeMixer
from mopidy.mixers.nad import NadMixer from mopidy.mixers.nad import NadMixer

View File

@ -3,35 +3,7 @@ pygst.require('0.10')
import gobject import gobject
import gst import gst
from mopidy.mixers import create_track
def create_fake_track(label, initial_volume, min_volume, max_volume,
num_channels, flags):
class Track(gst.interfaces.MixerTrack):
def __init__(self):
super(Track, self).__init__()
self.volumes = (initial_volume,) * self.num_channels
@gobject.property
def label(self):
return label
@gobject.property
def min_volume(self):
return min_volume
@gobject.property
def max_volume(self):
return max_volume
@gobject.property
def num_channels(self):
return num_channels
@gobject.property
def flags(self):
return flags
return Track()
class FakeMixer(gst.Element, gst.ImplementsInterface, gst.interfaces.Mixer): class FakeMixer(gst.Element, gst.ImplementsInterface, gst.interfaces.Mixer):
@ -41,15 +13,10 @@ class FakeMixer(gst.Element, gst.ImplementsInterface, gst.interfaces.Mixer):
'Thomas Adamcik') 'Thomas Adamcik')
track_label = gobject.property(type=str, default='Master') track_label = gobject.property(type=str, default='Master')
track_initial_volume = gobject.property(type=int, default=0) track_initial_volume = gobject.property(type=int, default=0)
track_min_volume = gobject.property(type=int, default=0) track_min_volume = gobject.property(type=int, default=0)
track_max_volume = gobject.property(type=int, default=100) track_max_volume = gobject.property(type=int, default=100)
track_num_channels = gobject.property(type=int, default=2) track_num_channels = gobject.property(type=int, default=2)
track_flags = gobject.property(type=int, track_flags = gobject.property(type=int,
default=(gst.interfaces.MIXER_TRACK_MASTER | default=(gst.interfaces.MIXER_TRACK_MASTER |
gst.interfaces.MIXER_TRACK_OUTPUT)) gst.interfaces.MIXER_TRACK_OUTPUT))
@ -58,12 +25,13 @@ class FakeMixer(gst.Element, gst.ImplementsInterface, gst.interfaces.Mixer):
gst.Element.__init__(self) gst.Element.__init__(self)
def list_tracks(self): def list_tracks(self):
track = create_fake_track(self.track_label, track = create_track(
self.track_initial_volume, self.track_label,
self.track_min_volume, self.track_initial_volume,
self.track_max_volume, self.track_min_volume,
self.track_num_channels, self.track_max_volume,
self.track_flags) self.track_num_channels,
self.track_flags)
return [track] return [track]
def get_volume(self, track): def get_volume(self, track):