Guida a Logitech Media Server, Squeezelite e derivati.

Pagina 106 di 188
prima
... 6 56 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 156 ... ultimo
Visualizzazione dei risultati da 1,051 a 1,060 su 1875
  1. #1051
    nibble L'avatar di bhoga
    Registrato
    Dec 2015
    Età
    64
    Messaggi
    66

    Predefinito

    Il play parte, volume 100%, la configurazione di C3PO è la stessa che ieri funzionava splendidamente con Daphile. Prima ho provato staccare la connessione con il Dac e alsamixer l'ha rilevato subito. Sembrerebbe tutto funzionare fino al Dac, il quale però sembra impallato. Però col lettore cd come sorgente funziona...
    Ci sentiamo domani... grazie

  2. #1052
    tebibyte L'avatar di UnixMan
    Registrato
    Sep 2013
    Messaggi
    2,529
    configurazione

    Predefinito Nuova versione dello script

    OK, ancora un altro passo è fatto. Aggiunta anche la configurazione dei sample rate. Manca ancora la selezione del bit-depth (ma è banale). Stavolta ci siamo quasi, ed ho voluto essere sfacciatamente ottimista...

    Al solito posto: http://www.audiofaidate.org/sw/easetup.sh

    N.B.: ho rinominato lo script in "easetup", per "Easy Audio Setup".

    Solito disclaimer: ho testato solo alcune parti, separatamente, quindi occhio a possibili/probabili bachi.
    Ciao, Paolo.

    «Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee.»

  3. #1053
    tebibyte
    Registrato
    Aug 2011
    Età
    50
    Messaggi
    2,928
    configurazione

    Predefinito

    Originariamente inviato da bhoga
    Il play parte, volume 100%, la configurazione di C3PO è la stessa che ieri funzionava splendidamente con Daphile. Prima ho provato staccare la connessione con il Dac e alsamixer l'ha rilevato subito. Sembrerebbe tutto funzionare fino al Dac, il quale però sembra impallato. Però col lettore cd come sorgente funziona...
    Ci sentiamo domani... grazie
    Prova a giocare con alsamixer...disattivare e attivare...e disattiva le uscite che non ti servono...prova e facci sapere...

    Originariamente inviato da UnixMan
    OK, ancora un altro passo è fatto. Aggiunta anche la configurazione dei sample rate. Manca ancora la selezione del bit-depth (ma è banale). Stavolta ci siamo quasi, ed ho voluto essere sfacciatamente ottimista...

    Al solito posto: http://www.audiofaidate.org/sw/easetup.sh

    N.B.: ho rinominato lo script in "easetup", per "Easy Audio Setup".

    Solito disclaimer: ho testato solo alcune parti, separatamente, quindi occhio a possibili/probabili bachi.
    Grande...peccato che non lo posso provare...sono senza dac....sta cambiando casa...

  4. #1054
    tebibyte L'avatar di UnixMan
    Registrato
    Sep 2013
    Messaggi
    2,529
    configurazione

    Predefinito easetup.sh, versione "completa".

    Ormai che ero ad un passo dalla fine mi pareva brutto lasciare le cose a metà... per cui ho fatto anche il resto: aggiunta la selezione del "bit-depth" nonché, al termine, l'avvio automatico di alsamixer ed un riavvio aggiuntivo di squeezelite.

    Ridendo e scherzando, dalle poche righe della prima versione, lo scriptino è cresciuto fino a quasi 1000 righe!
    codice:
    $ wc aasetup.sh
      958  4460 33917 aasetup.sh
    (...il codice vero e proprio in realtà è molto meno, più della metà è per così dire "documentazione in linea").

    codice:
    #!/bin/bash
    # WARNING: "bashisms"! Not POSIX compliant, do not use a different shell.
    
    # Easy Audio Setup: semi-automated installation and configuration of
    # LMS+Squeezelite audio systems on Debian GNU/Linux OS.
    #
    # Copyright Paolo 'UnixMan' Saggese <pms (at) audiofaidate . org>, 2015
    # Released under the terms of the GNU General Public License, see:
    # http://www.gnu.org/copyleft/gpl.html
    
    cat<<-EHEAD
    
    	Easy Audio Setup: installazione e configurazione semiautomatica
    	di sistemi audio basati su LMS+Squeezelite su Sistemi operativi
    	Debian GNU/Linux 8.x "Jessie" (e compatibili).
    	
    	Copyright Paolo 'UnixMan' Saggese <pms (at) audiofaidate . org>, 2015
    	
    	Released under the terms of the GNU General Public License, see:
    	http://www.gnu.org/copyleft/gpl.html
    	
    	Grazie a:
    	Filippo 	"antonellocaroli"	@ neXthardware.com forum
    	Giovanni	"BigTube"		@ neXthardware.com forum
    	Marco  		"marcoc1712" 		@ neXthardware.com forum
    	
    EHEAD
    
    # controlli preliminari
    
    if [ ! -f /etc/debian_version ] || egrep -qv '^8\.' /etc/debian_version ; then
    cat<<-EWARN1
    	ATTENZIONE: è stato rilevato un sistema diverso da Debian 8.x "Jessie".
      
    	Questo script è pensato esclusivamente per Debian 8.x "Jessie" e sistemi
    	derivati e perfettamente compatibili con questo (come ad es. LMDE 2).
    	Il suo utilizzo con versioni o distribuzioni diverse non è supportato e
    	potrebbe danneggiare il vostro sistema.
    
    EWARN1
      read -s -N1 -p 'Procedere comunque? (s/n)'
      echo
      if [ "$REPLY" != "s" ]; then
        echo -e '\nAbort.\n'
        exit 1
      else
        echo -e "\nOK, good luck. You've been warned...\n"
      fi
    fi
    
    [ "$(whoami)" == "root" ] || { 
      echo -e '\a\nATTENZIONE: questo script deve essere eseguito dal "SuperUser" (utente root).'
      exec su -c "$0"
    }
    
    # definizione delle funzioni
    
    function fail() {
      echo -e "\nFatal ERROR: $1\n\nAborted."
      exit $(false)
    }
    
    function pausa() {
      read -s -p 'Premere "Invio" per continuare...' 
      echo
    }
    
    function restart_squeezelite() {
      echo "\nRiavvio di squeezelite...\n"
      service squeezelite restart
    }
    
    function run_alsamixer() {
      # esegue alsamixer per la verifica delle impostazioni
      cat <<-EOAMIX | less
    	(utilizzate i tasti freccia e PgUp/PgDn per far scorrere il testo. 
    	Premete il tasto "q" per uscire da questo visualizzatore).
    
    	Verrà ora avviato "alsamixer", una interfaccia al "mixer" di ALSA.
    	
    	* Utilizzate il tasto "F6" per selezionate il dispositivo di uscita;
    	
    	* i tasti "freccia" destra/sinistra per spostarvi tra i cursorsi;
    	
    	* i tasti "freccia" sù/giù per cambiare il valore dei cursori;
    	
    	* il tasto 'm' per attivare/disattivare il "mute";
    	
    	* il tasto "Esc" per uscire dal programma.
    	
    	Verificate che le impostazioni del dispositivo di uscita audio siano
    	corrette; in modo particolare controllate che la/e uscita/e non siano
    	in mute (non deve essere presente una "M" sotto la barra del volume).
    
    	EOAMIX
      alsamixer
    }
    
    function check_outupt_dev() {
      # verifica della disponibilità del dispositivo di uscita
      hwok="false"
      while [ $hwok != "true" ]
      do
        echo -e '\nElenco dei dispositivi di uscita audio riconosciuti dal sistema:\n'
        aplay -l
        echo
        read -s -N1 -p "Il dispositivo che intendete utilizzare è presente nell'elenco? (s/N)"
        echo
        if [ "$REPLY" == "s" ]; then
          hwok="true"
        else
          cat<<-AUDIOHW | less
    	
    	(utilizzate i tasti freccia e PgUp/PgDn per far scorrere il testo. Premete
    	il tasto "q" per uscire da questo visualizzatore).
    	
    	Se il vostro dispositivo di uscita audio non è presente nella lista, per 
    	prima cosa verificate che sia acceso e collegato correttamente.
    
    	Alcuni dispositivi richiedono una specifica sequenza di collegamento e/o
    	accensione che, se non rispettata, ne impedisce il corretto funzionamento
    	ed il riconoscimento da parte del sistema.
    	
    	Purtroppo la sequenza cambia da un dispositivo all'altro: non esiste una
    	regola generale valida per tutti.
    	
    	Ad es. alcuni dispositivi devono essere accesi prima di essere collegati
    	al computer, mentre per altri è vero il contrario - devono essere accesi
    	solo dopo che sono stati collegati.
    	
    	È Inoltre possibile che in alcuni casi il dispositivo debba essere acceso
    	e/o collegato solo dopo che il sistema ha completato la sequenza di avvio,
    	mentre in altri può essere vero il contrario (il dispositivo deve essere
    	collegato ed acceseo prima dell'avvio, a computer spento).
    	
    	Si consiglia di effettuare subito tutte le verifiche necessarie; qualora
    	sia necessario riavviare il sistema, una volta completata la sequenza di
    	avvio dovrete riavviare manualmente questo script per poter completare la
    	configurazione.
    
    	Se nonostante tutto il vostro dispositivo non dovesse essere riconosciuto,
    	è possibile che non sia supportato dal kernel in esecuzione.
    	
    	In alcuni casi il problema può essere risolto banalmente utilizzando una
    	versione più recente del kernel, che contiene driver ALSA più aggiornati:
    	provate quindi a riavviare il sistema con un kernel aggiornato, quindi
    	avviate nuovamente questo script.
    	
    	In altri casi potrebbe essere necessario installare dei "driver" (moduli
    	del kernel) aggiuntivi, non inclusi direttamente nel kernel ma forniti
    	separatamente dal produttore dell'hardware o da terze parti.
    	In tal caso purtroppo non è possibile gestire la cosa in modo automatico
    	e dovrete quindi intervenire manualmente.
    	Ciò fatto potrete però eseguire nuovamente questo script per completare
    	la configurazione.
    	
    	Infine esistono purtroppo alcuni dispositivi che, per scelta dei loro
    	stessi produttori, non sono e non possono essere supportati da sistemi
    	diversi da quelli previsti (di solito determinate versioni di Windows
    	e/o di MacOS). In tal caso c'è ben poco da fare... se non liberarvene
    	e sostituirli con altri che funzionino bene con Linux.
    
    	(utilizzate i tasti freccia e PgUp/PgDn per far scorrere il testo. Premete
    	il tasto "q" per uscire da questo visualizzatore).
    	
    	AUDIOHW
          echo
          read -s -N1 -p 'Verificare nuovamente se l´interfaccia è stata riconosciuta? (S/n)'
          echo
          if [ "$REPLY" == "n" ]; then
    	cat<<-AUDIOHW2
    	
    	Potete scegliere se procedere con l´installazione del solo setup di base,
    	quindi riavviare il sistema ed avviare nuovamente lo script per ritentare
    	il riconoscimento del dispositivo di uscita audio con il nuovo kernel o
    	terminare qui la procedura automatica.
    
    	AUDIOHW2
    	read -s -N1 -p 'Procedere con l´installazione del solo setup di base? (s/N)'
    	echo
    	if [ "$REPLY" == "s" ]; then
    	  TipoSistema="custom"
    	  hwok="true"
    	else
    	  echo -e '\nProcedura abortita come richiesto. Bye.\n'
    	  exit 1
    	fi
          fi
        fi
      done
    }
    
    function select_install_type() {
      # selezione del tipo di sistema da installare
      TipoSistema=""
      while [ "$TipoSistema" == "" ] ; do
        cat<<-ECHOICE
    
    	Cosa si desidera installare?
    
    	  0) nulla, solo setup di base
    	  1) sistema player (squeezelite)
    	  2) systema server (LMS)
    	  3) sistema completo stand-alone, server+player (LMS+squeezelite)
    
    	ECHOICE
        read -N1 -p 'Digitare il numero corrispondente (0|1|2|3): ' SceltaSistema
        echo
        case "$SceltaSistema" in
          0)
    	  TipoSistema="custom"
    	  ;;
          1)
    	  TipoSistema="player"
    	  check_outupt_dev
    	  ;;
          2)
    	  TipoSistema="server"
    	  ;;
          3)
    	  TipoSistema="completo"
    	  check_outupt_dev
    	  ;;
          *) 
    	  echo -e "\a\nErrore: selezione non prevista. Si prega di digitare 0, 1, 2 o 3."
        esac
        if [ "$TipoSistema" != "" ]; then
          echo "Scelta effettuata: sistema $TipoSistema"
          read -s -N1 -p 'Confermare e procedere con l´installazione? (s/N)'
          echo
          [ "$REPLY" != "s" ] && TipoSistema=""
        fi
      done
    }
    
    function disable_swap() {
      cat <<-EOSW
    
    	Per i sistemi solo "player" (squeezelite) lo "swap" (memoria virtuale
    	su disco, AKA "area di scambio") è superfluo. Dato che potrebbe anche
    	interferire con la riproduzione, se ne sconsiglia l'uso.
    	
    	Se il sistema dispone di una quantità sufficiente di RAM fisica, non è
    	necessario utilizzarlo neanche per sistemi che includono il server LMS.
    	
    	Qualora inoltre il disco su cui risiede la partizione di swap sia in
    	effetti una memoria a stato solido ("flash": SSD, CF, SD, USB memory-
    	sticks, ecc), le frequenti operazioni di scrittura tipiche dello swap
    	portano ad un precoce deterioramento della stessa.
    	In tali casi è pertanto sempre decisamente sconsigliato utilizzare lo
    	swap su disco.
    	
    EOSW
      read -s -N1 -p 'Disabilitare lo swap su disco? (S/n)'
      if [ "$REPLY" != "n" ]; then
        echo -e '\nDisabilitazione dello swap.'
        swapoff -a
        sed -i -r '/swap/{s/^([^#].*)$/#\1/}' /etc/fstab
      fi
    }
    
    function uninstall_syslogger() {
    cat <<-EOSW
    
    	Normalmente i sistemi Linux utilizzano un servizio di memorizzazione su
    	disco dei log (AKA "registri") di sistema (syslog). Laddove non sia
    	necessario tenere traccia (semi)permanente di tali informazioni, tale
    	servizio può essere disinstallato.
    	
    	Nelle applicazioni "real-time" questo può essere vantaggioso in quanto
    	elimina un processo attivo e riduce gli accessi al disco superflui.
    	
    	È inoltre raccomandata la sua disinstallazione laddove il disco su cui
    	risiede il file-system "/var" sia in effetti una memoria a stato solido
    	("flash": SSD, CF, SD, USB memory-sticks, ecc), in quanto le frequenti
    	operazioni di scrittura dei log files possono portare ad un precoce
    	deterioramento della stessa.
    	
    	EOSW
      read -s -N1 -p 'Disinstallare il syslogger? (S/n)'
      if [ "$REPLY" != "n" ]; then
        echo -e '\nDisinstallazione di syslog...'
        apt-get -y purge '^(.|busybox-)?syslog(d)?(-ng.*)?$' 2>&1|tee "purge.syslog.log"
      fi
    }
    
    function install_LMS() {
      echo -e "\nDownload ed installazione di LMS v7.9 (latest nightly build)"
      wget -nH -nd -r -np -l1 -c -A '*.deb' http://downloads.slimdevices.com/nightly/?ver=7.9
      gdebi --non-interactive  logitechmediaserver_7.9*_all.deb
      cat <<-EOLMS > "LMS_notice.txt"
    
    	ATTENZIONE: potrebbe essere necessario personalizzare le configurazioni 
    	di LMS editando i relativi files di configurazione:
    
    	  /etc/default/logitechmediaserver
    	  /etc/squeezeboxserver/convert.conf
    	  /etc/squeezeboxserver/modules.conf
    	  /etc/squeezeboxserver/types.conf
    
    	Dopo aver editato i files di configurazione, per rendere effettive le 
    	modifiche effettuate riavviare il servizo con il comando:
    
    	  service logitechmediaserver restart
    
    	oppure riavviare il sistema.
    
    	EOLMS
    }
    
    
    function select_outupt_dev() {
      # selezione del dispositivo di uscita
      #
      outDev=("ALSA system default (auto)")
      outDev=("${outDev[@]}" $(squeezelite -l | awk '/-/ && !/null|default|dsnoop|surround/ { print $1 }'))
      myOutputDev=""
      while [ "$myOutputDev" == "" ]
      do
      cat<<-ECHOICE  | less
    	(utilizzate i tasti freccia e PgUp/PgDn per far scorrere il testo. 
    	Premete il tasto "q" per uscire da questo visualizzatore).
    	
    	Si dovrà ora procedere a selezionare il dispositivo logico di uscita.
    	
    	Per ogni dispositivo fisico (interfaccia harwdare) collegato al computer
    	possono essere presenti diversi dispositivi "logici" corrispondenti, con
    	diverse caratteristiche.
    	
    	Ove possibile si raccomanda di utilizzare un dispositivo logico di tipo
    	"hw:...", che rappresenta l'interfaccia più diretta verso l'hardware.
    	
    	Poiché tale interfaccia si limita a trasferire all'hardware i dati che
    	riceve così come sono, senza effettuare alcuna elaborazione, conversione
    	né adattamento di formato, il formato dei dati inviati dal software deve
    	essere esattamente quello (o uno di quelli) direttamente supportati dal
    	vostro dispositivo fisico.
    	
    	Qualora ciò dovesse causare problemi o malfunzionamenti non diversamente
    	risolvibili si può utilizzare un dispositivo logico di tipo "plughw:...",
    	che (entro certi limiti) è in grado di adattare automaticamente lo stream
    	audio che riceve alle caratteristiche del dispositivo di uscita fisico.
    	Se possibile, l'intervento di "plughw" è di tipo "bit-perfect" (cioè non
    	altera il "contenuto" dello stream audio ma soltanto il modo in cui è
    	rappresentato).
    
    	Esistono anche altri tipi di dispositivi logici di uscita che sono in
    	grado di svolgere diverse funzioni ma, salvo esigenze particolari, non
    	se ne consiglia l'utilizzo in questo contesto.
    	
    	Un caso particolare è l'opzione "ALSA default": se selezionata non verrà
    	definito alcun dispositivo di uscita esplicito e squeezelite utilizzerà
    	il dispositivo di default del sistema.
    	
    	Questo è gestito automaticamente dal sistema e normalmente corriponde al
    	primo dispositivo fisico rilevato dal sistema. Ciò può tornare utile in
    	alcune situazioni particolari, ad esempio se si hanno diversi dispositivi
    	di uscita che si vogliono utilizzare alternativamente, senza la necessità
    	di dover riconfigurare il sistema di volta in volta.
    	Fate però attenzione perché il dispositivo di default potrebbe includere
    	un certo numero di "plugin", incluso "dmix" (mixer); perciò, utilizzando
    	tale opzione, l'integrità dei dati (bit-perfectness) potrebbe non essere
    	sempre garantita.
    	
    	(utilizzate i tasti freccia e PgUp/PgDn per far scorrere il testo.
    	Premete il tasto "q" per uscire da questo visualizzatore).
    	ECHOICE
        echo -e "\nSelezionare il dispositivo di uscita:\n"
        for (( i = 0 ; i < ${#outDev[@]} ; i++ ))
        do
          echo -e "$i) \t${outDev[$i]}";
        done
        echo
        read -p 'Digitare il numero corrispondente e premere invio: ' SceltaDispositivo
        echo
        if [[ "$SceltaDispositivo" =~ ^[0-9]+$ ]] && [ "$SceltaDispositivo" -lt ${#outDev[@]} ]; then
          myOutputDev="${outDev[$SceltaDispositivo]}"
          echo -e "Scelta effettuata: '$myOutputDev'\n"
          [ "$SceltaDispositivo" -eq 0 ] && myOutputDev="default"
          read -s -N1 -p 'Confermare e procedere? (s/N)'
          echo
          [ "$REPLY" != "s" ] && myOutputDev=""
        else
          echo -e "\a\nErrore: digitare un numero compreso tra 0 e $[ ${#outDev[@]}-1 ]."
          pausa
      fi
      done
    }
    
    function select_bit_depth() {
      # selezione del bit-depth supportato dal dispositivo di uscita
      declare -a depths=(	\
    	'16'		\
    	'24'		\
    	'32'		\
      )
      bit_depth=""
      while [ "$bit_depth" == "" ]
      do
      cat<<-ECHOICE
    	
    	Si dovrà ora procedere a selezionare la "profondità di quantizzazione"
    	(massima) supportata dal vostro dispositivo di uscita audio (espressa
    	come numero di bit, anche nota come "bit depth").
    	
    	ATTENZIONE:
    	selezionare un valore errato o non supportato può impedire il corretto
    	funzionamento del sistema o causare degradazione delle sue prestazioni
    	in termini di qualità dell'audio.
    	ECHOICE
        echo -e "\nSelezionare il "bit-depth" supportato dal dispositivo di uscita:\n"
        for (( i = 0 ; i < ${#depths[@]} ; i++ ))
        do
          echo -e "$i) \t${depths[$i]}";
        done
        echo
        read -p 'Digitare il numero corrispondente e premere invio: ' choice
        echo
        if [[ "$choice" =~ ^[0-9]+$ ]] && [ "$choice" -lt ${#depths[@]} ]; then
          bit_depth="${depths[$choice]}"
          echo -e "Scelta effettuata: '$bit_depth'\n"
          read -s -N1 -p 'Confermare e procedere? (s/N)'
          echo
          [ "$REPLY" != "s" ] && bit_depth=""
        else
          echo -e "\a\nErrore: digitare un numero compreso tra 0 e $[ ${#depths[@]}-1 ]."
          pausa
        fi
      done
    }
    
    function select_sample_rate() {
      declare -a rates=(	\
    	'44100'		\
    	'48000'		\
    	'88200'		\
    	'96000'		\
    	'176400'	\
    	'192000'	\
    	'352800'	\
    	'384000'	\
    	'705600'	\
    	'768000'	\
      )
      if [ "$1" == "" ]; then 
        local prompt='Selezionare un sample rate:'
      else
        local prompt="$1"
      fi
      sample_rate=""
      while [ "$sample_rate" == "" ]
      do
        echo -e "\n$prompt\n"
        for (( i = 0 ; i < ${#rates[@]} ; i++ ))
        do
          echo -e "$i) \t${rates[$i]}";
        done
        echo
        read -p 'Digitare il numero corrispondente e premere invio: ' choice
        echo
        if [[ "$choice" =~ ^[0-9]+$ ]] && [ "$choice" -lt ${#rates[@]} ]; then
          sample_rate="${rates[$choice]}"
          echo -e "Scelta effettuata: '$sample_rate'\n"
          read -s -N1 -p 'Confermare e procedere? (s/N)'
          echo
          [ "$REPLY" != "s" ] && sample_rate=""
        else
          echo -e "\a\nErrore: digitare un numero compreso tra 0 e $[ ${#rates[@]}-1 ]."
          pausa
        fi
      done
    }
    
    function select_sample_rate_range() {
      # selezione dei sample-rate supportati dal dispositivo di uscita
      #
      ratesRange=""
      while [ "$ratesRange" == "" ]
      do
      cat<<-ECHOICE  | less
    	(utilizzate i tasti freccia e PgUp/PgDn per far scorrere il testo. 
    	Premete il tasto "q" per uscire da questo visualizzatore).
    	
    	Si dovrà ora procedere a selezionare le frequenze di campionamento dei
    	flussi audio digitali ("sample-rate") che sono direttamente supportate
    	dal vostro dispositivo di uscita audio.
    	
    	Vanno indicati i limiti effettivi del sistema nel suo complesso: qualora
    	si utilizzi un sistema composto da interfaccia+DAC separati, ciascuno con
    	i suoi propri limiti, i valori da indicare sono dati dal sottoinsieme dei
    	sample-rate supportati sia dall'interfaccia che dal DAC.
    	
    	Ad es., se avete una interfaccia USB che supporta tutti i sample-rate a
    	partire da 44.1 fino a 384 kHz, ma il DAC che c'è collegato arriva solo
    	fino a 192 kHz, il limite max da specificare è 192 kHz.
    	Se invece alla stessa interfaccia è collegato un DAC capace di arrivare
    	fino a 768 kHz, il limite sarebbe posto dall'interfaccia. Perciò in tal
    	caso il valore max da specificare sarebbe 384 kHz.
    	
    	Se avete qualche motivo particolare per volerlo fare, nulla vieta di
    	specificare dei limiti più restrittivi rispetto a quelli imposti dal
    	vostro hardware. Ad es., se il vostro sistema è in grado di gestire
    	flussi fino a 384 kHz ma funziona/suona meglio fino a 192 kHz, nulla
    	vieta di impostare tale valore come limite superiore.
    	
    	Ovviamente il contrario non è vero: impostare i limiti a valori che
    	eccedano il massimo e/o siano inferiori al minimo consentito dal vostro
    	hardware è un errore che porta al mancato funzionamento del sistema.
    
    	N.B.: a prescindere dai limiti impostati, il sistema sarà comunque in
    	grado di gestire flussi audio in ingresso con qualsiasi sample rate che
    	sia supportato dal software (LMS e squeezelite). Se questi eccedono i
    	limiti fisici del vostro hardware o comunque quelli impostati qui, il
    	software provvederà automaticamente a ricampionare tali flussi in modo
    	da renderli compatibili (farli rientrare nei limiti).
    	
    	In effetti, un possibile motivo per voler impostare dei limiti più
    	restrittivi rispetto a quanto consentito dall'hardware è proprio quello
    	di "forzare" il ricampionamento dei flussi audio in ingresso.
    	
    	Ad es., se il vostro hardware supporta flussi audio fino a 96 kHz ed
    	impostate proprio tale valore sia come limite inferiore che superiore,
    	il risultato sarà che tutti i flussi in ingresso saranno ricampionati
    	proprio a tale frequenza (verrà effettuato un "upsampling" oppure un
    	"downsampling", a seconda che il flusso in ingresso abbia frequenza
    	di campionamento minore o maggiore di quella richiesta).
    	
    	Un'altra possibilità utilizzata comunemente è quella di impostare il
    	limite inferiore e superiore alle frequenze corrispondenti ai massimi
    	multipli interi supportati dall'hardware delle due frequenze "base",
    	44.1 e 48 kHz, ad es. 176.4 e 192 kHz, oppure 352.8 e 384 kHz, ecc.
    	
    	In questo modo è possibile forzare un "ricampionamento sincrono" dei
    	flussi in ingresso, cioè far sì che questi vengano sempre ricampionati
    	al massimo multiplo intero (supportato) della loro frequenza base.
    	
    	Ciò comporta dei sensibili vantaggi rispetto al ricampionamento verso
    	una frequenza fissa, sia dal punto di vista tecnico che, spesso, anche
    	da quello della qualità soggettiva della riproduzione audio.
    
    	Se invece volete (per quanto possibile) evitare il ricampionamento
    	(almeno sul "player"), indicate correttamente gli effettivi limiti
    	minimo e massimo imposti dal vostro hardware.
    	
    	(utilizzate i tasti freccia e PgUp/PgDn per far scorrere il testo.
    	Premete il tasto "q" per uscire da questo visualizzatore).
    	ECHOICE
        select_sample_rate 'Selezionare la MASSIMA frequenza di campionamento supportata:'
        maxRate=$sample_rate
        select_sample_rate 'Selezionare la MINIMA frequenza di campionamento supportata:'
        minRate=$sample_rate
        ratesRange="$minRate-$maxRate"
        echo -e "\nRange di frequenze di campionamento selezionato: '$ratesRange'\n"
        read -s -N1 -p 'Confermare e procedere? (s/N)'
        echo
        [ "$REPLY" != "s" ] && ratesRange=""
      done
    }
    
    function install_squeezelite() {
      echo -e "\nDownload ed installazione di squeezelite-R2"
      if [ "$(arch)" == "x86_64" ]; then
        MySL="squeezelite_1.8.1-R2-1_amd64.deb"
      else
        MySL="squeezelite_1.8.1-R2-1_i386.deb"
      fi
      wget -nH -nd -c http://www.audiofaidate.org/sw/$MySL
      gdebi --non-interactive $MySL
      service squeezelite stop
      select_outupt_dev
      select_sample_rate_range
      [ -f /etc/default/squeezelite ] && mv -f /etc/default/squeezelite /etc/default/squeezelite.bak
      cat <<-EOSLC > /etc/default/squeezelite
    	# Defaults for squeezelite initscript
    	# sourced by /etc/init.d/squeezelite
    	# installed at /etc/default/squeezelite by the maintainer scripts
    
    	# The name for the squeezelite player:
    	SL_NAME="$(hostname -s)"
    
    	# ALSA output device:
    	#SL_SOUNDCARD="default:CARD=Amanero"
    	#SL_SOUNDCARD="hw:CARD=x20,DEV=0"
    	#SL_SOUNDCARD="front:CARD=D20,DEV=0"
    
    	# Squeezebox server (Logitech Media Server):
    	# Uncomment the next line if you want to point squeezelite at the IP address
    	# of your squeezebox server. This is usually unnecessary as the server is
    	# automatically discovered.
    	#SB_SERVER_IP="192.168.x.y"
    
    	# Additional options to pass to squeezelite.
    	# For details, see: man squeezelite
    	# Please do not include -z to make squeezelite daemonise itself.
    	#
    	#SB_EXTRA_ARGS="-h -C 1 -a 250:10:32:1 -r 352800-384000 -u vIE:0::64:98"
    	#SB_EXTRA_ARGS="-h -C 1 -a 250:10:32:1 -r 352800-384000 -u vIE:2::64:98"
    	#SB_EXTRA_ARGS="-h -C 1 -a 250:10:32:1 -r 352800-384000 -u vIE:8::64:98"
    	SB_EXTRA_ARGS="-h -C 1 -a 250:10:$bit_depth:1 -r $ratesRange -u vIE:32::64:98"
    	
    	EOSLC
    	
      if [ "$myOutputDev" != "default" ]; then
        sed -r -i ":a;N;\$!ba;s/(#SL_SOUNDCARD\S+\n\s+)+/\1SL_SOUNDCARD=\"$myOutputDev\"\n\n/g" /etc/default/squeezelite  
      fi
      service squeezelite start
      cat <<-EOSLM > "squeezelite_notice.txt"
    
    	ATTENZIONE: il sistema è stato preconfigurato e dovrebbe già essere
    	funzionante senza bisogno di ulteriori interventi.
    	
    	Ciò non di meno, in alcuni casi potrebbe essere utile o necessario
    	personalizzare le configurazioni di squeezelite editando il relativo
    	files di configurazione, ad es. con il comando:
    
    	  nano /etc/default/squeezelite
    
    	Se sono state apportate modifiche al file di configurazione, per
    	renderle effettive è necessario riavviare il servizio squeezelite
    	con il comando:
    
    	  service squeezelite restart
    
    	oppure riavviare il sistema.
    	
    	Non dimenticate di utilizzare il comando "alsamixer" per verificare
    	che le impostazioni del dispositivo di uscita audio siano corrette;
    	in modo particolare controllare che la/e uscita/e non siano in "mute"
    	(*non* deve essere presente una "M" sotto le barre dei volumi).
    
    	EOSLM
    }
    
    function udev_setup() {
      [ -f /etc/udev/rules.d/40-timer-permissions.rules ] && mv -f /etc/udev/rules.d/40-timer-permissions.rules /etc/udev/rules.d/40-timer-permissions.rules.bak
      cat <<-EOHPT > /etc/udev/rules.d/40-timer-permissions.rules 
    	KERNEL=="rtc0", GROUP="audio"
    	KERNEL=="hpet", GROUP="audio"
    	EOHPT
      # Attivazione immediata delle modifiche precedenti:
      service udev force-reload
      chgrp audio /dev/hpet /dev/rtc0
      chmod 660 /dev/hpet /dev/rtc0
    }
    
    function sysctl_setup() {
      [ -f /etc/sysctl.d/60-max-user-freq.conf ] && mv -f /etc/sysctl.d/60-max-user-freq.conf /etc/sysctl.d/60-max-user-freq.conf.bak
      [ -f /etc/sysctl.d/99-local.conf ] && mv -f /etc/sysctl.d/99-local.conf /etc/sysctl.d/99-local.conf.bak
      cat <<-EOSC > /etc/sysctl.d/99-local.conf
    	# Configuration file for runtime kernel parameters.
    	# See sysctl.conf(5) for more information.
    
    	# vm.swappiness = 60 # default
    	vm.swappiness = 10
    
    	# Contains, as a percentage of total system memory, the number of pages at which
    	# a process which is generating disk writes will start writing out dirty data.
    	## Arch default = 10.
    	vm.dirty_ratio = 3
    
    	# Contains, as a percentage of total system memory, the number of pages at which
    	# the background kernel flusher threads will start writing out dirty data.
    	## Arch default = 5.
    	vm.dirty_background_ratio = 2
    
    	kernel.perf_cpu_time_max_percent = 50
    	kernel.perf_event_max_sample_rate = 50000
    
    	# Protection from the SYN flood attack.
    	net.ipv4.tcp_syncookies = 1
    
    	# Disable packet forwarding.
    	net.ipv4.ip_forward = 0
    	net.ipv6.conf.all.forwarding = 0
    	
    	fs.inotify.max_user_watches = 524288
    
    	# set high precision timer
    	dev.hpet.max-user-freq=3072
    
    	# ATTENZIONE: impostazioni sperimentali! 
    	kernel.sched_latency_ns = 6000000
    	kernel.sched_migration_cost_ns = 7000000
    	kernel.sched_min_granularity_ns = 100000
    	kernel.sched_nr_migrate = 8
    	kernel.sched_rr_timeslice_ms = 25
    	kernel.sched_rt_period_us = 1000000 
    	kernel.sched_rt_runtime_us = 970000
    	kernel.sched_shares_window_ns = 80000
    	kernel.sched_time_avg_ms = 1000
    	kernel.sched_tunable_scaling = 1
    	kernel.sched_wakeup_granularity_ns = 10000
    	# Se notate problemi strani, provate a commentare le righe precedenti.
    
    	# ATTENZIONE:
    	# Le seguenti variabili consentono di modificare le impostazioni dello stack 
    	# TCP/IP. I valori di default (che non sono quelli qui indicati) rappresentano 
    	# un buon compromesso che va bene nella maggior parte dei casi.
    	# Modificare tali impostazioni può consentire l'ottimizzazione di determinate 
    	# prestazioni (a discapito di altre) in funzione delle esigenze specifiche delle 
    	# proprie applicazioni, ma la loro impostazione a valori "sbagliati" o comunque
    	# non adeguati alle esigenze del caso possono facilmente produrre un sensibile 
    	# peggioramento delle prestazioni rispetto ai valori default e, in alcuni casi,
    	# perfino causare malfunzionamenti dei servizi di rete. Usare con cautela!
    	
    	# Set the max OS send buffer size (wmem) and receive buffer size (rmem) to 12MB
    	# for queues on all protocols. In other words set the amount of memory that is
    	# allocated for each TCP socket when it is opened or created while transferring
    	# files:
    	#net.core.wmem_max=12582912
    	#net.core.rmem_max=12582912
    	#
    	# You also need to set minimum size, initial size, and maximum size in bytes:
    	#net.ipv4.tcp_rmem= 10240 87380 12582912
    	#net.ipv4.tcp_wmem= 10240 87380 12582912
    
    	# Turn on window scaling which can be an option to enlarge the transfer window:
    	#net.ipv4.tcp_window_scaling = 1
    
    	# Enable timestamps as defined in RFC1323:
    	#net.ipv4.tcp_timestamps = 1
    
    	# Enable select acknowledgments:
    	#net.ipv4.tcp_sack = 1
    
    	# By default, TCP saves various connection metrics in the route cache when the
    	# connection closes, so that connections established in the near future can use
    	# these to set initial conditions. Usually, this increases overall performance,
    	# but may sometimes cause performance degradation. If set, TCP will not cache
    	# metrics on closing connections.
    	#net.ipv4.tcp_no_metrics_save = 1
    
    	# Set maximum number of packets, queued on the INPUT side, when the interface
    	# receives packets faster than kernel can process them.
    	#net.core.netdev_max_backlog = 5000	
    	
    	EOSC
      # Attivazione immediata delle modifiche precedenti:
      sysctl -p /etc/sysctl.d/99-local.conf
    }
    
    function limits_setup() {
      echo -e '\nSetup dei limiti e permessi di sistema per il gruppo "audio"'
      [ -f /etc/security/limits.d/audio.conf ] && mv -f /etc/security/limits.d/audio.conf /etc/security/limits.d/audio.conf.bak
      cat <<-EOAL > /etc/security/limits.d/audio.conf
    	# limits for users/processes in audio grup
    
    	#@audio - rtprio 99
    	@audio - rtprio 95
    	@audio - nice -15
    	#@audio - memlock unlimited
    	#@audio - memlock 250000
    	@audio - memlock 500000
    
    	EOAL
    }
    
    function rclocal_setup() {
      echo -e '\nSetup esecuzione automatica al boot - file /etc/rc.local'
      [ -f /etc/rc.local ] && mv -f /etc/rc.local /etc/rc.local.bak
      cat <<-EORL > /etc/rc.local
    	#!/bin/sh -e
    	#
    	# rc.local
    	#
    	# This script is executed at the end of each multiuser runlevel.
    	# Make sure that the script will "exit 0" on success or any other
    	# value on error.
    	#
    	# In order to enable or disable this script just change the execution
    	# bits.
    
    	echo 3072 > /sys/class/rtc/rtc0/max_user_freq
    
    	exit 0
    	EORL
      chmod +x /etc/rc.local
      # Attivazione immediata della modifica precedente:
      echo 3072 > /sys/class/rtc/rtc0/max_user_freq
    }
    
    function grub_setup() {
      echo -e '\naggiunta di "threadirqs" ai parametri di avvio del Kernel'
      sed -r -i.bak '/threadirqs/!{s/^(GRUB_CMDLINE_LINUX.*)\"(.*)\"/\1"\2 threadirqs"/};s/=" /="/' /etc/default/grub
      update-grub
    }
    
    function fstab_setup() {
      echo -e '\nAggiunta di "noatime" alle opzioni di mount dei file system'
      sed -r -i.bak '/atime/!{s/(ext.\s+)(\w+)/\1noatime,\2/}' /etc/fstab
    }
    
    function base_repos_setup() {
      echo -e '\nAggiunta dei repository di base + multimedia, inclusi "non-free" e "contrib"'
      [ -f /etc/apt/sources.list ] && mv -f /etc/apt/sources.list /etc/apt/sources.list.bak
      [ -f /etc/apt/sources.list.d/debian.list ] && mv -f /etc/apt/sources.list.d/debian.list /etc/apt/sources.list.d/debian.list.bak
      cat<<-EOD > /etc/apt/sources.list.d/debian.list
    
    	deb http://httpredir.debian.org/debian jessie main contrib non-free
    	deb http://httpredir.debian.org/debian jessie-updates main contrib non-free
    
    	deb http://security.debian.org/ jessie/updates main contrib non-free
    
    	deb http://www.deb-multimedia.org jessie main non-free
    
    	EOD
    }
    
    function liquorix_repos_setup() {
    echo -e '\nAggiunta del repository del kernel "Liquorix"'
    [ -f /etc/apt/sources.list.d/liquorix.list ] && mv -f /etc/apt/sources.list.d/liquorix.list /etc/apt/sources.list.d/liquorix.list.bak
    cat<<-EOLS > /etc/apt/sources.list.d/liquorix.list
    	# Liquorix is a distro kernel replacement built using the best
    	# configuration and kernel sources for desktop, multimedia, and 
    	# gaming workloads.
    
    	deb http://liquorix.net/debian sid main past
    	#deb-src http://liquorix.net/debian sid main past
    
    	# Mirrors:
    	#
    	# Unit193 - France
    	deb http://mirror.unit193.net/liquorix sid main
    	# deb-src http://mirror.unit193.net/liquorix sid main
    	#
    	# Liquorix - Cloudfront Global CDN
    	# deb http://cdn.liquorix.net/debian sid main
    	# deb-src http://cdn.liquorix.net/debian sid main
    
    	EOLS
    }
    
    function apt_setup() {
      base_repos_setup
      liquorix_repos_setup
      echo -e '\nAggiornamento delle liste dei pacchetti...\n'
      apt-get update > "update.log" 2>&1 \
        || fail "aggiornamento del DB di APT fallito."
      echo -e '\nInstallazione dei "keyrings" per APT'
      apt-get --allow-unauthenticated -y install \
        '((^(deb(ian)?|liquorix)-([^-]+-)?)|-archive-)keyring.?' \
        2>&1|tee "install.keyrings.log" \
        || fail "installazione dei keyring fallito."
      # è necessario aggiornare di nuovo
      apt-get update >> "update.log" 2>&1 \
        || fail "aggiornamento del DB di APT fallito."
    }
    
    function basic_packages_setup() {
      echo -e '\nRimozione dei pacchetti superflui...'
      apt-get -y purge pulseaudio	2>&1|tee "purge.log"
      apt-get -y autoremove		2>&1|tee "autoremove.log"
      echo -e '\nInstallazione degli aggiornamenti di sistema...'
      apt-get -y dist-upgrade	2>&1|tee "upgrade.log" || fail "aggiornamento del sistema fallito."
      apt-get -y autoremove		2>&1|tee -a "autoremove.log"
    
      echo -e '\nInstallazione accessori vari, ALSA utils, rtirq, ffmpeg, sox, ecc...'
      package_list='
    	  firmware-linux
    	  sudo
    	  gdebi-core
    	  htop
    	  fdupes
    	  mc
    	  gpm
    	  openssh-client
    	  openssh-server
    	  ssh
    	  alsa-utils
    	  rtirq-init
    	  flac
    	  ffmpeg
    	  sox
    	  libsox-fmt-all
      '
      for package in $package_list; do
          apt-get --install-recommends -y install "$package" 2>&1|tee -a "install.packages.log"
      done
    }
    
    function install_liquorix_kernel() {
      echo -e '\nInstallazione del Kernel Liquorix...'
      if [ "$(arch)" == "x86_64" ]; then
        MyKernel="linux-image-liquorix-amd64"
      else
        MyKernel="linux-image-liquorix-686"
      fi
      apt-get --no-install-recommends -y install $MyKernel 2>&1|tee "install.kernel.log"
      cat <<-EOK # > "kernel_notice.txt"
    
    		ATTENZIONE: 
    		per attivare il nuovo Kernel è necessario riavviare il sistema.
    		
    	EOK
    }
    
    # main - start doing real things
    myName=$(basename "$0")
    myWorkdir="/var/tmp/$myName.$(date '+%F.%H-%M-%S')"
    [ ! -e "$myWorkdir" ] && mkdir "$myWorkdir" 
    cd "$myWorkdir" || fail "impossibile accedere alla directory di lavoro: $myWorkdir"
    echo -e '\nDownload ed installazione di "alsa-info.sh'
    wget http://www.alsa-project.org/alsa-info.sh -O /usr/local/bin/alsa-info.sh && chmod +x /usr/local/bin/alsa-info.sh
    select_install_type
    disable_swap
    uninstall_syslogger
    fstab_setup
    grub_setup
    limits_setup
    echo -e '\nSetup ottimizzazioni varie...'
    # parametri di sysctl, setup di udev, ecc.
    udev_setup
    sysctl_setup
    rclocal_setup
    apt_setup
    basic_packages_setup
    install_liquorix_kernel
    
    echo -e '\nConfigurazioni di base completate.'
    
    # Installazione degli elementi del sistema selezionato
    case "$TipoSistema" in
      player)
        install_squeezelite	2>&1|tee install_squeezelite.log
        run_alsamixer
        restart_squeezelite
        ;;
      server)
        install_LMS		2>&1|tee install_LMS.log
        ;;
      completo)
        install_squeezelite	2>&1|tee install_squeezelite.log
        install_LMS		2>&1|tee install_LMS.log
        run_alsamixer
        restart_squeezelite
    esac
    echo -e "\nSetup completato."
    if ls -1 *.txt >/dev/null 2>&1 ; then
      cat <<-EON
      
    	Saranno ora visualizzate le note finali, che si prega di 
    	leggere con la massima attenzione. 
    	
    	I files che state per leggere insieme ai log dettagliati
    	si trovano nella directory:
    	  $myWorkdir
    	potete consultarli nuovamente in seguito con il comando:
    	  less nome_file
    	Utilizzate i tasti freccia e PgUp/PgDn per far scorrere il
    	testo; premete il tasto "q" per uscire dal visualizzatore.
    	
    	EON
      pausa
      for file in *.txt ; do
        less "$file"
      done
    fi
    echo -e "\aThat's all, folks!"
    Sempre solito posto: http://www.audiofaidate.org/sw/easetup.sh

    e solito disclaimer per eventuali possibili/probabili bachi.
    Ciao, Paolo.

    «Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee.»

  5. #1055
    pebibyte L'avatar di marcoc1712
    Registrato
    Jan 2013
    Messaggi
    5,254
    configurazione

    Predefinito

    Originariamente inviato da bhoga
    Il play parte, volume 100%, la configurazione di C3PO è la stessa che ieri funzionava splendidamente con Daphile. Prima ho provato staccare la connessione con il Dac e alsamixer l'ha rilevato subito. Sembrerebbe tutto funzionare fino al Dac, il quale però sembra impallato. Però col lettore cd come sorgente funziona...
    Ci sentiamo domani... grazie
    Ti posso chiedere di postare il log di squeezelite come prima cosa? Vediamo se e cosa gli arriva dal server.
    Ciao, Marco.

    "Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction."
    — E. F. Schumacher (mis-attributed to A. Einstein)
    ________________________________________________________________________________
    Autore della patch R2 per Squeezelite e del plugin C-3PO. note libere
    Logitech media Server 7.9 > miniPc + squeezelite-R2 / SB+ > "Lu Scalmentu" NOS R2R DAC by TubeOne/ AudioResearch DAC 1-20 >
    Klimo Merlino Gold TPS > DIS Interconnect > Kent Gold > Reference > Monitor Audio Studio 20 SE

  6. #1056
    byte
    Registrato
    Aug 2015
    Età
    56
    Messaggi
    114

    Predefinito

    Ù
    Originariamente inviato da UnixMan
    OK, ancora un altro passo è fatto. Aggiunta anche la configurazione dei sample rate. Manca ancora la selezione del bit-depth (ma è banale). Stavolta ci siamo quasi, ed ho voluto essere sfacciatamente ottimista...

    Al solito posto: http://www.audiofaidate.org/sw/easetup.sh

    N.B.: ho rinominato lo script in "easetup", per "Easy Audio Setup".

    Solito disclaimer: ho testato solo alcune parti, separatamente, quindi occhio a possibili/probabili bachi.
    Per aggiornare il vecchio aasetup basta installare il nuovo easetup senza rimuovere il precedente?

  7. #1057
    tebibyte
    Registrato
    Aug 2011
    Età
    50
    Messaggi
    2,928
    configurazione

    Predefinito

    Originariamente inviato da claudio67
    Ù
    Per aggiornare il vecchio aasetup basta installare il nuovo easetup senza rimuovere il precedente?
    Se hai usato gá il vecchio e hai un player che ti funziona...non c´é bisogno di rifare la procedura dello script...

    @Paolo bella!!!

    Appena lo provo aggiungo qualche info in piú nel post che ho fatto.....intanto modifico il nome...

  8. #1058
    tebibyte
    Registrato
    Aug 2011
    Età
    50
    Messaggi
    2,928
    configurazione

    Predefinito

    @Paolo ho modificato un po il post http://www.nexthardware.com/forum/pc...tml#post948621

    dimmi se va bene...

  9. #1059
    tebibyte L'avatar di UnixMan
    Registrato
    Sep 2013
    Messaggi
    2,529
    configurazione

    Predefinito

    Originariamente inviato da claudio67
    Ù
    Per aggiornare il vecchio aasetup basta installare il nuovo easetup senza rimuovere il precedente?
    come ha giustamente detto Filippo, lo script serve solo per l'installazione e la configurazione iniziali: una volta che hai un sistema funzionante, lo script non è più necessario (se vuoi puoi anche cancellarlo).

    È comunque pensato in modo da poter essere eseguito anche più di una volta senza creare problemi, ad es. per aggiornare il sistema (ma se hai già usato da poco una delle ultime versioni, per il momento non è cambiato nulla né in ciò che viene installato né nelle configurazioni).
    Ciao, Paolo.

    «Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee.»

  10. #1060
    tebibyte L'avatar di UnixMan
    Registrato
    Sep 2013
    Messaggi
    2,529
    configurazione

    Predefinito

    Originariamente inviato da antonellocaroli
    @Paolo ho modificato un po il post http://www.nexthardware.com/forum/pc...tml#post948621

    dimmi se va bene...
    Mi pare ottimo!

    Aggiungerei che le impostazioni "sperimentali" si possono cambiare anche a posteriori editando direttamente il file di configurazione anziché lo script (ricordando di usare il comando "sysctl" oppure riavviare per caricarle e renderle effettive);

    Per la selezione del kernel, ricordami di aggiungere il "savedefault" alla configurazione di grub.

    Per "pulse", ricordami di spostare la sua eliminazione solo nel caso si installi squeezelite...

    Si potrebbe valutare anche la possibilità di aggiungere le opzioni per installare anche MPD e/o NAA, in alternativa o in aggiunta a SL.

    BTW: nel frattempo mi sono accorto di un primo bachetto... nel setup dei s/r mi ero scordato di gestire il caso particolare in cui venga impostato sminRate=maxRate (frequenza fissa), nonché l'eventuale immissione per errore di minRate>maxRate. Lo sistemo al più presto.
    Ciao, Paolo.

    «Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee.»

Pagina 106 di 188
prima
... 6 56 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 156 ... ultimo

Informazioni Thread

Users Browsing this Thread

Ci sono attualmente 5 utenti che stanno visualizzando questa discussione. (0 utenti e 5 ospiti)

Regole d'invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
nexthardware.com - © 2002-2022