Externals: mudanças entre as edições

De Pontão Nós Digitais
Ir para navegaçãoIr para pesquisar
Sem resumo de edição
 
(5 revisões intermediárias por 2 usuários não estão sendo mostradas)
Linha 1: Linha 1:
Uma external é uma classe que não é construida no pd (geralmente em C ou C++), mas é carregada em tempo de execução. Uma vez carregada na memória do pd, externals não podem mais serem distinguidas de internals.  
Uma external é uma classe que não é construida no [[Pd]] (geralmente em C ou C++), mas é carregada em tempo de execução. Uma vez carregada na memória do pd, externals não podem mais serem distinguidas de internals.  
 
<br>
 
= How To  =
 
Um bom guia para aprender a programar as externals é [http://iem.at/pd/externals-HOWTO/HOWTO-externals-en.html esse]. Está em ingles e não contem explicações de compilação, apenas codificação.
 
<br>
 
== Compilando  ==
 
=== Linux  ===
 
-- Testado no Ubuntu 11.04 e 11.10
 
#Escreva sua external ou use&nbsp;[https://pure-data.svn.sourceforge.net/svnroot/pure-data/trunk/externals/template/mycobject.c esse] exemplo.
#$ mkdir _Library &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;# substitua _Library pelo nome da sua biblioteca
#$ mv path/to/your/external/* _Library/
#$ cd _Library
#$ gedit Makefile &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;# ou use o editor de sua preferencia no lugar do gedit
#Copia tudo [https://pure-data.svn.sourceforge.net/svnroot/pure-data/trunk/externals/template/Makefile daqui] para o seu Makefile. (teoricamente esse makefile deveria servir para mac também, mas na pratica não deu certo aqui, alterações são necessárias)<br>
#Na quarta linha, altere "template" para o nome da sua biblioteca (deve ser o mesmo de _Library)
#Na nona linha, altere "mycobject.c" para o nome do seu codigofonte.c (você poderá adicionar mais arquivos e ainda adicionar SOURCE_LINUX=codigo.c por exemplo, para sources especificos para cada plataforma)
#Salve e Feche.
#$ make
#Abra o pd.
#File -&gt; Path... -&gt; New...<br>
#Navegue até _Library e de OK.
#Reinicie o PD e tente criar seu objeto.<br>
 
<br>
 
Metodo mais correto:
Copiar externals/template do pd extended SVN.
 
Na hora de carregar no Pd, ponha um link para a pasta "template" (ou sua _Library) no ~/pd-extended/
Depois carregue sua lib usando
pd-extended -lib _Library.
 
Para forcar o Pd sempre a carregar a lib, coloque a linha "-lib _Library" em ~/.pdrc (se esse arquivo nao existir, crie-o).
Tambem da pra fazer isso via GUI.
 
==== Nota ====
Tive que editar o Makefile e colocar /usr/include/pdextended no lugar de /usr/include/pd  [[Usuário:V1z|V1z]] 00h04min de 4 de Novembro de 2011 (UTC)
 
=== Mac OS X  ===
 
-- Testado no Mac OS X 10.7 (Lion) com Xcode 4.1
 
#Abra o Xcode
#Clique em "Create new Xcode project"
#Na parte de Mac OS, clique em "Framework &amp; Library"
#Clique em "C/C++ Library" e next
#Defina o nome do projeto, type: Dynamic
#Selecione se projeto e clique em "Build Settings"
#Altere:&nbsp;"Other linker flags": -undefined dynamic_lookup (parece ser necessário)
#"Product Name": projectname
#"Executable Prefix": não é necessário, delete o que tiver lá.
#"Executable Extension": pd_darwin
#"Architectures": Standard (32/64-bit Intel)
#Baixe [https://pure-data.svn.sourceforge.net/svnroot/pure-data/trunk/pd/src/m_pd.h este] arquivo.
#Arraste esse arquivo para o seu projeto.<br>
#Uma janela surgirá, marque "Copy itens into destinations Group's folder" e de OK.
#File -&gt; New -&gt; New C File
#Escreva sua external ou use&nbsp;[https://pure-data.svn.sourceforge.net/svnroot/pure-data/trunk/externals/template/mycobject.c esse]&nbsp;exemplo.
#Command+B
#Na pasta "Product" clique com o botão direito no arquivo .pd_darwin que tem lá e clique em "Show in Finder".
#Copie esse arquivo para /Library/Pd
#Abra o PD e crie seu objeto =)
 
<br>
 
<br>


<br>  
<br>  


To be continued...
To be continued...
[[Category:Lab Macambira]]

Edição atual tal como às 21h24min de 3 de novembro de 2011

Uma external é uma classe que não é construida no Pd (geralmente em C ou C++), mas é carregada em tempo de execução. Uma vez carregada na memória do pd, externals não podem mais serem distinguidas de internals.


How To

Um bom guia para aprender a programar as externals é esse. Está em ingles e não contem explicações de compilação, apenas codificação.


Compilando

Linux

-- Testado no Ubuntu 11.04 e 11.10

  1. Escreva sua external ou use esse exemplo.
  2. $ mkdir _Library              # substitua _Library pelo nome da sua biblioteca
  3. $ mv path/to/your/external/* _Library/
  4. $ cd _Library
  5. $ gedit Makefile              # ou use o editor de sua preferencia no lugar do gedit
  6. Copia tudo daqui para o seu Makefile. (teoricamente esse makefile deveria servir para mac também, mas na pratica não deu certo aqui, alterações são necessárias)
  7. Na quarta linha, altere "template" para o nome da sua biblioteca (deve ser o mesmo de _Library)
  8. Na nona linha, altere "mycobject.c" para o nome do seu codigofonte.c (você poderá adicionar mais arquivos e ainda adicionar SOURCE_LINUX=codigo.c por exemplo, para sources especificos para cada plataforma)
  9. Salve e Feche.
  10. $ make
  11. Abra o pd.
  12. File -> Path... -> New...
  13. Navegue até _Library e de OK.
  14. Reinicie o PD e tente criar seu objeto.


Metodo mais correto: Copiar externals/template do pd extended SVN.

Na hora de carregar no Pd, ponha um link para a pasta "template" (ou sua _Library) no ~/pd-extended/ Depois carregue sua lib usando

pd-extended -lib _Library.

Para forcar o Pd sempre a carregar a lib, coloque a linha "-lib _Library" em ~/.pdrc (se esse arquivo nao existir, crie-o). Tambem da pra fazer isso via GUI.

Nota

Tive que editar o Makefile e colocar /usr/include/pdextended no lugar de /usr/include/pd V1z 00h04min de 4 de Novembro de 2011 (UTC)

Mac OS X

-- Testado no Mac OS X 10.7 (Lion) com Xcode 4.1

  1. Abra o Xcode
  2. Clique em "Create new Xcode project"
  3. Na parte de Mac OS, clique em "Framework & Library"
  4. Clique em "C/C++ Library" e next
  5. Defina o nome do projeto, type: Dynamic
  6. Selecione se projeto e clique em "Build Settings"
  7. Altere: "Other linker flags": -undefined dynamic_lookup (parece ser necessário)
  8. "Product Name": projectname
  9. "Executable Prefix": não é necessário, delete o que tiver lá.
  10. "Executable Extension": pd_darwin
  11. "Architectures": Standard (32/64-bit Intel)
  12. Baixe este arquivo.
  13. Arraste esse arquivo para o seu projeto.
  14. Uma janela surgirá, marque "Copy itens into destinations Group's folder" e de OK.
  15. File -> New -> New C File
  16. Escreva sua external ou use esse exemplo.
  17. Command+B
  18. Na pasta "Product" clique com o botão direito no arquivo .pd_darwin que tem lá e clique em "Show in Finder".
  19. Copie esse arquivo para /Library/Pd
  20. Abra o PD e crie seu objeto =)




To be continued...