Kapittel 13. Å utvide GIMP

Innhald

1. Programtillegg
1.1. Innleiing
1.2. Å bruka programtillegg
1.3. Å installera nye programtillegg
1.4. Å skriva programtillegg
2. Å bruka Script-Fu-skript
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. Blås liv i skriptet
3.6. Utvid skriptet Text Box
3.7. Skriptet og resultatet av det

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» eller «Plug-ins»). Programtillegga samarbeidar 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 å laga tilleggsfunksjonar utan å måtta gjera 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 arbeidar på som røper dette.

Kven som helst kan skriva eit programtillegg for GIMP og gjera det tilgjengeleg på nettet. Du kan få tak i mange nyttige programtillegg på den måten. Nokre av dei er omtalte andre stader i denne brukarhandboka.

Sidan dette er fritt tilgjengeleg, følgjer det med ein viss grad av risiko. Det faktumet at kven som helst kan gje ut programtillegg betyr at det ikkje er nokon effektiv kvalitetskontroll. Programtillegga som vert leverte saman medGIMP er testa og finjusterte av utviklarane. Andre programtillegg som er tilgjengelege på nettet kan vera sett saman i løpet av nokre timar og deretter gløymde. Nokre av dei som skriv programtillegg bryr seg lite om programma er robuste, og sjølv for dei som ger det, er evna deira til å teste dei på alle slag system i ulike situasjonar avgrensa. I utgangspunktet, når du lastar ned eit programtillegg får du noko gratis, og nokre gonger får du nett det du betalar for. Dette er ikkje skrive for å ta motet frå deg, berre 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 gjera 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

Programtillegg skrive 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. Til vanleg er den einaste gongen du kan venta alvorlege problem med programtillegg er når hovudversjonen av GIMP vert endra. Når eit programtillegg for ein eldre versjon ikkje fungerer, må det «portast». Nokre gonger er dette enkelt, andre gongar ikkje. Hovudpoenget: før du prøver å installera eit programtillegg, syt for at det er kompatibel med den versjonen av GIMP du brukar.

1.2. Å bruka programtillegg

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

Det eine er at programtillegga som oftast ikkje like robuste som programkjerna i GIMP. Når GIMP krasjar, vert det sett på som noko svært alvorleg som kan føra til mykje trøbbel og hovudverk. Når eit programtillegg krasjar, kan du ofte likevel 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» («Samtale via ein tråd»). 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 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 vera heilt rett. Programtillegga er i stand til å endra nesten kva det skal vera i GIMP. Praktisk røynsle har derimot vist at det er sjeldan at programtillegga gjer nemnande skade. Som oftast kan du halda fram som om ingenting var hendt. Kanskje etter å ha vurdert kva du tapar dersom programmet likevel skulle vera ø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. Viss du køyrer eit programtillegg og deretter endrar biletet ved hjelp av eit anna verktøy, kan programtillegget krasja. Sjølv om det ikke gjer det, kan dette føra til feil resultat. Du bør unngå å køyra meir enn eitt programtillegg om gongen på eit bilete, og unngå å gjera noko med biletet før programtillegget er ferdig med det. Viss du ignorerer 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.

1.3. Å installera nye programtillegg

Programtillegga som vert leverte saman med GIMP treng ikkje installerast. Det må derimot programtillegg som du lastar ned sjølv. Til vanleg er standardplasseringa for desse i GIMP si brukarmappe under /plug-ins, der mappenamnet må vera det same som filnamnet til programtillegget. Du kan finna standardplasseringane der GIMP søkjer etter programtillegg i mappepreferansane til GIMP. Der kan du også leggja til nye stadar der GIMP skal sjå etter programtillegg. Det er fleire måtar å gjera dette på, 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/plug-ins dersom du ikkje har forandra adressa. Programtillegget kan brukast frå neste gong du startar GIMP. Du treng ikkje vera i «root» for å gjera dette. Faktisk så skal du ikkje 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 GIMP tilgjengelege for Windows inneheld anten eit program for å installera det eller kan lastast ned ferdigkompilert i binærform som kan kopierast direkte inn i ei mappe som kan finnast igjen av GIMP.

Viss eit installasjonsprogram er tilgjengeleg, skal dette gjera heile arbeidet med å finna ei høveleg mappe og kopiera alle aktuelle filene over dit. Viss ikkje, må du kontrollera GIMP sine mappeinnstillingar for å finna ut kvar programtillegget skal leggjast. Hugs at kvart programtillegg må ha 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 som fink [FINK] eller darwinports [DARWINPORTS], vil du kunna installere 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.

1.3.4. Køyra det installerte programtillegget

Korleis slå på 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, undersøkja menyen eller bruka kommandosøket i GIMP ved å trykkja / og så skriva inn namnet på programtillegget. Viss du veit korleis du kan tolka kjeldekoden, kan du prøva å lesa denne for å finna ut kva meny det 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æra å skriva programtillegg, kan du finna mykje hjelp på utviklingssidene til GIMP[GIMP-DEV-PLUGIN]. GIMP er eit nokså komplisert program, men utviklarane har lagt mykje arbeid i å flata 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, er i tillegg veldokumentert. 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.