C3PO Plugin verisone 0.1alfa

Pagina 6 di 52
prima
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... ultimo
Visualizzazione dei risultati da 51 a 60 su 514
  1. #51
    pebibyte L'avatar di marcoc1712
    Registrato
    Jan 2013
    Messaggi
    5,254
    configurazione

    Predefinito

    Originariamente inviato da DacPassion
    @marco
    Ho provato con tutti flac
    Se serve fare qualche prova stasera verso le 22 dovrei esserci
    Lo script (quindi l'usampling al massimo sincrono) ancora non funziona sul mio mac, ma l'upsampling alla massima supportata dovrebbe adesso considerare i samplerate che hai spuntato nei settings e non più solo la massima del player.

    Quando riesci reinstalla e fai una prova, per cortesia.

    PS: rimane vero che se la tua scheda audio non riesce a riprodurre una certa frequenza (v. discussione di qualche giorno fa) anche se gliele invii...non suona, quindi assicurati di selezionare SOLO frequenze effettivamente supportate dalla tua scheda.

    Se hai due dac squeezelite (e C-3PO) devono essere riconfigurati ogni volta, che lo cambi, i settings sono per mac address (indirizzo fisico di rete univoco per ogni dispositivo, cioè nel tuo caso il futro) e non tengono conto del dac effettivamente collegato. E' così anche in Daphile ed in ogni player che utilizzi Squeezelite.
    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

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

    Predefinito

    Originariamente inviato da marcoc1712
    TI ho mandato i miei riferimenti, se preferisci usare quelli,
    grazie. Per ora visto che ci siamo rispondo qui, poi magari ci sentiamo via mail.

    Originariamente inviato da marcoc1712
    Perl si può probabilmente usare, ma in win per averlo eseguibile devi creare una versione linkata con perl stesso, diventa pesantissima e per essere 'silenziosa' come serve a noi ...tocca di comprare la versione a pagamento...
    non c'è bisogno di creare un eseguibile "entrocontenuto", si può configurare windoze affinche riconosca (ed esegua) gli script Perl allo stesso modo in cui riconosce ed esegue i suoi script .bat e .cmd "nativi". Vedi qui:

    How do I make my Perl scripts act like normal programs on Windows? - Stack Overflow

    (leggi tutto, ci sono anche delle info che forse potrebbero avere a che fare con il tuo problema con le redirezioni degli stream di I/O).

    Originariamente inviato da marcoc1712
    In ogni caso, nelle componenti di lancio per architettura non ci deve stare più dello stretto indispensabile, cioè quello che fa lo script, ma io non sono riuscito a farlo fare a perl, reindirizzare STDIN e STDOUT non basta per inserirlo nella pipe al posto del comando lanciato dalle varie shell.
    questo è strano. Hai incluso i moduli necessari? (perlio, credo). Vedi sopra... ed anche qui:

    Perl on Windows, file associations and I/O redirection - Stack Overflow

    Perl on Windows FAQ

    Originariamente inviato da marcoc1712
    In ogni caso, buona parte della logica starebbe in moduli (.pm) separati, che si occupano di interfacciare/ sovrascrivere funzionalità standard di LMS, quindi potrei avere un .pl 'minimo che faccia quasi esclusivamente le stesse cose degli script, riuscissi a farlo funzionare...
    l'uso di moduli mi pare cosa buona e giusta. Continuo però a non capire perché utilizzare uno script che non fa praticamente nulla (salvo lanciarne un altro) anziché far fare tutto (o quanto meno tutto ciò che è possibile) direttamente a quello (che viene avviato direttamente da LMS).

    In linea di principio io cercherei di semplificare quanto più possibile le cose, evitando giri inutili. Quindi (sempre senza conoscere i dettagli di LMS, per cui magari nella mia logica c'è qualche "intoppo" che mi sfugge) penserei di creare un "plugin" che gestisce le configurazioni (e la relativa UI) ed un "eseguibile" (in realtà verosimilmente ancora uno script Perl) che viene utilizzato da LMS sempre, per tutti i formati e tutte le conversioni possibili ed immaginabili. Sarebbe poi lo script stesso ad occuparsi di tutto (direttamente o utilizzando i vari comandi esterni quali flac, sox, mmpeg, ecc quando e come necessario), mentre LMS si limiterebbe ad avviarlo ed a fornigli dati e parametri di ingresso e di uscita.

    Uno dei punti chiave di tutto il ragionamento è che, anziché creare "n" casi particolari diversi per i diversi OS cercherei di utilizzare esclusivamente Perl, con codice scritto in forma quanto più possibile "portabile", che azzeri o quanto meno riduca al minimo possibile le differenze tra le diverse architetture. Altrimenti mantenere il tutto rischia di diventare un incubo...
    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. #53
    pebibyte L'avatar di marcoc1712
    Registrato
    Jan 2013
    Messaggi
    5,254
    configurazione

    Predefinito

    Originariamente inviato da UnixMan
    ...Continuo però a non capire perché utilizzare uno script che non fa praticamente nulla (salvo lanciarne un altro) anziché far fare tutto (o quanto meno tutto ciò che è possibile) direttamente a quello (che viene avviato direttamente da LMS).

    In linea di principio io cercherei di semplificare quanto più possibile le cose, evitando giri inutili. Quindi (sempre senza conoscere i dettagli di LMS, per cui magari nella mia logica c'è qualche "intoppo" che mi sfugge) penserei di creare un "plugin" che gestisce le configurazioni (e la relativa UI) ed un "eseguibile" (in realtà verosimilmente ancora uno script Perl) che viene utilizzato da LMS sempre, per tutti i formati e tutte le conversioni possibili ed immaginabili. Sarebbe poi lo script stesso ad occuparsi di tutto (direttamente o utilizzando i vari comandi esterni quali flac, sox, mmpeg, ecc quando e come necessario), mentre LMS si limiterebbe ad avviarlo ed a fornigli dati e parametri di ingresso e di uscita.

    Uno dei punti chiave di tutto il ragionamento è che, anziché creare "n" casi particolari diversi per i diversi OS cercherei di utilizzare esclusivamente Perl, con codice scritto in forma quanto più possibile "portabile", che azzeri o quanto meno riduca al minimo possibile le differenze tra le diverse architetture. Altrimenti mantenere il tutto rischia di diventare un incubo...
    Ovviamente ne convengo, per questo c'è un solo programma perl valido per tutte le architetture e solo gli script di lancio sono dipendenti dal SO, cosa che mi pare comunque inevitabile.

    Ribadisco che l'unica cosa che fanno questi script è localizzare C3PO.Perl e lanciarlo passandogli gli stessi parametri che hanno ricevuto in input, ne ricevono l'output (il comando) e lo mandano in esecuzione.

    Non volendo modificare LMS e volendo rispettare le regole imposte dalla sua architettura a plugin, devo necessariamente sottostare ad acuni vincoli, tra i quali quello che in windows l'eseguibile DEVE essere un .exe, altrimenti non viene riconosciuto.

    MA tralasciamo questo aspetto ed ipotizziamo di riuscire ad utilizzare PERL direttamente (alla peggio posso sempre lanciare PERL.exe stesso, estremamente inefficiente e poco elegante, ma...).

    Il vero problema diventa: come mando in esecuzione da dentro perl il comado che mi sono costruito?

    Con System o open è esattamente corrispondente a quello che faccio, al contrario, cioè da Perl chiamo il SO e gli faccio eseguire il comando, prelevo l'output e lo passo al processo chiamante (che è una pipe all'OS aperta dal PERL di LMS). In tutto questo giro, io non sono riuscito a far arrivare l'audio integro, ma forse sbaglio qualcosa.
    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

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

    Predefinito

    New da OsX...

    Se prendo il file per coocme esce dal comando

    "/Library/PreferencePanes/Squeezebox.prefPane/Contents/server/Bin/darwin/flac" -dcs --totally-silent -- "/Users/macbookair/Music/flac_44_16.flac" | "/Library/PreferencePanes/Squeezebox.prefPane/Contents/server/Bin/darwin/sox" -q -t wav - -t wav -r 176400 -c 2 -3 -s -L - gain -3 rate -v -M -a -b 90.7 176400 > file.wav

    e lo confronto con quello prodotto dallo stesso comando (cambiando le directory) su win, NON sono uguali. I programmi audio come Foobar, Audacity, iTunes,... li leggono senza problemi entrambi, ma non LMS (e di conseguenza squeezelite), quelli provenienti dal mac non li riconosce.

    Qualcuno pò consigliarmi un tool per vedere cosa c'è scritto nelle rispettive headers e capire dove si origina il problema, può essere il bit order?
    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

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

    Predefinito

    Originariamente inviato da marcoc1712
    ... devo necessariamente sottostare ad acuni vincoli, tra i quali quello che in windows l'eseguibile DEVE essere un .exe, altrimenti non viene riconosciuto.
    questo mi pare molto strano... che fa, LMS controlla "l'estensione" del nome? o addirittura il formato del file? perché mai dovrebbero voler fare una cosa simile!?

    BTW: e allora come fai ad utilizzare uno script di shell, che immagino sia un .bat (o .cmd)?

    Originariamente inviato da marcoc1712
    Con System o open è esattamente corrispondente a quello che faccio, al contrario, cioè da Perl chiamo il SO e gli faccio eseguire il comando, prelevo l'output e lo passo al processo chiamante (che è una pipe all'OS aperta dal PERL di LMS). In tutto questo giro, io non sono riuscito a far arrivare l'audio integro, ma forse sbaglio qualcosa.
    Occhio ai dettagli: possibile che tu stia trattando lo stream binario come testo (guarda tra le opzioni di open()), oppure che tu stia mischiando lo stream dei dati con altre cose (ad es. i messaggi dei programmi) perché non separi "stdout" da "stderr", o altro ancora ...
    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.»

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

    Predefinito

    Originariamente inviato da marcoc1712
    Qualcuno pò consigliarmi un tool per vedere cosa c'è scritto nelle rispettive headers e capire dove si origina il problema, può essere il bit order?
    copiatelo su una macchina Linux ed usa e.g. i comandi "file" e "mediainfo". Alla peggio, usa hexedit e guardaci direttamente "dentro"...
    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.»

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

    Predefinito

    Originariamente inviato da UnixMan
    questo mi pare molto strano... che fa, LMS controlla "l'estensione" del nome? o addirittura il formato del file? perché mai dovrebbero voler fare una cosa simile!?

    BTW: e allora come fai ad utilizzare uno script di shell, che immagino sia un .bat (o .cmd)?


    Occhio ai dettagli: possibile che tu stia trattando lo stream binario come testo (guarda tra le opzioni di open()), oppure che tu stia mischiando lo stream dei dati con altre cose (ad es. i messaggi dei programmi) perché non separi "stdout" da "stderr", o altro ancora ...

    Non so come faccia, immagino che in win cerchi l'estensione, infatti .bat o .cmd non funzionano. In Linux e mac controlla il magic bit che determina se è eseguibile o meno, l'estensione non conta.

    Perli di Perl o di bash?

    Su perl STDERR è deviato sul log, STDOUT va in uscita e viene raccolto da bash/cmd/sh... Su bash in effetti no, potrei provare a farlo non appena prima di lanciare il comando, anche se sia flac che sox son oin modo silenzioso, ma non si sa mai...


    Ma da perl, una volta fatta la open del FH ho già una pipe completa, quello che non riesco a fare è passare lo STDOUT di perl stesso alla pipe che LMS ha aperto per lanciarlo:

    per spiegarmi:

    ESTERNO > PERL (LMS) > Open PERL (SCRIPT) > Open SHELL COMMAND > PERL (SCRIPT) > PERL LMS > ESTERNO

    mentre in questo modo (tranne che in mac) va:

    ESTERNO > PERL (LMS) > Open SHELL COMMAND > PERL LMS > ESTERNO

    dove le parti in Blu non dipendono dal mio codice ma sono impostate da LMS, io posso solo innestarmi sostituendo un qualsiasi eseguibile (o pipe di eseguibili) al posto di Open Shell Command (...bella backdoor...), mediante le famose stringhe nei convert.conf.
    Ultima modifica di marcoc1712 : 28-10-2015 a 18:39
    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

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

    Predefinito

    Ciao Marco, pare che su win Max sample sinco non va...mi si apre sto file

    codice:
    #
    # See plugin.pm for description and terms of use.
    
    use strict;
    
    use FindBin qw($Bin);
    use lib $Bin;
    use lib $Bin.'/CPAN';
    
    # let standard modules load.
    #
    use constant SLIM_SERVICE => 0;
    use constant SCANNER      => 1;
    use constant RESIZER      => 0;
    use constant TRANSCODING  => 0;
    use constant PERFMON      => 0;
    use constant DEBUGLOG     => ( grep { /--nodebuglog/ } @ARGV ) ? 0 : 1;
    use constant INFOLOG      => ( grep { /--noinfolog/ } @ARGV ) ? 0 : 1;
    use constant STATISTICS   => ( grep { /--nostatistics/ } @ARGV ) ? 0 : 1;
    use constant SB1SLIMP3SYNC=> 0;
    use constant IMAGE        => ( grep { /--noimage/ } @ARGV ) ? 0 : 1;
    use constant VIDEO        => ( grep { /--novideo/ } @ARGV ) ? 0 : 1;
    use constant MEDIASUPPORT => IMAGE || VIDEO;
    use constant WEBUI        => 0;
    use constant ISWINDOWS    => ( $^O =~ /^m?s?win/i ) ? 1 : 0;
    use constant ISMAC        => ( $^O =~ /darwin/i ) ? 1 : 0;
    use constant HAS_AIO      => 0;
    use constant LOCALFILE    => 0;
    use constant NOMYSB       => 1;
    #
    #######################################################################
    
    use Data::Dump qw(dump);
    use Getopt::Long;
    use YAML::XS;
    use File::Spec::Functions qw(:ALL);
    
    use Transcoder;
    
    #########################################################################
    #
    # Command line options.
    #
    # -c - client mac address (es. 00:04:20:12:b3:17) -> clientId
    # -i - input stream format (es. flc) -> inFormat
    # -o - output stream format (es. wav) -> outFormat
    # -t - stream time start offset (m:ss.cc es. 24:46.02) -> startTime
    # -v - stream time end offset (m:ss.cc es. 28:24.06) -> endTime
    # -s - stream seconds start offset (hh:mm:ss.mmm es. 00:15:47.786) -> startSec
    # -u - stream seconds end offset (hh:mm:ss.mmm es. 00:19:07.000) -> endSec
    # -w - stream seconds duration (n*.n* es. 542.986666666667) -> durationSec
    # -r - imposed samplerate
    #
    # The input file is the first and only parameter (with no option) in line.
    #
    #########################################################################
    
    #### preference file pathname, will be replaced with the command line options #
    #
    # my $prefFile = "C:\\Documents and Settings\\All Users\\Dati applicazioni\\SqueezeboxTest\\prefs\\plugin\\C3PO.prefs";
    # my $clientId = "e8:de:27:03:05:b2";
    #
    #################
    my $logfile;
    
    init();
    
    #################
    
    
    sub init{
    
    	my $options=getOptions();
    	#dump ($options);
    	
    	if (!defined $options) {dieMessage("Missing options")}
    	if (!defined $options->{clientId}) {dieMessage("Missing clientId in options")}
    	if (!defined $options->{prefFile}) {dieMessage("Missing preference file in options")}
    	if (!defined $options->{inCodec}) {dieMessage("Missing input codec in options")}
    	
    	my $clientId= $options->{clientId};
    	#dump ($clientId);
    	
    	my $prefFile=$options->{prefFile};
    	
    	my $prefs=loadPreferences($prefFile);
    	#dump ($prefs);
    
    	my $client=buildClient($clientId);
    	#dump ($client);
    	
    	my $serverFolder=$prefs->{'serverFolder'};
    	if (!defined $serverFolder) {dieMessage("Missing ServerFolder")}
    	#dump ($serverFolder);
    
    	my $logFolder=$prefs->{'logFolder'};
    	if (!defined $logFolder) {dieMessage("Missing log directory in preferences")}
    	#dump ($logFolder);
    	
    	$logfile= catdir($logFolder, "C-3PO.log");
    	
    	my $transcodeTable=buildTranscoderTable($client,$prefs);
    	$transcodeTable->{'options'}=$options;
    	#dump ($transcodeTable);
    	
    	$transcodeTable->{'inCodec'}=$options->{inCodec};
    	my $commandTable=Plugins::C3PO::Transcoder::buildCommand($transcodeTable);
    		
    	returnCommand($commandTable->{command});
    
    }
    sub writeLog {
    	my $msg = shift;
    
    	my $now = localtime;
    	my $line = qq([$now] $msg);
    
    	open(my $fh, ">>", qq($logfile)) or  die;
    	print $fh "\n $line \n";
    	close $fh;
    }
    sub returnCommand{
    	my $command=shift;
    	
    	if (DEBUGLOG || INFOLOG) {writeLog(qq(INFO: Command is: $command));}
    	
    	print STDOUT ($command);
    	exit;
    }
    sub getOptions{
    
    	#dump(@ARGV);
    	
    	my $options={};
    	if ( @ARGV > 0 ) {
    
    		GetOptions( 'c=s' => \$options->{clientId},
    				'i=s' => \$options->{inCodec},
    				'o=s' => \$options->{outCodec},
    				't=s' => \$options->{startTime},
    				'v=s' => \$options->{endTime},
    				's=s' => \$options->{startSec},
    				'u=s' => \$options->{endSec},
    				'w=s' => \$options->{durationSec},
    				'r=s' => \$options->{forcedSamplerate},
    				'p=s' => \$options->{prefFile},
    				);
    				
    				my $file;
    				for my $str (@ARGV){
    					
    					if (!defined $file){
    						
    						$file=$str;
    						
    					} else {
    					
    						$file = qq($file $str);
    					}
    				}
    				$options->{file}=$file;
    				
    				#print "\n\n\n".$options->{file}."\n";
    				return $options;
    	}
    	return undef;
    }
    
    sub buildClient{
    	my $clientId = shift;
    
    	$clientId =~ s/-/:/g;
    	return '_client:'.$clientId;
    }
    
    sub loadPreferences {
    	my $file=shift;
    	
    	my $prefs;
    	$prefs = eval {YAML::XS::LoadFile($file) };
    
    	if ($@) {
    		# log is not yet initialized
    		warn("Unable to read prefs from $file : $@\n");
    	}
    	return $prefs;
    }
    sub buildTranscoderTable{
    	my $client=shift;
    	my $prefs= shift;
    	
    	if (!exists $prefs->{$client}){
    
    		dieMessage("Missing client preferences for player $client");
    	}
    		
    	my $transcodeTable={};
    	
    	$transcodeTable->{'id'}=$prefs->{$client}->{'id'};
    	$transcodeTable->{'macaddress'}=$prefs->{$client}->{'macaddress'};
    	$transcodeTable->{'model'}=$prefs->{$client}->{'model'};
    	$transcodeTable->{'modelName'}=$prefs->{$client}->{'modelName'};
    	$transcodeTable->{'name'}=$prefs->{$client}->{'name'};
    	$transcodeTable->{'maxSupportedSamplerate'}=$prefs->{$client}->{'maxSupportedSamplerate'};
    	$transcodeTable->{'codecs'}=$prefs->{$client}->{'codecs'};
    	$transcodeTable->{'sampleRates'}=$prefs->{$client}->{'sampleRates'};
    
    	my $useGlogalSettings=$prefs->{$client}->{'useGlogalSettings'};
    
    	$transcodeTable->{'resampleWhen'}= $useGlogalSettings ?
    					$prefs->{'resampleWhen'} : $prefs->{$client}->{'resampleWhen'};
    					
    	$transcodeTable->{'resampleTo'}=$useGlogalSettings ?
    					$prefs->{'resampleTo'} : $prefs->{$client}->{'resampleTo'};
    					
    	$transcodeTable->{'outCodec'}=$useGlogalSettings ?
    					$prefs->{'outCodec'} : $prefs->{$client}->{'outCodec'};
    					
    	$transcodeTable->{'outBitDepth'}=$useGlogalSettings ?
    					$prefs->{'outBitDepth'} : $prefs->{$client}->{'outBitDepth'};
    					
    	$transcodeTable->{'outByteOrder'}=$useGlogalSettings ?
    					$prefs->{'outByteOrder'} : $prefs->{$client}->{'outByteOrder'};
    					
    	$transcodeTable->{'outEncoding'}=$useGlogalSettings ?
    					$prefs->{'outEncoding'} : $prefs->{$client}->{'outEncoding'};
    					
    	$transcodeTable->{'outChannels'}=$useGlogalSettings ?
    					$prefs->{'outChannels'} : $prefs->{$client}->{'outChannels'};
    					
    	$transcodeTable->{'gain'}=$useGlogalSettings ?
    					$prefs->{'gain'} : $prefs->{$client}->{'gain'};
    					
    	$transcodeTable->{'phase'}=$useGlogalSettings ?
    					$prefs->{'phase'} : $prefs->{$client}->{'phase'};
    	
    	$transcodeTable->{'quality'}=$useGlogalSettings ?
    					$prefs->{'quality'} : $prefs->{$client}->{'quality'};
    	
    	$transcodeTable->{'aliasing'}=$useGlogalSettings ?
    					$prefs->{'aliasing'} : $prefs->{$client}->{'aliasing'};
    					
    	$transcodeTable->{'bandwidth'}=$useGlogalSettings ?
    					$prefs->{'bandwidth'} : $prefs->{$client}->{'bandwidth'};
    					
    	$transcodeTable->{'dither'}=$useGlogalSettings ?
    					$prefs->{'dither'} : $prefs->{$client}->{'dither'};
    
    	$transcodeTable->{'pathToFlac'}=$prefs->{'pathToFlac'};
    	$transcodeTable->{'pathToSox'}=$prefs->{'pathToSox'};
    	$transcodeTable->{'pathToFaad'}=$prefs->{'pathToFaad'};
    	$transcodeTable->{'pathToC3PO'}=$prefs->{'pathToC3PO'};
    	$transcodeTable->{'pathToFFmpeg'}=$prefs->{'pathToFFmpeg'};
    	
    	$transcodeTable->{'serverFolder'}=$prefs->{'serverFolder'};
    	$transcodeTable->{'logFolder'}=$prefs->{'logFolder'};
    
    	my $outCodec= $transcodeTable->{'outCodec'};
    	$transcodeTable->{'outCompression'}=0;
    	
    	if (length($outCodec)>3){
    		
    		$transcodeTable->{'outCodec'}=substr($outCodec, 0,3);
    		$transcodeTable->{'outCompression'}=substr($outCodec, 3,1)
    	}
    
    	return $transcodeTable;
    }
    sub dieMessage{
    	my $msg=shift;
    	writeLog(qq(ERROR: $msg));
    	die ($msg);
    }
    1;

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

    Predefinito

    Quello è il programma perl vero e proprio...

    Cosa vuol dire che ti si apre, ti compare a video invece di andare in esecuzione?
    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

  10. #60
    tebibyte
    Registrato
    Aug 2011
    Età
    50
    Messaggi
    2,928
    configurazione

    Predefinito

    Originariamente inviato da marcoc1712
    Quello è il programma perl vero e proprio...

    Cosa vuol dire che ti si apre, ti compare a video invece di andare in esecuzione?
    Yes....mi esce la richiesta di windows con cosa voglio aprire un file....scelgo blocnote ed é quello...
    per il play sembra che parte ma non c é suono...

Pagina 6 di 52
prima
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... ultimo

Informazioni Thread

Users Browsing this Thread

Ci sono attualmente 1 utenti che stanno visualizzando questa discussione. (0 utenti e 1 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