From 3d9b2b5ed011f1395318b8f73b32835dfde45e7b Mon Sep 17 00:00:00 2001 From: Gianluca Barbaro Date: Sat, 14 Jan 2017 22:30:24 +0100 Subject: [PATCH 1/4] Update vlc.py Added support for additional optional configuration arguments: to send to vlc. It is useful for special configurations of VLC. For example, I have two sound cards on my server, so I defined two vlc media players: media_player: - platform: vlc name: speaker_1 arguments: '--alsa-audio-device=hw:1,0' - platform: vlc name: speaker_2 arguments: '--alsa-audio-device=hw:0,0' This way, by specifying the corresponding entity_id, I can send the output to the desired speaker. It is also useful for TTS. --- homeassistant/components/media_player/vlc.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/homeassistant/components/media_player/vlc.py b/homeassistant/components/media_player/vlc.py index 3398e7093cc..909dfe0fd77 100644 --- a/homeassistant/components/media_player/vlc.py +++ b/homeassistant/components/media_player/vlc.py @@ -20,28 +20,30 @@ REQUIREMENTS = ['python-vlc==1.1.2'] _LOGGER = logging.getLogger(__name__) +ADDITIONAL_ARGS = 'arguments' SUPPORT_VLC = SUPPORT_PAUSE | SUPPORT_VOLUME_SET | SUPPORT_VOLUME_MUTE | \ SUPPORT_PLAY_MEDIA | SUPPORT_PLAY PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({ vol.Optional(CONF_NAME): cv.string, + vol.Optional(ADDITIONAL_ARGS): cv.string, }) # pylint: disable=unused-argument def setup_platform(hass, config, add_devices, discovery_info=None): """Setup the vlc platform.""" - add_devices([VlcDevice(config.get(CONF_NAME))]) + add_devices([VlcDevice(config.get(CONF_NAME), config.get(ADDITIONAL_ARGS))]) class VlcDevice(MediaPlayerDevice): """Representation of a vlc player.""" - def __init__(self, name): + def __init__(self, name, arguments): """Initialize the vlc device.""" import vlc - self._instance = vlc.Instance() + self._instance = vlc.Instance(arguments) self._vlc = self._instance.media_player_new() self._name = name self._volume = None From 7436a969789cf0f534a398e1ca5bb7cd59fa9adb Mon Sep 17 00:00:00 2001 From: Gianluca Barbaro Date: Sat, 14 Jan 2017 22:32:50 +0100 Subject: [PATCH 2/4] Update vlc.py --- homeassistant/components/media_player/vlc.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/homeassistant/components/media_player/vlc.py b/homeassistant/components/media_player/vlc.py index 909dfe0fd77..d5d927e5ff8 100644 --- a/homeassistant/components/media_player/vlc.py +++ b/homeassistant/components/media_player/vlc.py @@ -34,7 +34,8 @@ PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({ # pylint: disable=unused-argument def setup_platform(hass, config, add_devices, discovery_info=None): """Setup the vlc platform.""" - add_devices([VlcDevice(config.get(CONF_NAME), config.get(ADDITIONAL_ARGS))]) + add_devices([VlcDevice(config.get(CONF_NAME), + config.get(ADDITIONAL_ARGS))]) class VlcDevice(MediaPlayerDevice): From 8013963784abfa1b626385b8556b5a47e5557654 Mon Sep 17 00:00:00 2001 From: Gianluca Barbaro Date: Sat, 14 Jan 2017 23:31:17 +0100 Subject: [PATCH 3/4] Update vlc.py --- homeassistant/components/media_player/vlc.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/homeassistant/components/media_player/vlc.py b/homeassistant/components/media_player/vlc.py index d5d927e5ff8..7ec0fb0ef65 100644 --- a/homeassistant/components/media_player/vlc.py +++ b/homeassistant/components/media_player/vlc.py @@ -20,14 +20,14 @@ REQUIREMENTS = ['python-vlc==1.1.2'] _LOGGER = logging.getLogger(__name__) -ADDITIONAL_ARGS = 'arguments' +CONF_ARGUMENTS = 'arguments' SUPPORT_VLC = SUPPORT_PAUSE | SUPPORT_VOLUME_SET | SUPPORT_VOLUME_MUTE | \ SUPPORT_PLAY_MEDIA | SUPPORT_PLAY PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({ vol.Optional(CONF_NAME): cv.string, - vol.Optional(ADDITIONAL_ARGS): cv.string, + vol.Optional(CONF_ARGUMENTS): cv.string, }) @@ -35,7 +35,7 @@ PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({ def setup_platform(hass, config, add_devices, discovery_info=None): """Setup the vlc platform.""" add_devices([VlcDevice(config.get(CONF_NAME), - config.get(ADDITIONAL_ARGS))]) + config.get(CONF_ARGUMENTS))]) class VlcDevice(MediaPlayerDevice): From d998cba6a2fa2359ad96905f200575fb34530a9a Mon Sep 17 00:00:00 2001 From: Gianluca Barbaro Date: Sun, 15 Jan 2017 01:35:46 +0100 Subject: [PATCH 4/4] Update vlc.py Added default value for "arguments" --- homeassistant/components/media_player/vlc.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/homeassistant/components/media_player/vlc.py b/homeassistant/components/media_player/vlc.py index 7ec0fb0ef65..711c8c74422 100644 --- a/homeassistant/components/media_player/vlc.py +++ b/homeassistant/components/media_player/vlc.py @@ -27,7 +27,7 @@ SUPPORT_VLC = SUPPORT_PAUSE | SUPPORT_VOLUME_SET | SUPPORT_VOLUME_MUTE | \ PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({ vol.Optional(CONF_NAME): cv.string, - vol.Optional(CONF_ARGUMENTS): cv.string, + vol.Optional(CONF_ARGUMENTS, default=''): cv.string, })