Kapittel 13. Skriva programtillegg

Innhald

1. Programtillegg
1.1. Innleiing
1.2. Å bruka programtillegg
1.3. Å installera nye programtillegg
1.4. Å skriva programtillegg
2. Å bruke Script-Fu
2.1. Script-Fu?
2.2. Å installera Script-Fu-skript
2.3. Råd og vink
2.4. Ulike typar av Script-Fu
3. Ei innføring i Script-Fu
3.1. Bli kjent med Scheme
3.2. Variablar og funksjonar
3.3. Lister, lister og atter lister
3.4. Det første Script-Fu skriptet ditt
3.5. Leggja til tilleggsfunksjonar
3.6. Utvid skriptet Text Box
3.7. Skriptet og resultatet av det
4. Ei innføring i å skriva programtillegg i Python
4.1. Dei grunnleggjande elementa i eit programtillegg for GIMP

1. Programtillegg

1.1. Innleiing

Ein av fordelane med GIMP er at det er lett å utvida funksjonane ved hjelp av såkalla programtillegg (engelsk: «Plugins»). Programtillegga samarbeider svært nær med GIMP, men det er GIMP som har kontrollen med dei. Ofte gjer ikkje programtillegga anna enn det du også kan gjere direkte, men på ein for deg enklare måte. Den store fordelen med desse programma, er at det er lett å lage tilleggsfunksjonar utan å måtte gjere endringar i det nokså kompliserte programmet GIMP er. Mange verdfulle programtillegg har ei kjeldekode på berre 100 - 200 linjer. Dei fleste er skrivne i språket «C» eller ein variant av dette.

Fleire titals programtillegg er inkluderte i grunnutgåva av GIMP, og vert automatisk installerte saman med GIMP. Dei fleste av desse er tilgjengelege gjennom menyen Filter. (Alt i denne menyen er faktisk programtillegg). Ein del av programtillegga er likevel plasserte i andre menyar. Som oftast merkar du ikkje at funksjonen du nyttar deg av er eit tillegg. T.d. er funksjonen «Normaliser» for automatisk fargekorreksjon eigentleg eit programtillegg, men det er ingenting i måten det arbeider på som røper dette. Også import og eksport av bilete vert utført av programtillegg.

Alle kan skriva eit programtillegg for bruk i GIMP og gjera det tilgjengeleg på nettet. Det finst mange brukbare programtillegg som er tilgjengelege slik. Nokre av dei er omtalte i denne handboka.

Med dette gratis tilgjenget følgjer det også ein viss grad av risiko. Det faktum at kven som helst kan gje ut programtillegg betyr at det ikkje er nokon effektiv kvalitetskontroll. Programtillegga som er distribuerte saman med GIMP er testa og justerte av utviklarane. Andre programtillegg tilgjengeleg på nettet, kan ha vorte snikra saman i løpet av nokre timar og deretter gløymde. Nokre av utviklarane bryr seg ikkje om programmet er robust og sjølv for dei som gjer det, er evnene deira til å testa på ei rad system i mange situasjonar ofte ganske avgrensa. Når du lastar ned eit programtillegg får du i utgangspunktet noko gratis og andre gonger nett det du betalar for. Dette er ikkje skrive for å ta motet frå deg, men for å vera sikker på at du forstår at ikkje alle programtillegga som er tilgjengelege på nettet vil levera det du ventar av dei.

[Åtvaring] Åtvaring

Sidan programtillegga er fullverdige program, kan dei gjere alt det andre slike program kan gjere. Dette omfattar også funksjonar som kan påverka tryggleiken til maskinen din. Ikkje installer eit programtillegg utan at du er nokså sikker på at det kjem frå ei truverdig kjelde.

[Notat] Notat

Programtillegga skrivne for ein bestemt versjon av GIMP fungerer kanskje ikkje alltid bra i andre versjonar. Sjølv om GIMP-teamet generelt prøver å minimera endringar som påverkar programtillegga. Den einaste gongen du kan venta alvorlege problem med programtillegga er til vanleg når hovudversjonen av GIMP vert endra. Når eit programtillegg som er laga for ein eldre versjon av GIMP ikkje fungerer må det porterast. Dette er nokre gonger svært enkelt, andre gonger meir komplisert. Så rådet er at før du installerer eit programtillegg, bør du kontrollera at det er kompatibelt med den versjonen av GIMP som du brukar.

1.2. Å bruka programtillegg

Oftast vil du kunna bruka eit programtillegg i GIMP utan å bry deg om eller merka at det eigentleg er eit tillegg. Det er likevel nokre småting med programtillegga som det kan vera nyttig å kjenna litt til.

Som oftast er programtillegga ikkje like robuste som programkjerna i GIMP. Når GIMP krasjar, må du vurdera ein seriøs ting: det kan kosta brukaren mykje trøbbel og hovudverk. Når eit programtillegg krasjar, er som oftast konsekvensane ikkje så alvorlege. I dei fleste tilfelle kan du arbeida vidare med GIMP utan å bry deg meir om heile krasjet.

[Notat] Notat

Fordi programtillegga er sjølvstendige program, kommuniserer dei med GIMP via det utviklarane kallar «talking over a wire». Når eit programtillegg krasjar, bryt dette sambandet saman, og det vil dukka opp ei feilmelding om «wire read error» eller noko i den duren.

[Tips] Tips

Når eit programtillegg krasjar, dukkar det opp ei illevarslande melding frå GIMP om at programtillegget kan ha øydelagt GIMP. Du får beskjed om å lagra alt du held på med og avslutta GIMP. Dette kan i teorien vere heilt rett. Programtillegga er i stand til å endre nesten kva det skal vere i GIMP. Praktisk røynsle har derimot vist at det er sjeldan at programtillegga gjer nemnande skade. Som oftast kan du halde fram som om ingenting var hendt. Kanskje etter å ha vurdert kva du taper dersom programmet likevel skulle vere øydelagt og arbeidet ditt forsvinna.

På grunn av den måten programtillegga kommuniserer med GIMP på, har dei ingen måte å få greie på endringar du har gjort i biletet etter at programtillegget har starta. Gjer du forandringar på eit bilete medan eit programtillegg er i arbeid, vil dette ofte føra til at programtillegget krasjar og etterlet seg eit noko forvirrande bilete. Du bør difor unngå å køyra meir enn eitt tilleggsprogram om gongen, og unngå å gjere noko som helst med biletet før programtillegget er ferdig. Dersom du ikkje følgjer dette rådet, er det stor sjanse for at du endar opp med eit øydelagt bilete i tillegg til at også angreloggen er øydelagt. Du kan altså heller ikkje tilbakeføra biletet til slik det var før krasjet. Kanskje lurt å lagra biletet før du bruker programtillegget.

1.3. Å installera nye programtillegg

Programtillegg som vert leverte saman med GIMP krev ikkje installasjon. Programtillegg som du sjølv lastar ned må derimot installerast. Til vanleg er standardplasseringa i GIMPsin brukarkatalog i ei mappe under /plug-ins, der mappenamnet må vera det same som filnamnet til programtillegget. Du kan finna standardplasseringane der GIMP søkjer etter programtillegga i Datamappe-preferansane. Der kan du også leggja til nye plasseringar der GIMP skal sjå etter programtillegg. Det er fleire scenarier, avhengig av kva operativsystem du brukar og korleis programtillegget er strukturert.

1.3.1. Linux / Unix-liknande system

Dei fleste programtillegga kan delast i to grupper, dei små med kjeldekoden levert i ei enkelt .c-fil, og dei større der kjeldekoden kjem i ei mappe med fleire ulike filer, deriblant også ei Makefile.

Eit programtillegg som vert levert på ei enkelt fil, lat oss kalla det borker.c, kan installerast ved å køyra kommandoen gimptool-2.0 –install borker.c. Denne kommandoen kompilerer programtillegget og installerer det i den private mappa di ~/gimp-2.10/plugins dersom du ikkje har forandra adressa. Dette vil gjera at programtillegget vert lasta inn automatisk neste gong du startar GIMP. Du treng ikkje vera i «root» for å gjera dette. Faktisk så skal du ikkje vera der heller. Dersom du ikkje får kompilert programmet skikkeleg, må du finna fram dei kreative evnene dine.

1.3.2. Windows

Dei fleste programtillegga for bruk i GIMP på Windows vert leverte anten med eit installasjonsprogram eller kan lastast ned ferdigkompilerte som kan leggjast direkte inn i ei mappe som vert funnen av GIMP.

Viss eit installasjonsprogram er tilgjengeleg, skal dette gjera heile arbeidet og kopiera alle relevante filer. Viss ikkje, må du kontrollera innstillingane for kva mappe programtillegget skal leggjast i slik at GIMP finn det. Hugs at kvart programtillegg må vera i si eiga mappe med same namnet som programtillegget.

1.3.3. Apple Mac OS X

Måten å installera programtillegg på OS X er avhengig av korleis du installerte GIMP. Dersom du er ein av dei modige typane som installerte GIMP frå ei av pakkane [DARWINPORTS] eller darwinports, [FINK], vil du kunne installera pakkane slik dei er omtalte for Linux. Einaste skilnaden kan vera at eit par av programtillegga også kan vera tilgjengelege frå filmappene til pakkehandsamaren. Prøv det ut.

Dersom du i staden har brukt ei ferdigbygd GIMP-pakke som t.d. GIMP.app, må du truleg halda deg til den pakka du brukte. Du kan kanskje få ein ferdigbygd versjon av draumeprogrammet frå utviklaren av programtillegget dersom du er heldig. Skal du byggja dine eigne binærfiler, må du installere GIMP ved hjelp av pakkehandsamarene nemnde ovanfor.

1.3.4. Slik køyrer du eit installert programtillegg

Korleis aktiver programtillegget etter at du har installert det? Kva meny det legg seg i, vert bestemt av programtillegget. Du må difor sjå i dokumentasjonen for programtillegget, dersom denne finst, eller finna fram til ei beskriving i dei ulike menyvala i hovudmenyen eller prøva kommandosøket / i GIMP og skriva inn namnet på programtillegget. Viss du veit korleis du skal lesa kjeldekode, kan du også sjå der for å sjå kva meny programmet legg seg i.

For meir komplekse programtillegg skal det ein eller annan stad i mappa finnast ei INSTALL- eller README-fil med nødvendige instruksjonar. Dersom du ikkje finn desse forklaringane, er det betre å gi blaffen i heile programmet. Ein kode som er skriven heilt utan omtanke for andre brukarar, vil ofte vera svært frustrerande uansett.

Har du eit programtillegg i den private mappa di med same namnet som eit anna programtillegg i hovudmappa, vert berre programmet i hovudmappa lasta inn. Kvar gong du opnar GIMP, vil du få melding om at det finst fleire program med same namnet. Dette bør du sjølvsagt unngå.

1.4. Å skriva programtillegg

Har du ønskje om å lære å skriva programtillegg, kan du finna mykje hjelp (på engelsk) på utviklingssidene til GIMP[GIMP-DEV-PLUGIN]. GIMP er eit nokså komplisert program, men utviklarane har lagt mykje arbeid i å flate ut læringskurva for å laga programtillegg. Du finn fyldige instruksjonar og gode eksempel på dei nemnde sidene. Hovudbiblioteket («libgimp») som programtillegga nyttar for å kommunisera med GIMP, har ein veldokumentert API. Ein mykje brukt måte for å læra seg programmeringa, er å modifisera eksisterande program. Dyktige programmerarar er dermed ofte i stand til å laga svært så interessante ting berre etter eit par netters arbeid.