AURA Web Client

Hello everyone,

I’ve made a client for the AURA specification which can be used with the beets AURA plugin I made.

It has a very unoriginal name and it’s not beautiful, but I quite like how it works (not surprising since I made it). Take a look at it here.

I don’t generally like web apps so at some point I might make something more like cmus (maybe fork it so I don’t have to do the hard bits), but I thought for a first client it made sense to make something that can be used instead of the web plugin.

Let me know what you think :slight_smile:

Callum

3 Likes

Aaa, this is so awesome! It doesn’t have to be beautiful to be very very cool. I really like that it uses a queue-based player! I will definitely use this. :tada:

1 Like

Thanks! In quite a few other players I’ve found the queue to be a bit of an afterthought so I wanted to make it more important

1 Like

Thanks Callum ! I’m switching to this client too.

1 Like

other beets users seem to be able to make this work, but i get a ‘failed to fetch’ exception, both when i use xdg-open index.html or open the index.html directly from a browser.

here’s the full stack trace:

  pi@raspberrypi:~ $ [2021-01-19 13:23:24,357] ERROR in app: Exception on /aura/server [GET]
  Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1974, in make_response
  rv = self.response_class.force_type(rv, request.environ)
  File "/usr/lib/python3/dist-packages/werkzeug/wrappers.py", line 921, in force_type
  response = BaseResponse(*_run_wsgi_app(response, environ))
  File "/usr/lib/python3/dist-packages/werkzeug/wrappers.py", line 59, in _run_wsgi_app
  return _run_wsgi_app(*args)
  File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 923, in run_wsgi_app
  app_rv = app(environ, start_response)
  TypeError: 'dict' object is not callable

  During handling of the above exception, another exception occurred:

  Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/flask/app.py", line 2292, in wsgi_app
  response = self.full_dispatch_request()
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1816, in full_dispatch_request
  return self.finalize_request(rv)
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1831, in finalize_request
  response = self.make_response(rv)
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1982, in make_response
  reraise(TypeError, new_error, sys.exc_info()[2])
  File "/usr/lib/python3/dist-packages/flask/_compat.py", line 34, in reraise
  raise value.with_traceback(tb)
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1974, in make_response
  rv = self.response_class.force_type(rv, request.environ)
  File "/usr/lib/python3/dist-packages/werkzeug/wrappers.py", line 921, in force_type
  response = BaseResponse(*_run_wsgi_app(response, environ))
  File "/usr/lib/python3/dist-packages/werkzeug/wrappers.py", line 59, in _run_wsgi_app
  return _run_wsgi_app(*args)
  File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 923, in run_wsgi_app
  app_rv = app(environ, start_response)
  TypeError: 'dict' object is not callable
  The view function did not return a valid response. The return type must be a string, tuple, Response instance, or WSGI callable, but it was a dict.
  127.0.0.1 - - [19/Jan/2021 13:23:24] "GET /aura/server HTTP/1.1" 500 

[i sent this to your sr.ht list, too; let me know which forum you prefer.]

Rik

Hi, I sent a response via email, which you should also be able to see on the sr.ht email list.

I don’t mind using this forum but I’d like to see how sr.ht works as much as anything :slight_smile: