Skip to main content

Play radio. Style your App.

Project description

Eisenradio - a Web radio expandable collection

  • Organize your web radios; delete and update, backup and restore
  • Style your app with pictures, import a poem, song text, or a funny comment to have a good time
  • Create a shuffled playlist of your local audio files in seconds
  • More action, a ping variable shows the response time and a spectrum analyser the frequency range
  • Travel through the app at breakneck speed, thanks to the smart design of the controls
  • Android: download to mobile (link below .-apk), rename *WHL to *ZIP, extract with Android file manager
  • https://pypi.org/project/eisenradio-apk/

Eisenradio - the boring details

  • REST API app on blueprints and application factory of the flask framework on a SQLite database

  • Eisenradio runs in a terminal (on PC), you can kill the browser window, streams for listen and rec will be up

  • Eisenradio uses its own internal API and adjusts the buffer size for a given bit rate

  • Backup and restore are easy work with the help of an exported *ini file (on PC)

  • Eisenradio uses Pythons sys.path; it will find its modules on the dark side of the moon

  • Runs on one processor only, due to the use of Python Multithreading

  • Android Package uses Python Kivy for multi-touch to start and promote itself to "foreground service" (not get killed)

  • Backend (server) opens the connection, buffers the incoming stream and presents it to the browsers internal net

  • Frontend (browser) controls the backend, plays local audio and has a spectrum analyser at your disposal

     """ sketch """
    
      |B |               |S | Flask web server, Header[Werkzeug/2.0.2 Python/3.10.1]
      |r |listen         |e |-------> starRadio
      |o |------->   <-- |r |
      |w |GhettoRecorder |v |-------> planetRadio
      |s |--->    <----- |e |
      |e |               |r |-------> satteliteRadio
      |r |               |  |
      net: localhost     net: internet
      CORS: accept       CORS: deny
      audioNode: 1,-1    audioNode: 0, 0
      JavaScript,CSS     Python,SQL
    

    Cross-Origin Resource Sharing mechanism (CORS) i.a. prevents Browser from analysing audio from internet

pip install

""" xxs Linux xxs """
$ pip3 install eisenradio
$ python3 -m eisenradio.wsgi  # watch flask

""" xxm Windows xxm """
> pip install eisenradio
> python -m eisenradio.wsgi

""" xxl big company xxl """
$$$ pip3 install eisenradio
$$$ python3 -m eisenradio.app  # serve flask
""" for the sake of completeness, a python
    production server 'waitress' is started """

Pytest

~ ... /test/functional$ python3 -m pytest -s # -s print to console

find the modified test db in ./app_writable/db

Uninstall

Python user:

  • find module location
  • uninstall and then remove remnants

$ pip3 show eisenradio

$ pip3 uninstall eisenradio

Location: ... /python310/site-packages

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

eisenradio-1.0.3.tar.gz (1.4 MB view hashes)

Uploaded Source

Built Distribution

eisenradio-1.0.3-py3-none-any.whl (1.4 MB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page