master-wiki/01. Projects/Juno/README.md
Alexander Navarro 6ef8295311 Update from obsidian - thinkpad
Affected files:
01. Projects/Frontmatter query language/README.md
01. Projects/Juno/README.md
01. Projects/Mental Health/Therapy/Session 003 24-04-19.md
02. Areas/Selfhosted/Arr Suit.md
03. Resources/Development/Git/Git Merge vs Rebase vs Squash ¿Qué estrategia debemos elegir-.md
2024-04-25 20:23:52 -04:00

2.4 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