Visualizza post

Questa sezione ti permette di visualizzare tutti i post inviati da questo utente. N.B: puoi vedere solo i post relativi alle aree dove hai l'accesso.


Post - Speedvicio

Pagine: 1 [2]
16
process_kill

process_kill si scatena quando termina il programma gestito da "process"...

Si avevo letto l'argomento ma purtroppo non va bene per quello che devo fare.

Comunque ho completato il progetto, il problema del tempo trascorso su sidplay rimane e ho anche capito il motivo, se non si chiude con closed il processo in pratica la text area non si aggiorna completamente.
Devo sistemare orpelli grafici i tooltip e amenità varie ma il player è perfettamente funzionante compreso il filtro sulle canzoni, se avete voglia di provarlo e magari avendo un pò di tempo fare anche qualche bug test ve ne sarei grato  :ok:

ps: il file xmpFF è il filtro del player e va estratto nella home del vostro os, in futuro vedrò come allegarlo nell'eseguibile e leggerlo da qualche percorso ancora da definire.

17
figurati ..)

son contento che hai risolto tutto, se hai dubbi non farti problemi a postare , qualcuno pronto ad aiutarti lo trovi sempre :)

Grazie sempre per la disponibilità, ovviamente metterò te e il forum nei crediti del programma, un altro dubbio veramente l'avrei, ho provato la controllare la fine del processo con finished ovviamente senza risultati, cercando su internet ho visto che può essere controllata la sua fine tramite process_kill ma purtroppo non è il metodo che serve al mio programma, ho dovuto quindi reinserire un timer per controllare lo stato del processo (0,1,2 etc), mi è stato comunque utile per gestire le varie funzioni di ripetizione brano.

Appena ho qualcosa di più concreto vi posto il sorgente.

18
Programmazione / Re: Problema intercettazione output processo.
« il: 14 Febbraio 2012, 21:38:03 »
Ho seguito il tuo consiglio ed ho eliminato il timer, ho modificato in modo molto "grezzo" il tuo codice per la parte relativa a UADE  in modo da fargli leggere correttamente il tempo trascorso.
Il sidplayer invece presenta sempre lo stesso problema nell'aggiornamento dei dettagli del brano e nella visualizzazione del tempo trascorso, pur settando la variabile 'tradotto' su false (l'ho messa nella sub ver_modulo che è quella che parte ad ogni variazione di brano).

Allego codice "spero" funzionante.


Ho risolto quasi tutti i problemi.

Ringrazio per la pazienza e per l'aiuto ricevuto, in particolar modo a te fsurfing, sei stato molto paziente e sopratutto di grandissimo aiuto senza di te non avrei tratto un ragno dal buco.  :ciao:

19
Programmazione / Re: Problema intercettazione output processo.
« il: 14 Febbraio 2012, 13:35:25 »
dovresti risolvere semplicemente portando la variabile tradotto a false quando avvii la canzone , in questo modo viene eseguito il codice di lettura dei titoli.

ps a me il sorgente non funziona, io fossi in te la parte relativa lla lettura del processo la lascere in CO e non in fmain

E' la prima prova che ho fatto e purtroppo non produce risultati, probabilmente perchè la lettura del processo è gestita da un timer.

In che senso il sorgente non funziona?

20
Programmazione / Re: Problema intercettazione output processo.
« il: 13 Febbraio 2012, 23:59:12 »
Grazie ancora per il tuo interessamento e per il tempo che stai perdendo nel tentativo di aiutarmi
Ho implementato il tuo codice sul sidplayer, non aggiorna le variabili al cambio della canzone nonostante venga killato il processo e la lettura del tempo trascorso varia al 50' secondo.

Allego nuovamente il sorgente aggiornato con il controllo iniziale sui player installati e le modifiche implementate sul sidplay "taroccando di sana pianta" il codice di fsurfing.

Se volete testare uade esiste un backport messo a disposizione da Morgoth per distribuzioni Ubuntu a questo indirizzo:

http://morgoth.free.fr/ubports/

Sidplay e Xmp sono disponibili già nel gestore di pacchetti.

 

21
Programmazione / Re: Problema intercettazione output processo.
« il: 13 Febbraio 2012, 20:19:24 »
giusto per semplificare ho fatto delle prove con sidplayer

ti allego un sorgente, metti il file  Noisy_Pillars.sid nella tua home e vedi se ti può essere utile qualcosa:

Ti ringrazio tanto per il sorgente, questa soluzione va bene, dovrei solamente estrapolarmi i dati relativi ai dettagli della canzone (nome, tipo modulo, autore etc) e metterli nella text area, mentre nella label andrebbe il dettaglio relativo alla riproduzione della canzone.

Con xmp è semplice perchè prevede un parametro che visualizza tali valori, con sidplay è un pò più incasinato, ora vedo se riesco a smanettarci un poco.

22
Programmazione / Re: Problema intercettazione output processo.
« il: 12 Febbraio 2012, 19:56:33 »
la cos amigliore sarebbe che allegassi un file sid, così possiamo fare delle prove.

cmq prova con qualcosa del genere

Codice: [Seleziona]
Public Sub screenplayer()
Dim stringa, risultato, subsong As String
  Dim righe As New String[]  
  Dim i As Integer
  
 'Exec ["uade123", "-g", song] To stringa
 'prova con questa riga
   hprocess = Shell "uade123 -g " & song For Read Write As "hprocess"
 'oppure con questa
 'hprocess = Shell "uade123 -g " & song For Input Output As "hprocess"
     If stringa = "" Then
      TextArea1.text = "Unknow format module"
      ami.Label9.text = "0"
      Return
    Else
   TextArea1.Clear
  Endif
  
  TextArea1.Clear
  righe = Split(stringa, "\n")  


For i = 0 To 3
  Try TextArea1.text = TextArea1.text & righe[i] & "\n"
  If Error Then Return
Next

If righe[3] = "" Then
subsong = righe[1]
Else
  subsong = righe[3]
  End If
  
subsong = Right(subsong, 18)
subsong = Trim(Replace(subsong, "(cur, min, max)", ""))
If Len(subsong) <= 2 Then
Ami.label7.text = subsong
Else
  ami.label7.text = "0"
End If

End

Public Sub hprocess_read()
  
  Dim sBuf As String

 
 
 
 
  If Lof(hprocess) Then
    Read #hprocess, sBuf, Lof(hprocess)
    TextArea1.Insert(sBuf)
  End If
  
End

Intanto grazie per l'aiuto.
Ho testato la tua soluzione, avevo fatto in precedenza una prova del genere senza esiti positivi, comunque vi allego un paio di file per dei test.

questo è compatibile con uade e deve essere estratto in una cartella a piacimento:
http://files.exotica.org.uk/?file=exotica/media%2Faudio%2FUnExoticA%2FGame%2FHuelsbeck_Chris%2FTurrican_2.lha

questo con sidplayer:
http://hvsc.perff.dk/MUSICIANS/T/Tel_Jeroen/Noisy_Pillars.sid

@fsurfing il tuo codice è corretto ma credo faccia la stessa cosa di quello che avevo implementato io:

Codice: [Seleziona]
Public Sub Process_Read()  
Dim sLine As String
Dim sottoS As String[]
Dim i As Integer
   
   
 Try Read #$hProcess, sLine, -256
   
  label2.text &= sLine & gb.newline 
End 

Tutto sommato l'output che ne deriva potrebbe anche andar bene, il problema principale è ottenere un risultato simile anche con sidplay2 e xmp

23
Programmazione / Re: Problema intercettazione output processo.
« il: 12 Febbraio 2012, 18:31:09 »
Stai tentando di caricare file non supportati da quei player , supportano solo chiptune per intenderci file. mod, .sid e tutta quella musica elettronica famosa ai tempi del commodore Amiga , c64 e dos per capirci.

Capisco.
Potresti allora magari porre un filtro  ;) per la finestra di dialogo "Choose a file to play" per selezionare i file ed escludere quelli non supportati.

C'è già qualcosa del genere nel modulo che al momento non è abilitato per dei test che sto effettuando, il problema che escludere tutti i file non supportati è un casino, nel mio computer se tenti di riprodurre file non supportati esce un errore che ti comunica che quel tipo di file non è supportato.
A te spunta quell'errore perchè nessuno dei player richiesti da frontend è installato quindi il processo non parte (è null) e quindi il programma freeza.
Dovrei implementare un ulteriore controllo ai pid dei tre processi e se nessuno dei tre è attivo avvisare con un errore.

24
Programmazione / Re: Problema intercettazione output processo.
« il: 12 Febbraio 2012, 18:19:10 »
Stai tentando di caricare file non supportati da quei player , supportano solo chiptune per intenderci file. mod, .sid e tutta quella musica elettronica famosa ai tempi del commodore Amiga , c64 e dos per capirci.
Comunque è strano non dovrebbe dare comunque quell'errore ora do un'occhiata... grazie per la segnalazione :)

25
Programmazione / [RISOLTO]Problema intercettazione output processo.
« il: 12 Febbraio 2012, 18:03:14 »
Salve mi chiamo Vincenzo e da poco meno di due mesi ho abbandonato windows per passare a kubuntu.
In questo lasso di tempo ho potuto smanettare un poco con Gambas ed ho realizzato il porting di un frontend che avevo creato su vb net (GambNafen).
Visto il mancato supporto di UADE sulle ultime versioni di Audacious,  sto cercando di ultimare un'interfaccia grafica per UADE compatibile anche con Sidplay2 e Xmp .

Ho un paio di difficoltà che non sono riuscito a superare pur leggendo il vostro prezioso forum e le numerose ma scarse guide su Gambas presenti sulla rete.

- Vorrei visualizzare su una textarea l'output del processo di UADE (attualmente viene visualizzata qualcosa ma in modo molto parziale)
- Vorrei fare la stessa cosa con Xmp e Sidplay ma la cosa sembra essere particolarmente ostica vista la serie di caratteri in sequenza riportati dai rispettivi output
- Vorrei gestire l'output di Sidplay2 con EXEC e non con SHELL ma a quanto pare con Sidplay2 il passaggio di più di tre parametri non viene digerito correttamente da EXEC

Ringrazio tutti coloro che mi aiuteranno ;)

Allego sorgente del progetto (scusate non è molto leggibile e per nulla commentato)

Pagine: 1 [2]