Muso, probabilmente, gli invia una serie di comandi per aggiungere file alla playlist, che viene eseguita da HQPlayer, come farebbe con LMS, infatti muso non è un server ma solo un front end.
Immagino che i comandi di next, previous, pause e stop vengano rediretti da muso a HQP sempre via HQPlay commander.
Muso ottiene feedback dello stato del playback? (traccia corrente, in pausa, avanzamento,...)?
Tutte le funzionalità di LMS così verrebbero meno, si userebbe meramente la web gui come front end, per la via è di certo meglio muso, non credo ci sia un beneficio reale con LMS (si perderebbe anche l'accesso ai servizi di rete quali Qobuz, Spotify o Tidal) e comunque non riuscirei a inviare files decodificati.
Con Roon, se capisco bene, HQP sottoscrive uno stream 'generico' attivo per tutto il tempo della riproduzione, come se fosse una web radio, per intenderci.
In questo caso è - in pratica - come intendevo usare la pipe: HQP è 'schiavo' del server, non gestisce la playlist, ma rimane in attesa su uno stream aperto e lo riproduce per come gli arriva, con la difficoltà di dover generare uno stream HTTP che HQP possa sottoscrivere.
Purtroppo LMS non funziona così, ma ragiona per traccia, quindi bisogna usare un middleware che può essere basato su squeezelite, come avevo già previsto, si aggiunge la difficoltà di dover pubblicare uno stream HTTP.
Non ho idea di come si possa fare, ma forse trovo qualche esempio o magari un piccolo 'streamer' cha possa essere alimentato via STDIN da squeezelite.
Che feedbacks riceve ROON da HQP? SE HQP va in pausa, lo stream riprende dal punto di interruzione o no?
Punto di attenzione:
Uno stream ha un formato unico, possiamo decidere parametricamente quale, ma è uno solo.
Fino a che si tratta pcm non è un problema, qualsiasi sia il formato in ingresso con C-3PO si porta ad un solo formato in uscita (es. wav 44100Hz, 16 bit). Ovviamente sarà l'utente a selezionare il formato di uscita più idoneo per lui e dovrà essere avvisato che non è una grande idea operare due conversioni di formato in serie, ma tant'è. La maggior parte delle persone avrà files wav o flac o aiff 44100/16 e magari qualcosa in HD, come flac 96/24, uscendo PCM 96/24 si risolve.
Ma se voglio trattare anche files 'nativi' DSD? Li converto in PCM e quindi HQP li riconverte in DSD?
L'alternativa è 'rompere' la playlist ad ogni cambio di formato, che non mi pare sia un problema.
Cosa succede con ROON?
p.s.
Visto che credo che adesso sia più chiaro, dovrei chiedere a Jussi se invece di uno stream HTTP può accettare l'input da STDIN. Se lo ha già previsto (non cambia nulla in realtà) mi risparmierebbe un mare di lavoro.
Devo rispiegare tutto a lui o magari sei già allineato tu con lui e quindi 'fai prima' visto anche il mio inglese?