Originariamente inviato da
SimoneFil
In questi 3 anni lo sviluppo di SoX è proseguito su SourceForge, di conseguenza mi è balzata in mente l'idea di ricompilare i binari che attualmente sono dispoibili sul mio sito e su quello di @Unixman . Sia mergeando tutte le modifiche che sono state fatte, sia compilando (anche) delle versioni ottimizzate che fanno uso di istruzioni AVX.
Ho chiesto a Mansr perchè la conversione in DSD non fosse implementata nella repo principale su SourceForge, essendo lui il maintainer de facto e la risposta è stata "I'm lazy".
Di conseguenza ho provato a integrare le modifiche per il supporto al DSD partendo dal sorgente su SF ma senza successo, tutte le macro di compilazione sono state cambiate e nonostanta abbia richeckato 20 volte tutti i commit da integrare nisba, non compilava.
Ho fatto quindi l'inverso, partendo dal repo su GitHub di Mansr ho integrato le modifiche che sono state fatte su SourceForge (un lavoraccio di m..) mantenendo però le macro di compilazione vecchie (modificando dove necessario). Ho inoltre implementato delle modifiche alla conversione DSD effetuate da damien78, maintainer della versione di SoX usata in Audirvana. (le trovate nella repo simonefil/sox)
Per ora ho compilato i binari per sistemi BSD (TrueNAS & co), sia con opzioni generiche sia una versione ottimizzata con CFLAGS = -O3 -march=broadwell (generazione in cui son state introdotte le istruzioni AVX e AVX2, si fa prima invece che scrivere tutte le singole opzioni). Ovviamente con librerie linkate staticamente.
@Unixman credo si stia occupando della versione per Linux.
Per la compilazione in Win sto riscontrando rogne, con MSVC è un gran mal di testa, con MinGW riscontro errori per la compilazione di libsndfile, la via più semplice sarebbe usare Cygwin, ma si perderebbe in performance e vorrei evitare. Qualche buon anima può dare una mano @marcoc1712 @antonellocaroli ?