Plexmusic Skill - Test and Feedback


#1

Mycroft is learning how to read Plex media Servers. (Plex Homepage)
I would really appreciate any help to get the skill into the marketplace, feel free to give any kind of feedback to the Sourcecode on GitHub
Nobody should ever be missing features :wink:

Install via msm by typing

msm install https://github.com/colla69/plexmusic-skill.git

I am interested in testing the installation and the synchronization with the PlexMediaServer, as well as the requirements scripts. I work on KDE and have no means to test the functionalities on different devices.

After the installation the skill will try to download metadata from the server. That will only be possible by adding configuration. After you configured the skill you can refresh your library using an intent.

Hey Mycroft, refresh|reload libray

Feel free to reply in the comments or to contact me privately on a.colarietitosti@googlemail.com if you need any help.

Please take a look at the README on github as it contains further information about the configuration and usage of the skill.

I plan to extend functionalities, once i am happy with the VLC-backend. I would like to have it play radio channels as well as being able to add the song i am currently listening to i like to a playlist.

I wish you all happy testing :slight_smile:

colla


#2

Very exciting, thanks colla!

Will try to find some time to give it a test run over the weekend :slight_smile:


#3

Thanks gez :slight_smile:
I read about your AFK time…
congrats :slight_smile:


#4

Super excited about this skill as I don’t have/want to use spotify or any other commercial music service and I have all my music on my plex instance!

I’ll test it this very evening!


#5

It doesn’t work on my settings.

Connected to Messagebus!
17:59:24.769 - Playback Control Skill - INFO - Resolving Player for: Helevorn
17:59:25.121 - Playback Control Skill - INFO -    No matches
  ^--- NEWEST ---^ 

I configured the skill through the https://account.mycroft.ai/skills site, like this


As you can see, I used the internal IP address with the port, instead of the published IP, as I connect plex through https://app.plex.tv


#6

I’ve also tried to edit mycroft.conf and adding the settings, it doesn’t work either.

Is like the skill isn’t properly installed, when I try to refresh library, skill.log says:

18:57:08.969 - QuestionsAnswersSkill - INFO - Searching for refresh library
18:57:10.166 - QuestionsAnswersSkill - INFO - Timeout occured check responses

#7

Hey malevolent :slight_smile: thanks for testing.

try configuring it with the IP ( http://192.168.1.100 ).
It should load your library on startup, it will say something as it is done loading, after that the search should work.
The “refresh library” Intent should also work then, in case it doesn’t try changing the skill priorities in your mycroft.conf .

And let me know if you get it running :wink:


#8

Sorry, I forgot to tell I also tried the URL without the port. No luck.

I don’t know how to change priorities. And that means to set higher priority for plexmusic over Pandora or spotify skills?


#9

hey :slight_smile:

forget the priorities … we’ll fix that problem when and if it arises at all :slight_smile: /
My best guess at the moment is, the skill throws an exception on init and doesn’t load at all :confused:
Would you please try it this way:

-msm uninstall plexmusic-skill > wait for it to uninstall correctly.
-stop mycroft through “stop-mycroft.sh”
-clear the content of /var/log/mycroft/skills.log
-write the configuration in your mycroft.conf

“plexmusic-skill”: {
“musicsource”: “http://192.168,1,100”,
“plextoken”: “----8s6uP----abc4sRYe”,
“plexlib”: “music”,
“ducking”: true
}

-start mycroft through command “mycroft-start.sh debug”
-let the boot process finish > send to me the content of /var/log/mycroft/skills.log

Hopefully I can find out how the problem arises.
Thank you for your help :slight_smile:


#10

Sorry for the late response… I think we’re are on a opposite timezone :pensive:

I had to do it a bit different as you suggested, as I have a Mark I, but I think it will be valid for you:

msm remove plexmusic-skill
systemctl stop mycroft-skills.service
truncate --size=0 /var/log/mycroft/skills.log

Edited mycroft.conf and added the plexmusic-skill section, then:

systemctl start mycroft-skills.service

Here you have the skill.log after everything is up.
https://privatebin.net/?069749a8b24d0554#DPcNVYUvuEWyoz2xmUdRDRrsXHLyAjKrfeB9st1m4YGj

What I didn’t undestood is why you didn’t made me install back plexmusic-skill, so, to save 24h, I repeated the steps but now adding the skill, just in case :wink:

systemctl stop mycroft-skills.service
truncate --size=0 /var/log/mycroft/skills.log
msm install https://github.com/colla69/plexmusic-skill.git

The skill isn’t shown on home.mycroft.ai/skills

systemctl start mycroft-skills.service

And the skills.log:
https://privatebin.net/?4560a23ff2baa59b#DBWkqWTNmv6Sappx12DGgEnZbhoSWUKY2yro1s5n7SCw

Here we can clearly view there is a problem loading the skill

12:34:42.328 - mycroft.skills.core:load_skill:122 - INFO - ATTEMPTING TO LOAD SKILL: plexmusic-skill.colla69 with ID plexmusic-skill.colla69
12:34:43.553 - mycroft.skills.core:load_skill:169 - ERROR - Failed to load skill: plexmusic-skill.colla69
Traceback (most recent call last):
  File "/opt/venvs/mycroft-core/lib/python3.4/site-packages/mycroft/skills/core.py", line 135, in load_skill
    skill = skill_module.create_skill()
  File "/opt/mycroft/skills/plexmusic-skill.colla69/__init__.py", line 370, in create_skill
    return PlexMusicSkill()
  File "/opt/mycroft/skills/plexmusic-skill.colla69/__init__.py", line 168, in __init__
    self.vlc_player.get_media_player().audio_set_volume(100)
  File "/opt/venvs/mycroft-core/lib/python3.4/site-packages/vlc.py", line 2654, in get_media_player
    return libvlc_media_list_player_get_media_player(self)
  File "/opt/venvs/mycroft-core/lib/python3.4/site-packages/vlc.py", line 4926, in libvlc_media_list_player_get_media_player
    ctypes.c_void_p, MediaListPlayer)
  File "/opt/venvs/mycroft-core/lib/python3.4/site-packages/vlc.py", line 246, in _Cfunction
    raise NameError('no function %r' % (name,))
NameError: no function 'libvlc_media_list_player_get_media_player'

By the way, vlc is installed.

pi@mark_1:~ $ dpkg -l| grep vlc
ii  libvlc5                            2.2.7-1~deb8u1                              armhf        multimedia player and streamer library
ii  libvlccore8                        2.2.7-1~deb8u1                              armhf        base library for VLC and its modules
ii  vlc                                2.2.7-1~deb8u1                              armhf        multimedia player and streamer
ii  vlc-data                           2.2.7-1~deb8u1                              all          Common data for VLC
ii  vlc-nox                            2.2.7-1~deb8u1                              armhf        multimedia player and streamer (without X support)
ii  vlc-plugin-notify                  2.2.7-1~deb8u1                              armhf        LibNotify plugin for VLC
ii  vlc-plugin-samba                   2.2.7-1~deb8u1                              armhf        Samba plugin for VLC


#11

I think you need to upload your vlc. I am currently running 3.0.7.1

╭─cola@cola-Desktop ‹system› 
╰─$  dpkg -l| grep vlc

ii  libvlc-bin:amd64                                3.0.7.1-0ubuntu18.04.1                              amd64        tools for VLC's base library
ii  libvlc5:amd64                                   3.0.7.1-0ubuntu18.04.1                              amd64        multimedia player and streamer library
ii  libvlccore9:amd64                               3.0.7.1-0ubuntu18.04.1                              amd64        base library for VLC and its modules
ii  phonon4qt5-backend-vlc:amd64                    0.10.1-2                                            amd64        Phonon4Qt5 VLC backend
ii  vlc                                             3.0.7.1-0ubuntu18.04.1                              amd64        multimedia player and streamer
ii  vlc-bin                                         3.0.7.1-0ubuntu18.04.1                              amd64        binaries from VLC
ii  vlc-data                                        3.0.7.1-0ubuntu18.04.1                              all          common data for VLC
ii  vlc-l10n                                        3.0.7.1-0ubuntu18.04.1                              all          translations for VLC
ii  vlc-plugin-base:amd64                           3.0.7.1-0ubuntu18.04.1                              amd64        multimedia player and streamer (base plugins)
ii  vlc-plugin-notify:amd64                         3.0.7.1-0ubuntu18.04.1                              amd64        LibNotify plugin for VLC
ii  vlc-plugin-qt:amd64                             3.0.7.1-0ubuntu18.04.1                              amd64        multimedia player and streamer (Qt plugin)
ii  vlc-plugin-samba:amd64                          3.0.7.1-0ubuntu18.04.1                              amd64        Samba plugin for VLC
ii  vlc-plugin-skins2:amd64                         3.0.7.1-0ubuntu18.04.1                              amd64        multimedia player and streamer (Skins2 plugin)
ii  vlc-plugin-video-output:amd64                   3.0.7.1-0ubuntu18.04.1                              amd64        multimedia player and streamer (video output plugins)
ii  vlc-plugin-video-splitter:amd64                 3.0.7.1-0ubuntu18.04.1                              amd64        multimedia player and streamer (video splitter plugins)
ii  vlc-plugin-visualization:amd64                  3.0.7.1-0ubuntu18.04.1                              amd64        multimedia player and streamer (visualization plugins)

I hope this fixes the problem :slight_smile: good luck


#12

The I Heart Radio Skill was facing a similar issue with VLC, details are here:

TLDR:
from mycroft.audio.services.vlc import VlcService
https://github.com/johnbartkiw/mycroft-skill-iheartradio/blob/master/init.py


#13

That’s exactly what i was thinking about when i wrote:
“I plan to extend functionalities, once i am happy with the VLC-backend…” :slight_smile:
I read the VlcService code and it has all the functionalities I originally had in mind :sparkler::tada:

Thank you, a lot :slight_smile:


#14

Hey @malevolent , i just swapped my VLC service with the one suggested by @gez-mycroft.

Could please reinstall the skill, and let me know if it solves your problem?
( Just to be sure…
you should be using commit a9dc40ff77ef7125e8e81046c15e05e8dca2a99c or later :wink: )

Thank you both, :slight_smile:
colla


#15

Unfortunately, Mark I is still on Debian 8. And its VLC its frozen at version 2.2.
So no luck until Mark I will be upgraded to Debian 10 (hopefully some day)…

I can try the skill on arch linux, but it would have been great to listen music directly on the Mark I.