siccome ho reinstallato il sistema operativo, sto' riprovando a fare un debdel sistema.
Gambas 3.8.4 da repository ufficiali di Ubuntu - gnome, tutto va come deve essere (allegato 1)
oltre al fatto che questa procedura:
Public Sub Button_SubFolders_Click()
Dim Canzoni As String[]
Dim Canzone As String
Dim Radice As String
Dim contatore As Integer
Dialog.Title = "Seleziona la cartella da cui vuoi iniziare la scansione."
Dialog.Path = Label_MediaFolder.Text
If Dialog.SelectDirectory() Then
Return
Else
radice = Dialog.Path
canzoni = RDir(radice, "*.mp3") 'carico solo i file mp3
canzoni.Insert(RDir(radice, "*.ogg")) ' .... e quelli .OGG
Endif
Me.Mouse = Mouse.Wait
ProgressBar_scan.Value = 0
contatore = 0
For Each canzone In canzoni
ProgressBar_scan.Value = contatore / canzoni.Count
canzone = radice & "/" & canzone
If PresenteInLista(canzone) = False Then 'in questo modo e' piu' veloce
Label_Duration.Tag = ""
GetInfo(canzone)
AddSong(canzone)
Endif
contatore = contatore + 1
Next
Me.Mouse = Mouse.Arrow
Message.Info("Completed scan of:" & gb.crlf & Radice & gb.CrLf & "and sub-folders!", "done")
End
Public Function PresenteInLista(path As String) As Boolean
Dim presente As Boolean = False
ColumnView_Discoteca.MoveFirst
Repeat
'ColumnView_Discoteca.Item.Selected = True
If ColumnView_Discoteca.Item[3] = path Then
presente = True
Break
Endif
Until ColumnView_Discoteca.Movenext()
Return presente
End
Public Sub AddSong(path As String)
Dim chiave As String
' e' una canzone NUOVA e quindi la sua chiave NON e' l'id ma NEW e poi un contatore progressivo
chiave = "new" & ColumnView_Discoteca.Count
ColumnView_Discoteca.Add(chiave, "", PictureBox_New.Picture)
ColumnView_Discoteca.Item[1] = TextBox_artist.Text
ColumnView_Discoteca.Item[2] = TextBox_title.Text
ColumnView_Discoteca.Item[3] = path
ColumnView_Discoteca.Item[4] = TextArea_TAGS.Text
ColumnView_Discoteca.Item[5] = Label_EntryIN.Text
ColumnView_Discoteca.Item[6] = Label_EntryOUT.Text
ColumnView_Discoteca.Item[7] = Label_DJ.Text
ColumnView_Discoteca.Item[8] = False
ColumnView_Discoteca.Item[9] = False
ColumnView_Discoteca.Item[10] = TextBox_year.Text
ColumnView_Discoteca.Item[11] = TextArea_Comments.Text
ColumnView_Discoteca.Item[12] = Label_Duration.Text
End
Public Sub GetInfo(filepath As String)
Dim RitornoTAG As String
Dim aScan As String[]
Dim NomeFile As String
NomeFile = File.BaseName(filepath)
TextArea_Comments.Clear
TextArea_TAGS.Clear
Select Case LCase(File.Ext(filepath))
Case "mp3"
EstraiTagmp3(filepath)
CalcolaDurata(filepath)
Label_EntryIN.Text = "00:00:00"
Label_EntryOUT.Text = Label_Duration.Text
Label_DJ.Text = "00:00:00"
Case "ogg", "flac"
'EstraiTagmp3(filepath)
Exec ["ogginfo", filepath] To RitornoTAG
For Each RitornoTAG In Split(RitornoTAG, "\n")
RitornoTAG = Trim(RitornoTAG)
aScan = Scan(RitornoTAG, "*: *m:*s")
If aScan.Count = 3 Then
'Return CInt(CInt(aScan[1]) * 60 + CFloat(Replace(aScan[2], ",", ".")) + 0.5)
Endif
Next
CalcolaDurata(filepath)
Label_EntryIN.Text = "00:00:00"
Label_EntryOUT.Text = Label_Duration.Text
Label_DJ.Text = "00:00:00"
End Select
sembra mandare in crash Gambas (e mi ricordo che fosse proprio questa la molla che mi convinse a passare all'ultima release del linguaggio), con questo messaggio:
** Oops! Internal error! **
** Cannot create signal handler pipes: Troppi file aperti
** Program aborting. Sorry! :-(
** Please send a bug report at gambas@users.sourceforge.net