Pierluigi Panunzi
24-02-2013, 13:01
Probabilmente una delle caratteristiche meno conosciute di Stellarium è la cosiddetta funzionalità di Scripting e cioè la possibilità di automatizzare alcune operazioni oppure replicare certe situazioni: in altri post (ad esempio qui (http://www.astronomia.com/forum/showthread.php?2053-Stellarium-seguire-il-cammino-di-corpi-celesti)o qui (http://www.astronomia.com/forum/showthread.php?2048-Stellarium-il-nuovo-rendering)) vi ho indicato lunghe sequenze di comandi da impostare, premendo tasti o cliccando il mouse. Sarebbe molto bello evitare questa tediosa sequenza di tasti, soprattutto perché alcuni comandi non danno un riscontro immediato e perciò non sappiamo nemmeno se sia stato interpretato correttamente.
C'è il modo! La soluzione è lo Scripting.
Per chi conosce un po' più il mondo dei PC, lo scripting si avvicina molto ai batch file, misteriosi programmi che automatizzano certe operazioni sul nostro computer: lo scripting di Stellarium è un vero e proprio linguaggio di programmazione contenuto all'interno di Stellarium stesso, che consente di effettuare quasi tutte le operazioni possibili da tastiera e da mouse, come telecomandandole dall'esterno. Una sequenza di linee di programma (detto script) permette così di effettuare una serie di comandi uno di seguito all'altro, in modo sicuro e ripetitivo (nel senso che ogni volta che eseguiamo la sequenza i risultati sono gli stessi).
Qualcuno di voi storcerà già il naso: lo so, l'argomento è molto complesso, richiede conoscenze di programmazione avanzate, non è (ancora) documentato molto bene (ma i creatori di Stellarium hanno promesso di farlo!), ma ci sono a disposizione tools simpatici ed efficienti per fare prove e debuggare il tutto.
Quello di Scripting è un linguaggio di programmazione che ricorda molto il C++ e java, il solito fritto misto di funzioni, metodi, classi, ecc da utilizzare con una sintassi simile appunto al C++ e a java. Ma prima di perdervi definitivamente ("ma di cosa accidenti ci stai parlando?! che noia che barba..."), vi fermo per dirvi che all'interno di Stellarium ci sono già degli script, belli che pronti, con i quali si può innanzitutto fare la conoscenza di una funzionalità sconosciuta, per poi passare (se si è ben intenzionati, cioé pazzoidi) a voler conoscere cosa c'è dietro le quinte, per poi finire (se si è davvero smanettoni come il sottoscritto) a modificare, provando e riprovando.
Confesso che questa funzionalità l'avevo sempre trascurata, ritenendola non molto interessante e poi leggendo la poca documentazione mi era passata la voglia di metterci mano, nonostante la mia grande conoscenza della programmazione maturata da anni e anni: no, non mi sto esaltando! All'inizio anche io non sapevo assolutamente dove e come mettere le mani: volevo scrivere questa serie di articoletti ma ad un certo punto stavo quasi per abbandonare...
Invece eccomi qui: a forza di provare comincio ad avere buoni risultati (che si scontrano però con vari bug presenti qua e là in Stellarium) e sono quelli che vi presenterò volta per volta, dandovi modo di replicare facilmente sul vostro PC quello che desidero mostrarvi, senza inutili e tediose sequenze di tasti e click...
Questa voleva essere solo una presentazione tanto per invogliarvi: data la difficoltà dell'argomento ci fermiamo qui. Nulla di trascendentale, però...
Già dalla prossima puntata passeremo a qualcosa di più pratico, per capire meglio di cosa stia parlando.
C'è il modo! La soluzione è lo Scripting.
Per chi conosce un po' più il mondo dei PC, lo scripting si avvicina molto ai batch file, misteriosi programmi che automatizzano certe operazioni sul nostro computer: lo scripting di Stellarium è un vero e proprio linguaggio di programmazione contenuto all'interno di Stellarium stesso, che consente di effettuare quasi tutte le operazioni possibili da tastiera e da mouse, come telecomandandole dall'esterno. Una sequenza di linee di programma (detto script) permette così di effettuare una serie di comandi uno di seguito all'altro, in modo sicuro e ripetitivo (nel senso che ogni volta che eseguiamo la sequenza i risultati sono gli stessi).
Qualcuno di voi storcerà già il naso: lo so, l'argomento è molto complesso, richiede conoscenze di programmazione avanzate, non è (ancora) documentato molto bene (ma i creatori di Stellarium hanno promesso di farlo!), ma ci sono a disposizione tools simpatici ed efficienti per fare prove e debuggare il tutto.
Quello di Scripting è un linguaggio di programmazione che ricorda molto il C++ e java, il solito fritto misto di funzioni, metodi, classi, ecc da utilizzare con una sintassi simile appunto al C++ e a java. Ma prima di perdervi definitivamente ("ma di cosa accidenti ci stai parlando?! che noia che barba..."), vi fermo per dirvi che all'interno di Stellarium ci sono già degli script, belli che pronti, con i quali si può innanzitutto fare la conoscenza di una funzionalità sconosciuta, per poi passare (se si è ben intenzionati, cioé pazzoidi) a voler conoscere cosa c'è dietro le quinte, per poi finire (se si è davvero smanettoni come il sottoscritto) a modificare, provando e riprovando.
Confesso che questa funzionalità l'avevo sempre trascurata, ritenendola non molto interessante e poi leggendo la poca documentazione mi era passata la voglia di metterci mano, nonostante la mia grande conoscenza della programmazione maturata da anni e anni: no, non mi sto esaltando! All'inizio anche io non sapevo assolutamente dove e come mettere le mani: volevo scrivere questa serie di articoletti ma ad un certo punto stavo quasi per abbandonare...
Invece eccomi qui: a forza di provare comincio ad avere buoni risultati (che si scontrano però con vari bug presenti qua e là in Stellarium) e sono quelli che vi presenterò volta per volta, dandovi modo di replicare facilmente sul vostro PC quello che desidero mostrarvi, senza inutili e tediose sequenze di tasti e click...
Questa voleva essere solo una presentazione tanto per invogliarvi: data la difficoltà dell'argomento ci fermiamo qui. Nulla di trascendentale, però...
Già dalla prossima puntata passeremo a qualcosa di più pratico, per capire meglio di cosa stia parlando.