Gambas-it

Gambas3 => Programmazione => Topic aperto da: pastrank - 04 Dicembre 2021, 17:21:34

Titolo: I soliti escape della shell
Inserito da: pastrank - 04 Dicembre 2021, 17:21:34
A dimostrazione del mio poco tempo libero, stavo riguardando adesso i risultati del lavoro di un programma lanciato con dei parametri con la shell, e non funziona quando il nome della directory passata come parametro contiene un apostrofo. Certo di dimenticarmi qualcosa, provo a sentire l'ente di aiuto apposito :-)

Codice: [Seleziona]
"mediainfo --Inform='Audio;%Duration%' " & "'" & wfile & "'"

Questa e' la base, ovviamente ho provato a escapare, a invertire le virgolette singole e doppie, ma si vede che non ho piu' la pratica di una volta...


Titolo: Re:I soliti escape della shell
Inserito da: cogier - 05 Dicembre 2021, 15:06:32
Questo codice ha funzionato per me.

Codice: [Seleziona]
Public Sub Form_Open()

  Dim sData As String
  Dim wFile As String = User.Home &/ "Music/Baz Lurhman - Sunscreen.mp3"

  Shell "mediainfo --Inform='Audio;%Duration%' " & Chr(34) & wfile & Chr(34) To sData

  Print sData

End

(https://www.cogier.com/gambas/mediainfo.png)
Titolo: Re:I soliti escape della shell
Inserito da: vuott - 05 Dicembre 2021, 15:55:02
Codice: [Seleziona]
"mediainfo --Inform='Audio;%Duration%' " & "'" & wfile & "'"

....comunque potresti ottenere la durata di file audio senza l'uso dell'istruzione "Shell".
Titolo: Re:I soliti escape della shell
Inserito da: pastrank - 05 Dicembre 2021, 16:18:10
Questo codice ha funzionato per me.

Se spiego perche' non mi funzionava, vengo preso a pacchine sulla testa :-) In pratica avevo la riga sopra dove trasformavo ' in \' e l'avevo lasciata li', mi rovinava ogni cosa. E io scemo non mi accorgevo di niente, nonostante fosse la riga precedente!!! Grazie
Titolo: Re:I soliti escape della shell
Inserito da: pastrank - 05 Dicembre 2021, 16:19:44
....comunque potresti ottenere la durata di file audio senza l'uso dell'istruzione "Shell".

E a uno (parecchio) arrugginito come diresti di informarsi?
Titolo: Re:I soliti escape della shell
Inserito da: vuott - 05 Dicembre 2021, 16:28:52
E a uno (parecchio) arrugginito come diresti di informarsi?

Questi file audio di che formato sono ?
wav, ogg, mp3.... ? Qualsiasi ?
Titolo: Re:I soliti escape della shell
Inserito da: vuott - 05 Dicembre 2021, 16:35:07
Comunque per praticità suggerisco questo:

    https://www.gambas-it.org/wiki/index.php?title=Conoscere_la_durata_di_un_file_audio_mediante_il_Componente_gb.media

ma, ovviamente, ci sono anche altre modalità.
Titolo: Re:I soliti escape della shell
Inserito da: pastrank - 05 Dicembre 2021, 17:13:19
E a uno (parecchio) arrugginito come diresti di informarsi?

Questi file audio di che formato sono ?
wav, ogg, mp3.... ? Qualsiasi ?

Beh, io uso mp3, flac, wavpack e dsf... mediainfo e' la libreria che piu' ne prende di dati, ancor piu' della Mutagen che uso via Python
Titolo: Re:I soliti escape della shell
Inserito da: vuott - 05 Dicembre 2021, 17:16:53
Ad ogni modo ...vedi un po' qua:  :-\

   https://www.gambas-it.org/wiki/index.php?title=Guide_della_comunit%C3%A0#Gestione_dei_dati_audio_e_dei_file_audio
Titolo: Re:I soliti escape della shell
Inserito da: pastrank - 05 Dicembre 2021, 21:37:45
Ad ogni modo ...vedi un po' qua:  :-\

Stavo meditando (lo sto facendo da qualche anno a dire il vero) su qualche sistema ad uso generale pratico e veloce, ma spesso un'applicazione ha dei pregi ma anche dei grossi problemi. Attualmente, per evitarmi grossi lavori, agirei affidandomi a Mediainfo per leggere le tag e kid3-cli per scriverle...

L'antifona: ho una discreta collezione di musica sul pc, alcune cose non si trovano piu' in giro da anni, e non vorrei perdermele per qualche motivo o averle, ma non poterle usare, ad esempio con i server DLNA. Per quello via via ho implementato un sacco di controlli automatici sui file, visto anche le dimensioni che mi costringono a fare controlli un po' per volta.