Originariamente inviato da SimoneFil
Non penso che si stia parlando di cosa voglia io o meno, il mio è un semplice parere da persona che sa ragionare sia da developer che da end-user. Poi spetta allo sviluppatore del programma (Marco) decidere cosa trarre dai feedback che gli vengono forniti, nè a me, nè a te.

Passando al mio punto di vista (non sto a scrivere "IMHO" davanti a ogni frase, lo do per scontato), non mi piacerebbe nè un player preconfezionato da prendere così come è ma nemmeno un software con un front-end da mal di testa, esistono le vie di mezzo che includono sia semplicità d'uso che duttilità; non per forza bisogna rimanere agli estremi.
DOBBIAMO tenere in considerazione che noi ragionamo da persone che sanno programmare e che conosco il funzionamento dei sistemi operativi in maniera tutto sommato approfondita e quindi hanno una forma mentis orientata a questo; ma siamo una minoranza rispetto a quelli che vogliono semplicemente usare LMS in ambito hi-fi!

Prendiamo un esempio palese: piCorePlayer, lo conosci? (Se la risposta è no rimedia, ne vale comunque la pena da quanto è fatto bene). Scrivi l'immagine sulla SD, metti nel raspberry, attacchi corrente ed ethernet, vai nella WebUI, selezioni il tuo DAC e ascolti la musica. Vuoi modificare alcuni parametri? No problem, hai subito a disposizione una interfaccia semplice e pulita dove impostare buffer, ALSA settings, ip specifico del server etc. Sei uno smanettone che vuole spulciare tra le opzioni meno usare di squeezelite e di linux? Premi il tab "advanced" e ti viene fuori il mondo. Questo è un esempio di un front-end pulito, semplice da usare per i principianti; completo pure per i più accaniti pro-user.

La prima volta che ho usato C-3PO è stato mi pare un paio di anni fa; più per curiosità mia che per reale necessità: ero uno user pienamente soddisfatto di daphile; faceva tutto, in maniera comoda ed è uno dei player meglio suonanti in circolazione oltre che essere pure gratis. Appena ho aperto C-3PO sono stato travolto da una schermata di caselle da selezionare
[anche li... perchè fare due righe di caselle per specificare il sample rate supportato quando con un menu a tendina si può indicare direttamente il massimo sample rate supportato dal proprio dac?]

Provo a districarmi tra le varie opzioni:

"Vediamo che è sto non ottimizza small-integers"
*click sul tasto info*
*compare "non ottimizza small-integers*
"mbeh?"

"canali invertiti? a che serve? se mi metto le cuffie al contrario o mi metto ad ascoltare la musica a testa in giù?"

"mm vediamo .. bit-depth in uscita"
*click su info*
*compare PLUGIN_C3PO_OUT_BITDEPTH_DSD-*
"mm boh metto 64bit, più è meglio è"

"ok ora dovrebbe funzionare"
*mando in play e non si sente nulla*
"ah di default i volumi dei canali dx e sx sono a zero ... ma perchè..." -> e qua ci sono impazzito, lo davo per scontato

Ovviamente l'ho messa sul ridere e so benissimo che le descrizione sono messe così perchè sono opzioni da testare ecc, ma sono ottimi esempi per "mettersi dalla parte dell'utilizzatore"; lo scopo principale di una GUI è quello di "esprimersi nel medesimo modo in cui ragiona l'uomo" per poi convertire ciò nel "modo in cui ragiona il software". Se la GUI non riesce a fare questa mediazione vuol dire che si può ancora migliorare.


Ovviamente dopo quell'esperienza ho disinstallato C-3PO il medesimo giorno senza nemmeno pensarci. Se poi ci sono ritornato è stato per necessità: volevo la mia libreria ovunque non solo nel mio impianto hi-fi a casa, quindi ho messo tutta la mia libreria e logitech media server in un container LXC di un mio server OVH così che se volevo uno stream upsamplato al massimo per l'impianto a casa ce l'avevo, se ero in treno col telefono in 4g mi mandava uno stream in mp3 320, se ero in università attaccato al wi-fi mi mandavo i brani in FLAC con livello massimo di compressione, e così via. L'unico modo ovviamente era "sporcarsi le mani" entrando nel mondo di LMS, squeezelite e C-3PO cosa che ho fatto e di cui sono pienamente soddisfatto e che uso come setup stabile in quanto è la migliore scelta per me.

Poi chiaramente se il target del software siamo noi 4 gatti qua su next hardware rimangio tutto; ma se Marco vorrà esporlo più in "grande" (computeraudiophile, diyaudio ecc) un restyling della GUI imho è d'obbligo.

Che non vuol dire necessariamente togliere metà delle opzioni disponibili*, ma semplicemente rendere il frontend del plugin "user-friendly" invece che "software-friendly", e ciò potrebbe avvenire anche solamente "mettendo ordine" facendo come in piCorePlayer senza dover per forza levare nulla. E secondo me porterebbe anche a una riduzione e snellimento del codice (ma è solo un'intuizione).

[*finchè c'è la possibilità di inserire i comandi manualmente nella casella 'Effetti aggiuntivi', di fatto non stai togliendo niente, e rispondendo al riferimento alle politiche Apple ... raramente tolgono funzioni, le rendono meno accessibili che è diverso]

Ovviamente sono i my 2 cents; tutto nell'interesse del miglioramento in quanto a usabilità e funzionabilità di C-3PO; poi Marco ne tragga ciò che ritiene più consono ai suoi obiettivi per questo plugin


Quoto in toto; è solo una sorta di "brainstorming"
1. A quello serve il debug ed il beta test, se compare "PLUGIN_C3PO_OUT_BITDEPTH_DSD-" significa che ho usato una chiave per una stringa sbagliata e devo correggerla, se me la segnali come buco mi avvantaggi e lo risolvo, altrimenti puoi considerarlo come un errore di disegno dell'interfaccia se ti fa piacere, ma non lo è ...

Stessa cosa per i canali a vol. 0, era un errore poi risolto.

2. Io conosco sia picoplayer che Daphile, MaxToplay, Vortexbox ed altri, TUTTI hanno creato una sovrastruttura su LMS, io NON VOGLIO fare quello, così come non voglio realizzare la web gui di SOX.

Io rimango al 100% dentro a LMS, non ne tocco una virgola, aggiungo solo un plugin, che poi ognuno usa dove e come vuole, ma il cui scopo è di sostituire al meglio l'uso di custom-convert.conf e tipi file, per un ragionevole numero di opzioni 'comuni'.

Di sicuro rispetto all'obiettivo originario per strada ho aggiunto delle cose (DSD in primis) in parte perché utili a me, in parte perché richieste e valutate ragionevoli.

Posso sbagliarmi, ma credo che pur rimanendo perfettibile, l'obiettivo sia ampliamente raggiunto, certo uno deve sapere quello che fa, se gli interessa solo ascoltare spotify e le radio web non può capire C-3PO (e mai capirebbe custom-convert.conf).


3. Perchè fare una serie di CB invece di un menu a tendina? perchè in quel modo puoi abilitare serie non continue di SR, esattamente come puoi fare in Squeezelite, altrimenti ti potresti trovare a non riuscire a gestire correttamente la combinazione dei due settings.

Non serve? forse, ma allora togliamolo in squeezelite. Appena lo togli, ti esce il tipo che ha un dac con il clock che gestisce solo i multipli di 24000Hz...

Il punto NON è disegnare la gui, ma decidere cosa deve fare. Se decidi di dover gestire i 'buchi' come disegni l'elenco dei sample rates?

4. Sarebbe possibile disegnare la WEB UI a livelli, nascondendo le opzioni meno comuni? Certo, ma aspetto che si arrivi ad una versione condivisa, altrimenti passo il mio tempo a mettere e togliere...

Se porti il problema sul disegno, mentre è sul requisito...