keizerdev / rhythmbox-chromecast Goto Github PK
View Code? Open in Web Editor NEWSend all your music to your Chromecast (Audio) within Rhythmbox
License: MIT License
Send all your music to your Chromecast (Audio) within Rhythmbox
License: MIT License
Hi,
When I try to enable it freezes with the following:
[libprotobuf FATAL google/protobuf/stubs/common.cc:61] This program requires version 3.8.0 of the Protocol Buffer runtime library, but the installed version is 2.6.1. Please update your library. If you compiled the program yourself, make sure that your headers are from the same version of Protocol Buffers as your link-time library. (Version verification failed in "google/protobuf/descriptor.pb.cc".)
terminate called after throwing an instance of 'google::protobuf::FatalException'
what(): This program requires version 3.8.0 of the Protocol Buffer runtime library, but the installed version is 2.6.1. Please update your library. If you compiled the program yourself, make sure that your headers are from the same version of Protocol Buffers as your link-time library. (Version verification failed in "google/protobuf/descriptor.pb.cc".)
Aborted (core dumped)
Although the newest PyChromeCast is installed under both python versions.
Any idea?
L
Bash script gives
bash: line 2: cd: /home/username/.local/share/rhythmbox/plugins/: No such file or directory
I understand I can create this directory, but it could be tested and created from the script1
After creating the dir it gives:
bash: line 8: pip: command not found
So I have to run sudo apt-get install python-pip
This can be tested too
Whenever I run pip install -r requirements.txt
, I get the following errors (preceded by good output). Not sure what to do.
If somone could help me out, I'm sure it's some simple solution.
Building wheels for collected packages: casttube, ifaddr
Running setup.py bdist_wheel for casttube ... error
Complete output from command /usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-OA8G1x/casttube/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/tmpI1sM9Vpip-wheel- --python-tag cp27:
usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: -c --help [cmd1 cmd2 ...]
or: -c --help-commands
or: -c cmd --help
error: invalid command 'bdist_wheel'
----------------------------------------
Failed building wheel for casttube
Running setup.py clean for casttube
Running setup.py bdist_wheel for ifaddr ... error
Complete output from command /usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-OA8G1x/ifaddr/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/tmpNBtp_jpip-wheel- --python-tag cp27:
usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: -c --help [cmd1 cmd2 ...]
or: -c --help-commands
or: -c cmd --help
error: invalid command 'bdist_wheel'
----------------------------------------
Failed building wheel for ifaddr
Running setup.py clean for ifaddr
Failed to build casttube ifaddr
Installing collected packages: urllib3, certifi, chardet, idna, requests, casttube, six, setuptools, protobuf, typing, ipaddress, ifaddr, zeroconf, pychromecast
Running setup.py install for casttube ... done
Running setup.py install for ifaddr ... done
Successfully installed casttube-0.2.0 certifi-2019.3.9 chardet-3.0.4 idna-2.8 ifaddr-0.1.6 ipaddress-1.0.22 protobuf-3.7.1 pychromecast-3.0.0 requests-2.21.0 setuptools-40.8.0 six-1.12.0 typing-3.6.6 urllib3-1.24.1 zeroconf-0.21.3
Send title, artist, cover to Chromecast when playing
This causes Rhythmbox to crash, in current situation. When moving to something different for this I think it will be better. Even when starting Rhythmbox with this plugin, it takes a bit, because it is first going to connect to a chromecast on the main thread.
This should be toggleable (see #2)
Hi,
I've just read your notes and it looks interesting so I may check this out within the next days. However it would be like the first time I'd work with chromecast devices and networks. Should be fun!
So the idea is to add an entry (or kind of) to the menu to list the available Chromecasts and have sound being played on it... Alright! (;
EDIT: By the way, why is the repo private?
It seems like this plugin isn't maintained anymore, but for anyone trying to install it on a newer version of Ubuntu/other distro, there are a few things that have changed in the pychromecast API.
They are all clearly spelled out in the traceback:
File "/home/amr/.local/share/rhythmbox/plugins/chromecast/Chromecast.py", line 33, in do_activate
self.source.setup()
File "/home/amr/.local/share/rhythmbox/plugins/chromecast/ChromecastSource.py", line 49, in setup
self.chromecast = pychromecast.get_chromecast(friendly_name=Prefs.chromecastName)
AttributeError: module 'pychromecast' has no attribute 'get_chromecast'
Traceback (most recent call last):
File "/home/amr/.local/share/rhythmbox/plugins/chromecast/Chromecast.py", line 39, in do_deactivate
self.source.uninstall()
File "/home/amr/.local/share/rhythmbox/plugins/chromecast/ChromecastSource.py", line 85, in uninstall
self.server.shutdown()
AttributeError: 'ChromecastSource' object has no attribute 'server'
Traceback (most recent call last):
File "/home/amr/.local/share/rhythmbox/plugins/chromecast/Chromecast.py", line 33, in do_activate
self.source.setup()
File "/home/amr/.local/share/rhythmbox/plugins/chromecast/ChromecastSource.py", line 49, in setup
self.chromecast = pychromecast.get_chromecast(friendly_name=Prefs.chromecastName)
AttributeError: module 'pychromecast' has no attribute 'get_chromecast'```
Fixing these will probably actually be quite easy, and if I can find the time I will try and fix it and submit a pull request. If the dev doesn't check this account anymore I will post a link to my fork here.
Greetings,
This is a great idea for an application.
I've tried it out on my Ubuntu 16.04 laptop and it's streaming to my stereo (using ChromeCast).
But, Rhythmbox freezes for about one minute after any song is selected. This is not the same freeze that happens when it's connecting to the Chromecast receiver. After it's connected and playing a song, it freezes RhythmBox -- for every song. After a minute Rhythmbox will let me pick other songs. But then the cycle begins again once another song is picked.
Also, the volume controls appear to have no effect -- it appears to be sending my music over Chromecast at max volume. This could cause trouble for people with delicate stereo gear.
Installed plugin using the readme instructions, I get this console error when trying to enable the plugin in Rhythmbox (also a red minus icon in the plugin list):
File "/home/jesse/.local/share/rhythmbox/plugins/chromecast/Chromecast.py", line 9, in <module>
import ChromecastSource
File "/home/jesse/.local/share/rhythmbox/plugins/chromecast/ChromecastSource.py", line 4, in <module>
import pychromecast
ImportError: No module named 'pychromecast'
However, when I enter a Python shell manually from command line and 'import pychromecast' I get no errors - doesn't seem to matter which directory I'm in (tried it from home directory, and from inside the rhythmbox plugin directory).
Ubuntu 16.04 LTS
Hi everybody,
it seem that the plugin do not work for me...
Traceback (most recent call last):
File "/home/powabanga/.local/share/rhythmbox/plugins/chromecast/Chromecast.py", line 33, in do_activate
self.source.setup()
File "/home/powabanga/.local/share/rhythmbox/plugins/chromecast/ChromecastSource.py", line 49, in setup
self.chromecast = pychromecast.get_chromecast(friendly_name=Prefs.chromecastName)
AttributeError: module 'pychromecast' has no attribute 'get_chromecast'
Does anybody can help me to fix that ?
What should the IP and port numbers be in Prefs.py
?
Is it the IP of the Chromecast device on the wifi network? How do I know what port to use? The port seems to be specified twice in the sample Prefs.py
(8000). Is that redundant?
Port and ip settings
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.