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

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

1. Πρόσθετα
1.1. Εισαγωγή
1.2. Χρήση προσθέτων
1.3. Εγκατάσταση νέων προσθέτων
1.4. Συγγραφή προσθέτων
2. Χρήση σεναρίων Script-Fu
2.1. Script-Fu;
2.2. Installing Script-Fu scripts
2.3. Επιτρεπτά και μη
2.4. Διάφορα είδη Script-Fus
2.5. Εικονοεξαρτώμενα σενάρια
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 γραμμές περίπου.

Several dozen plugins are included in the main GIMP distribution, and installed automatically along with GIMP. Most of them can be accessed through the Filters menu (in fact, everything in that menu is a plugin), but a number are located in other menus. In many cases you can use one without ever realizing that it is a plugin: for example, the "Normalize" function for automatic color correction is actually a plugin, although there is nothing about the way it works that would tell you this. Even importing and exporting of images is done by plugins.

Everyone can write a GIMP plugin and make it available online. There are many useful plugins that can be obtained this way. Some of them are described elsewhere in the User's Manual.

With this free availability comes a certain degree of risk. The fact that anyone can release plugins means that there is no effective quality control. The plugins distributed with GIMP have all been tested and tuned by the developers. Additional plugins available online, may have been hacked together in a few hours and then abandoned. Some plugin creators don't care about robustness, and even for those who do, their ability to test on a variety of systems in a variety of situations is often quite limited. Basically, when you download a plugin, you are getting something for free, and sometimes you get exactly what you pay for. This is not to discourage you, just to make sure you understand that not all plugins available online will deliver what you expect from them.

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

Plugins, being full-fledged executable programs, can do all of the things that any other program can do. This includes installing back-doors on your system or otherwise compromise its security. Don't install a plugin unless it comes from a trusted source.

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

Plugins written for a certain version of GIMP may not always work well in other versions. Though in general the GIMP team tries to minimize changes that affect plugins. Usually the only time you can expect serious problems with plugins, is when the major version of GIMP changes. When a plugin made for an older version doesn't work correctly anymore, it needs to be ported. Sometimes this is easy, sometimes not. Bottom line: before trying to install a plugin, make sure that it is compatible with your version of GIMP.

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

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

One is that plugins are generally not as robust as the GIMP core. When GIMP crashes, it is considered a very serious thing: it can cost the user a lot of trouble and headache. When a plugin crashes, the consequences are usually not as serious. In most cases you can continue working without worrying about it too much.

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

Because plugins are separate programs, they communicate with GIMP in a special way: The GIMP developers call it «talking over a wire». When a plugin crashes, the communication breaks down, and you may see an error message about a «wire read error».

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

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

Because of the way plugins communicate with GIMP, they do not have any mechanism for being informed about changes you make to an image after the plugin has been started. If you start a plugin, and then alter the image using some other tool, the plugin may crash. Even if it doesn't, doing this may cause incorrect results. You should avoid running more than one plugin at a time on an image, and avoid doing anything to the image until the plugin has finished working on it. If you ignore this advice, not only could you screw up the image, you may also screw up the undo system, so that you won't be able to recover from your mistake.

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

The plugins that are distributed with GIMP don't require installation. Plugins that you download yourself do. Usually the default location is in GIMP's user directory in a folder under /plug-ins, where the folder name needs to be the same as the plugin filename. You can find the default locations where GIMP searches for plugins in GIMP's folder preferences. There you can also add new locations where GIMP should look for plug-ins. There are several scenarios, depending on what OS you are using and how the plugin is structured.

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

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

For a simple one-file plugin, call it borker.c, installing it is just a matter of running the command gimptool-2.0 --install borker.c. This command compiles the plugin and installs it in your personal plugin directory, ~/gimp-2.10/plug-ins unless you have changed it. This will cause it to be loaded automatically the next time you start GIMP. You don't need to be root to do these things; in fact, you shouldn't be. If the plugin fails to compile, well, be creative.

1.3.2. Windows

Most GIMP plugins available on Windows supply either an installer, or can be downloaded in a pre-compiled binary format ready to copy to a folder of your choice that is recognized by GIMP.

If an installer is available, that should do all the work for you selecting an appropriate folder and copying all relevant files. If not, you may have to check in GIMP's folder preferences where the plugins should be copied to. Remember, each plugin needs to be in its own folder with the same name as the plugin.

1.3.3. Apple Mac OS X

How you install plugins on OS X mostly depends on how you installed GIMP itself. If you were one of the brave and installed GIMP through one of the package managers like fink [FINK] or darwinports [DARWINORTS], the plugin installation works exactly the way it is described for the Linux platform already. The only difference is, that a couple of plugins might be even available in the repository of your package manager, so give it a try.

If, on the other hand, you prefer to grab a prebuilt GIMP package like GIMP.app, you most likely want to a prebuilt plugin too. You can try to get a prebuilt version of the plugin of your dreams from the author of the plugin. Building your own binaries unfortunately involves installing GIMP.

1.3.4. Running the installed plugin

Once you have installed the plugin, how do you activate it? The menu path is determined by the plugin itself, so to answer this you need to either look at the documentation for the plugin (if there is any), explore the menus, or use GIMP's command search function by pressing / and then entering the name of the plugin. If you know how to read source code you could also check that to see in what menu it registers itself.

For more complex plugins, organized as a directory with multiple files, there usually is a file inside called either INSTALL or README, with instructions. If not, the best advice is to toss the plugin in the trash and spend your time on something else: any code written with so little concern for the user is likely to be frustrating in myriad ways.

If you install a plugin in your personal plugin directory that has the same name as one in the system plugin directory, only one can be loaded, and it will be the one in your home directory. You will receive messages telling you this each time you start GIMP. This is probably a situation best avoided.

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

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