Kapittel 12. Å utvide GIMP

Innholdsfortegnelse

1. Programtillegg
1.1. Innleiing
1.2. Å bruke programtillegg
1.3. Å installera nye programtillegg
1.4. Å skrive programtillegg
2. Å bruke Script-Fu
2.1. Script-Fu?
2.2. Å installere Script-Fu
2.3. Råd og vink
2.4. Ulike typar av Script-Fu
2.5. Sjølvstendige skript
2.6. Biletavhengige skript
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

Revisjonshistorie
Revisjon $Revision: 2540 $ 2006-09-17 KoSt

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å bare 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 blir 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.

I tillegg til dei innebygde programtillegga, er det store mengder tilgjengelege på Internett. Prøv å ta ein tur innom GIMP Plugin Registry [GIMP-REGISTRY], ein nettstad som ønskjer å vere eit sentrallager programtillegg. Nettstaden er open for å laste opp nylaga programtillegg, og har eit greitt søkesystem for deg som ønskjer å finne bestemte programtillegg. (Har du tenkt å søke internasjonalt etter programtillegg, bruk “plugin” som søkeord avgrensa med GIMP. GIMP er ikkje åleine om å bruke plugins).

Alle med litt kjennskap til programmering, kan skrive programtillegg og eventuelt gjere dei tilgjengelege for andre anten gjennom GIMP Plugin Registry [GIMP-REGISTRY], private heimesider eller andre nettstader. Noen av desse programma er omtalte andre stader i denne handboka. Sjølvsagt er det også ein risiko med dette frie livet. Sidan kven som helst kan lage og spreie programma, er det heller ingen former for kvalitetskontroll av programma. Mange av dei ser ut som dei er snikra saman i seine kveldstimar til eit avgrensa føremål og deretter spreidde for alle vindar. Ikkje alle utviklarane har kunnskap eller utstyr nok til å kunne prøva ut programma med alle dei systema og systemvariasjonane programma kan kome ut for. Du står sjølvsagt fritt i å prøva ut programma, men har altså ingen garanti for resultatet. Dette er ikkje sagt for å skræme deg, men for å vise kva som er den verkelege verda. Dei programtillegga som blir leverte saman med GIMP er sjølvsagt sikra og kontrollerte så langt det er praktisk mogleg. Du kan difor bruke desse nokså trygt.

[Advarsel] Advarsel

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.

Denne åtvaringa gjeld like mykje for “GIMP Plugin Registry” som for andre kjelder du måtte nytta deg av. “GIMP Plugin Registry” er tilgjengeleg for alle som utviklar programtillegg, også dei useriøse. Dersom dei som driv nettstaden kjem over snuskete program, vil desse sjølvsagt bli fjerna. (Til nå har ingen lagt inn slike program). Den same garantiregelen gjeld for GIMP sine programtillegg som for alle andre frie program: Ingen garanti.

[Obs] Obs

Programtillegga har følgd GIMP gjennom mange versjonar. Eit programtillegg skriven for ein versjon høver sjeldan for andre versjonar. Pass difor på at det programtillegget du ønskjer å installera er skriven for den versjonen av GIMP du bruker.

1.2. Å bruke programtillegg

Oftast vil du kunne bruke eit programtillegg i GIMP utan å bry deg om eller merka at det eigentleg er eit tillegg. Det er likevel noe småting med programtillegga som det kan vere nyttig å kjenne litt til.

Som oftast er programtillegga ikkje like robuste som programkjerna i GIMP. Når GIMP krasjar, må du ofte starte heile prosessen på nytt. Kanskje blir også mykje arbeid øydelagt. 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”. Når eit programtillegg krasjar, bryt dette sambandet saman, og det vil dukka opp ei feilmelding om “wire read error” eller noe 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 å lagre 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øre til at programtillegget krasjar og etterlet seg eit noe forvirrande bilete. Du bør difor unngå å køyre meir enn eitt tileggsprogram om gongen (noe som stort sett ikkje er mogleg i nyare versjonar av GIMP), og unngå å gjere noe 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

Dei programtillegga som følgjer med GIMP treng du ikkje installera spesielt. Det må du derimot gjere med dei du lastar ned eller skriv sjølv. Måten du installerar eit programtillegg på, er sterkt avhengig av kva for operativsystem (OS) du køyrer og korleis programtillegget er bygd opp. I Linux er det som oftast ein enkel jobb, i Windows stort sett anten svært lett eller (nesten) umogleg.

1.3.1. Linux

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 blir levert på ei enkelt fil, la 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.4/plugins dersom du ikkje har forandra adressa. Programtillegget vil vere aktivisert frå neste gong du startar GIMP. Du treng ikkje vere i “root” for å gjere dette. Faktisk så skal du ikkje heller. Dersom du ikkje får kompilert programmet skikkeleg, må du finne fram dei kreative evnene dine.

Korleis aktivisera programtillegget etter at du har installert det? Kva meny det legg seg i, blir bestemt av programtillegget. Du må difor sjå i dokumentasjonen for programtillegget, dersom denne finst, eller finne fram til ei beskriving i dei ulike menyvala i hovudmenyen under UtvidLesar for programtillegg. Du kan også sjå i Prosedyrelesar i same menyen. Endeleg kan du leite gjennom alle menyane for å sjå om programmet har dukka opp einkvan staden.

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 gi deg myriadar av frustrasjonar uansett.

Noen programtillegg, spesielt slike som er baserte på GIMP Plugin Template, er laga for å bli installerte i GIMP si hovudsystemmappe i staden for i ei privat mappe. For å installera desse må du vere administrator (root) for å få lov til å installera programmet (“make install”).

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

1.3.2. Windows

Windows er mykje meir problematisk enn Linux med omsyn til å lage og legge inn ny programvare. Alle utgåver av Linux blir leverte med verktøy for å kompilere programvare. I Windows finst det ikkje slike hjelpemiddel. Det er råd å installera gode program for å lage program også i Windows, men det krev anten tilgang til uhorvelege pengemengder eller tilsvarande mengder med tålmod og kunnskap.

Dette betyr i praksis, i høve til programtillegga for GIMP, at anten så har du utstyr som du kan setje opp programvaren med, eller så har du det ikkje. I det siste tilfellet den einaste utvegen å finne ei ferdigkompilert utgåve av programmet, eller få noen til å gjere det for deg. Er du så heldig, er det bare å legge det inn i den private mappa di for programtillegg. Dersom du skulle ha program for å lage Windows-program for GIMP, veit du truleg såpass mykje om desse tinga at du lett kan følgje instruksjonane for Linux.

Dersom du ønskjer å setje opp alt frå grunnen av, og er klar for berømminga dette fører med seg, kan du finne brukbare oppskrifter i GIMP Wiki på HowToCompileGimp/MicrosoftWindows [GIMP-WIKI01]. Sidan dette er ein Wiki, er det ope for alle å gjere endringar. Difor bør du i tilfelle vere med på å halde opplysningane oppdaterte ved at du fører inn eigne røynsler.

1.3.3. Apple Mac OS X

Manglar kunnskap. Kan noen skrive denne?

1.4. Å skrive programtillegg

Har du ønskje om å lære å skrive programtillegg, kan du finne mykje hjelp 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 å lage 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ære seg programmeringa, er å modifisere eksisterande program. Dyktige programmerarar er dermed ofte i stand til å lage svært så interessante ting bare etter eit par netters arbeid.