Sono come me le ha mandate Kimmo, non le ho nemmeno aperte, solo depositate li !!!
Usando un moderno IDE, non hai problemi di fine riga...
Printable View
ti sei decisamente perso più di un post... :gosh
(quel passaggio l'aveva già superato, poi si è fermato di nuovo più avanti, dove non trova la libreria).
sì, ma il confronto (diff -r) l'ho fatto tra la versione scaricata e compilata in precedenza (ieri? venerdì? boh) e quella scaricata oggi. In entrambi i casi dal branch "dsd_play...".
mmmh... forse il problema è che lui parte dalla versione "upstream" (quella di triode?) anziché dalla tua?
Visto che (se non erro) le tue modifiche sono state incorporate, non sarebbe il caso di tornare a quella? O manca ancora qualcosa?
ti sarà parso... non è certo l'editor il problema. Sono i tools di basso livello (diff/patch, make, gcc, ecc) che non funzionano se trovano i fine riga sbagliati!
...qualsiasi IDE non fa che usare quelli come "backend".
Ho letto che avete parlato di +6dB gain per uniformare il livello del DSF al PCM.
Attenzione, però, perché è giusto lasciare un margine di "errore" alle registrazioni che altrimenti vanno in clipping.
Quindi conviene utilizzare un +3dB gain.
Ad esempio, in HQPlayer, utilizzo +6dB gain, ma il volume generale è sempre a -3dB (così ho un margine anche per l'upsampling in PCM).
Dimenticavo: provato anche in DFF, funziona anche questo:
Per usarlo, basta banalmente duplicare (copia+incolla) le due righe per il dsf, sostituire nelle copie dsf con dff e riavviare LMS. Ah, potrebbe anche essere necessario disattivare l'uscita dsf in "file types" nel menù di configurazione.codice:*** /tmp/squeezelite.log ***
[23:25:05.519832] codec_open:218 codec open: 'd'
[23:25:05.519903] stream_sock:384 connecting to 127.0.0.1:9000
[23:25:05.519969] stream_sock:413 header: GET /stream.mp3?player=00:1c:c0:37:22:73 HTTP/1.0
[23:25:05.578335] stream_thread:176 headers: len: 115
HTTP/1.1 200 OK
Server: Logitech Media Server (7.9.0 - 1468928517)
Connection: close
Content-Type: audio/dff
[23:25:05.812456] output_thread:718 open output device: hw:CARD=D20
[23:25:05.812514] alsa_open:388 opening device at: 176400
[23:25:05.812726] alsa_open:461 opened device hw:CARD=D20 using format: DSD_U32_BE sample rate: 176400 mmap: 1
[23:25:05.812755] alsa_open:552 buffer: 499 period: 3 -> buffer size: 88023 period size: 29341
[23:25:05.842985] _read_header:134 DSDIFF version: 1.5.0.0
[23:25:05.843060] _read_header:138 sample rate: 5644800
[23:25:05.843068] _read_header:142 channels: 2
[23:25:05.843075] _read_header:145 found dsd len: 18446744073709551615
[23:25:05.843082] dsd_decode:765 setting track_start
[23:25:05.843089] dsd_decode:818 DSD128 stream, format: DSD_U32_BE, rate: 176400Hz
[23:25:06.482238] _output_frames:61 start buffer frames: 194031
[23:25:06.482311] _output_frames:146 track start sample rate: 176400 replay_gain: 0
*** /var/log/squeezeboxserver//server.log ***
[17-02-12 23:25:05.5177] Slim::Player::StreamingController::_Stream (1265) 00:1c:c0:37:22:73: stream
[17-02-12 23:25:05.5202] Slim::Player::StreamingController::_Stream (1302) Song queue is now 1
[17-02-12 23:25:05.5205] Slim::Player::StreamingController::_setPlayingState (2357) new playing state BUFFERING
[17-02-12 23:25:05.5207] Slim::Player::StreamingController::_setStreamingState (2366) new streaming state STREAMING
[17-02-12 23:25:05.5501] Slim::Player::TranscodingHelper::getConvertCommand2 (446) Matched: flc->dff via: [flac] -dcs --totally-silent $START$ $END$ -- $FILE$ | [sox] -q -t wav - -t dff -b 1 - gain -h rate -vMn 5644800 sdm -f sdm-8
[17-02-12 23:25:05.5510] Slim::Player::TranscodingHelper::getConvertCommand2 (446) Matched: flc->dff via: [flac] -dcs --totally-silent $START$ $END$ -- $FILE$ | [sox] -q -t wav - -t dff -b 1 - gain -h rate -vMn 5644800 sdm -f sdm-8
[17-02-12 23:25:06.4827] Slim::Player::StreamingController::playerTrackStarted (2180) 00:1c:c0:37:22:73
[17-02-12 23:25:06.4829] Slim::Player::StreamingController::_setPlayingState (2357) new playing state PLAYING
[17-02-12 23:25:06.4831] Slim::Player::StreamingController::_Playing (361) Song 1 has now started playing
[17-02-12 23:25:06.4837] Slim::Player::StreamingController::_Playing (390) Song queue is now 1
[17-02-12 23:25:07.2048] Slim::Player::TranscodingHelper::getConvertCommand2 (446) Matched: flc->dff via: [flac] -dcs --totally-silent $START$ $END$ -- $FILE$ | [sox] -q -t wav - -t dff -b 1 - gain -h rate -vMn 5644800 sdm -f sdm-8
[17-02-12 23:25:07.2055] Slim::Player::TranscodingHelper::getConvertCommand2 (446) Matched: flc->dff via: [flac] -dcs --totally-silent $START$ $END$ -- $FILE$ | [sox] -q -t wav - -t dff -b 1 - gain -h rate -vMn 5644800 sdm -f sdm-8
Fa qualche differenza? boh, penso siano perfettamente equivalenti. Comunque sia... "twu is megl' che one". :D
Da dove parte lui non lo so, la mia branch 'master' è l'ultima versione di Triode per come definita in GoogleProject prima che venisse chiuso.
Release contiene le patches nella directory patches (del branch release) come documentazione.
DSD_Play... è un branch di lavoro in cui le cose sono solo appoggiate,alla fine, se mai arriverà ad una fine, quanto deciderò di tenere confluirà in release e le relative patch passeranno in patch, sempre per documentazione.
"Quella" - a parte l'impossibilità di recuperarla come sorgete, non essendo in nessun repository aperto - è una versione di Daphile che non contiene solo la mia patch ma anche altre che ho giudicato non interessanti ai miei fini, ce ne somo centinaia (seppur non documentate come patch) nel repository della versione di Ralphy (standard community) o in altre. Ralphy ha sempre ricevuto le patch applicate ad R2, di qualsiasi provenienza, lui ha deciso quali applicare, quali modificare e quali respingere.
Ripeto che non mi interessa 'replicare' Daphile fuori da Daphile, se non per le funzionalità che ritengo utili.
Mi pare ovvio, ma se usi SEMPRE l'IDE per modificare i files di progetto, non hai problemii. Quelli sono solo appoggiati li per comodità, non fanno parte del MIO progetto, mi rendo conto di aver fatto male ad inserirli, ma nel momento in cui li aprirò, risolverò il problema.
Non ho capito come è stato risolto il problema di mpg123.h.
Con SOX hai una opzione specifica (-h) che 'stima' il fabbisogno di headroom in base a tuttigli effetti coinvolti e calcola un headroom di sicurezza in automatico, in tutte le prove che ho fatto ha sempre funzionato, cioè non si sono mai prodotti clipping. Il principioi è identico a quello che proponi tu, solo automatico e con il vantaggio di prendere atto a runtime, quando posso aver inserito correzione di gain, di volume o di loudness in più parti indipendtenti del comando.
Molto utile.