Giter Club home page Giter Club logo

airhead's People

Contributors

edne avatar turlando avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

edne rand338

airhead's Issues

Debug mode breaks Icecast login

  • How to reproduce

    1. Set Debug = True in airhead.ini.
    2. Run app.py
  • Backtrace

 * Running on http://0.0.0.0:8080/ (Press CTRL+C to quit)
 * Restarting with stat
Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/lib64/python3.6/threading.py", line 916, in _bootstrap_inner
    self.run()
  File "/home/turlando/Projects/airhead/airhead/transmitter.py", line 37, in run
    with shouty.connect(**self.params) as connection:
  File "/usr/lib64/python3.6/contextlib.py", line 82, in __enter__
    return next(self.gen)
  File "/home/turlando/Projects/airhead/env/lib/python3.6/site-packages/shouty/utils.py", line 8, in connect
    cn.open()
  File "/home/turlando/Projects/airhead/env/lib/python3.6/site-packages/shouty/connection.py", line 30, in decorated
    err_name, err_str))
Exception: Failed open
Error code: NOLOGIN
Error description: Login failed

 * Debugger is active!
 * Debugger PIN: 253-663-331

Missing folders

Create the airhead/uploads and airhead/tracks folders if missing, or notify the user asking to set a valid path in the configuration

Multiple skip

Now if N user press skip at the same time N tracks are skipped, not just the current one.

Rewind API

Provide some sort of API to rewind the current playing track at its beginning and to skip the current track and stream the next one.

Auto mix

Play random tracks when the play-list is empty.

Flac support

Traceback (most recent call last):
  File "/usr/lib/python3.5/threading.py", line 914, in _bootstrap_inner
    self.run()
  File "/home/edne/spazi/airhead/airhead/transcoder.py", line 86, in run
    save_tags(in_path, out_path, uuid)
  File "/home/edne/spazi/airhead/airhead/transcoder.py", line 44, in save_tags
    tags['import_date'] = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
UnboundLocalError: local variable 'tags' referenced before assignment

when uploading a .flac file

Internals refactoring

Discuss here about internals refactoring. Split the issue when the discussion grows and things become more clear.

Error when library is empty and AutoDJ is active

The software does not crash. It just raise an exception and run.

% python3 api.py     
DEBUG:asyncio:Using selector: EpollSelector
DEBUG:shouty.connection:Init connection
======== Running on http://0.0.0.0:8080 ========
(Press CTRL+C to quit)
DEBUG:shouty.connection:Open connection
Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/lib64/python3.6/threading.py", line 916, in _bootstrap_inner
    self.run()
  File "/home/tancredi/Projects/airhead/airhead/broadcaster.py", line 47, in run
    uuid = self._playlist.pop()
  File "/home/tancredi/Projects/airhead/airhead/playlist.py", line 46, in pop
    track = random_track(self._library)
  File "/home/tancredi/Projects/airhead/airhead/playlist.py", line 15, in random_track
    track = random.choice(library.query())
  File "/home/tancredi/Projects/airhead/env/lib/python3.6/random.py", line 257, in choice
    raise IndexError('Cannot choose from an empty sequence') from None
IndexError: Cannot choose from an empty sequence

Allow library sorting

Allow user using GET /api/library to use parameters such as ?order_by= or ?sort_by=.

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.