master-wiki/01. Projects/Juno/README.md
Alexander Navarro 9661041b28 Update from obsidian - thinkpad
Affected files:
01. Projects/Juno/README.md
01. Projects/Mental Health/Therapy/Session 004 24-04-26.md
01. Projects/Página Personal/Carta de presentación.md
01. Projects/Página Personal/README.md
2024-04-28 17:06:44 -04:00

2.5 KiB

created updated status
2024-03-26 16:02 2024-03-26 16:09 Backlog

Juno

Resources

Kickoff

Completion Criteria

This project will be completed when:

Have a working CLI music player with the following features:

  • Play local files or remote streams (like youtube streams).
  • Local or remote (HTTP) audio output.
  • MPRIS support
  • Dynamic server-client design:
    • On start it attach to a socket, a local unix file socket (default) or a port to allow for remote connections (MPD like).
    • If a second instance is invoque on the same socket, it will act as a client to the process running on that socket, allowing to modify the playback and exiting immediately (MPC like).
    • By default the server process will end when the queue is empty unless it's ran in "daemon" mode. This allows to continue using the clients to add more music later.

Brainstorm

Regarding the Client-Server setup:

  • In "daemon" mode, a path is needed so the server knows where to find the music. The clients can only add files from that path.
  • The server needs an endpoint to return the available songs under the provided path.
  • The server needs an endpoint that return the current information of the playback
  • The communication between client / other front ends and server is with gRPC

The queue should have a soft limit and a hard limit.

  • Soft Limit: Cannot add more than this limit, it's also the same limit when quering the current queue.
  • Hard limit: The actual limit of the query, items above this limit are truncated.

I don't remember why but this was important and useful.

Outtakes

Was the goal archived?

Yes/No, because of...

What did go well?

  • Item

What did go wrong?

  • Item