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)
That’s exactly what i was thinking about when i wrote:
“I plan to extend functionalities, once i am happy with the VLC-backend…”
I read the VlcService code and it has all the functionalities I originally had in mind
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 )
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.
Thanks for the note, Malevolent. I too am a Mark I user, and also very interesting in Plex capability. That would be really fun functionality to add to Mycroft, and one of those features that could be a real differentiator (with respect to the other “big” names in digital assistant/voice automaton/etc).
I tried this skill on an arch linux desktop. It doesn’t install via mycroft-msm, and git cloning the repo and pip installing the requirements, either work
Traceback (most recent call last):
File "/home/malevolent/development/mycroft-core/mycroft/skills/skill_loader.py", line 204, in _load_skill_source
skill_module = imp.load_module(
File "/usr/lib/python3.8/imp.py", line 234, in load_module
return load_source(name, filename, file)
File "/usr/lib/python3.8/imp.py", line 171, in load_source
module = _load(spec)
File "<frozen importlib._bootstrap>", line 702, in _load
File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 779, in exec_module
File "<frozen importlib._bootstrap_external>", line 916, in get_code
File "<frozen importlib._bootstrap_external>", line 846, in source_to_code
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/opt/mycroft/skills/plexmusic-skill/__init__.py", line 22
<<<<<<< Updated upstream
^
SyntaxError: invalid syntax
19:31:24.538 | ERROR | 217249 | mycroft.skills.skill_loader:_communicate_load_status:287 | Skill plexmusic-skill failed to load
I corrected the errors … that is kind of embarassing i should have foreseen that happening.
I also had to install a new Mycroft device and set it up from scratch, it had some problems loading the configuration.
It eventually loaded the values after a couple restarts.
You can see that the configuration hasn’t loaded right when it logs:
connecting to:
Without any content.
If you still have the motivation to do so you should be able to test it now.
I broke it as i was implementing a set of new features that are still missing documentation, they should be working now.
by search -> “Hey Mycroft, play {Title} by {Author}”
If you had the skill running before you should reload the config to get the new search keys built. Call “Hey Mycroft, reload library” and wait for it to confirm completition.
random music -> “Hey Mycroft, play [some] random music”
it will shuffle all the titles from your library
add to playlist -> “Hey Mycroft, add to playlist {playlistName}”
will add the title you are listening to to the named playlist. The playlist needs to exist and be loaded in your local config. so if you add a playlist after downloading your track list. you should “Hey Mycroft, reload library” before you can add anything to it.
Let me know how it goes I am happy to get any kind of contribuition.
Have a Nice Weekend and Happy Testing!
EDIT: added explanation for reloading config to init by search on an existing installation
sorry, it appeared after a few minutes on home.mycroft.ai, but it doesn’t create any directory under ~/.mycroft/skills, so I cannot configure it manually.
On the other hand it seems to conflict with News skill and youtube skill. I’ve removed both of them, but still fails with this error:
19:00:17.232 | INFO | 75232 | mesh-skill:send_MQTT:226 | address: 192.168.1.100, Port: 1883
19:00:17.649 | INFO | 75232 | Playback Control Skill | Resolving Player for: autumn tears
~~~~INFO | 75232 | mycroft.util:wait_while_speaking:58 | mycroft.utils.wait_while_speaking() is depreciated, use mycroft.audio.wait_while_speaking() instead.
19:00:17.652 | INFO | 75232 | mesh-skill:send_MQTT:224 | MQTT: Mycroft/RemoteDevices/c8600098ed99/response, "Just a second"
19:00:17.652 | INFO | 75232 | mesh-skill:send_MQTT:226 | address: 192.168.1.100, Port: 1883
19:00:17.654 | INFO | 75232 | mesh-skill:handle_speak:206 | Response Location Length: 0
Plex Music skill
Title 0.000000
Artist 0
Album 0
Playlist 0
by Search 0
It seems it did not create any music lists …
could you please try reloading by “reload library” and send me the log?
it should spam the logs with all the songs its loading one after the other … when it’s done it will say “we are ready to roll” or something similar.
it should create a folder ~/.config/plexSkill and a json in it, containing info on your music.
could you check if that is happening?
that’s the information it’s going to use to respond to your queries.
Something happened after installing this skill, don’t know if it was a coincidence but my mycroft instance stopped working completely, it didn’t respond to anything, weird.
Search works impressively well. As I am not an English speaker, I expected to have issues it understood the 100% of the searches I did, even mycroft itself didn’t understand me well. For instance when I say “play the garden of dreams from autumn tears”, Mycroft understands
play the garden of dreams from out to theaters
The skill says:
Plex Music skill
Title The Garden Of Crystalline Dreams - Act One 63.000000
Artist Lethian Dreams (FRA) 50
Album The Gardens Of Soulles (Split Ankhagram & Renascentia) 53
Playlist 0
by Search The Garden Of Crystalline Dreams - Act One by Autumn Tears 63
And plays the proper album: The Garden Of Crystalline Dreams - Act One
Which is impressive, because I forgot to mention “crystalline” in the title and mycroft understood “out of theaters” instead “autumn tears” (yes, my pronunciation sucks).
I guess all those “Title”, “Artist”, “Album”, and so means all the matches and the probability.
Saying “next song” works!
The not-so-good
When I say to play a single song, it plays one time after another. I did the test and it plays the same song three times. I think it should play just once if I don’t say to play it endlessly or N times.
When I say to play an album, it plays the album randomly, I think people like me with some years in his back, used to CDs or vinyls, are more used to listen the album songs in order.
When I say “play random music”, it plays the News, not music. It works as expected when I say “play some random music”, though.
Ideas and nice-to-have
As my coding skills are too poor to contribute by coding, I can contribute with a few ideas that can make this skill even more awesome.
When I say “previous song” does nothing, it would be nice to tell mycroft “play previous song again”
It would be nice to obtain some info of the current song. On Mark II/Desktop Mycroft instances they will show this information on the screen, even on the Mark I the info could be displayed on its LED screen. But telling something like “what song is playing” and let mycroft speak the title and album, or “what is this artist”/“who is playing this song” would be awesome for people like me who has hundreds of albums and many of them listened a handful of times to recognize even the artist.
Support for multiple libraries and shared libraries. As a hardcore plex user, I have a premium account and have multiple users in my home, so my stuff doesn’t mess with my wife’s one, but I would like her to listen her music as well. The way I do this is by creating several libraries with my admin account, one for me and one for her, and sharing her library to her account. I have also several libraries from other plex accounts, shared with me. Currently I can just listen my own library, so she cannot listen her music nor I can hear my friend’s libraries.
Play best rated artist/albums. In plex, you can rate from 1 to 5 stars the song, the album or the artist. It would be great to say “play the best rated songs”, “play best rated albums” or “play best rated artists” so you can listen what you like most.
Rate current song, album or artist from 1 to 5 stars
Play by mood. In plex, you can set the “mood” of a track, album or artist. So you can listen music by tags.
Add tag to current track, album or artist with "set mood to this song|album|artist to <tag>"
In general, I’m quite impressed how well and fast this skill works. I HATE cloud services where I cannot find almost any artist I listen (the genres I listen are very underground) and I have to buy all the discs by myself, so I refuse to pay for a streaming service which can offer a poor selection of artists and I also hate not owning my own content.
Very, very good job. I’m going to use this skill as everyday skill.
Thank you very much!
That kind of error “playback error” comes directly out of the VLC Backend.
sadly I have no idea when and why… anyways it normally works on a second call…
if it is in fact reproducible on a single title, then it means there’s some problem with the saved link…
moving music in PMS without “reload library” could also bring your links out of sync.
i am still thinking how to get a fast cache working … but i don’t see that happening anytime soon