Individuare in GNOME il percorso contenente i file delle tracce di un CD-audio

Da Gambas-it.org - Wikipedia.

Sovente , volendo vedere i file delle tracce di un CD-audio mediante l'oggetto DialogBox, per poterli caricare e successivamente eseguire, non riusciamo ad individuare il punto di montaggio nel file-system che rappresenta il CD-audio. In GNOME il punto di montaggio, che rappresenta il CD-Audio, è solitamente il seguente percorso:

/run/user/1000/gvfs/cdda:host=sr0

Risultando così visibili nella cartella finale di detto percorso, come file audio (per esempio in formato wav), le tracce potranno essere caricate nelle modalità consuete.


Mostriamo un semplice esempio di applicazione in ambiente grafico con attivazione del Componente gb.sdl2.audio per l'esecuzione delle tracce del CD-audio (che - come già detto - saranno caricate come fossero dei file audio), nonché con preimpostazione dell'apertura della finestra dell'oggetto DialogBox in prossimità della cartella finale (solitamente cdda:host=sr0) contenente i file audio delle tracce del CD-audio.

Public Sub Button1_Click()
 
 With Dialog
' Preimpostiamo l'apertura della finestra del DialogBox in prossimità della cartella contenente i file delle tracce audio:
   .Path = "/run/user/1000/gvfs"
   If .OpenFile() Then Return
   Music.Load(.Path)
 End With
 
End
 
Public Sub Button2_Click()
 
 Music.Play()
 
End

Public Sub Button3_Click()

 Music.Stop()
 
End

Public Sub Button4_Click()

 Music.Pause()

End

Poiché il Componente gb.sdl2.audio non possiede una specifica Classe (come invece era per il precedente Componente gb.sdl.sound, ora eliminato) per la gestione dei CDROM, senza l'individuazione del punto di montaggio del CD-audio mediante l'escamotage dell'individuazione del percorso con gvfs non sarebbe possibile caricare e quindi eseguire le tracce audio del CD.


Individuare da codice una determinata traccia del CD-audio avente nome contenente uno o più spazi

Se si deve individuare da codice una determinata traccia del CD-audio, perché essa possa essere caricata ed eseguita, mettendo il caso che il suo nome sia " Track 1 " (ossia contenente uno o più spazi), nella stringa contenente l'intero percorso ed il nome del file audio, che rappresenta la traccia del CD-audio, potrà essere conservato lo spazio, oppure potrà essere inserito il carattere +, oppure una delle consuete soluzioni per definire il carattere dello spazio.

Mostriamo al riguardo un esempio, nel quale si utilizzerà il Componente gb.media e si eseguirà la prima traccia del CD-audio impostando al posto dello spazio il carattere "+":

Public Sub Main()
 
 Dim mp As MediaPlayer
 
  With mp = New MediaPlayer
    .URL = Media.URL("/run/user/1000/gvfs/cdda:host=sr0/Track+1.wav")
    .Play
  End With
   
  Do
' Mostra in console la posizione, espressa in secondi, all'interno dei dati processati:
    Write #File.Out, "\rDurata del brano: " & CStr(Date(0, 0, 0, 0, 0, 0, mp.Duration * 1000)) & "   -   Tempo trascorso: " & CStr(Date(0, 0, 0, 0, 0, 0, mp.Position * 1000))
  Loop Until mp.Position >= mp.Duration
  
  mp.Stop
  
End