Gambas-it

Gambas3 => Programmazione => Topic aperto da: allegfede - 24 Febbraio 2014, 18:10:47

Titolo: creazione e gestione di un oggetto "timeline"
Inserito da: allegfede - 24 Febbraio 2014, 18:10:47
per un amico che aveva bisogno di un generatore di eventi, uno scheduler, per un suo cliente, durante la riunione del Terni Linux User Group, ho abbozzato una applicazioncina in gambas che prelevando da un file chooser un oggetto video, controllava al sua lunghezza con gstreamer e poi accodava lo stesso all'evento precedente.

Nel poco tempo a disposizione ci siamo arenati (l'occasione era utile anche per fare un piccolo corso su gambas, il mio pc era collegato al videoproiettore), ci siamo arenati sulla gestione dei "pulsanti" contenuti nella scrollable-container.

Ovvero, per ora si accoda alal label "orario di inizio" e si genera il primo .... ma poi mi manca la possibilita' di gestire gli eventi legati alla pressione dello stesso pulsante.

in allegato il prototipo .....

qualcuno a mai avuto modo di sperimentare con un affare tipo timeline (quella cosa tipica dei programmi di montaggio video)?
(http://blogs.msdn.com/cfs-filesystemfile.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-70-metablogapi/2402.clip_5F00_image006_5F00_2.jpg)
Titolo: Re: creazione e gestione di un oggetto "timeline"
Inserito da: fsurfing - 24 Febbraio 2014, 19:26:20
prova a mettere l' arrangiamente della scrollview a "vertical"

poi ho fatto alcune modifiche :)

ti allego il progetto
Titolo: Re: creazione e gestione di un oggetto "timeline"
Inserito da: allegfede - 24 Febbraio 2014, 20:14:28
grazie FSurfing :D

un po' di aggiornamenti ed e' carino ... ma un paio di test mi hanno dipinto un problemino con il click (o doppio click nel mio caso) sopra i bottoni creati nello scrollable container.

e' come se ad un certo punto questo impazzisse ... potrebbe essere legato a "last"?

in allegato la v.003
Titolo: Re: creazione e gestione di un oggetto "timeline"
Inserito da: fsurfing - 24 Febbraio 2014, 20:26:15
se provi ad impostare come componenti le qt anziche il gb.gui (che poi utilizza le gtk su ubuntu) funziona benissimo credo che sia nuovamente qualche problema legato alle gtk
Titolo: Re: creazione e gestione di un oggetto "timeline"
Inserito da: fsurfing - 24 Febbraio 2014, 20:31:54
io fossi in te comunque per fare la timeline utilizzere una dravingarea in cui disegnerei i vari rettangoli che corrispondono ai pezzi di video, sempre che lo scopo di questo programma non sia solo didattico
Titolo: Re: creazione e gestione di un oggetto "timeline"
Inserito da: Ceskho - 25 Febbraio 2014, 09:40:26
io fossi in te comunque per fare la timeline utilizzere una dravingarea in cui disegnerei i vari rettangoli che corrispondono ai pezzi di video, sempre che lo scopo di questo programma non sia solo didattico


*COFF COFF* Gesthotel *COFF COFF*
Titolo: Re: creazione e gestione di un oggetto "timeline"
Inserito da: fsurfing - 25 Febbraio 2014, 12:32:32
 ;D
Titolo: Re: creazione e gestione di un oggetto "timeline"
Inserito da: allegfede - 25 Febbraio 2014, 18:52:18
provo le QT :D .....

drawing area ..... potrebbe avere i suoi pro ...

pensavo che utilizzando oggetti predefiniti come i bottoni avrei avuto "gratis" gli eventi legati agli stessi (doppio click, drag & drop, etc) :D
Titolo: Re: creazione e gestione di un oggetto "timeline"
Inserito da: fsurfing - 25 Febbraio 2014, 21:12:14
Citazione
pensavo che utilizzando oggetti predefiniti come i bottoni avrei avuto "gratis" gli eventi legati agli stessi (doppio click, drag & drop, etc) Felice
questo è sicuramente vero...con la drawing area devi costruirti parecchie cose....ma l' effetto finale con la drawingg è molto più bello a mio parere, soprattutto considerando che paint gestisce le trasparenze ..
Titolo: Re: creazione e gestione di un oggetto "timeline"
Inserito da: allegfede - 26 Febbraio 2014, 13:52:49
molto interessante ... ma come sai sono pigro ... e poi non mi pagano e quindi si beccano quello che caccia il convento :D

fatto il test eliminando le gtk ed effettivamente ora va' :D

pero' c'ho un altro comportamento strano ...

volevo mettere una specie di "segnalino" in coda alla lista (bottoncioni) degli eventi che mi dicesse a partire dall'orario di inizio, quando finiva la playlist (usando una label simile a quella dell'orario di inizio), ma stranamente mi rimane "incollata" alla label iniziale ......

sembra una forzatura dello scrollable container, perche' nell'IDE la disegno sul fondo del container, poi a run time me la trovo riposizionata in automatico .....

in allegato gli aggiornamenti
Titolo: Re: creazione e gestione di un oggetto "timeline"
Inserito da: Ceskho - 26 Febbraio 2014, 16:51:43
fatto il test eliminando le gtk ed effettivamente ora va' :D

Abituati. Minisini fixa le gtk sempre più tarsi visto che lui sviluppa su KDE.  :nono:
Titolo: Re: creazione e gestione di un oggetto "timeline"
Inserito da: allegfede - 26 Febbraio 2014, 18:35:54
picole modifiche .... non mi rispettava l'effettiva durata delle clip, e primi tentativi di avere la preview del filmato con un doppio click :D

rimane sempre lo strano comportamento della label_orario_fine :-/
Titolo: Re: creazione e gestione di un oggetto "timeline"
Inserito da: fsurfing - 26 Febbraio 2014, 19:45:28
per la label , cambia l' arrangiamento prima di aggiungere un video

Codice: gambas [Seleziona]
Public Sub Button_AddMedia_Click()
Dim BT As Button
Dim DurataInSecondi As Integer

  Label_end_time.Hide
 ScrollView_TimeLine.Arrangement = 0
Titolo: Re: creazione e gestione di un oggetto "timeline"
Inserito da: allegfede - 27 Febbraio 2014, 14:10:56
cambiando arrangement a 0 funziona (quasi sempre :D)

stranamente mettendola a NONE dall'ide l'effetto non e' lo stesso ....
Titolo: Re: creazione e gestione di un oggetto "timeline"
Inserito da: fsurfing - 27 Febbraio 2014, 18:19:32
in alternativa puoi sempre lasciare l' arrangement a "none" è gestire la posizione o ogni controllo manualmente indicando il valore di x , y width e height  dopo averlo creato.
Titolo: Re: creazione e gestione di un oggetto "timeline"
Inserito da: allegfede - 03 Marzo 2014, 20:03:37
ultima revisione del progetto.

Ora con un doppio click sul bottoncione si apre la preview con gstreamer e la si manda in play-pausa avanti indietro con i controlli a fondo schermo.

strana cosa, con rieso ad intercettare il doppio click sul file nell'oggetto "file chooser" .....

versione .10 su sourceforge :D
https://sourceforge.net/projects/otva/files/2014-03-03_scrollable_timeline_playlist_generator/
Titolo: Re: creazione e gestione di un oggetto "timeline"
Inserito da: vuott - 04 Marzo 2014, 02:00:50
Ora con un doppio click sul bottoncione si apre la preview con gstreamer e la si manda in play-pausa avanti indietro con i controlli a fondo schermo.
Però premendo direttamente il tasto dell'esecuzione, a fondo schermo, ottengo un errore "Cannot set status" qui:
Codice: gambas [Seleziona]
 RiproduttoreVideo.Play()
Titolo: Re: creazione e gestione di un oggetto "timeline"
Inserito da: allegfede - 04 Marzo 2014, 12:34:37
si non sapeva che riprodurre :D

c'ho messo un controllo per vedere che ha qualcosa da riprodurre o no ...

https://sourceforge.net/projects/otva/files/2014-03-04_simple_playlist_generator/