Commit d584a00c authored by David Trattnig's avatar David Trattnig
Browse files

Activate and deactivate channel.

parent d455d410
......@@ -28,7 +28,10 @@ from modules.communication.liquidsoap.client import LiquidSoapClient
class LiquidSoapPlayerClient(LiquidSoapClient):
# ------------------------------------------------------------------------------------------ #
#
# Mixer
#
def mixer(self, command, *args):
if command == "status":
return self.mixerstatus(*args)
......@@ -37,27 +40,83 @@ class LiquidSoapPlayerClient(LiquidSoapClient):
return self.mixerinputs()
if command == "volume":
return self.mixervolume(*args)
return self.mixer_volume(*args)
if command == "select":
if len(args) == 2:
return self.mixerselect(args[0], args[1])
return self.mixer_select(args[0], args[1])
if command == "activate":
if len(args) == 2:
return self.mixer_activate(args[0], args[1])
return "LiquidSoapPlayerClient does not understand mixer."+command+str(args)
# ------------------------------------------------------------------------------------------ #
def recorder(self, num, command, *args):
if command == "status":
return self.recorderstatus(num)
def mixerinputs(self):
# send command
self.command("mixer", "inputs")
if command == "start":
return self.recorderstart(num)
# convert to list and return it
return self.message.strip().split(' ')
if command == "stop":
return self.recorderstop(num)
# ------------------------------------------------------------------------------------------ #
def mixerstatus(self, pos=""):
"""
Get state of a source in the mixer
@type pos: string
@param pos: Mixerposition
@rtype: string
@return: Response from LiquidSoap
"""
self.command("mixer", "status", str(pos))
return self.message
return "LiquidSoapPlayerClient does not understand mixer." + command + str(args)
def mixer_volume(self, pos, volume):
"""
Sets some mixer channel to the given volume
Args:
pos (Integer): The channel number
volume (Integer): The volume
Returns:
(String): Liquidsoap server response
"""
self.command("mixer", "volume", str(pos) + " " + str(volume))
return self.message
def mixer_select(self, pos, select):
"""
Selects some mixer channel or vice versa.
Args:
pos (Integer): The channel number
select (Boolean): Select or deselect
Returns:
(String): Liquidsoap server response
"""
self.command("mixer", "select", str(pos) + " " + str(select).lower())
return self.message
def mixer_activate(self, pos, activate):
"""
Selects some mixer channel and increases the volume to 100 or vice versa.
Args:
pos (Integer): The channel number
activate (Boolean): Activate or deactivate
Returns:
(String): Liquidsoap server response
"""
self.command("mixer", "activate", str(pos) + " " + str(activate).lower())
return self.message
#
......@@ -66,10 +125,11 @@ class LiquidSoapPlayerClient(LiquidSoapClient):
def playlist_push(self, channel, uri):
"""
Pushs the passed file URI to the playlist channel.
Pushes the passed file URI to the playlist channel.
Args:
channel (String): Liquidsoap Channel ID
uri (String): Path to the file
"""
self.command(channel, 'push', uri)
return self.message
......@@ -183,51 +243,19 @@ class LiquidSoapPlayerClient(LiquidSoapClient):
return self.message
# ------------------------------------------------------------------------------------------ #
def mixerinputs(self):
# send command
self.command("mixer", "inputs")
def recorder(self, num, command, *args):
if command == "status":
return self.recorderstatus(num)
# convert to list and return it
return self.message.strip().split(' ')
if command == "start":
return self.recorderstart(num)
# ------------------------------------------------------------------------------------------ #
def mixerstatus(self, pos=""):
"""
Get state of a source in the mixer
@type pos: string
@param pos: Mixerposition
@rtype: string
@return: Response from LiquidSoap
"""
self.command("mixer", "status", str(pos))
return self.message
if command == "stop":
return self.recorderstop(num)
# ------------------------------------------------------------------------------------------ #
def mixerselect(self, pos, activate):
"""
Kanal/Source aktivieren
@type pos: string
@param pos: Die Position
@type namespace: string
@param namespace: Namespace der Source
@rtype: string
@return: Die Antwort des Liquidsoap-Servers
"""
self.command("mixer", "select", str(pos) + " " + str(activate).lower())
return self.message
return "LiquidSoapPlayerClient does not understand mixer." + command + str(args)
# ------------------------------------------------------------------------------------------ #
def mixervolume(self, pos, volume):
"""
set channel volume
:param pos:
:param volume:
:return:
"""
self.command("mixer", "volume", str(pos) + " " + str(volume))
return self.message
# ------------------------------------------------------------------------------------------ #
# def recorderstatus(self, num):
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment