Difference between revisions of "User:Salahzar Stenvaag/classes/StreamingMedia IT"

From Second Life Wiki
Jump to navigation Jump to search
Line 118: Line 118:
Questo è qualcosa di molto contorto e dato che molti oggetti commerciali sono normalmente NOTRANSFER per impedire il resell, se comprate qualcosa che deve funzionare come oggetto multimeida questo DEVE essere TRANSFER per consentire la donazione. I venditori, normalmente non sono contenti di dare oggetti transfer e per evitare che ne facciate tante copie per rivenderle, di solito tolgono il permesso di COPY.
Questo è qualcosa di molto contorto e dato che molti oggetti commerciali sono normalmente NOTRANSFER per impedire il resell, se comprate qualcosa che deve funzionare come oggetto multimeida questo DEVE essere TRANSFER per consentire la donazione. I venditori, normalmente non sono contenti di dare oggetti transfer e per evitare che ne facciate tante copie per rivenderle, di solito tolgono il permesso di COPY.


Se avete oggetti FULL PERMISSIONS non ci sono problemi, ma anche qua,
Se avete oggetti FULL PERMISSIONS non ci sono problemi, ma anche in questo caso ci sono dei bachi in SecondLife che possono impedirvi di riottenere la stessa cosa (in pratica è possibile che un oggetto full permissions quando rezzato, donato, e ripreso possa diventare nocopy nomodify alla fine). Siete avvisati se possibile di farvi copie multiple nel vostro inventory.


There should not be any problems with FULL PERMISSIONS objects, but here again there are some subtle bugs in SecondLife that might prevent you in having the same thing (i.e. a full permission object when rezzed, deeded, taken can become nocopy nomodify at the end). So you are advised if possible to keep copies in your inventory.
Vi mostro quale dovrebbe essere la sequenza "corretta" da fare quando si dona un oggetto ad un gruppo. Assumiamo che abbiate un box con 1 script e due notecard.


To show you the "correct" sequence to do when deeding an object to a group let assume we have a box with 1 script and 2 notecards.
* Dovete essere sicuri che l'oggetto sia almeno TRANSFER (copy/modify è meglio). Verificate che ANCHE il prossimo proprietario possa trasferirlo e copy/modify.
* Rezzate l'oggetto e fate SHARE al gruppo (fate attenzione di farlo al gruppo *corretto* dovete avere il giusto tag sulla vostra testa),
* Accertatevi che tutti gli item DENTRO l'oggetto siano a loro volta SHARED col gruppo e con i permessi giusti!!!
* A questo punto potete DONARE al gruppo MA attenzione ai punti seguenti


* You must be sure the object is at least TRANSFER (copy/modify is better). Check that next owner can also TRANSFER it (and copy/modify as well).
Per DONARE al gruppo dovete essere l'owner del gruppo oppure avere le seguenti autorizzazioni (permission) nel vostro ruolo:
* rez the object and SHARE with the group (the *correct* group be careful to have the proper tag on your head),
* be sure also to SHARE with the group and to check each permissions of contained items!!!!
* at this point you DEED the object to the group BUT READ below


You must be the owner of the group or have the following capabilities from the group in your role:
* "Change music & media settings" (se volete essere capacit di cambiare le caratteristiche multimediali della land)
* Change music & media settings (if you want to be able to check Media Properties of the land)
* "Return Owned Objects" Ritornare gli oggetti di proprietà del gruppo (per poter ripulire il vostro oggetto una volta donato)
* Return objects owned by group (to be able to reclaim your object)
* "Deed objects to group" permission di fare la donazione
* Deed objects to group
* "Manipulate" (move,copy,modify) group objects. Per poter muovere editare l'oggetto una volta donato
* Manipulate (move,copy,modify) group objects )


Whenever you DEED an object and have modify rights on it, be sure to share it again with the group AND RESET scripts in it. (Simplest way to do it is to right-click, edit and from Tools menu choose Reset Scripts in selected objects.
Nel momento in cui avete DONATO un oggetto e avete i diritti di modifica su di esso, fate attenzione a fare di nuovo lo share al gruppo (che viene perso al momento della donazione) e di fare il RESET dell'oggetto per fargli capire che ha cambiato proprietario. (Il modo più semplice per farlo e di cliccare-destro l'oggetto, scegliere "Edit" e dal menu Tools scegliete "Reset Scripts in selected objects".


Reset is *QUITE* important to be sure that scripts are working under the correct identity. If you don't reset the object the object might easily simply not work :(
Il reset è *MOLTO* importante per essere sicuri che gli script funzionino sotto la nuova corretta identià. Se non resettate l'oggeto questo potrebbe facilmente non funzionare (a meno che sia NON MODIFY e che si accorga da solo del cambio di proprietario)


Questions?
Domande?


''''At the end of this part you should be comfortable with what is media content, how to set it manually and how it relates with scripted objects.
''''Alla fine di questa parte dovreste essere a vostro agio su "cosa è un contenuto multimediale", come impostarlo manualmente e come i contenuti multimediali si relazionano con gli oggetti scriptati.
''''
''''




= Part II: Scripted Media Object =
= Part II: Oggetti Scriptati che lavorano con il multimedia =




     0. Why we need a scripted object
     0. Perchè abbiamo bisogno di oggetti scriptati
     1. The basic lsl command llParcelMediaCommandList
     1. Il comando base llParcelMediaCommandList
     2. A very simple "web browser" listening to a channel to change URL
     2. Un browser web molto semplice che ascolta su un canale per cambiare la URL
     3. Other usages
     3. Altri usi
     4. Caveats and troubleshooting
     4. Problemi e cose a cui fare attenzione
      
      


== 0. Why we need a scripted object. ==
== 0. Perchè abbiamo bisogno di oggetti scriptati. ==




We can use the powerful media manual interfaces but ONLY if we are owner of the land, owners of the group if land is deeded or officers with enough capabilities.
Possiamo usare l'interfaccia multimedia manuale SOLO se siamo proprietari della terra, proprietari del gruppo oppure officer con abbastanza autorizzazioni.
This can be however a bit cumbersome since you have to open up the dialog from about land and choose the url (You might as well use your browser where there is an option which puts automatically current url on the media settings if you want people to surf with you the web).


But if you want to automate the URL changing, for example in an unattended presentation, or if you want people not in your group to be able to choose their own url / movies, you MUST definitely have some scripted objects.
Anche se siete proprietari è un po' noioso, dato che dovete aprire la finestra "About land" e scegliere la url. (In vostro aiuto ci sarebbe una utile nuova funzione del browser web incluso nel client: c'è una opzione che mette la URL che state vedendo sul settaggio multimediale e quindi vi aiuta a far vedere alla gente quello che vedete voi sul vostro browser).


When you have scripted objects you enter in the issues I explained before (deeded objects, transfer hell etc). We give for granted that you know how to deal with that mess (this is why I divided the class in 2 parts) :) And concentrate on the scripting part.
Ma se volete automatizzare il cambiamento della URL, per esempio in presentazioni automatiche, oppure se volete che persone che non fanno parte del vostro gruppo siano in grado di scegliere la loro url / film anche in maniera aiutata, DOVETE definitivamente avere oggetti scriptati.


Questions?
Nel momento in cui avete oggetti scriptati, entrate in tutti i problemi che abbiamo spiegato prima (oggetti donati, l'"inferno" del transfer ecc). Diamo per scontato che adesso voi sappiate gestire tutto questo casino (questo è il perchè abbiamo diviso il corso in due parti) :)


Adesso concentriamoci sulla parte di script.
Domande?


== 1. The basic command. ==


== 1. Il comando di base. ==
Lo scripting lsl vi da un comando potente e stracarico che fa "tutto" relativamente alle proprietà di multimedia.


lsl scripting gives you a powerful and lengthy command which does "everything" related to setting media properties.
llParcelMediaCommandList( [list] );
llParcelMediaCommandList( [list] );
accepts a list of commands for instance:
 
accetta una lista di comandi.. Ad esempio:
 


llParcelMediaCommandList( [
llParcelMediaCommandList( [
Line 179: Line 182:
             PARCEL_MEDIA_COMMAND_TEXTURE, (key) llGetTexture(0) ] );
             PARCEL_MEDIA_COMMAND_TEXTURE, (key) llGetTexture(0) ] );


Which uses as texture the first texture contained in the object inventory and sets a URL to show.
Questo usa come texture la prima contenuta nell'inventory dell'oggetto e setta la URL da mostrare.
 
Potete anche usare i seguenti comandi:


You can also use the following commands:


  PARCEL_MEDIA_COMMAND_STOP     
  PARCEL_MEDIA_COMMAND_STOP     
Line 189: Line 193:
  PARCEL_MEDIA_COMMAND_TEXTURE (key)" " (typecast to key!!!)
  PARCEL_MEDIA_COMMAND_TEXTURE (key)" " (typecast to key!!!)
  PARCEL_MEDIA_COMMAND_URL  " "  (254 chars!)
  PARCEL_MEDIA_COMMAND_URL  " "  (254 chars!)
  PARCEL_MEDIA_COMMAND_TIME  float  (to skip to a specific time in video)
  PARCEL_MEDIA_COMMAND_TIME  float  (per andare in uno specifico momento del video)
  PARCEL_MEDIA_COMMAND_AGENT    (key) (to apply movie to a specific avatar.. Warning it is allegedly buggy)
  PARCEL_MEDIA_COMMAND_AGENT    (key) (per fare vedere il film ad uno specifico avatar.. Non l'ho mai provato, dicono che non funzioni bene)
  PARCEL_MEDIA_COMMAND_UNLOAD  (remove movie)
  PARCEL_MEDIA_COMMAND_UNLOAD  (toglie il film)
  PARCEL_MEDIA_COMMAND_AUTO_ALIGN     
  PARCEL_MEDIA_COMMAND_AUTO_ALIGN     
  PARCEL_MEDIA_COMMAND_TYPE    " "
  PARCEL_MEDIA_COMMAND_TYPE    " "
Line 197: Line 201:
  PARCEL_MEDIA_COMMAND_DESC    " "
  PARCEL_MEDIA_COMMAND_DESC    " "


See http://lslwiki.net/lslwiki/wakka.php?wakka=llParcelMediaCommandList for a detailed comment of this.
Guardate su http://lslwiki.net/lslwiki/wakka.php?wakka=llParcelMediaCommandList per una lista dettagliata di commenti su questo.


Questions?
Domande?




== 2. A very simple "web browser" listening to a channel to change URL ==
== 2. Un semplice browser web che ascolta su un canale per cambiare URL ==




Line 217: Line 221:
          
          
         llListen(10,"",NULL_KEY,"");
         llListen(10,"",NULL_KEY,"");
         llSay(0,"Say http://url on channel 10");
         llSay(0,"Digita http://url sul canale 10 (/10 http://xxxxx.yyyy.zzz");
        
        
     }
     }
     listen(integer channel, string name, key id, string str)
     listen(integer channel, string name, key id, string str)
     {
     {
         llSay(0,"Refreshing URL: "+str+"...");
         llSay(0,"Cambio la URL: "+str+"...");
         llParcelMediaCommandList([PARCEL_MEDIA_COMMAND_AUTO_ALIGN, 1,  PARCEL_MEDIA_COMMAND_STOP, PARCEL_MEDIA_COMMAND_TYPE, "text/html", PARCEL_MEDIA_COMMAND_URL, sURL, PARCEL_MEDIA_COMMAND_PLAY ]);
         llParcelMediaCommandList([PARCEL_MEDIA_COMMAND_AUTO_ALIGN, 1,  PARCEL_MEDIA_COMMAND_STOP, PARCEL_MEDIA_COMMAND_TYPE, "text/html", PARCEL_MEDIA_COMMAND_URL, sURL, PARCEL_MEDIA_COMMAND_PLAY ]);
         llSay(0,"Done.");
         llSay(0,"Fatto.");
     }
     }
  }
  }


Questions?
Domande?
 
 
== 3. Altri usi ==


In congiunzione con http_request (che non spiegherò in questo corso), possiamo fare cose piuttosto miracolose come:


== 3. Other Usages ==
- mostrare notecard (la notecard viene convertita in html e viene mostrata la relativa pagina html)
- possiamo anche fare un vero browser web ascoltando il nome del link e seguendo quel link
- possiamo ascoltare in chat ed avere una lavagna interattiva dove il contenuto viene preso dalla chat
E molti altri usi.


Rispetto a xytext ed altri il metodo multimedia consente di risparmiare molti prim (ne può bastare uno solo!);


In connection with http_request (it is out of the scope of current class), we can do quite miracolous things like:
Domande?
- showing notecards (converting notecard to html and showing the html page)
- we can also do an almost real browser just listening to the name of a link and asking to follow that link
- we can listen to chat and have an interactive whiteboard where the content comes from the chat
and many other usages.


== 4. Problemi e cose a cui fare attenzione. ==


== 4. Trouble shooting. ==
Ancora: ho visto MOLTE persone che rimangono confuse quando hanno un oggetto streaming e devono usarlo.


Non appena vedono che lo schermo semplicemente rimane bianco tendono ad innervosirsi e ad arrendersi oppure maledire il programmatore o i Lindens.


Here again I've seen a LOT of people who get confused when they have a streaming object and have to use it.
Ecco il modo corretto di gestire i problemi e la lista di controllo da fare:
Whenever they see that the screen simply remains blank they tend to be nervous and to give up or to blame  the programmer or the Lindens.
Here again the correct way of dealing with problems is trying to check the following:


* is the media parcel working "manually" correctly? i.e. are you (or the owner or the officer) able to manually change the media parcel and show the movie the URL correctly?
* Lo streaming funziona sulla terra in modo manuale? Se siete owner o officer dovreste riuscire a cambiare lo streaming da "About Land..."
* is the object correctly DEEDED to the group? In case try to use it in a normally owned land to check if it is correctly working.
* L'oggetto è stato correttamente DONATO al gruppo? Se avete sospetti, provate l'oggetto su una terra non di gruppo che non ha bisogno del deed e verificate che stia lavorando correttamente. Ricordatevi eventualmente di fare reset dell'oggetto.
* is Quicktime and media enabled on your browser?  
* Quicktime e il multimedia sono effettivamente abilitati sul vostro browser?  
* are you in the correct parcel?  
* Siete nella parcella giusta?


For instance a sequence of problems and how to solve them can be found at the following page:
Una pagina web che insegna come gestire i problemi è la seguente (ad esempio):


http://www.slguide.com/help/
http://www.slguide.com/help/


Questions?
Domande?


''Thanks for the participation. :)''
''Grazie per la partecipazione. :)''

Revision as of 13:41, 11 November 2008

Classe: Come usare lo streaming e progettare oggetti che visualizzino film, pagine web, immagini ecc.

Istruttore: Salahzar Stenvaag (SL Mentor)

Data: 11 Novembre 2008

Location: Solaris Experience


Breve Descrizione:

Fare lo "streaming" di video, pagine web ed immagini è una delle caratteristiche più potenti che SecondLife offre a comunità, aziende, individui per condividere contenuto visuale, MA il processo di impostazione è molto confusionario, difficile e soggetto ad errori.

Ho impostato questo corso per spiegare le basi delle impostazioni "Media Parcel" e come scrivere degli script scemplici che utilizzino questa caratteristica in modo semplice, effettivo e "condiviso".


NB: Il contenuto di questo corso non è riconosciuto dalla Linden, mentre invece fa parte dell'esperienza di Insegnamento Volontaio organizzata di mentori in SL. Se siete interessati ad avere notizie sui mentori in SecondLife potete chiedermi al termine della lezione.e class is finished.


Prerequisiti:

Per comprendere questa lezione dovete essere a vostro agio con le basi della gestione dei gruppi, dell'editing di oggetti, e un minimo di capacità di scripting: non insegneremo cosa sia un gruppo nè come compilare "Ciao Avatar" :)

Part I: Contenuto multimediale

   0. Introduzione
   1. Come far funzionare lo streaming (visitatore)
   2. Come impostare lo streaming su una terra (proprietario o officer)
   3. Cosa succede quando una terra è "donata" deed al gruppo?
   4. Problematiche sulla donazione e problemi di autorizzazione (permission)
   


0. Introduzione

La capacità di mostrare film, pagine web e foto in Secondlife viene ottenuta usando il tab "Media" nella maschera della land (accessibile cliccando sul nome della terra sulla barra in alto oppure cliccando sulla terra e facendo edit terrain). Ad aprile 2008, il sistema di streaming è diventato più potente consentendovi di visualizzare anche siti web o immagini da siti web senza usare quicktime o siti php intermedi. Quicktime è comunque ancora necessario per far funzionare le possibilità di base. Noi faremo vedere in particolare la visualizzazione multimediale.

Ci sono molti video che mostrano come tutto questo funziona. Torley ha fatto diversi video molto interessanti ed esaustivi al seguente indirizzo : http://blog.secondlife.com/2008/03/10/parcel-media-video-tutorials-how-to-play-movies-webpages-more/ Siete invitati a vedere i suoi video che sono ottimi ed istruttivi. In ogni caso noi faremo questo corso dal vivo dato che l'esperienza diretta funziona spesso meglio dei video automatici :)

Per mostrare del contenuto multimediale DOVETE possedere un pezzo di terra dato che il contenuto multimediale è associato alla proprietà terriera.

==> Se non possedete un pezzo di terra potreste lo stesso far parte di un gruppo che possiede terra come "officer" a cui è stato consentito di modificare il contenuto multimediale.

Ogni lotto di terra (parcel) può avere al massimo 1 contenuto stream associato, dal che, se volete mostrare 10 film allo stesso momento e 5 immagini da siti web dovreste suddividere la terra in almeno 15 sottoparcelle. Attenzione: gli avatar possono vedere lo stream SOLO se sono nella stessa parcel dove lo stream è settato.

Domande?


1. Come far funzionare lo stream (visitatore)

Se siete in una terra dove lo stream è stato impostato potete vederlo premendo il bottono "play" sul fondo del vostro schermo proprio alla destra del campo "gesture" sopra il bottone "mini-map".

Se è grigio allora DOVETE abilitare la preferenza Quicktime premendo CTRL-P e mettendo il baffo su "Play Streaming Media". Potete anche decidere di mettere il tick su "Automatically Play Streams when available" per avere il contenuto multimediale attivato automaticamente. In questo modo risparmiate un po' di tempo.

NB: dovete avere installato quicktime sul vostro pc.

Domande?


2. Come impostare il contenuto multimediale (proprietario o officer)

Se avete i giusti permessi (siete proprietari della terra o un officer autorizzato), potete cliccare su "About Land" e vi verranno mostrate le caratteristiche della terra.

Potete cliccare-destro per terra e cliccare sul cerchio di selezione "ABout Land", oppure cliccare sul nome della terra sulla striscia in cima al vostro client, scegliete quello che vi risulta più comodo.

Io personalmente preferisco cliccare sul nome in cima: è più rapid e potete farlo anche se state volando in cielo o su una piattaforma.

Cliccando sulla linguetta "Media"

Potete scegliere le cose seguenti:


  • Media Type: Quale tipo di media dovete mostrare (potete ignorarlo dato che viene automaticamente impostato quando mettete la URL).
  • Media URL: Potete cliccare su "Set..." per impostare una URL valida oppure una sorgente di film (mpg, mp4)(Attenzione: fate attenzione a cambiare la url con "Set.." e NON nella descrizione altrimenti non funziona!!
  • Replace Texture Mostra qual è la texture nella terra che è usata per mostrare il contenuto multimediale. Potete impostare qualunque delle vostre texture in modo da mostrare un Help o un logo. Altrimenti la texture di default è grigetta "Default Media Texture".
  • Auto Scale: Normalmente la selezioniamo in modo che il flusso copra TUTTA la superficie del prime non solo una parte

Tralasciamo la parte relativa al suono, che non fa parte di questo corso.

Ogni volta che avete dei problemi con il media (e siete i proprietari o ufficiali autorizzati), accertatevi di controllare su questa pagina se siete in grado di modificare il media in modo tale da dedurre se tutto funziona bene con lo streaming sulla vostra terra.

Domande?


3. Cosa succede se la terra è donata (deed) al gruppo?

Per prima cosa diciamo due parole sul concetto di "donazione" (deed) e di gruppi, che sono piuttosto complessi e farraginosi in SecondLife.

I gruppi sono stati creati per aiutare le comunità a condividere terre, attività e per definire ruoli. Alcune persone nel gruppo sono soltanto "membri", altri sono "officers", a seconda di una complessa matrice di permessi e di autorizzazioni.

I permessi possono essere impostati per consentire ai membri di un ruolo di costruire oggetti, espellere altri membri, poter donare oggetti ed usarli e di impostare le proprietà multimediali della terra.

Siamo interessati nella donazione perchè il nostro scopo ultimo è quello di fare un oggetto scriptato capace di cambiare le caratteristiche multimediali al nostro posto senza bisogno di farle manualmente su "About Land" e senza premere troppi tasti.

Un oggetto come una lavagna o uno schermo o un TV possono cambiare le proprietà multimediali della terra di gruppo SOLO se sono stati donati al gruppo. Ecco perchè stiamo parlando di gruppi e di donazioni. :)

Le terre donate sono più complicate delle terre possedute da semplici avatar. Nel secondo caso (il più semplice), gli oggetti scriptati possono cambiare le caratteristiche multimediali solo a condizione di essere dello stesso proprietario della terra.

Nell'altro caso, più complesso anche l'oggetto deve essere di proprietà del gruppo. Non basta che sia *shared with group* deve anche essere DONATO (deed to group).

Domande?


4. Problematiche sulla donazione e problemi di autorizzazione (permission)

Ogni volta che donate qualcosa ad un gruppo NON SIETE più proprietari di quella cosa (questo valido per le terre, ma ancora di più per gli oggetti).

Di fatto la donazione equivale ad un TRANSFER (vendita). Anche nel caso in cui siete owner del gruppo, quando donate qualcosa al gruppo PERDETE l'oggetto e potreste non essere più in grado di riottenerlo indietro, almeno non con le stesse permissions :(

Questo è qualcosa di molto contorto e dato che molti oggetti commerciali sono normalmente NOTRANSFER per impedire il resell, se comprate qualcosa che deve funzionare come oggetto multimeida questo DEVE essere TRANSFER per consentire la donazione. I venditori, normalmente non sono contenti di dare oggetti transfer e per evitare che ne facciate tante copie per rivenderle, di solito tolgono il permesso di COPY.

Se avete oggetti FULL PERMISSIONS non ci sono problemi, ma anche in questo caso ci sono dei bachi in SecondLife che possono impedirvi di riottenere la stessa cosa (in pratica è possibile che un oggetto full permissions quando rezzato, donato, e ripreso possa diventare nocopy nomodify alla fine). Siete avvisati se possibile di farvi copie multiple nel vostro inventory.

Vi mostro quale dovrebbe essere la sequenza "corretta" da fare quando si dona un oggetto ad un gruppo. Assumiamo che abbiate un box con 1 script e due notecard.

  • Dovete essere sicuri che l'oggetto sia almeno TRANSFER (copy/modify è meglio). Verificate che ANCHE il prossimo proprietario possa trasferirlo e copy/modify.
  • Rezzate l'oggetto e fate SHARE al gruppo (fate attenzione di farlo al gruppo *corretto* dovete avere il giusto tag sulla vostra testa),
  • Accertatevi che tutti gli item DENTRO l'oggetto siano a loro volta SHARED col gruppo e con i permessi giusti!!!
  • A questo punto potete DONARE al gruppo MA attenzione ai punti seguenti

Per DONARE al gruppo dovete essere l'owner del gruppo oppure avere le seguenti autorizzazioni (permission) nel vostro ruolo:

  • "Change music & media settings" (se volete essere capacit di cambiare le caratteristiche multimediali della land)
  • "Return Owned Objects" Ritornare gli oggetti di proprietà del gruppo (per poter ripulire il vostro oggetto una volta donato)
  • "Deed objects to group" permission di fare la donazione
  • "Manipulate" (move,copy,modify) group objects. Per poter muovere editare l'oggetto una volta donato

Nel momento in cui avete DONATO un oggetto e avete i diritti di modifica su di esso, fate attenzione a fare di nuovo lo share al gruppo (che viene perso al momento della donazione) e di fare il RESET dell'oggetto per fargli capire che ha cambiato proprietario. (Il modo più semplice per farlo e di cliccare-destro l'oggetto, scegliere "Edit" e dal menu Tools scegliete "Reset Scripts in selected objects".

Il reset è *MOLTO* importante per essere sicuri che gli script funzionino sotto la nuova corretta identià. Se non resettate l'oggeto questo potrebbe facilmente non funzionare (a meno che sia NON MODIFY e che si accorga da solo del cambio di proprietario)

Domande?

'Alla fine di questa parte dovreste essere a vostro agio su "cosa è un contenuto multimediale", come impostarlo manualmente e come i contenuti multimediali si relazionano con gli oggetti scriptati. '


Part II: Oggetti Scriptati che lavorano con il multimedia

   0. Perchè abbiamo bisogno di oggetti scriptati
   1. Il comando base llParcelMediaCommandList
   2. Un browser web molto semplice che ascolta su un canale per cambiare la URL
   3. Altri usi
   4. Problemi e cose a cui fare attenzione
   

0. Perchè abbiamo bisogno di oggetti scriptati.

Possiamo usare l'interfaccia multimedia manuale SOLO se siamo proprietari della terra, proprietari del gruppo oppure officer con abbastanza autorizzazioni.

Anche se siete proprietari è un po' noioso, dato che dovete aprire la finestra "About land" e scegliere la url. (In vostro aiuto ci sarebbe una utile nuova funzione del browser web incluso nel client: c'è una opzione che mette la URL che state vedendo sul settaggio multimediale e quindi vi aiuta a far vedere alla gente quello che vedete voi sul vostro browser).

Ma se volete automatizzare il cambiamento della URL, per esempio in presentazioni automatiche, oppure se volete che persone che non fanno parte del vostro gruppo siano in grado di scegliere la loro url / film anche in maniera aiutata, DOVETE definitivamente avere oggetti scriptati.

Nel momento in cui avete oggetti scriptati, entrate in tutti i problemi che abbiamo spiegato prima (oggetti donati, l'"inferno" del transfer ecc). Diamo per scontato che adesso voi sappiate gestire tutto questo casino (questo è il perchè abbiamo diviso il corso in due parti) :)

Adesso concentriamoci sulla parte di script. Domande?


1. Il comando di base.

Lo scripting lsl vi da un comando potente e stracarico che fa "tutto" relativamente alle proprietà di multimedia.

llParcelMediaCommandList( [list] );

accetta una lista di comandi.. Ad esempio:


llParcelMediaCommandList( [

           PARCEL_MEDIA_COMMAND_URL, "http://enter_your.url/here",
           PARCEL_MEDIA_COMMAND_TEXTURE, (key) llGetTexture(0) ] );

Questo usa come texture la prima contenuta nell'inventory dell'oggetto e setta la URL da mostrare.

Potete anche usare i seguenti comandi:


PARCEL_MEDIA_COMMAND_STOP     
PARCEL_MEDIA_COMMAND_PAUSE  
PARCEL_MEDIA_COMMAND_PLAY    
PARCEL_MEDIA_COMMAND_LOOP    
PARCEL_MEDIA_COMMAND_TEXTURE (key)" " (typecast to key!!!)
PARCEL_MEDIA_COMMAND_URL  " "  (254 chars!)
PARCEL_MEDIA_COMMAND_TIME   float  (per andare in uno specifico momento del video)
PARCEL_MEDIA_COMMAND_AGENT    (key) (per fare vedere il film ad uno specifico avatar.. Non l'ho mai provato, dicono che non funzioni bene)
PARCEL_MEDIA_COMMAND_UNLOAD   (toglie il film)
PARCEL_MEDIA_COMMAND_AUTO_ALIGN    
PARCEL_MEDIA_COMMAND_TYPE    " "
PARCEL_MEDIA_COMMAND_SIZE    x, y
PARCEL_MEDIA_COMMAND_DESC    " "

Guardate su http://lslwiki.net/lslwiki/wakka.php?wakka=llParcelMediaCommandList per una lista dettagliata di commenti su questo.

Domande?


2. Un semplice browser web che ascolta su un canale per cambiare URL

default
{
   state_entry()
   {
       string s=llGetInventoryName(INVENTORY_TEXTURE,0);
       key k=llGetInventoryKey(s);
       
       llSetTexture(s,0);
       llParcelMediaCommandList([PARCEL_MEDIA_COMMAND_TEXTURE, k ]);
       
       llListen(10,"",NULL_KEY,"");
       llSay(0,"Digita http://url sul canale 10 (/10 http://xxxxx.yyyy.zzz");
      
    }
    listen(integer channel, string name, key id, string str)
    {
       llSay(0,"Cambio la URL: "+str+"...");
       llParcelMediaCommandList([PARCEL_MEDIA_COMMAND_AUTO_ALIGN, 1,  PARCEL_MEDIA_COMMAND_STOP, PARCEL_MEDIA_COMMAND_TYPE, "text/html", PARCEL_MEDIA_COMMAND_URL, sURL, PARCEL_MEDIA_COMMAND_PLAY ]);
       llSay(0,"Fatto.");
    }
}

Domande?


3. Altri usi

In congiunzione con http_request (che non spiegherò in questo corso), possiamo fare cose piuttosto miracolose come:

- mostrare notecard (la notecard viene convertita in html e viene mostrata la relativa pagina html) - possiamo anche fare un vero browser web ascoltando il nome del link e seguendo quel link - possiamo ascoltare in chat ed avere una lavagna interattiva dove il contenuto viene preso dalla chat E molti altri usi.

Rispetto a xytext ed altri il metodo multimedia consente di risparmiare molti prim (ne può bastare uno solo!);

Domande?

4. Problemi e cose a cui fare attenzione.

Ancora: ho visto MOLTE persone che rimangono confuse quando hanno un oggetto streaming e devono usarlo.

Non appena vedono che lo schermo semplicemente rimane bianco tendono ad innervosirsi e ad arrendersi oppure maledire il programmatore o i Lindens.

Ecco il modo corretto di gestire i problemi e la lista di controllo da fare:

  • Lo streaming funziona sulla terra in modo manuale? Se siete owner o officer dovreste riuscire a cambiare lo streaming da "About Land..."
  • L'oggetto è stato correttamente DONATO al gruppo? Se avete sospetti, provate l'oggetto su una terra non di gruppo che non ha bisogno del deed e verificate che stia lavorando correttamente. Ricordatevi eventualmente di fare reset dell'oggetto.
  • Quicktime e il multimedia sono effettivamente abilitati sul vostro browser?
  • Siete nella parcella giusta?

Una pagina web che insegna come gestire i problemi è la seguente (ad esempio):

http://www.slguide.com/help/

Domande?

Grazie per la partecipazione. :)