master-wiki/01. Projects/Juno/README.md
Alexander Navarro c080160c2a Update from obsidian - thinkpad
Affected files:
01. Projects/Electronic Mantainance/.gitignore
01. Projects/Electronic Mantainance/List of electronics.md
01. Projects/Juno/Queue stored in memory.md
01. Projects/Juno/README.md
01. Projects/Mental Health/Therapy/Session 005 24-05-03.md
02. Areas/Escape Latam/Comparación de Paises.md
03. Resources/Projects Ideas/mini-strap.md
04. Periodic/03. Monthly/2024-03.md
97. Ideas/Frontmatter query language (idea)/README.md
97. Ideas/Fuuka desktop client/README.md
97. Ideas/Migrate to Zellij (Someday)/Migrate to zellij.md
97. Ideas/Phisics Engine (idea)/README.md
97. Ideas/Setup Shell (Someday)/Setup shell.md
97. Ideas/Spotify Playlist Intersection (idea)/README.md
98. Holds/Escape Latam (hold)/Canada.md
98. Holds/Escape Latam (hold)/Comparación de Paises.md
98. Holds/Escape Latam (hold)/English Certification.md
98. Holds/Escape Latam (hold)/Escapar de Latam.md
98. Holds/Escape Latam (hold)/New Zeldand.md
98. Holds/Página Personal (hold)/Carta de presentación.md
98. Holds/Página Personal (hold)/Components/Lightbox.md
98. Holds/Página Personal (hold)/Components/TOC.md
98. Holds/Página Personal (hold)/Components/Table.md
98. Holds/Página Personal (hold)/Content.md
98. Holds/Página Personal (hold)/Pages/Landing Page.md
98. Holds/Página Personal (hold)/Pages/Landing Page.pdf
98. Holds/Página Personal (hold)/Pages/Portafolio List.md
98. Holds/Página Personal (hold)/Portfolio/Piloto Go.md
98. Holds/Página Personal (hold)/README.md
99. Archives/Neardearla 2024/13 consejos de Senior que le daría a mi yo Junior.md
99. Archives/Neardearla 2024/Construyendo Bajo Presión cómo armar el primer MVP de tu startup en 2024.md
99. Archives/Neardearla 2024/Código con corazón mejores prácticas de FrontEnd para encantar a tu UX.md
99. Archives/Neardearla 2024/Cómo Elegir la Base de Datos Adecuada para Tu Proyecto Una Guía entre SQL y NoSQL.md
99. Archives/Neardearla 2024/Cómo evolucionar profesionalmente en tecnología sin perder tu chispa de programar.md
99. Archives/Neardearla 2024/Desarrollo de pruebas unitarias asistido por IA.md
99. Archives/Neardearla 2024/Desde la Web al Escritorio - Tauri.md
99. Archives/Neardearla 2024/Fortaleza Digital Construyendo un Futuro Seguro con Desarrollo de Software Resiliente.md
99. Archives/Neardearla 2024/La Belleza del programa, la Felicidad del Programador.md
99. Archives/Neardearla 2024/Pasted image 20240411191813.png
99. Archives/Neardearla 2024/Pasted image 20240411192942.png
99. Archives/Neardearla 2024/Pasted image 20240413105402.png
99. Archives/Neardearla 2024/Pasted image 20240413113310.png
99. Archives/Neardearla 2024/Pasted image 20240413113444.png
99. Archives/Neardearla 2024/Pasted image 20240413113655.png
99. Archives/Neardearla 2024/Pasted image 20240413131457.png
99. Archives/Neardearla 2024/Pasted image 20240413131624.png
99. Archives/Neardearla 2024/Pasted image 20240413141003.png
99. Archives/Neardearla 2024/Pasted image 20240413161221.png
99. Archives/Neardearla 2024/Pasted image 20240413162105.png
99. Archives/Neardearla 2024/Pasted image 20240414131547.png
99. Archives/Neardearla 2024/Pasted image 20240414133536.png
99. Archives/Neardearla 2024/Pasted image 20240414133556.png
99. Archives/Neardearla 2024/Pasted image 20240414133649.png
99. Archives/Neardearla 2024/Pasted image 20240414133802.png
99. Archives/Neardearla 2024/Pasted image 20240414133818.png
99. Archives/Neardearla 2024/Pasted image 20240414133924.png
99. Archives/Neardearla 2024/Pasted image 20240414133957.png
99. Archives/Neardearla 2024/Pasted image 20240414134055.png
99. Archives/Neardearla 2024/Patrones de diseño el arma secreta de los desarrolladores expertos.md
99. Archives/Neardearla 2024/Que la fuerza de los gráficos te acompañe Aprende a dominar la visualización de datos.md
99. Archives/Neardearla 2024/Sincronización Perfecta Comunicación entre Microservicios con TypeScript y NestJs.md
99. Archives/Neardearla 2024/¿Por qué nos subestimamos? Guía práctica para negociar tu salario de forma efectiva.md
2024-05-07 15:09:29 -04:00

2.6 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.

Para hacer la primera operación en el server, puedo hacer un nuevo thread (con tokio ojalá) e instanciar un cliente que haga la petición.

Outtakes

Was the goal archived?

Yes/No, because of...

What did go well?

  • Item

What did go wrong?

  • Item