Κεφάλαιο 13. Σενάρια

Πίνακας Περιεχομένων

1. Πρόσθετα
1.1. Εισαγωγή
1.2. Χρήση προσθέτων
1.3. Εγκατάσταση νέων προσθέτων
1.4. Συγγραφή προσθέτων
2. Χρήση σεναρίων Script-Fu
2.1. Script-Fu;
2.2. Εγκατάσταση Script-Fus
2.3. Επιτρεπτά και μη
2.4. Διάφορα είδη Script-Fus
2.5. Αυτόνομα σενάρια
2.6. Εικονοεξαρτώμενα σενάρια
3. Μάθημα Script-Fu
3.1. Εξοικείωση με το Scheme
3.2. Μεταβλητές και συναρτήσεις
3.3. Λίστες, λίστες και πάλι λίστες
3.4. Το πρώτο σας σενάριο Script-Fu
3.5. Δίνοντας στο σενάριό μας περισσότερη ψυχή
3.6. Επέκταση του σεναρίου πλαισίου κειμένου
3.7. Το σενάριο σας και η λειτουργία του

1. Πρόσθετα

1.1. Εισαγωγή

Ένα από τα καλά του GIMP είναι η εύκολη επεκτασιμότητα του με τη χρήση προσθέτων. Το πρόσθετα τουGIMP είναι εξωτερικά προγράμματα που τρέχουν κάτω από τον έλεγχο της κύριας εφαρμογής του GIMP και αλληλεπιδρούν πολύ στενά. Τα πρόσθετα μπορεί να χειριστούν τις εικόνες με σχεδόν κάθε τρόπο, όπως και οι χρήστες. Το πλεονέκτημα τους είναι ότι είναι πολύ πιο εύκολο να προσθέσουν μια δυνατότητα στο GIMP γράφοντας ένα μικρό πρόσθετο, παρά τροποποιώντας τη τεράστια μάζα του σύνθετου κώδικα που δομεί τον πυρήνα του GIMP. Πολλά αξιόλογα πρόσθετα έχουν έναν πηγαίο κώδικα C που έρχεται σε 100-200 γραμμές περίπου.

Πολλά πρόσθετα συμπεριλαμβάνονται στην κύρια διανομή του GIMP και εγκαθίστανται αυτόματα μαζί με το GIMP. Τα περισσότερα είναι προσπελάσιμα από το μενού Φίλτρα (στην πραγματικότητα, καθετί σε αυτό το μενού είναι ένα πρόσθετο), αλλά κάποια είναι τοποθετημένα σε άλλα μενού. Σε πολλές περιπτώσεις μπορείτε να χρησιμοποιήσετε ένα πρόσθετο χωρίς να καταλάβετε ότι είναι πρόσθετο: π.χ., η λειτουργία "Κανονικοποίηση" για την αυτόματη χρωματική διόρθωση είναι στην πραγματικότητα ένα πρόσθετο, αν και δεν υπάρχει τίποτα στον τρόπο που δουλεύει, που θα σας το έλεγε.

Πέρα από τα πρόσθετα που περιλαμβάνονται στο GIMP, υπάρχουν πολλά διαθέσιμα στο διαδίκτυο. Ένας μεγάλος αριθμός μπορεί να βρεθεί στο μητρώο προσθέτων του GIMPΜητρώο προσθέτων[ΜΗΤΡΩΟ GIMP], μια ιστοσελίδα με σκοπό την κεντρική αποθήκευση των προσθέτων. Δημιουργοί προσθέτων μπορούν να τα φορτώσουν εκεί· οι χρήστες σε αναζήτηση αυτών των προσθέτων για συγκεκριμένο σκοπό μπορούν να ψάξουν τον ιστότοπο με πολλούς τρόπους.

Οποιοσδήποτε μπορεί να γράψει ένα πρόσθετο στο GIMP και να το διαθέσει στον ιστό, είτε μέσα από το μητρώο ή από μια προσωπική ιστοσελίδα και πολλά αξιόλογα πρόσθετα μπορούν να αποκτηθούν έτσι - μερικά περιγράφονται αλλού στο εγχειρίδιο χρήστη. Με αυτήν την ελευθερία από περιορισμούς, όμως, έρχεται και ένας βαθμός κινδύνου: το γεγονός ότι οποιοσδήποτε μπορεί να το κάνει σημαίνει ότι δεν υπάρχει αποτελεσματικός έλεγχος ποιότητας. Τα πρόσθετα που διανέμονται με το GIMP έχουν όλα δοκιμαστεί και ρυθμιστεί, αλλά πολλά φορτώσιμα φτιάχτηκαν σε μερικές ώρες και έπειτα καμιά άλλη επεξεργασία. Μερικοί δημιουργοί προσθέτων δεν ενδιαφέρονται για την αξιοπιστία ή δεν μπορούν να τα ελέγξουν σε διαφορετικές καταστάσεις. Βασικά, όταν φορτώνεται ένα πρόσθετο παίρνετε κάτι δωρεάν και μερικές φορές παίρνετε ακριβώς αυτό που πληρώσατε. Αυτό δεν λέγεται για αποθάρρυνση, αλλά για να καταλάβετε την πραγματικότητα.

[Προειδοποίηση] Προειδοποίηση

Τα πρόσθετα, όντας πλήρως εκτελέσιμα προγράμματα, μπορούν να κάνουν οτιδήποτε μπορεί κάθε άλλο πρόγραμμα να κάνει συμπεριλαμβάνοντας την εγκατάσταση κερκόπορτας στο σύστημα σας ή αλλιώς συμβιβασμούς στην ασφάλεια του. Μην εγκαθιστάτε ένα πρόσθετο, εκτός και έρχεται από αξιόπιστη πηγή.

Αυτές οι ενστάσεις ισχύουν για το μητρώο προσθέτων και για κάθε άλλη πηγή προσθέτων. Το μητρώο είναι διαθέσιμο σε οποιοδήποτε δημιουργό προσθέτων που θέλει να το χρησιμοποιήσει: δεν υπάρχει συστηματική επιτήρηση. Προφανώς, εάν οι συντηρητές καταλάβουν ότι κάτι κακό υπάρχει, θα το απομακρύνουν. (Αυτό δεν έχει συμβεί μέχρι τώρα). Υπάρχει, όμως, για το GIMP και τα πρόσθετα του, η ίδια εγγύηση όπως για κάθε ελεύθερο λογισμικό: δηλαδή, καμία.

[Προσοχή] Προσοχή

Τα πρόσθετα είναι ένα χαρακτηριστικό του GIMP για πολλές εκδόσεις. Όμως, πρόσθετα που γράφτηκαν για μια έκδοση του GIMP μπορούν δύσκολα να χρησιμοποιηθούν πετυχημένα με άλλες εκδόσεις. Πρέπει να μεταφερθούν: άλλες φορές εύκολα, άλλες όχι. Πολλά πρόσθετα είναι ήδη διαθέσιμα σε πολλές εκδόσεις. Τελικά, πριν να προσπαθήσετε να εγκαταστήσετε ένα πρόσθετο, βεβαιωθείτε ότι είναι γραμμένο για τη δική σας έκδοση του GIMP.

1.2. Χρήση προσθέτων

Για το μεγαλύτερο μέρος μπορείτε να χρησιμοποιήσετε όπως οποιοδήποτε άλλο εργαλείο του GIMP, χωρίς να είναι ανάγκη να ξέρετε ότι είναι ένα πρόσθετο. Αλλά υπάρχουν κάποια πράγματα για τα πρόσθετα που είναι χρήσιμο να καταλαβαίνετε.

Ένα είναι ότι τα πρόσθετα δεν είναι γενικά τόσο ρωμαλέα όσο ο πυρήνας του GIMP. Όταν το GIMP καταρρέει, θεωρείται πολύ σοβαρό: μπορεί να κοστίσει στο χρήστη πολλά προβλήματα και πονοκεφάλους. Όταν ένα πρόσθετο καταρρέει, οι συνέπειες δεν είναι συνήθως τόσο σοβαρές. Στις περισσότερες περιπτώσεις, μπορείτε να συνεχίσετε να εργάζεσθε χωρίς να ανησυχείτε για αυτό.

[Σημείωση] Σημείωση

Επειδή τα πρόσθετα είναι ξεχωριστά προγράμματα, επικοινωνούν με τον πυρήνα του GIMP με ειδικό τρόπο: Οι προγραμματιστές του GIMP το αποκαλούν “συνομιλία μέσω καλωδίου”. Όταν ένα πρόσθετο καταρρέει η επικοινωνία διακόπτεται και θα δείτε ένα μήνυμα σφάλματος για ένα“σφάλμα ανάγνωσης καλωδίου”.

[Υπόδειξη] Υπόδειξη

Όταν ένα πρόσθετο καταρρέει, το GIMP σας εμφανίζει ένα πολύ απαίσιο μήνυμα που σας λέει ότι το πρόσθετο άφησε το GIMP σε μια κατάσταση κατάρρευσης και θα πρέπει να σκεφτείτε να αποθηκεύσετε τις εικόνες σας και να εγκαταλείψετε. Μιλώντας αυστηρά, αυτό είναι ολότελα σωστό, επειδή τα πρόσθετα έχουν τη δύναμη να μεταβάλλουν σχεδόν τα πάντα στο GIMP, αλλά για πρακτικούς σκοπούς, η πείρα έχει δείξει ότι η κατάρρευση είναι σπάνια και πολλοί χρήστες συνεχίζουν την εργασία τους, χωρίς να ανησυχούν για αυτό. Η συμβουλή μας είναι να σκεφτείτε πόσο πρόβλημα μπορεί να προκαλέσει, εάν κάτι πήγε στραβά και να αξιολογήσετε τις πιθανότητες.

Λόγω του τρόπου επικοινωνίας των προσθέτων με το GIMP, δεν έχουν κάποιο μηχανισμό πληροφόρησης των αλλαγών που κάνετε σε μια εικόνα, μετά το ξεκίνημα του προσθέτου. Εάν ξεκινάτε ένα πρόσθετο και έπειτα αλλάζετε την εικόνα χρησιμοποιώντας κάποιο άλλο εργαλείο, το πρόσθετο συχνά θα καταρρεύσει και όταν δεν το κάνει, δίνει συνήθως πλασματικά αποτελέσματα. Πρέπει να αποφεύγετε να τρέχετε περισσότερα από ένα πρόσθετα τη φορά σε μια εικόνα και επίσης να μην κάνετε τίποτα στην εικόνα μέχρι το τέλος εργασίας του προσθέτου. Εάν αγνοήσετε αυτή τη συμβουλή, όχι μόνο θα χαλάσετε πιθανόν την εικόνα, θα χαλάσετε επίσης και το σύστημα αναίρεσης επίσης, έτσι δεν θα μπορείτε να ανακτήσετε την εικόνα από ανοησία.

1.3. Εγκατάσταση νέων προσθέτων

Τα πρόσθετα που διανέμονται με το GIMP δεν απαιτούν κάποια ειδική εγκατάσταση. Τα πρόσθετα, όμως, που κατεβάζετε την απαιτούν. Υπάρχουν πολλά σενάρια, ανάλογα με το λειτουργικό σύστημα που χρησιμοποιείται και τη δομή του προσθέτου. Στο Linux είναι συνήθως εύκολο να εγκαταστήσετε ένα νέο πρόσθετο· στα Windows είναι είτε εύκολο, είτε πολύ δύσκολο. Σε κάθε περίπτωση, είναι καλύτερο να εξεταστούν οι δύο περιπτώσεις χωριστά.

1.3.1. Συστήματα παρόμοια με Linux / Unix

Τα περισσότερα πρόσθετα ανήκουν σε δύο κατηγορίες: μικρά των οποίων ο πηγαίος κώδικας διανέμεται ως από αρχείο .c, και μεγαλύτερα των οποίων ο πηγαίος κώδικας διανέμεται ως κατάλογος που περιέχει πολλαπλά αρχεία μαζί με ένα Makefile.

Για ένα απλό πρόσθετο ενός αρχείου, ας το αποκαλέσουμε borker.c, η εγκατάσταση είναι μόνο θέμα εκτέλεσης της εντολής gimptool-2.0 --install borker.c. Αυτή η εντολή μεταγλωττίζει το πρόσθετο και το εγκαθιστά στον προσωπικό σας κατάλογο προσθέτων, ~/gimp-2.4/plugins εκτός και τον έχετε αλλάξει. Έτσι θα φορτώσει αυτόματα την επόμενη φορά που θα ξεκινήσετε το GIMP. Δεν χρειάζεται να είσαστε ο διαχειριστής για να το κάνετε. Στην πραγματικότητα δεν θα έπρεπε· εάν το πρόσθετο αποτύχει να μεταγλωττίσει, να είσαστε δημιουργικοί.

Αφού εγκαταστήσετε το πρόσθετο, πώς το ενεργοποιείτε; Η διαδρομή του μενού προσδιορίζεται από το ίδιο το πρόσθετο, έτσι χρειάζεται είτε να κοιτάξετε στην τεκμηρίωση για το πρόσθετο (εάν υπάρχει), ή να ξεκινήσετε το διάλογο περιγραφής του πρόσθετου (από Xtns/Plugins Details), ψάξτε το πρόσθετο με το όνομα του και κοιτάξτε την καρτέλα Tree view. Εάν εξακολουθείτε να μην βρίσκετε τίποτα, εξερευνήστε τα μενού ή κοιτάξτε στον πηγαίο κώδικα στο τμήμα μητρώου - όποιο είναι πιο εύκολο.

Για πιο περίπλοκα πρόσθετα οργανωμένα ως κατάλογος με πολλαπλά αρχεία, πρέπει να υπάρχει ένα αρχείο που λέγεται είτε INSTALL ή README, με οδηγίες. Εάν δεν υπάρχει, η καλύτερη συμβουλή είναι να αγνοήσετε το πρόσθετο και να ασχοληθείτε με κάτι άλλο.

Μερικά πρόσθετα (ειδικά αυτά που βασίζονται στα πρότυπα προσθέτων του GIMP) σχεδιάστηκαν να εγκατασταθούν στον κατάλογο του κυρίου συστήματος του GIMP, παρά στον αρχικό σας κατάλογο. Για αυτά θα πρέπει να είσαστε διαχειριστής για να εκτελέσετε το τελικό στάδιο της εγκατάστασης (όταν εκτελείται την εντολή make install command).

Εάν εγκαθιστάτε στον προσωπικό σας κατάλογο προσθέτων ένα πρόσθετο με το ίδιο όνομα με τον κατάλογο προσθέτων του συστήματος, μόνο ένα μπορεί να φορτωθεί και θα είναι το πρόσθετο στον αρχικό σας κατάλογο. Θα πάρετε μηνύματα που σας το λένε, κάθε φορά που ξεκινάτε το GIMP. Αυτή η κατάσταση είναι προφανώς αποφευκτέα.

1.3.2. Windows

Τα Windows είναι ένα πιο προβληματικό περιβάλλον για την οικοδόμηση λογισμικού από το Linux. Κάθε αξιοπρεπής διανομή του Linux έρχεται πλήρως εφοδιασμένη με εργαλεία για μεταγλώττιση λογισμικού και είναι παρόμοια στον τρόπο λειτουργίας τους, αλλά τα Windows δεν έρχονται με τέτοια εργαλεία. Είναι δυνατό να εγκαταστήσετε ένα καλό περιβάλλον σχεδίασης λογισμικού στα Windows, αλλά αυτό απαιτεί, είτε χρήμα, είτε προσπάθεια και γνώσεις.

Τι αυτό σημαίνει σε σχέση με τα πρόσθετα του GIMP είναι το εξής: είτε έχετε ένα περιβάλλον στο οποίο μπορείτε να σχεδιάσετε λογισμικό, ή δεν έχετε. Εάν δεν έχετε, τότε η καλύτερη ελπίδα σας είναι να βρείτε μια προμεταγλωττισμένη έκδοση του πρόσθετου κάπου (ή να πείσετε κάποιον να το μεταγλωττίσει για σας), οπότε απλά χρειάζεται να το βάλετε να το βάλετε στον προσωπικό σας κατάλογο προσθέτων. Εάν έχετε ένα περιβάλλον, όπου μπορείτε να σχεδιάσετε λογισμικό (που για τους τρέχοντες σκοπούς σημαίνει ένα περιβάλλον όπου μπορείτε να σχεδιάσετε το GIMP), τότε αναμφίβολα ξέρετε ήδη αρκετά για αυτά τα πράγματα και απλά χρειάζεσθε να ακολουθήσετε τις οδηγίες του Linux.

1.3.3. Apple Mac OS X

Πώς να εγκαταστήσετε πρόσθετα στο OS X κυρίως εξαρτάται από το πώς εγκαταστάθηκε το ίδιο το GIMP. Εάν είσθε ένας από τους γενναίους και εγκαταστήσατε το GIMP μέσα από ένα από τα πακέτα διαχείρισης όπως fink [DARWINORTS] ή darwinports, [FINK] η εγκατάσταση προσθέτου δουλεύει ακριβώς όπως περιγράφτηκε ήδη για το Linux. Η μόνη διαφορά είναι ότι λίγα πρόσθετα ίσως είναι διαθέσιμα στην αποθήκη του διαχειριστή πακέτου, δοκιμάστε το.

Εάν είστε από τους χρήστες που προτιμούν να πάρουν ένα προμεταγλωττισμένο πακέτο του GIMP, όπως GIMP.app, πρέπει να παραμείνετε στο προμεταγλωττισμένο υλικό. Μπορείτε να προσπαθήσετε να πάρετε μια προμεταγλωττισμένη έκδοση του προσθέτου των ονείρων σας από το συγγραφέα του προσθέτου, αλλά δεν θα ήθελα να στοιχηματίσω σ' αυτό. Παραγωγή των δικών σας δυαδικών περιλαμβάνει δυστυχώς την εγκατάσταση του GIMP μέσα από ένα πακέτα διαχείρισης που αναφέρθηκαν πιο πάνω.

1.4. Συγγραφή προσθέτων

Εάν θέλετε να μάθετε πώς να γράψετε ένα πρόσθετο, μπορείτε να βρείτε πολύ βοήθεια στην ιστοσελίδα των αναλυτών του GIMP[GIMP-DEV-PLUGIN]. ΤοGIMP είναι ένα σύνθετο πρόγραμμα, αλλά η ομάδα ανάπτυξης έχει κάνει τεράστιες προσπάθειες για διευκόλυνση της εκμάθησης συγγραφής προσθέτων: υπάρχουν καλές οδηγίες και παραδείγματα, ενώ η κύρια βιβλιοθήκη που χρησιμοποιούν τα πρόσθετα για να αλληλεπιδράσουν με το GIMP (αποκαλούμενη “libgimp”) έχει ένα καλά τεκμηριωμένο API. Οι καλοί προγραμματιστές, μαθαίνουν τροποποιώντας τα υπάρχοντα πρόσθετα και είναι συχνά ικανοί να κάνουν ενδιαφέροντα πράγματα μετά από μόνο μερικές μέρες δουλειάς.