Introdução ao Jitter
Click here to load reader
-
Upload
jorge-c-s-cardoso -
Category
Education
-
view
3.956 -
download
2
description
Transcript of Introdução ao Jitter
Jitter - Introdução
Vídeo Arte InteractivaVídeo Arte Interactiva
12-02-2010 Jorge C. S. Cardoso 1
Conteúdo2
Conteúdo
• Conhecimento prévio• Conhecimento prévio• Estrutura básica (objectos) para ler um vídeo• Matrizes• Atributos• Atributos
12-02-2010 Jorge C. S. Cardoso
Conhecimento prévio3
Conhecimento prévio• Objectos fundamentaisj
– Metro– S, R (send, receive)
P k– Pak– Prepend– Route– line– Loadbang– Patcher (patchers dentro de patchers)– Patcher (patchers dentro de patchers)– Construção de mensagens com variáveis– ...
• Assumo que já sabem isto tudo– Se não souberem: http://cycling74.com/docs/max5/vignettes/intro/docintro.html
12-02-2010 Jorge C. S. Cardoso
Ler um ficheiro de vídeo4
Ler um ficheiro de vídeo• jit qt moviejit.qt.movie
– Carrega um ficheiro de vídeovídeo
– Argumentos: largura e altura do vídeo
– Mensagens • Read: abre a janela de j
diálogo para escolher o ficheiro
• Stop: pára a reprodução• Stop: pára a reprodução• Start: recomeça a
reprodução
12-02-2010 Jorge Cardoso
Ler um ficheiro de vídeo5
Ler um ficheiro de vídeo• metrometro
– Faz com que o jit.qt.movieenvie a frame actual
– Atenção: o ficheiro continua a ser lido mesmo sem o metro, mas nenhuma frame é enviada
– Atributo: intervalo (ms) entre envio das framesI l– Inlet
• 0: pára• 1: inicia
12-02-2010 Jorge Cardoso
Ler um ficheiro de vídeo6
Ler um ficheiro de vídeo• jit.pwindowjit.pwindow
– Mostra o vídeo dentro do patch
• Exemplo #1
12-02-2010 Jorge Cardoso
Matrizes7
Matrizes• Estrutura de dados para Estrutura de dados para
guardar um conjunto de valores
• Normalmente, tem duas dimensões
0 1 2 3 4 5 6 7 0
– representa-se em forma tabular– casa posição é uma “célula”
É l Ji
123• É a estrutura central em Jitter
– Todos (ou quase) os objectos Jitter recebem e enviam matrizes
345
J
12-02-2010 Jorge Cardoso
Matrizes - Dimensões8
Matrizes - Dimensões
• Uma matriz pode ter duas ou mais dimensões• Uma matriz pode ter duas ou mais dimensões– Em Jitter, o normal é usar matrizes bi-dimensionais
0 1 2 3 4 5 6 7 012345
12-02-2010 Jorge Cardoso
Matrizes para Vídeo9
Matrizes para Vídeo
• Uma imagem (frame) pode ser representada como • Uma imagem (frame) pode ser representada como uma matriz, em que cada célula guarda uma cor (pixel)(pixel)– Uma cor é representada em ARGB, ou seja, o número é
uma composição de quatro valoresuma composição de quatro valores• Alpha (transparência)• Red 50 44 23 31 38 52 75 52• Green• Blue
50 44 23 31 38 52 75 5229 09 15 08 38 98 53 5208 07 12 15 24 30 51 5210 31 14 38 32 36 53 6714 33 38 45 53 70 69 4036 44 58 63 47 53 35 2668 76 74 76 55 47 38 3569 68 63 74 50 42 35 32
12-02-2010 Jorge Cardoso
69 68 63 74 50 42 35 32
Matrizes - Planos10
Matrizes - Planos
• Cada célula guarda de facto 4 valores• Cada célula, guarda, de facto, 4 valores• O Jitter separa estes valores em Planos
– Uma matriz de vídeo, em Jitter, é uma matriz bi-dimensional com (normalmente) 4 planos( ) p
12-02-2010 Jorge Cardoso
Matrizes – Tipo de dados11
Matrizes Tipo de dados• Cada célula de uma matriz guarda um valor numéricoCada célula de uma matriz guarda um valor numérico.• Um valor numérico pode ser representado de formas
diferentes consoante os limites (máximo e mínimo) ( )pretendidos ou o tipo de número (inteiro ou decimal)
• Em Jitter, uma vez que uma célula (de um plano) guarda um J q ( p ) gvalor que corresponde a apenas um componente de cor, apenas são precisos valores entre 0 e 255
O d d d é d d l– O tipo de dados char é o indicado para estes valores
12-02-2010 Jorge Cardoso
Matrizes – jit matrix12
Matrizes jit.matrix
• O objecto jit matrix guarda uma matriz• O objecto jit.matrix guarda uma matriz– Para criar uma matriz temos de
• dar-lhe um nome, • indicar o número de planos que queremos• indicar o tipo de dados (char)• indicar a dimensão (largura altura)
• Exemplos #2 e #3• Exemplos #2 e #3
12-02-2010 Jorge Cardoso
Argumentos13
Argumentos
• A maioria dos objectos em Max pode ser • A maioria dos objectos em Max pode ser inicializado através de argumentos escritos a
i d bj ( d d seguir ao nome do objecto (a ordem dos argumentos indica o seu significado)– Estes argumentos definem o estado inicial do
objectoj– O estado pode ser alterado enviando valores para
os inletsos inlets
12-02-2010 Jorge Cardoso
Atributos14
Atributos• Em Jitter, os objectos possuem demasiadas características Em Jitter, os objectos possuem demasiadas características
para poderem ser inicializadas desta forma • Os objectos Jitter possuem atributos que permitem inicializar j J p q p
e alterar o estado do objecto• Os atributos podem ser definidos como argumentos (usando p g (
um @ antes do nome do atributo) ou através de mensagens• Os atributos podem ter um ou mais parâmetros
• Exemplo #4
12-02-2010 Jorge Cardoso
Atributos15
Atributos
• Os objectos Jitter respondem a mensagens • Os objectos Jitter respondem a mensagens “get<nomeatributo>” com o valor actual do
ib atributo. – Dá jeito para determinar o estado actual do j p
objecto
• Exemplo #5Exemplo #5
12-02-2010 Jorge C. S. Cardoso
Mais Info16
Mais Info
• What is a Matrix? • What is a Matrix? http://www.cycling74.com/docs/max5/tutorials/ji /ji h i i h l/jit-tut/jitterwhatisamatrix.html
• What are attributes? http://www.cycling74.com/docs/max5/tutorials/jit-tut/jitterwhatareattributes html/jit-tut/jitterwhatareattributes.html
• Tutorial 1: Playing a QuickTime Movie http://www.cycling74.com/docs/max5/tutorials/jit-tut/jitterchapter01.htmlj j p
12-02-2010 Jorge Cardoso
Exercício #117
Exercício #1
• Crie um patcher que comece a reproduzir um • Crie um patcher que comece a reproduzir um vídeo logo que seja aberto
12-02-2010 Jorge C. S. Cardoso
Exercício #218
Exercício #2
• Crie um patcher que reproduza um vídeo em • Crie um patcher que reproduza um vídeo em três resoluções diferentes (640x480, 320x200, 160 100)160x100)– use um [jit.matrix] intermédio entre o j
[jit.qt.movie] e o [jit.pwindow] para definir a resolução
12-02-2010 Jorge C. S. Cardoso
Exercício #319
Exercício #3
• Crie um patcher que reproduza apenas o • Crie um patcher que reproduza apenas o canal verde de um vídeo.
12-02-2010 Jorge C. S. Cardoso
Exercício #420
Exercício #4
1 Crie um patcher que mostre o mesmo vídeo 1. Crie um patcher que mostre o mesmo vídeo em duas janelas (pwindow) diferentes.
1. Uma das janelas deve mostrar o vídeo em 320x240 e apenas o canal vermelho (a vermelho)
2. A outra janela deve mostrar o vídeo em 160x120 e apenas o canal azul (a azul)p ( )
12-02-2010 Jorge Cardoso