Capítulo 13. Criando Scripts

Índice

1. Plugins
1.1. Introdução
1.2. Usando Plugins
1.3. Instalando novos Plugins
1.4. Escrevendo Plugins
2. Usando Scripts do tipo Script-Fu
2.1. Script-Fu?
2.2. Instalando Script-Fus
2.3. O que fazer e o que não fazer
2.4. Diferentes tipos de Script-Fus
2.5. Scripts autônomos
2.6. Scripts dependentes de Imagem
3. Um tutorial de Script-Fu
3.1. Familiarizando-se com Scheme
3.2. Varáveis e funções
3.3. Listas, Listas e mais Listas!
3.4. Seu primeiro Script de Script-Fu
3.5. Colocando algum conteúdo em nosso script
3.6. Extendendo o Script de Text Box
3.7. Seu script e seu funcionamento

1. Plugins

1.1. Introdução

Uma das melhores coisas do GIMP é como sua funcionalidade pode ser facilmente estendida por meio de plugins. Plugins do GIMP são programas externos que são executados sob o controle da aplicação principal GIMP e interagem com ela muito de perto. Plugins podem manipular imagens de quase todas as formas que os usuários podem. Sua vantagem é que é muito mais fácil de adicionar um recurso ao GIMP escrevendo um pequeno plugin do que modificando a enorme massa de código complexo que compõe o núcleo do GIMP. Muitos plugins importantes tem código fonte em C e possuem somente de 100 a 200 linhas de código.

Várias dezenas de plugins estão incluídas na distribuição oficial do GIMP e são instaladas automaticamente junto com o programa. A maioria deles pode ser acessada através do menu filtros (na verdade, tudo nesse menu é um plugin ou um script), mas vários deles estão localizados em outros menus. Em muitos casos, você pode usar um sem nunca perceber que é um plugin: por exemplo, a função "Normalizar" para correção automática de cores é na verdade um plugin, embora não há nada na maneira como ela funciona que iria demonstrar isso.

Qualquer pessoa no mundo pode escrever um plugin GIMP e torna-lo disponível na Web, através do registro ou um web site pessoal e muitos plugins muito importantes podem ser obtidos desta maneira. Alguns são descritos em outra parte no Manual do usuário. Com essa liberdade toda vem um certo grau de risco, porém: o fato de que qualquer um pode fazê-lo significa que não há nenhum controle de qualidade eficaz. Os plugins distribuídos com o GIMP todos foram testados e ajustados pelos desenvolvedores, mas muitos que você pode baixar podem ter sido feitos em algumas poucas horas e, em seguida, atirados ao vento. Alguns criadores de plugin simplesmente não se importam sobre robustez, e mesmo para aqueles que o fazem, a sua capacidade de testar uma variedade de sistemas diferentes em uma variedade de situações muitas vezes é bastante limitada. Basicamente, quando você baixar um plugin, você está recebendo alguma coisa de graça, e às vezes você obtém exatamente o que você paga. Isso não é dito para tentar desanimá-lo, apenas para se certificar de que você compreende a realidade.

[Atenção] Atenção

Plugins, sendo programas executáveis de pleno direito, pode fazer qualquer das coisas que qualquer outro programa pode fazer, incluindo instalar Backdoors no seu sistema ou comprometer sua segurança. Não instale um plugin, a menos que você tenha confiança no que ele faz. Mesmo o Registro de Plugins do GIMP não testa a validade do que está lá. Claro que um plug-in deliberadamente malicioso que receba muitas reclamações será removido - mas isso é feito como trabalho voluntário, e não como política padrão do site, como acontece nas lojas de aplicativos para celulares.

[Cuidado] Cuidado

Plugins tem sido uma característica do GIMP por muitas versões. No entanto, plugins escritos para uma versão do GIMP em geral não podem ser usados com sucesso com outras versões. Eles precisam ser atualizados: às vezes isso é fácil, às vezes não. Muitos plugins já estão disponíveis em várias versões. Em resumo: antes de tentar instalar um plugin, certifique-se de que está adaptado para sua versão do GIMP.

1.2. Usando Plugins

Geralmente você pode usar um plugin como qualquer outro comando do GIMP, sem a necessidade de estar ciente de que é um plugin. Mas há algumas coisas sobre plugins que são importantes saber.

Uma é que os plugins geralmente não são tão robustos quanto o núcleo doGIMP. Quando o GIMP trava, isso é considerado uma coisa muito séria: o usuário pode ter um monte de problemas e dor de cabeça. Quando um plugin trava, geralmente não há consequências tão graves. Na maioria dos casos, você pode simplesmente continuar trabalhando sem se preocupar com ele.

[Nota] Nota

Como os plugins são programas separados, eles se comunicam com o núcleo doGIMP de maneira especial: Os desenvolvedores do GIMP chamam isso de falar sobre um fio. Quando um plugin trava, a comunicação se quebra, e você verá uma mensagem de erro sobre um erro de leitura no fio.

[Dica] Dica

Quando um plugin trava, o GIMP lhe mostra uma mensagem aparentemente sinistra mensagem informando que o plugin pode ter deixado o GIMP em estado corrompido e você deve considerar salvar suas imagens e sair. Estritamente falando, isso é muito correto, porque plugins tem o poder de alterar quase qualquer coisa no GIMP, mas para fins práticos, a experiência demonstrou que esse tipo de corrupção é realmente muito rara, e muitos usuários apenas continuam a trabalhar e não se preocupam. Nosso Conselho é que você simplesmente pensar sobre o quanto o problema seria pra você se algo estiver errado com as imagens que estão abertas, e conviver com as consequências. Pode acontecer de alguma corrupção nos dados de sua(s) imagen(s) nao serem imediatamente visíveis - então se você decidir salvar tudo e sair do programa, para estar 100% seguro, é melhor salvar (como XCF) em outros arquivos, não no seu arquivo original.

Devido à forma como plugins se comunicam com o GIMP, eles não têm quaisquer mecanismos para serem informados sobre as alterações feitas em uma imagem após o plug-in ter sido iniciado. Se você iniciar um plugin e, em seguida, alterar a imagem usando outra ferramenta, o plugin poderá falhar muitas vezes e quando ele funcionar poderá dará um resultado errado. Você deve evitar a execução de mais um plugin ao mesmo tempo em uma imagem e evitar fazer qualquer coisa na imagem até que o plugin tenha terminado de trabalhar nela. Se você ignorar este conselho, você provavelmente não somente estragará a imagem, mas possivelmente vai estragar o sistema de desfazer daquela imagem e você pode nem mesmo ser capaz de desfazer o resultado da bagunça.

1.3. Instalando novos Plugins

Os plugins que são distribuídos com GIMP não exigem qualquer instalação especial. Plugins que você mesmo baixa, você mesmo instala. Existem vários cenários, dependendo de qual sistema operacional você está usando e como o plugin está estruturado. No Linux geralmente é muito fácil instalar um novo plugin; no Windows e no Mac, é fácil ou muito difícil. Em qualquer caso, é melhor considerar os três sistemas separadamente.

1.3.1. Sistemas Linux e Unix like

A maioria dos plugins caem em duas categorias: pequenos cujo código fonte é distribuído como um arquivo único do tipo ".c" e os maiores, cujo código fonte é distribuído como um diretório contendo vários arquivos, incluindo um Makefile. Há também plug-ins em Python - numúnico arquivo ".py". Neste caso, basta coloca-los no seu diretório pessoal de plug-ins, e marca-lo coma propriedade de executável.

Para instalar um plugin simples de um arquivo em C chamado borker.c, basta apenas executar o comando gimptool-2.0--install borker.c. Este comando compila o plugin e o instala no seu diretório pessoal de plugins, ~/.gimp-2.8/plugins a menos que você o tenha alterado. Isso fará com que ele seja carregado automaticamente na próxima vez que você iniciar o GIMP. Você não precisa ser o root para fazer essas coisas; na verdade, você não deve ser. Se o plugin não compilar por algum motivo, bem, seja criativo :-) .

Depois de ter instalado o plugin, como ativá-lo? Reinicie 0 GIMP -o plug-in deve estar nos menus agora. O caminho do menu é determinado pelo plug-in em si, então para responder a isso você precisa consultar a documentação do plug-in (se houver), ou ativar o diálogo navegador de Plug-ins (a partir de Ajuda/Navegador de Plug-ins), e buscar o plug-in pelo seu nome ou busca-lo na guia Visualização em árvore. Se você ainda não o encontrar, explore os menus ou olhe o código fonte na seção de "register" -- o que for mais fácil.

Para plug-ins mais complexos, organizados como um diretório com vários arquivos, deve haver arquivos dentro chamado ou INSTALL ouREADME, com instruções para instalação. Se não, tene simplesmente digitar "make" seguido de "make install". Caso ainda não funcione, o melhor conselho é desistir desse plug-in e usar seu tempo em outra coisa: qualquer código escrito com tão pouca preocupação para o usuário final é é suscetível de ser frustrante de inúmeras maneiras.

Alguns plugins (especificamente aqueles baseados no Plugin Modelo doGIMP ) são projetados para serem instalados no diretório principal do sistema, ao invés do seu diretório pessoal. Nesses casos, você precisará ser root para executar a fase final de instalação (quando executar o comando make install).

Se você instalar no seu diretório pessoal de plug-ins um plug-in que tem o mesmo nome de um item no diretório do plug-ins de sistema, somente um pode ser carregado, e sera o do seu diretório pessoal. Você receberá mensagens informando isso cada vez que você iniciar o GIMP. Provavelmente, trata-se de uma situação que é melhor evitar.

1.3.2. Windows

Windows é um ambiente muito mais problemático para a construção de software do que Linux. Cada distribuição Linux decente vem completamente alimentado com ferramentas para compilar software, e todos eles são muito semelhantes em sua forma de trabalhar, mas o Windows não vem com essas ferramentas. É possível criar um bom ambiente de construção de software no Windows, mas requer tanto uma quantidade substancial de dinheiro quanto de uma quantidade substancial de esforço e conhecimento.

O que isto significa em relação aos plugins do GIMP é o seguinte: a sua melhor esperança é que o criador do plug-in tenha uma versão pré-compilada do plug-in, as vezes até com um instalador, para WIndows (e para Mac). Ou, você tem um ambiente que possa construir o software, ou então possa persuadir alguém a compilá-lo para você, caso em que basta colocá-lo em seu diretório pessoal de plug-ins. Se você tiver um ambiente no qual você possa compilar programas (que para efeitos do presente significa um ambiente no qual você possa compilar o GIMP), então sem dúvida você já sabe um pouco sobre essas coisas, e apenas precisa seguir as instruções do Linux.

1.3.3. Apple Mac OS X

Como instalar plugins no Mac OS X na maior parte depende de como você instalou o GIMP. Se você for um dos bravos que instalouGIMP através de um dos gerenciadores de pacotes como o fink [DARWINORTS] ou darwinports, [FINK] a instalação do plugin funciona exatamente da maneira que já está descrito para a plataforma Linux. A única diferença é, que alguns dos plugins podem até mesmo estarem disponíveis diretamente no repositório do seu Gerenciador de pacotes, então, faça uma tentativa!

Se você por outro lado é um dos usuários que preferiram pegar um pacote GIMP pré-construído como GIMP.app, você provavelmente terá que se ater a plug-ins já compilados para o Mac OS. Então você pode tentar obter uma versão pré-construída do plugin você sonha do autor do plugin, mas eu não gostaria de apostar nisto.Gerar seus próprios binários infelizmente envolve instalar o GIMP através de um dos gerenciadores de pacotes mencionados acima.

1.4. Escrevendo Plugins

Se você quer aprender como escrever um plug-in em C, você pode encontrar muita ajuda no site para Desenvolvedores do GIMP [GIMP-DEV-PLUGIN]. O GIMP é um programa complexo, mas a equipe de desenvolvimento fez esforços para facilitara curva de aprendizado para a escrita de plug-ins: existem boas instruções e exemplos e a biblioteca principal que os plug-ins usam para interface com oGIMP (chamada libgimp) possui uma API bem documentada . Bons programadores podem aprender a ler e modificar plugins existentes, e são capazes de realizar coisas interessantes depois de apenas alguns dias de trabalho.