Coder Social home page Coder Social logo

luckydonald / shairport-decoder Goto Github PK

View Code? Open in Web Editor NEW
19.0 5.0 5.0 265 KB

Decodes meta information send by shairport sync, an airplay server. Provides an API, or an example Webserver serving the information. Python.

License: GNU Lesser General Public License v3.0

Python 100.00%
airplay-server shairport-sync python webserver shairport-decoder shairport android gui web webgui

shairport-decoder's Introduction

shairport-decoder

Decodes meta information send by shairport sync, an airplay server. Provides an API, or an example Webserver serving the information.

API

This mainly is a package for use with python. See DOCUMENTATION.md.

Picture of the Webserver in action:

Also comes with an example webserver, so you can see with any device what is playing right now. Here it is In action And a screenshot

Note, the no-cover image is based on a vector from namelesshero2222

shairport-decoder's People

Contributors

luckydonald avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

shairport-decoder's Issues

Cover art crashes program on track change

When launching simple_print.py The metadata loads fine, but when the track changes the program crashes.

Unknown shairport-sync core (ssnc) code "pcst", with base64 data MjEzMDk0NDA5OQ==.

Looks like when the metadata.py file tries to write the cover art in line 98

file.write(self.songcoverart.binary). # this is not base64!

It references tempfile.py

return func(*args, **kwargs)
TypeError: a bytes-like object is required, not 'NoneType'

It seems like it's not recognizing newer Airplay codes, possibly since Airplay has been updated since you created this.

Support

Hi,
It seems you've done a great job in implementing that which a lot of other people are struggling with.

I'm new to Pi and Python and would like to understand a little bit more about how to implement your work.

Would you be open to sharing some more details?

Best,
Nick

Send commands to clients

Hi,
is there a way to send commands to clients? (Skip, Previous,)
How can i retrieve file position and duration of the current playing track?
I've searched in the issues but no result.

Thanks
Leo

Install fails PipError

Install fails with:

Traceback (most recent call last):
File "/usr/local/lib/python3.2/dist-packages/setuptools-20.7.0-py3.2.egg/setuptools/sandbox.py", line 154, in save_modules
File "/usr/local/lib/python3.2/dist-packages/setuptools-20.7.0-py3.2.egg/setuptools/sandbox.py", line 195, in setup_context
File "/usr/local/lib/python3.2/dist-packages/setuptools-20.7.0-py3.2.egg/setuptools/sandbox.py", line 243, in run_setup
File "/usr/local/lib/python3.2/dist-packages/setuptools-20.7.0-py3.2.egg/setuptools/sandbox.py", line 273, in run
File "/usr/local/lib/python3.2/dist-packages/setuptools-20.7.0-py3.2.egg/setuptools/sandbox.py", line 242, in runner
File "/usr/local/lib/python3.2/dist-packages/setuptools-20.7.0-py3.2.egg/setuptools/sandbox.py", line 46, in _execfile
File "/tmp/easy_install-lzf3hj/luckydonald-utils-0.43/setup.py", line 4, in
from setuptools import setup, find_packages # Always prefer setuptools over distutils
File "/tmp/easy_install-lzf3hj/luckydonald-utils-0.43/luckydonaldUtils/dependencies/init.py", line 3, in
File "/tmp/easy_install-lzf3hj/luckydonald-utils-0.43/luckydonaldUtils/dependencies/install.py", line 2, in
File "/tmp/easy_install-lzf3hj/luckydonald-utils-0.43/luckydonaldUtils/dependencies/pip_interface.py", line 11, in
ImportError: cannot import name PipError

Python3, setuptools, pip3 is installed

What could it be?

Greets
Jacko

Webserver doesn't show cover art

Hey! I'm a python novice but I managed to get the module installed. You've put an amazing amount of work into this, thank you!

The webserver interface doesn't seem to show the cover art. simple-print.py shows the metadata successfully and downloads the cover art, and the webserver correctly displays on port 8080 with the album and track information, but no cover art.

I know you probably haven't looked at this for a while, but I'm wondering if maybe I'm doing something incorrectly on my end, rather than the script being broken. Do you have any pointers?

I'm happy to contribute to the design of the webserver interface if I can get this issue solved!

Edit: Okay, so the album art does appear, just not consistently! This may be an issue on the end of my router, actually.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.