You are on page 1of 384

VIDAS fecha

de Publicación manual 2009-08-25

http://lives.sourceforge.net

© Gabriel Finch (salsaman@xs4all.nl)

Este manual está publicado bajo el GNU Licencia de Documentación Libre: http://www.gnu.org/copyleft/fdl.html

Esto manual está hecho disponible gracias al patrocinio generoso de Jeremiah T. Gris, autor de creador de Hackett "y Bankwell," El
Cómic de Linux. http://hackettandbankwell.com/
Mesa de Contenidos
0 Prefacio

1 Introducción

1.1 Introducción al Proyecto de VIDAS y la aplicación de VIDAS


1.1.1 Traducciones

1.2 Consiguiendo soporte


1.2.1 Bichos y peticiones de característica
1.2.2 Mailing listas
1.2.3 Foros
1.2.4 IRC
1.2.5 RSS 2.0 noticioso alimentar

2 Compilando e instalación
2.1 Obteniendo el sourcecode
2.2 Licencia
2.3 Pre-requisites
2.4 ubicaciones Binarias
2.5 Compilando de fuente
2.6 dyne:VIDAS CD/pendrive
2.7 Iniciales Setup (directorio provisional, jugador de audio, tema, etc.)
2.8 Multi-soporte de cabeza

3 Corriendo VIDAS
3.1 línea de Orden opciones, y poniendo la lengua
3.2 De una carta

4 El editor de clip
4.1 visión general/de Introducción

4.2 Importador y capturando


4.2.1 clips Importadores (solos y múltiples)
4.2.2 imágenes Importadoras (solos y múltiples)
4.2.3 audio Importador
4.2.4 partes Importadoras de clips
4.2.5 Importando de una ubicación remota (URL)
4.2.6 Importando de DVD/VCD
4.2.7 Importando de DV / HDV
4.2.8 Capturando una ventana externa
4.2.9 Copia de seguridad/restaura

4.3 Cambiando clips


4.4 clip de Espectáculo info
4.5 Rebautizando un clip en la carta
4.6 Cerrando un clip

4.7 Conjuntos
4.7.1 Introducción a Conjuntos
4.7.2 Salvando un Conjunto
4.7.3 Reloading un Conjunto, autoreloading
4.7.4 Eliminando un Conjunto

4.8 Proyectos
4.8.1 Exportando un proyecto
4.8.2 Importando un proyecto

4.9 Codificando
4.9.1 Codificando un clip
4.9.2 Codificando una selección
4.9.3 Codificando con/sin audio

4.10 Jugando clips


4.10.1 Empezando y parando playback
4.10.2 Jugando una selección
4.10.3 El playback puntero
4.10.4 La ventana separada
4.10.5 modo de pantalla Llena
4.10.6 Playback plugins
4.10.7 modos de Bucle
4.10.8 se Apaga modo, medida doble
4.10.9 modo Mudo y ajustamiento de volumen

4.11 Editando clips


4.11.1 Seleccionando marcos
4.11.2 Copia
4.11.3 El portapapeles
4.11.4 Corte
4.11.5 Pasta
4.11.6 Inserta
4.11.7 Elimina
4.11.8 vídeo de Desacoplamiento y audio
4.11.9 Selecciona última inserción
4.11.10 Salvando marcos solos
4.11.11 Deshace/rehacer

4.12 Rendered Efectos


4.12.1 Efectos
4.12.2 Fusionando entre clips
4.12.3 Selecciona último efecto/fusiona
4.12.4 Cerrando el ancho de selección
4.12.5 Rendered generadores
4.12.6 Instalando efectos hechos de encargo, herramientas y utilidades

5. Herramientas
5.1 Resizing
5.2 Rotating
5.3 Trimming y añadiendo una frontera
5.4 Resampling
5.5 Cambiando el playback velocidad
5.6 portapapeles Inverso
6 Audio en clips
6.1 Eliminando audio
6.2 audio nuevo De apertura
6.3 Anexando audio
6.4 Trimming/acolchando audio
6.5 Insertando silencio
6.6 audio Exportador
6.7 se Apaga en/apagarse fuera
6.8 audio de Registro para parte de un clip o clip entero
6.9 Resampling audio

7 Realtime efectos
7.1 Mapeo de llaves, habilitando, inutilizando
7.2 Teclado grab/modo de efecto
7.3 Efectos, transiciones y generadores
7.4 Aplicando a clips
7.5 Poniendo parámetros, poniendo defaults, ahorro defaults

8 Otro VJ llaves
8.1 Tachando, congelando, invirtiendo, ajustando marco-índice, cambiando clips, intercambio fg-bg, nervioso
8.2 El k, m, t y llaves de tabulador
8.3 Bookmarking clips

9 Registro
9.1 Registro, previewing y rendering

10 Miscellaneous funciones
10.1 Protección de Accidente
10.2 Aclarando espacio de disco
10.3 Poniendo el tema
10.4 Resetting playback velocidades y posiciones
10.5 MIDI/joystick estudiante
10.6 MIDI synch
10.7 Jack transporte synch

11 El multitrack editor
11.1 Poniendo multitrack detalles
11.2 El multitrack diseño de pantalla
11.3 Insertando vídeo y audio
11.4 Playback en el multitrack editor
11.5 Añadiendo pistas
11.6 Seleccionando y trimming audio y bloques de vídeo
11.7 Partiendo y eliminando bloques
11.8 modo de Ratón, chasquea el modo y el audio insertan modo
11.9 bloques Emotivos
11.10 Regiones
11.11 Insertando y sacando vacíos
11.12 Aplicando efectos a bloques y regiones
11.13 efectos de Audio
11.14 transiciones de Vídeo
11.15 Audio transiciones únicas
11.16 Compositor(s)
11.17 Listado, eliminando, editando efectos
11.18 mapas de Filtro
11.19 canal de Audio controles
11.20 Marcando el timeline
11.21 Ahorro, cargando y eliminando diseños
11.22 Rendering
11.23 Dejando multitrack modo
11.24 avisos de Diseño
11.25 Regreso a Conjuntos y proyecto salva/carga (diseños)
11.26 acontecimiento de Vista lista

12 Adelantó características - streaming


12.1 VIDAS a VIDAS streaming
12.2 yuv4mpeg streaming

13 Adelantó características - control de control/remoto


13.1 OSC control
13.2 casquete de Estado
13.3 Notifica casquete

14 Adelantó características - procesamiento de lote

15 Adelantó características - RFX herramienta de constructor

16 Preferencias

17 Apéndices
17.1 HOWTOs
17.2 Troubleshooting

17.3 documentación Técnica


17.3.1 Weed especificaciones

17.3.2 RFX spec


17.3.2.1 VIDAS-perl referencia

17.3.3 Plugin formatos


17.3.3.1 Encoders
17.3.3.2 Realtime efectos
17.3.3.3 Vídeo playback plugins
17.3.3.4 Descodificador plugins

17.3.4 Lista de OSC órdenes


17.3.5 Lista de OSC notificar acontecimientos
17.3.6 clip de VIDAS formato
17.3.7 copia de seguridad de VIDAS formato
17.3.8 VIDAS Ponen y formato de proyecto

17.4 Remoto scripting ejemplos

18 Juguetes
18.1 marcos Locos
0 Prefacio

* Dharma juventud *

"Las personas únicas para mí son el locos unos, los que


son locos de vivir, locos de hablar, locos de ser salvados,
deseosos de todo al mismo tiempo, los que nunca
bostezo o decir una cosa de tópico, pero quemadura,
quemadura, quemadura, como fabulous las velas
Romanas amarillas que explotan como arañas a través
de las estrellas."
- Jack Kerouac, Dharma Bums

Primero dejado es declarar quién somos: después de que 8 años somos capaces de
localizar un denominador común entre las personas activas en nuestra red,
interconectado por una aproximación nómada a desarrollo y vida.

Somos jóvenes dreamers, cuando a menudo nos gustan barajar las limitaciones e
inventar modelos diferentes para aprender, comunica, participación y vivo que
aquellos propuestos por las sociedades donde somos caged.

Hemos en común que sobrevivimos fuera de los tópicos, cultivamos nuestros


pensamientos y compartiendo métodos, conocimiento y herramientas, manteniéndoles
fuera de cualquier caja.

Esto es el tiempo en nuestra historia en qué hablaremos con voces jóvenes, cuándo
estamos moviendo algunos pasos cruciales encima cuál basaremos nuestras
arquitecturas, hopefully mezclando el interiores con el exteriores, el Ying con el Yang.

Algunos de nosotros son nómadas, algunos resuelven en tiempo de sitios diferentes


para cronometrar, algunos viven en los mismos barrios insignificantes del mundo
donde nacieron, algunos están trabajando para multinacional ÉL compañías, algunos
están montando bicicletas en todas partes el mundo, algunos son lecturing en
escuelas, algunos están exhibiendo en galerías de arte y algunos son en cuclillas
casas. Y sí, probablemente eres uno de aquellos, o has sido en contacto con nosotros,
al menos una vez.

Qué estamos proponiendo aquí es un modelo nuevo y nosotros finalmente adquirieron


una visión práctica para desarrollar él en armonía con nuestros entornos diferentes.
Complacer continuar leyendo si te gusta descubrir por qué y qué.
* Libertad de Creatividad *

"Elcrecimiento de la red rendered el no-propertarian la


alternativa aún más práctica. Qué escritura erudita y
popular igualmente denomina como cosa ("el Internet")
es de hecho el nombre de una condición social: el hecho
que todo el mundo en la sociedad de red está conectado
directamente, sin intermediación, a todo el mundo más.
La interconexión global de redes eliminó el bottleneck
que había requerido un fabricante de software
centralizado a rationalize y distribuir el resultado de
innovación individual en la era del mainframe. "
- Eben Moglen

Libre y software de código abierto (a menudo referido como FOSS) es, cuándo
refiriendo a los principios originales aprobaron por la Fundación de Software Libre[1]
(FSF), un modelo nuevo para distribución, desarrollo y marketing de bienes
inmateriales. Mientras recomendándote para tener una mirada en las páginas de
filosofía publicó por el FSF, destacaremos algunas implicaciones qué es más
importante para nosotros por hacer nuestras actividades posibles y motivándoles.

FOSS Implica un modelo económico basó encima colaboración en vez de competición,


cabiendo en los campos de búsqueda académica donde compartiendo del
conocimiento es fundamental , y desarrollo donde los esfuerzos de junta de
desarrolladores diferentes pueden ser mejores sostenidos cuándo distribuidos a través
de varios nodos. A este particular nos gusta citar John Nash (Matemática Nobel en
1994) diciendo que "el resultado mejor provendrá todo el mundo en el grupo que hace
qué es más para él, y el grupo".

Imagina entonces que todas las creaciones re-produjo de este modo también puede
ser vendido libremente por cualquiera en cada contexto: esto abre arriba de un
horizonte de modelos empresariales nuevos que es local, evitando globalized
explotación, todavía compartiendo una piscina global del conocimiento útil a todo el
mundo.

Además, en los campos de educación creemos que la independencia inherente de


FOSS de las influencias comerciales es cruciales para facultar alumnado con un
conocimiento que ellos realmente propios, no haciéndoles dependientes de los
mercaderes que poseen sus creaciones por imponer licencias en las herramientas han
aprendido.

Y finalmente justo considerar, y sentir libre de inventar más en estas pistas, el impacto
de FOSS en campos como comunicación, social networking, juegos, medios de
comunicación y... Evolución.

[1] ve http://www.fsf.org
* No nationhood *

"Por lejano che i secoli tacciano di quel Trattato[2] che


trafficò la mia patria, insospettì le nazioni e scemò dignità
al tuo nome."
- Un Bonaparte liberatore, Ugo Foscolo, 1778-1827

"Un Planeta, Una Nación"


- Enemigo Público

Nuestras patrias están desplazadas y a veces muy diferentes, difíciles de ser puestos
en contacto con las fronteras dadas por naciones. De hecho creemos que que estados
de nación tendrían que llegar a su fin, para las fronteras imponen no está emparejando
con nuestras aspiraciones y capacidad actual para relacionar con cada otro.

Durante los pocos años de nuestras vidas hemos sido enseñados para interaccionar y
prpers describir dentro de esquemas nacionales, pero las fronteras reales únicas eran
las diferencias entre nuestras lenguas, mientras hemos aprendido para cruzarles.

De nuestras historias nacionales mayoritariamente heredamos miedos y rabia, pero


con esta red hemos aprendido cómo para enterrarles, cuando no pertenecen a
nosotros anymore. Qué queda es un justo un problema que puede ser solucionado:
pararemos representar nos tan parte de naciones diferentes. Incluso si podríamos, no
pretendemos para construir nuestra nación propia, ni para proponer a ti un contrato
social nuevo, pero para cruzar todo de estas fronteras como únicos networked planeta,
para empezar una cartografía nueva.

Tenemos un planeta! Y es bastante joven para curarse las cicatrices dejaron por los
últimos siglos de guerra, imperialismo, colonización y prevaricación que a la izquierda
más personas alrededor nos cultivando diferencias e identidades de falsificación
representaron por banderas y propaganda nacionalista.

No estamos reclamando para abrir las fronteras a la especulación de multinacionales,


desde entonces somos bien conscientes esto puede ser una retórica utilizado por “neo-
liberalist” intereses a vagabundo sobre la autonomía de países en desarrollo. La
integridad Contextual[3] de los ecosistemas sociales diferentes necesita ser
respetados, pero todavía tan de hoy las fronteras nacionales no han tenido éxito en
preservarlo.

Con algunas excepciones, la mayoría de los programas nacionales y fondos culturales


apalabramos trabajo con pretendía cada de nosotros vestirían una bandera, cuando
éramos recruited en un juego decadente de competición y orgullo nacionales, con un
orden del día de cultural, dominación económica y física, localizando todos nuestros
movimientos, asimilándoles a leviathans aquello está jugando sus últimos
movimientos violentos en un juego ajedrecístico para qué somos justo seamless
piezas.

Esto no hace sentido anymore a nuestra generación, rechazamos identificar con los
gobiernos que aguantan nuestros pasaportes, mientras quedamos a la espera de
relacionar con cada otro en la base de diálogo e intercambio, aproximaciones y
arquitecturas que puede ser imaginado globalmente y desarrolló localmente,
en una manera abierta los canales que dejados nos hablar a ti ahora mismo.

Por lo tanto declaramos **el fin de naciones**, cuando nuestra generación está
conectada por una manera intersección más complicada de voluntades, destinies y,
muy en particular, problemas para ser solucionados.

[2] Trattato di Campoformio

[3] ve Nissenbaum, H, (2007) Integridad Contextual -


http://crypto.stanford.edu/portia/papers/revnissenbaumdtp31.pdf

* Networked ciudades *

"Creoque con el tiempo mereceremos no tener


gobiernos."
- Jorge Luis Borges, 1899-1986

Naturalmente nuestras conexiones de sorteos de la cartografía entre nodos, hubs de


inteligencia que es más cercano en cyber espacio que en el físico un. En el último siglo
hemos aprendido cómo podemos compartir música, letras, historias e imágenes,
desde entonces para unas cuantas décadas somos capaces de copiarles con costes
insignificantes a través del mundo entero.

Esto nos dejé relacionar a cada cual otro con un outreach aquello está amplificado por
la densidad de nuestros entornos vivientes, los espacios urbanos que de alguna
manera ofrecidos bastantes vacíos para nuestra agencia. Quienes pretenden gobernar
nuestro vivientes es ahora ocupado en controlar aquellos voids, cuando cada árbol en
una plaza pública representa un obstáculo para sus cámaras, omnipresent ojos
patronising nuestra evolución.

Fundamos refugio en las prácticas ancestrales de trance[4], abriendo las puertas de


nuestra percepción al desconocido, resonating nuestros huesos propios, realzando la
agilidad de nuestras lenguas para seguir la cadera hop flujo de pensamientos
radicales, patinando sobre el universo estamos apremiar, pintando fantasía sobre el
impuso paredes de nuestras ciudades, saltando más altos de unir los fines sueltos de
nuestro parkours.

Estas prácticas son ahora entre todo de nuestras ciudades[5], sembrados por nuestra
necesidad propia de evolucionar, para influir un governance aquello no escucha a
nosotros. Algunos niños convierten en un ejército oscuro de venganza, algunos pierden
fe en el futuro, alguna caída en el virtual loopholes ofreció por el magnético startups
del dot.com boom. Necesitamos a offerourselves un alternativos a este conflicto
desesperado y el primer paso es para construir un narrativo aquello respeta todas las
elecciones, aquello no desatiende sufrimiento.

Toda esta creatividad y la desesperación está compartida entre nuestras ciudades,


embutidos por espejismos y necesidades innecesarios de éxito de las "industrias
creativas", mientras ya elaboramos una visión concéntrica que está enlazado a la
densidad de nuestras vidas y el flujo cultural de nuestro errant conocimiento.

Por lo tanto declaramos el nacimiento de un **planeta de networked ciudades**[6],


arquitecturas de espiral de vivientes swirling por encima de nuestras cabezas y a
través de nuestros dedos, cuando evolucionan en una práctica común de cubicaje y re-
conjunción, uniendo los fines sueltos de nuestro futuro.

Nuestro plan es sencillo y nuestro proyecto es ya en movimiento. De hecho, si miras


alrededor tú, ya nos encontrarás ** cercano. Mientras los sistemas económicos y
políticos actuales afrontar la dificultad de esconder su incoherencia propia, somos
capaces de implementar sus principios mejores y, muy en particular, estamos
elaborando nuevos unos.

Somos reclaiming la infraestructura, la libertad para adaptarles a nuestras


necesidades, nuestro correctos a la propiedad sin cuerdas sujetó, la libertad para
afrontar ideas sin cualquier manipulative mediación, peer a peer, frente a frente,
ciudad a ciudad, humano a humano.

La posibilidad para crecer economías y comunidades locales, eliminando globalised


monopolios y viviendo arriba de nuestras creaciones propias, es allí. Estamos llenando
los espacios vacíos dejaron en nuestras ciudades propias, estamos poniendo nuestros
deseos propios y nosotros son en conjunto capaces de satisfacerles.

Además, algunos de nosotros están buscando contactos con los estratos más bajos de
sociedades, para compartir una autonomía de crecer: tanto están excluidos por la
sociedad sirven, que mucho son cercanos a libertad, mientras es claro que la
autonomía es la solución a crisis presente.

Estas comunidades insignificantes eran el villagers quién, mayoritariamente debido a


pobreza rural, ya no podría sobrevivir encima agricultura, así como los nómadas y
refugiados que tuvieron que huir sus sitios de nacimiento, o nunca tuvo una patria.
Vinieron a la ciudad y ellos encontraron tampoco trabajo ni refugio. Crearon sus
trabajos propios fuera de las lógicas cínicas de capitalismo, mayoritariamente en
rechaza reciclar. Miran feos a las minorías en poder, mientras la mayoría de
arquitectos y urbanos planners unjustly llama su refugio "poblamientos ilegales".
Algunos de ellos organizan ellos para obtener poder con solidaridad, y aquellos son el
squatters.

Durante las décadas pasadas hemos aprendido para realzar nuestra autonomía propia
en los contextos urbanos[7], buceando a través de los contextos diferentes que
componen las ciudades, revelando la estructura interior de su cerró redes,
desarrollando una textura diferente hecha de relaciones que ninguna compañía puede
comprar.

Somos los **Pájaros de Tejedor **, burung-burung manyar[8], compartimos nuestros


nidos en una red, fluimos como el río del poblamiento espontáneo de Código en
Yogyakarta[9], el gypsy barrio de Sulukule en Instanbul, el Club de Ordenador del
Caos, todo el hacklabs a través del mundo, el self-organizado squatters en Berlina de
Amsterdam Barcelona y más, las guaridas de 2600 y todo el otro provisionales hacker
espacios donde nuestro futuro, y vuestro futuro, está siendo homebrewed.
Este documento es justo el inicio para un curso nuevo, perfilando un análisis que está
compartido entre un número de crecer de joven hackers y artistas, nutridos por su
autonomía y conocimiento. Nuestro hacker los espacios deprisa están proliferando tan
no necesitamos para construir más espacial más que penetrar existiendo espacio
vacío, somos altamente adaptive y apuntamos en conectar más que separar, en ser
inclusive más que exclusivo, en ser eficaz más que adquirir estado. A quienes sienten
acechados preguntamos: no nos resiste, para duraremos más largos que tú; y dejarnos
espacial, para no lo utilizas mientras hacemos. Él para el bueno de todo de nosotros,
porque somos vuestros niños propios .
[4] Lapassade, G. (1976) Essai sur la transe, Éditions universitaires

[5] De Jong, Un, Schuilenburg, M. (2006) Mediapolis. Cultura popular y la ciudad, Rotterdam: 010-
Editores

[6] Batten, D.F. (1995), Ciudades de Red: Aglomeraciones Urbanas Creativas para el siglo XXI, SALVIA

[7] Lapassade, G. (1971), L'Autogestion pédagogique, Gauthiers-Villars

[8] Burung-Burung Manyar significa "Pájaros de Tejedor" en bahasa indonesia, es un libro por Romo
Mengun publicado en 1992 por Gramedia (Yakarta)

[9] el Código riverbank estuvo considerado un "poblamiento ilegal" de squatters, mientras Romo
Mengun ha sido activo entre 1981 y 1986, reuniendo la compasión de los intelectuales que creen que
estos miembros pobres de sociedad tendrían que ser aceptados y ayudados para mejorar sus
condiciones vivientes. El gobierno de Indonesia planeó su extracción forzada en 1983, pero tan las
protestas siguieron los planes estuvieron cancelados. Nueve años más tarde en 1992 Kampung el
código estuvo seleccionado como el ganador del Aga Khan Premio para Arquitectura en el Mundo
musulmán. El poblamiento de ribera del Código continúa existir hasta este día, como ejemplo notable de
arquitectura urbana.

* Medios de comunicación horizontales *

"Quienquieracontrola los medios de comunicación -las


imágenes- controles la cultura."
- Allen Ginsberg, 1926-1997

Nuestra preocupación aproximadamente la libertad en medios de comunicación es


seria, la urgencia actual justifica todos nuestros actos de rebelión, cuando devienen
necesarios. Uno de nuestras actividades principales pacientemente está tramando los
hilos para redes abiertas que puestos nos todo en contacto. Pero los regímenes
nacionales codiciosos y las organizaciones criminales nos acechan como si pueden
evitar su naturaleza fascista para ser sabida, mientras oportunista provokers utilizar
nuestras tierras abiertas para tener concedidas el correctos de ofender y generar más
guerras.

Sobre medios de comunicación nosotros ciertamente acumulados bastante


conocimiento para localizar un camino claro para nuestro desarrollo, cuando hemos
sido haciendo desde los días tempranos de nuestra existencia: somos activos en
implementar las libertades que la edad digital nos concedo. Esta libertad intelectual es
muy importante para el desarrollo de humanidad, para su capacidad de analizar sus
acciones propias, para tramar su fe en armonía.

Nuestro plan es para continuar desarrollando más encima-sitio y espacio público on-
line para discusión, siguiendo un **patrón descentralizado** que acceso de
subvenciones a la mayoría de personas en nuestro planeta. Creamos herramientas
para medios de comunicación independientes, para multiplicar las voces en protección
de visiones comunes, para evitar que unos cuantos magnates de medios de
comunicación toman sobre democracias, cuando está pasando en muchos sitios
diferentes de este mundo.

Somos conscientes de los límites de la implementación presente de democracia:


mientras son ocupados celebrando su éxito propio sobre regímenes arcaicos, estos
sistemas pararon actualizar su arquitectura propia y ha caído en control de enemigos
nuevos qué pueden no incluso reconocer anymore.

La solución proponemos es sencillo: maximise las posibilidades para reciclar que


existen infraestructuras de medios de comunicación, abiertos cuando muchos canales
como posibles, gratis el airwaves, flujo de comunicación dejada en su multiplicidad,
evitar cualquier mono-uso direccional de él, da todo el mundo la posibilidad para
correr un radiofónico o estación de televisión para él es propia vecinos digitales y
físicos, siguiendo un patrón orgánico que modularise el compartiendo de sentido y
dejar las ideas propagan en una horizontal, no manera jerárquica.

Si estas arquitecturas de medios de comunicación serán enlazadas con modelos de


educación que tolerancia adoptiva tenemos esperanza de acelerar la evolución de
nuestro planeta y protección de subvención a las minorías que está poblándolo.

El por encima de copyleft 2008 dyne.org fundación y autores respectivos. Verbatim


Copiando y la distribución es permitted en cualquier medio,
proporcionado este aviso está preservado. - Leer el texto completo en
http://dyne.org/first_dharma_dyne.pdf

El Proyecto de VIDAS es muy orgulloso de ser una parte de este


movimiento. Gracias Todo para vuestro soporte !
1 Introducción
1.1 Introducción al Proyecto de VIDAS
y las VIDAS de aplicación
de las VIDAS es un proyecto de software libre.

El objetivo del proyecto es para promover estándares libres y abiertos en multimedia,


y para proporcionar acceso a ellos a tan muchas personas como posibles. La parte de
este proyecto implica el desarrollo de una aplicación de software (de qué el proyecto
toma su nombre: las VIDAS es un Vídeo Editando Sistema). Otra parte del proyecto
consta de ayudar para desarrollar y promover estándares libres en multimedia. Este
manual es sobre VIDAS, la aplicación.

El proyecto y el software estuvieron empezados en 2002 por Gabriel Finch (un.k.Un


salsaman, VJ salsa) y es todavía el desarrollador principal del proyecto.
1.1.1 Traducciones
Casi todo es en inglés, pero la aplicación de VIDAS ha sido traducida a otras lenguas
también. Aun así, incluso para aquellas lenguas que tiene traducciones actualizadas, la
traducción es un proceso actual .

Si te gustaría ayudar con el esfuerzo de traducción, complacer contactar el equipo de


VIDAS vía el mailing listas, o salto justo en y empezar ! El URL para los traductores es:

https://translations.launchpad.net/lives/trunk
1.2 Consiguiendo soporte
1.2.1 Bichos e informes de Bicho
de peticiones de característica son muy bienvenidos. Puedes informar un bicho nuevo
en:

http://sourceforge.net/tracker/?group_id=64341&atid=507139

Te también puede comprobar allí para ver si un bicho ha sido informado ya.

hay también un sitio para peticiones de característica:

http://sourceforge.net/tracker/?group_id=64341&atid=507142
1.2.2 Mailing las listas
Allí son dos mailing listas para VIDAS:

para usuario de fin relacionó los asuntos allí es las vidas-usuario mailing lista. Para
más técnico (el desarrollo relacionado) asuntos, hay las vidas-devel mailing lista.

Estas listas son generalmente volumen bajo - más o menos 3 o 4 mensajes por
semana, a pesar de que esto tendría que aumentar tan más las personas descubren
las alegrías de VIDAS !

https://lists.sourceforge.net/lists/listinfo/lives-users - Usuario de vidas mailing lista

https://lists.sourceforge.net/lists/listinfo/lives-devel - desarrollo de vidas mailing lista


1.2.3 Foros
Allí son también varios foros de discusión cuáles pueden ser encontrados en:

http://sourceforge.net/forum/?group_id=64341

• BSD

• Desarrollo

• de Recopilación

• Irix

• Newbie Emite

• Discusión Abierta

• OSX / Darwin

• Plugins

• Discusión de la interfaz remota / OSC / streaming

Y un par de más adelantó temas:

• el vídeo que Edita

• VJing con VIDAS


Tan si quieres hablar algo muy concreto, aquí es un espacio. Si tienes una cuestión y tú
quieren ver si alguien ya lo preguntó puedes mirar aquí demasiado.
1.2.4 IRC
las VIDAS también tiene su propios IRC canal, el canal #se mantiene a base de
irc.freenode.net.
1.2.5 RSS 2.0 noticioso alimenta
hay un RSS 2.0 noticioso alimentar para VIDAS. Puedes suscribir a esto por clicking en
el icono de RSS en el sitio de VIDAS, o con el URL:

http://lives.sourceforge.net/content/news.xml
2 Compilando e instalación
2.1 Obteniendo el sourcecode
El sourcecode para la liberación de VIDAS más tardía siempre puede ser obtenida por
siguiente los enlaces encima:

http://lives.sourceforge.net/index.php?do=downloads

En caso quieres obtener el código de desarrollo más tardío, aquí es qué.

Subversion

Cuando de versión 1.0.0, código de VIDAS estuvo emigrado de CVS a Subversion (svn).

hay ahora dos ramas de VIDAS - la versión estable, basado en VIDAS 1.0.0 con
bugfixes, y la versión de desarrollo con el mismo bugfixes, más las características
nuevas añadieron desde entonces 1.0.0.

Versión de desarrollo

La versión de desarrollo es el "borde de hemorragia " para a quienes les gusta VIVIR
peligrosamente.

La versión de desarrollo puede ser vio/descargado de Sourceforge.

Estas complexiones pueden o no puede correr o incluso compilar, y si ellos pueden


colgar vuestro X servidor o incluso peor... Mayoritariamente es VALE aun así.

Rama estable

La rama estable está basada en las VIDAS 1.0.0 código, con cualquier pertinente
bugfixes backported. Pueda carecer de las características más tardías, pero es
guaranteed para contener menos bichos que la versión de desarrollo.

La versión estable puede ser vio/descargado de Sourceforge.


Comprobando el código

Decide qué versión te gustaría descargar, desarrollo o establo.

Desarrollo:

svn checkout http://lives.svn.sourceforge.net/svnroot/lives/trunk/ [dir]

Establo:

svn checkout http://lives.svn.sourceforge.net/svnroot/lives/branches/1.0.0/ [dir]

Reemplaza [dir] aquí y abajo con el directorio donde te gustaría descargar el código a
(p. ej. vidas o vidas-estables).

Código más viejo

Pre 1.0.0 versiones de VIDAS pueden ser vio/descargado del CVS repositorio en
Sourceforge.

Este repositorio estuvo congelado poco después del 1.0.0 liberación.


2.2 Licencia
La aplicación de VIDAS está autorizada bajo el GPL (versión 3 o más alto). Algunos de
sus bibliotecas están autorizados bajo el LGPL (versión 3 o más alto), donde esto es el
caso , es claramente marcado en el sourcecode. Es opcionalmente enlazado contra
libOSC cuál está autorizado bajo un BSD licencia.

Esto significa que eres libre de estudiar el código, marca cualesquier cambios deseas,
y redistribuir el código con vuestros cambios, proporcionó redistribuyes el código de
fuente también con la misma licencia, y naturalmente abonar los autores originales !

Leído los plazos de licencia llenos aquí:

El GNU GPL: http://www.gnu.org/copyleft/gpl.html

El GNU LGPL: http://www.gnu.org/copyleft/lesser.html


2.3 Pre-requisites
- 800 MHz CPU (32 o 64 bit) X86, AMD, o PPC

- 256 MB de memoria

y necesitará un mínimo de aproximadamente:

- 5 GB de disco, (no para el programa, pero para clips de vídeo que te abrirá).

Sistemas operativos:

- GNU / Linux o BSD 2.x.

El programa también ha sido compilado para Irix, y para OSX / Darwin.

Para recopilación de fuente, necesitarás al menos:

* GNU automake 1.7 o más alto


* GNU autoconf 2.57 o más alto
* GNU gettext 0.12.1 o más alto
* GNU libtool 1.5.22 o más alto
* libgtk2.0-dev 2.10 o más alto

y para correr VIDAS exitosamente:

* mplayer 0.90rc1+ compilado con jpeg/png soporte (versión 1.0pre8+ recomendable)

* ImageMagick 5+
* perl 5+
* gtk+ 2.10+
* libjpeg62
* gdk-pixbuf-loaders
* sox con libsox-fmt-toda
* pitón 2.3.4+ (recomendable)
* SDL (recomendable)
* mencoder 1.0-pre5+ (recomendable)
* libmjpeg-herramientas (recomendables)
* libtheora (recomendables)
* libjack/jackit (recomendables)
* xmms (opcionales)
* cdda2wav (opcionales)
2.4 ubicaciones Binarias
las versiones Binarias de VIDAS pueden ser obtenidas de varias fuentes que dependen
de la distribución.

Para Linux:

Debian

las VIDAS es en el oficiales debian repositorios, así que:

la aptitud instala las vidas

tienen que justo trabajo. Alternadamente puedes utilizar un director de paquete gráfico como synaptic para
descargar e instalar VIDAS.

Paquetes oficiosos para las VIDAS también pueden ser encontradas en debian-multimedia.org. Complacer
seguir las instrucciones allí, si quieres utilizar sus paquetes.

Ubuntu

Ubuntu Los paquetes pueden ser descargados de http://www.getdeb.net

Slackware

Slackware tiene algunos paquetes de VIDAS buenas en slacky.eu

Gentoo

emerge vive

Unrch linux

http://aur.archlinux.org/packages.php?id=1642

Fedora, Mandriva y SuSE y tener paquetes en sourceforge:

http://sourceforge.net/project/showfiles.php?group_id=64341
Para otras distribuciones puedes encontrar un motor de búsqueda útil...

Para BSD

http://www.freshports.org/multimedia/lives/

http://www.freebsdsoftware.org/multimedia/lives.html
2.5 Compilando de fuente
Si conseguías VIDAS como tar.gz o tar.bz2, en un terminal puntual, introducir el
siguiente:

bzip2 ­d VIDAS­<versión>.tar.bz2 

o,

gzip ­d VIDAS­<versión>.tar.gz

Dependiendo de qué versión tienes. Entonces:

alquitrán xvf VIDAS­<versión>.Alquitrán

cd vidas­<la versión>

Reemplaza <versión> con la versión de VIDAS que te descargó; por ejemplo 0.9.9.6 o
1.0.3

Para subversion checkouts, el encima no es necesario, justo hacer:

cd <dir> 

(dónde <dir> es el directorio donde el código era downloded a.)

Para subversion checkouts, necesitarás correr:

./autogen.sh 

Antes de seguir adelante. Nota "el ." Antes del "/" - esto es importante. Si esto falla
para cualquier razón, prueba:

./autogen.sh ­­Verboso 

cuál tendría que dar una pista cuando a qué fue mal.

Ahora tipo:

./Configura

control la producción de configurar muy cuidadosamente, siguiendo cualquier consejo


sugiere, y haciendo cualesquier ajustamientos puedes desear a - como instalar
bibliotecas opcionales.

Si eres feliz con la producción de configurar, entonces compilar la fuente con:

marca 

otra vez, control la producción para cualesquier avisos o errores.

Suponiendo todo fue VALE, ahora puedes instalar la aplicación con:

la marca instala

(probablemente necesitas hacer este tan raíz - encima algunos sistemas devendrías la
raíz que utiliza "su", en otros sistemas correrías

sudo la marca instala 

entonces puedes correr vidas tampoco de una carta, o por escribir en una terminal:

Consejo

de vidas:

El default la ubicación para todo es dentro de /usr; tan executables entrar


/usr/cubo, temas y guiones en /usr/vidas/de participación/, y bibliotecas y
compilados plugins en /usr/lib.

Si quieres seleccionar un alternar instalar ubicación, puedes hacer:


./Configura --prefijar=/usr/lugareño
por ejemplo, antes de hacer "la marca" y la marca "instalan" tan habituales.

Aun así, si reubicas, y esto no es un fresco instala, necesitarás editar


vuestro .Archivo de vidas en vuestro directorio de casa y ajustar
<prefijo_dir> y lib_dir <> de modo que señalan a las ubicaciones correctas
para guiones y plugins.

Las VIDAS también apoya primordiales el default instala ubicación utilizando


DESTDIR. Por ejemplo:

marca DESTDIR=/optar/las vidas instalan

Para una lista completa de configurar opciones, tipo:


./Configura ­­ayuda
2.6 dyne:VIDAS CD/pendrive
Windows y Mac (Intel) los usuarios pueden probar fuera de VIDAS por descargar y
quemando un dyne:bolic bootable CD, y entonces instalando el módulo de VIDAS.

Esto está basado en el maravilloso dynebolic distribución:

http://www.dynebolic.org/

Instrucciones:

1) Descarga el más
tardío dynebolic
(actualmente 2.5.2)
ISO y quemarlo a un
CD con vuestro favorito
CD software en llamas.
Marca seguro quemas
el .iso Imagen tan-es.
Esto creará un
bootable CD.

2) Bota del CD y crear un "muelle" (i.e. copiar el /dyne directorio del CD a un


harddrive). También puedes crear un "nido" (/directorio de casa) si deseas.

3) Descarga el más tardío dyne:módulo de VIDAS: http://lives.sourceforge.net/lives-


latest.dyne y copia él a /dyne/módulos en "el muelle" harddrive.

4) Reboot una vez más del CD, y cuándo incitado, selecciona "bota de harddisk"

5) las VIDAS ahora tendrían que aparecer en la carta debajo el vídeo/Edita


2.7 Inicial Setup (directorio
provisional, jugador de audio, tema,
etc.)
En el primer startup de VIDAS (o si el .Archivo de vidas no es presentar en el directorio
de casa), serás incitado para seleccionar el jugador de audio inicial.

de VIDAS 2.7.1 – seleccionando un jugador de audio inicial

El jugador de audio del Jack es mejor, y es más sincronizado con vídeo. Pero a veces,
algunas máquinas tienen problemas, dependiendo de el soundcard. Por ejemplo,
algunos portátiles no corren jack bien. Tan si sabes esto por adelantado, puedes
seleccionar Sox.

Si escoges Jack y VIDAS falla a startup correctamente entonces tendrías que ser capaz
de retomar VIDAS y seleccionar Sox como el jugador de audio.

La elección de jugador de audio también puede ser cambiado más tarde, en


Herramientas -> Preferencias,
de VIDAS. 2.7.2 – seleccionando
el jugador de audio en
Preferencias

Aquí también puedes seleccionar


mplayer como el jugador de audio.
Esto no es recomendado, pero
puedes experimento con este si
deseas.

En el primer startup hay algunos otras preferencias cuál tendría que ser revisado y
conjunto.

El más importante es los directorios, especialmente el directorio provisional. Tiene que


ser en una partición con abundancia de espacio de disco (al menos 10 GB de espacial
está recomendado, para proyectos pequeños).

Si eres inseguro cómo para comprobar para diskspace, en una terminal introduce:

df

esto mostrará el espacio libre de cada partición.

de VIDAS 2.7.3 – producción de “df”


de VIDAS 2.7.Preferencias de 4 Directorios

Si deseas, puedes también puesto los otros directorios aquí.

Si cambias el directorio provisional y clic VALE, verás un aviso - verificar que no otros
casos de Vidas son abiertos.
Si tienes otros casos de las VIDAS que corren, les tendrías que cerrar antes de
proceder, otherwise perderás todo el dato y clips en ellos.

Puedes entonces clic VALE para proceder. Las VIDAS retomarán automáticamente
cuándo el directorio provisional está cambiado.

de VIDAS 2.7.5 – Advirtiendo cuándo cambiando el temp directorio

puedes escoger el aspecto de Vidas.

de VIDAS 2.7.6 –
poniendo un tema
nuevo
puedes hacer
este por ir a
Herramientas
->
Preferencias
-> Temas y
seleccionando
un tema
nuevo. Cuándo
cambias el tema, las VIDAS necesita ser retomadas antes de los cambios son visibles
(ve también sección 10.3).
2.8 Multi-soporte de cabeza
Cuándo las VIDAS está empezada, tenga que detectar el número de monitores
conectó, y lo ajustar consiguientemente. En preferencias, puedes override el default
encuadres. Es posible de escoger qué monitor para utilizar para la interfaz principal, y
para el playback ventana. Puedes también puesto lo de modo que pantalla llena
playback extenderá a través de todos los monitores (para hacer tan, puesto el GUI el
monitor que pone a 0).

También puedes forzar modo de monitor solo. Esto es útil en las ocasiones raras
cuándo el número de los monitores no es detectados correctamente, o si hay algún
problema con la segunda pantalla.

de VIDAS 2.8.1 – Multi-encuadres de cabeza en Consejo

de Preferencias: puedes desear regresar a este encuadre una vez te ha


experimented con ventana separada y lleno-pantalla playback modos.
3 Corriendo VIDAS
3.1 línea de Orden opciones, y
poniendo la lengua que
Corre VIDAS de un commandline / la terminal es tan sencilla cuando escribiendo:

Consejo

de vidas: las vidas es generalmente un enlace simbólico al reales binarios


cuál se apellida (para razones históricas) vidas-exe. También puedes crear
vidas como wrapper guión, el cual por ejemplo, variables de entorno de los
conjuntos antes de llamar vidas-exe.

Otra consideración cuándo empezando VIDAS - te puede escoger la lengua de la


interfaz. Normalmente esto es automático pero encima algunas máquinas puedes
necesitar poner esto manualmente. Puedes hacer este del commandline gusta así que
(este ejemplo es para EE.UU. ingleses):

LENGUA de exportación = en_EE.UU.

o para ubuntu / debian (este ejemplo es para brasileño portugués):

exportación LANG = pt_BR.utf8

antes de empezar VIDAS como habituales con:

vidas

puedes empezar VIDAS con parámetros:

archivo <de vídeo_de las vidas>

empezará arriba de VIDAS y forzarlo para empezar archivo <de vídeo_de apertura>
inmediatamente.

Inicio <de archivo_de vídeo> <de vidas_el tiempo>

hará la misma cosa, pero empezará segundos <de tiempo_de inicio> importadores al
<archivo_de vídeo>, si es posible.

Inicio <de archivo_de vídeo> <de vidas_marcos> <de tiempo> 

harán tan encima, pero intentará importar marcos <de marcos> únicos, empezando
en <segundos_de tiempo> del inicio.
hay también varios commandline opciones puedes pasar a VIDAS:

-ayuda : espectáculo todo commandline opciones, y salida

-versión : impresión la versión, copyright y autorizando detalles, y salida

-puesto <setname> : inicio arriba de vidas y autoload conjunto <setname> [ve


sección 4.7.3]

-noset : no carga cualquier conjunto en startup

-nogui : no muestra el gui [experimental]

-aplayer <ap> : inicio con jugador de audio seleccionado. <ap> Puede ser mplayer,
sox o jack

Nota: Esto pone el jugador de audio permanentemente. Puedes cambiar él en


preferencias.

-jackopts <Opta> : <opta> es un bitmap de jack startup opciones [1 = jack cliente


de transporte, 2 = jack maestro de transporte, 4 = inicio jack servidor de transporte, 8
= audio de pausa cuándo el vídeo paró, 16 = inicio jack servidor de audio]

Nota: jackopts es provisional, sólo para este caso. Necesitas ponerles en Preferencias
si quieres hacer cambios permanentes.

-norecover : Fuerza que carga no de recuperación de accidente [ve sección 10.1]

-recuperar : la fuerza que carga de recuperación de accidente (si presente)

y si las VIDAS está compilada con OSC soporte:

-oscstart <puerto> : inicio OSC oyente en UDP puerto <portuario> [ve sección 13.1]

-nooscstart : no empieza OSC oyente

Cuando de versión 1.1.0:

-devicemap <mapfile> : carga en archivo de mapeo del dispositivo <mapfile> en


startup [ve sección 10.5]

Consejo: para empezar arriba de VIDAS con sox como el jugador de audio:

vidas -aplayer sox -jackopts 0


o con jack como el jugador de audio:

vidas -aplayer jack -jackopts 16

El jugador de audio será puesto permanentemente, pero puedes necesitar ir


a Preferencias y manualmente ajustar el jack opciones. Puedes también
reinicialización el jugador de audio en Preferencias.
3.2 De una carta que
Empieza las VIDAS de una carta es mucho más sencillos, pero generalmente menos
flexibles. Sencillamente localizar la entrada de carta para VIDAS (generalmente en el
vídeo/multimedia/edita cartas de tipo), y clic en la entrada de VIDAS.
4 El editor de clip
4.1 visión general/de Introducción
las vidas tiene dos modos principales. Qué ves aquí es el Editor de Clip. Las VIDAS
también tiene un multitrack ventana, el cual está cubierto en sección 11.

de VIDAS 4.1.1 – el Editor de Clip

puedes utilizar el editor de clip para crear las fragmento de vídeo y audio quieres, y
entonces abrir el multitrack ventana para combinar estas fragmento juntas.
Naturalmente, hay muchas maneras de laborables con VIDAS, y no eres forzado a
cualquier particular workflow.

En el editor de clip puedes abrir cualquier número de clips quieres. Aquí puedes abrir
(importación) clips de vídeo, partes de clips de vídeo, clips de audio, imágenes solas e
imágenes múltiples. Cada clip puede tener un máximo de aproximadamente 2 miles
de millones marcos.

Consejo:
las VIDAS almacena clips de vídeo en el disco en uno de dos maneras. Hay
Modo de Disco - en este modo, cada marco está almacenado como archivo
de imagen separada (normalmente jpeg, pero png es posible también). La
descodificación a imágenes está hecha cuándo el clip está abierto.

Entonces hay Modo de Archivo - esto está utilizado por único un número
limitado de formatos - en el tiempo de escribir, único dv y ogg/theora los
formatos se mantienen en Modo de Archivo. En Modo de Archivo, los marcos
quedan dentro del clip original hasta que están cambiados, en qué punto el
marco cambiado está descodificado a una imagen. Estos resultados en
mucho tiempo de apertura más rápido para estos archivos. Aun así, si un
archivo está abierto en Modo de Archivo, no tienes que eliminar el archivo
original, desde referencias de VIDAS enmarca interior él. Si alteras todo de
los marcos en un clip qué es en Modo de Archivo (por ejemplo por resizing
él), entonces el clip deviene un clip de Modo del Disco .

Puedes decir si un clip es en Modo de Disco o Modo de Archivo por mirar en


su Info [ve sección 4.4].

El audio es siempre almacenado como crudo pcm, y (al menos en versión


1.0.0 de VIDAS) es siempre descodificado cuándo el archivo está abierto, si
en Modo de Disco o Modo de Archivo.
4.2

Importador y capturando
4.2.1 clips Importadores (solos y
múltiples)
La mayoría de manera común de audio y vídeo importadores material, es vía el
Archivo de opción de la carta -> directorio de archivo / Abierto, o por pulsar ctrl-o.

Si te clic en este o pulsar las llaves, un selector de archivo aparecerá, el cual te dejará
para seleccionar un archivo para abrir (importación).
de VIDAS 4.2.1 – el selector de archivo de los medios de comunicación

Aquí puedes preestreno un archivo - si es un archivo de vídeo , puedes comprobar que


juega atrás - si juega atrás sea posible de abrirlo.

Si pruebas a preestreno un vídeo o archivo de audio y nada pasa, intenta jugar el


mismo archivo con mplayer. Si mplayer no puede jugar el archivo, entonces cualquiera
allí es un problema con el vídeo o archivo de audio ( pueda sufrir menoscabo), o pueda
ser que faltas una biblioteca qué está requerido para jugarlo.

El archivo puede ser casi cualquier clase de archivo de vídeo, archivo de audio, o casi
cualquier clase de archivo de imagen.

También puedes abrir archivos múltiples por aguantar abajo cambio o ctrl y clicking en
los archivos quieres abierto.

Puedes escoger también si archivos para ser abiertos es para ser deinterlaced. En
algunos casos este deinterlacing está hecho automáticamente.

Consejo: deinterlacing es normalmente sólo necesitado para vídeo qué


origina en un cámara de vídeo o cuadro de televisión. En estas clases de clips
de vídeo, uno puede ver que la mitad única de las filas está grabada para
cada marco, y dos marcos consecutivos están fusionados juntos. Esto está
hecho para salvar espacial en los medios de comunicación grabados (por
ejemplo una cinta de vídeo). Esto puede ser más obvio cuándo el tema está
moviendo rápidamente, produciendo un efecto sabido cuando “desgarrando”
donde las líneas horizontales de movimiento pueden ser claramente observó.
Las VIDAS intentarán sacar este efecto indeseable, tampoco
automáticamente, o a pedir cuándo material de apertura.

Cuándo te clic en un archivo para abrirlo, dentro de poco tendrías que ver una ventana
de progreso, informando tú de cuántos marcos (aproximadamente) queda para abrir, y
una estimación del tiempo restante.

Hay tres botones en esta ventana de progreso:

de VIDAS 4.2.2 – la ventana de progreso

- preestreno : pulsando estas causas de botón VIVE para mostrar un preestreno del
archivo whilst está siendo abrió. Durante un preestreno de apertura puedes también
&nbsp; aplica realtime efectos [ve sección 7].

- Bastante : pulsando estas causas de botón VIVE para parar abriendo el archivo
actual, y mantener cualquier cosa ha sido abierta tan lejos. Si los archivos múltiples
están siendo abiertos, las VIDAS continuarán con el archivo próximo.
- Cancelar : las causas VIVE para abandonar el clip actual, y a no abrir más del
seleccionó clips (si los clips múltiples estuvieron seleccionados).

Consejo: antes de abrir un clip, puedes escoger ignorar su audio, por


unselecting Codificar/Copia de seguridad/de Carga con sonido, en la carta de
Archivo.
4.2.2 imágenes Importadoras (solos y
múltiples)
Esto está hecho de la misma opción de carta encima, Archivo -> directorio o archivo
Abiertos.

Las imágenes están importadas justo gustar clips de vídeo. También pueden ser
previewed por seleccionarles y entonces clicking encima Preestreno en el selector de
archivo.

Si escoges abrir un directorio, las VIDAS importarán todas las imágenes en aquel
directorio, en alphanumerical
orden. De este modo puedes abrir
por ejemplo animaciones o
renderings.

Consejo: puedes escoger


si las imágenes solas
están abiertas como
archivos separados o es
para ser cotejado junto a
un clip. Esto puede ser
puesto en preferencias.

Estas marcas únicas


notan cuándo
seleccionas archivos
múltiples para abrir.
4.2.3 audio Importador
Esto también puede ser hecho del Archivo de opción de la carta -> directorio de
archivo / Abierto.

Clic en un archivo de audio para seleccionarlo. Puedes preestreno él en el selector de


archivo.

Archivos de audio múltiple en el mismo directorio pueden ser abiertos por pulsar
cambio o ctrl, y clicking en los archivos quisieron.

El preestreno, bastante y cancelar botones también trabajo con audio.

Por default, las VIDAS apoya audio importador en los formatos siguientes:

ogg vorbis, mp3, wav, mod, él, xm.


4.2.4 partes Importadoras de los clips
que
Importan la parte de un clip de vídeo puede ser hecha del Archivo de carta ->
selección de archivo Abierto.

Aquí puedes escoger un clip de vídeo cuando en sección 4.2.1. Después de seleccionar
el clip, una segunda ventana aparece, el cual deja selección del tiempo de inicio en
segundos, y el número máximo de marcos para importar.

de VIDAS 4.2.2.1 – parte de apertura de un clip de vídeo

puedes preestreno qué será importado por clicking en el botón de Preestreno. Si


seleccionas un tiempo de inicio allende el fin del clip, verás marcos de espacio único
en el preestreno.

Puedes conseguir menos marcos que pedidos si el fin del clip de vídeo está logrado.
Consejo: antes de abrir un clip, puedes escoger ignorar su audio, por
unselecting Codificar/Copia de seguridad/de Carga con sonido, en la carta de
Archivo.
4.2.5 Importando de una ubicación
remota (URL)
En VIDAS, puedes también vídeo de importación o material de audio de una ubicación
remota (URL), el cual podría ser un archivo en otro servidor, o podría ser una corriente.

Puedes hacer este utilizando el Archivo de opción de la carta -> corriente de


ubicación/Abierta

o por pulsar ctrl-l.

de VIDAS
4.2.5.1 – de
apertura un
remoto URL

En la ventana
qué aparece,
puedes
introducir el URL
del archivo o
corriente y clic
VALE. Si esto
falla, puedes el clic Cancela y probar otra vez, este tiempo que selecciona "no envía
información de ancho de banda". Esto a veces ayudas.

Abriendo de una corriente remota te requieres para tener las bibliotecas correctas para
mplayer/ffmpeg.
Una vez la corriente empieza para abrir, puedes Preestreno de clic a preestreno él.

Para parar importación de una corriente y mantener qué ha sido importado, clic en el
Bastante botón.

Para cancelar una importación de una corriente, clic en el Cancelar botón.


4.2.6 Importando de DVD/VCD
VIDAS tiene la capacidad de importar material de DVD o VCD (vídeo CD formato),
proporcionado estas capacidades son en vuestra copia de mplayer.

Para importar de un DVD:

• Clic en el Archivo de opción de la carta -> selección de Importación de dvd/vcd


-> selección de Importación de dvd

• En la ventana qué aparece, introducir el Título, Capítulo y Audio ID requeridos y


clic VALE

• En la ventana próxima, introducir el Tiempo de Inicio y el número de Marcos


deseó, y clic VALE

El material tendría que ser cargado a VIDAS. También puedes escoger para VIDAS a
deinterlace el materiales cuando está siendo importó.

Para importar de un VCD:

• Clic en el Archivo de opción de la carta -> selección de Importación de dvd/vcd


-> selección de Importación de dvd
• En la ventana qué aparece, introducir el Título requerido y clic VALE

• En la ventana próxima, introducir el Tiempo de Inicio y el número de Marcos


deseó, y clic VALE

El material tendría que ser cargado a VIDAS. También puedes escoger para VIDAS a
deinterlace el materiales cuando está siendo importó.
4.2.7 Importando de DV / HDV
En VIDAS, puedes importar material de un dv o hdv cámara. En orden para esta opción
para ser presente, las VIDAS tienen que haber sido compiladas con libdv soporte.
Suponiendo que es el caso, también necesitarás tener el programa dvgrab presente
para importador de dv para ser disponible.

Si todo requirió los componentes son presentes, puedes ir al Archivo de opción de la


carta -> Importación de dispositivo

Aquí tendrías que ver opciones más lejanas: Importación de firewire dispositivo (dv) e
Importación de firewire dispositivo (hdv)

Conecta vuestro cámara, y entonces seleccionar la opción de carta apropiada.

Si todo es bien, una ventana con shuttle los controles abrirán

de VIDAS 4.2.7.1 – cámara shuttle y grab Te

controlas puede utilizar estos shuttle controles para localizar y preestreno y clips
quieres grab de vuestro cámara, y entonces clic en "el botón" Récord a grab un clip.
Puedes también puesto la ubicación y filename de los clips que te grab.

Después de que grabbing los clips, prensa Ventana Cercana.

Puedes entonces carga en los clips qué era grabbed, por ir para Archivar -> directorio
de archivo / Abierto, y seleccionando el clip apropiado(s) [ve sección 4.2.1]

Consejo: Otra manera de importar dv material, si quieres importar una cinta


entera, es sencillamente para utilizar dvgrab del commandline. Esto partirá la
cinta por default a 1GB piezas. Entonces en VIDAS puedes ir para Archivar ->
directorio de archivo / Abierto, y cambio-clic para seleccionar todo de las
piezas para ser cargadas en.
4.2.8 Capturando un Vídeo de ventana
externo (y opcionalmente audio) el material también puede ser capturado de ventanas
externas en el mismo desktop. Para hacer tan, puedes ir a la opción de carta:

Herramientas -> Capturar Ventana Externa

Una

ventana aparecerá donde te puede poner vuestras preferencias récord - el índice de


marco, y el tiempo récord máximo (o unlimited).

de VIDAS 4.2.8.1 – encuadres antes de grabar un Consejo de ventana


externo: si quieres audio de captura así como vídeo, hay un encuadre en
Preferencias -> Registro -> audio Récord cuándo capturando una ventana
externa. Esta opción sólo trabajará si actualmente estás utilizando jack como
vuestro jugador de audio.

Una vez te ha puesto vuestras preferencias récord, puedes clic VALE, y otra ventana
con instrucciones aparecerá. Esta ventana justo contiene guiaje - clic VALE, y entonces
seleccionar vuestra ventana de objetivo. Al llegar a este punto también tienes una
posibilidad final de cancelar la operación.

Si te clic VALE, entonces clic en una ventana de objetivo para seleccionarlo. Después
de una pausa breve, VIDAS grab la ventana, y embed lo, grabándolo. Todavía puedes
interaccionar con el embedded ventana con clics de ratón - a pesar de que llaves de
teclado no serán pasadas a través de a él.

Cuándo estás hecho registro , cualquier prensa "q" - parón, o clic en el botón de parón
(si visible).

Una vez grabando está parado, las VIDAS limpiarán arriba del registro, rellenando
cualesquier vacíos en el registro, y haciendo seguro todos los marcos son
correctamente sized. Finalmente tendrías que conseguir un clip nuevo que contiene el
registro.

En algunos casos no es posible para el director de ventana a grab la ventana externa -


en este caso verás un mensaje de error que te informa que las VIDAS era incapaces a
grab cualesquier marcos.
Nota: después de grabar, el grabbed la ventana será liberada por VIDAS - a pesar de
que sea regresado al director de ventana, ya no pueda ser visible en listas de
tabulador o pagers. Desafortunadamente esto es allende el control de VIDAS, pero es
generalmente poco más de una molestia.

Nota: grabbing una ventana externa sólo trabajará si tienes el programa xwininfo
instaló.
4.2.9 Copia de seguridad/restaura
Dentro de VIDAS, es posible a copia de seguridad y restaurar clips solos, losslessly.
Esto es sólo recomendado si quieres mantener una copia permanente de un clip
particular, sin codificarlo.

Esto no puede ser qué quieres !

• Si quieres mantener abrir el grupo actual de clips para continuar que editan más
tarde, probablemente quieres sección 4.7 - Conjuntos

• Si quieres codificar un clip para jugar atrás en otro jugador de vídeo,


probablemente quieres sección 4.9 - Codificando

• Si quieres exportar un conjunto de clips para uso en otra copia de VIDAS,


probablemente quieres sección 4.8 - Proyectos

Si eres todavía aquí, entonces puedes copia de seguridad un clip sencillamente con el
Archivo de opción de la carta -> clip de Copia de seguridad cuando .lv1

Selecciona esta opción, entonces introducir un filename deseas utilizar.

Más tarde puedes restaurar el clip que utiliza Archivo -> Restaurar clip de .lv1, y
seleccionando el archivo posterior deseas restaurar de.

Puedes copia de seguridad un clip sin audio. Esto está hecho por deselecting
Codificar/Copia de seguridad/de Carga con sonido, de la carta de Archivo, antes de
respaldar arriba de un clip.

Consejo: también puedes restaurar de una copia de seguridad en startup de


VIDAS, por ejemplo por empezar VIDAS con:

vidas vidfile.lv1

Ve sección 3.1 para más startup opciones.


4.3 Cambiando clips
Cada vez un clip nuevo está abierto, está añadido a la carta de Clips.

Utilizando esta carta, puedes cambiar de un clip a otro. El clip actualmente


seleccionado es sabido como el Clip Actual, y está indicado por:

• el clip actual tiene un pequeño "X" junto a él en la carta de Clips.

• Los detalles del Clip Actual están mostrados en el título de ventana de las VIDAS.

Consejo: Otra manera de cambiar los clips es con el teclado, utilizando ctrl-
página-arriba y ctrl-página-abajo. Ve también sección 8.1
4.4 Espectáculo clip info
La opción de carta Info -> clip de Espectáculo info, muestra varios detalles sobre el
clip actual.

de VIDAS 4.4.1 – Clip Info

La información siguiente está mostrada:

Vídeo (si el clip tiene vídeo):


• Formato (original, si sabido)

• medida de Marco (ancho x altura en píxeles)

• medida de Archivo (en MB, si sabido)

• FPS (marcos por segundo)

• Marcos (número total de marcos


de vídeo)

• tiempo Total (vídeo - en


segundos)

Audio (si el clip tiene audio):


- para cada canal:

• medida/de Índice (en Hz y en bits)

• tiempo Total (canal de audio - en segundos)

Consejo: si un clip de vídeo es en modo de Archivo [ve sección 4.1], verás el


número de marcos virtuales y el número de descodificó los marcos listaron en
la caja de marcos. Los marcos virtuales son aquellos cuáles son todavía
contenidos dentro del clip original; descodificó los marcos han sido copiados
como imágenes. Una vez todos de los marcos han sido descodificados, el clip
entonces será en modo de Disco, y una copia completa de él existirá en las
VIDAS directorio provisional.
4.5 Rebautizando
un clip en la
carta
puedes rebautizar cualquier clip en la
carta de Clips. Esto es sencillamente
para hacerlo más fácil de identificar un
clip cuándo seleccionándolo, y tiene no
otros efectos.

Para rebautizar un clip en la carta, primero hacerlo el Clip Actual por seleccionarlo [ve
sección 4.3].

Entonces seleccionar Clips -> Rebautizar Clip Actual en la carta

ahora introduce el nombre nuevo para el clip, cuando te gustaría para aparecer en la
carta de clips, por ejemplo "clip" principal ", de fondo", "bucle123", entonces clic VALE.
4.6 Cerrando un clip
también puedes cerrar un clip solo por cambiar a él, entonces utilizando Archivo de
opción de la carta -> Cercano Este Clip. Si el clip ha cambiado desde entonces sea
último codificado, salvado o respaldó arriba, entonces una ventana aparecerá informar
tú de este, y preguntando si eres seguro tú quiere cercano.

Puedes cerrar todos los clips vía el Archivo de opción de la Carta -> Cercano/Salvar
todos los clips. En este caso tendrás la oportunidad de salvar todos los clips como
Pone [ve sección 4.7.2] antes de cerrarles.
4.7 Conjuntos
4.7.1 Introducción a Conjuntos
Un Conjunto en VIDAS es sencillamente un grupo de clips. Cada vez importas uno o
más clips en VIDAS, tampoco creas un Conjunto o añadir a un existiendo Puso.

Un Conjunto puede ser salvado y entonces reloaded instantáneamente - en este caso,


el Conjunto queda en el paseo duro hasta que escoges eliminarlo.

Los conjuntos pueden ser fusionados juntos. Un conjunto también forma la parte
importante de un proyecto (junto con sus diseños - ver sección 4.8 y sección 11.25).

El límite único a cuántos conjuntos puedes haber encima una máquina es el espacio de
disco requirió. Aun así, (actualmente) sólo uno pone puede ser abierto a la vez en
VIDAS. Los conjuntos son también cerrados cuando en uso, de modo que sólo uno
copia de las VIDAS pueden acceder un conjunto en cualquier instante en tiempo.
4.7.2 Salvando un Pone
hay dos maneras para salvar un Conjunto en VIDAS.

• Vía el Archivo de opción de la carta -> Cercano/Salvar todos los clips

Aquí serás incitado si quieres mantener el clip de existir Pone y justo cerrarlo, o si
quieres eliminar todo de los clips (y por ello el clip Puso también). Selecciona Salva, y
dar el puesto un nombre, entonces clic VALE. Los clips serán cerrados, pero quedará
en el disco a punto para ti a reload.

de VIDAS 4.7.2.1 – Cercano/Salvar todos los clips

• Cuándo saliendo VIDAS con clips abiertos.

En este caso serás incitado si para mantener los clips actuales como puestos, o si para
eliminarles. Clic en la opción para Salvar Puesta, y dar el puesto un nombre, entonces
clic VALE. Las VIDAS saldrán, pero el clip Pone quedará en el disco.
de VIDAS 4.7.2.2 – puntual cuándo saliendo VIDAS con clips abiertos

En ambos casos conseguirás un advirtiendo que salvando un Conjunto dejará los


marcos en el paseo duro, y que esto puede utilizar espacio de disco.

Hay una opción a no mostrar este aviso más - si seleccionas esto, entonces el aviso
puede ser re-activado en Preferencias -> Avisos.

Cuándo salvando un Conjunto, hay también la opción dada a coche-reload el Puso las
VIDAS de tiempo próximas empieza arriba. Esto es útil si estás trabajando en el mismo
conjunto sobre varias sesiones.

Consejo: ser seguro para recordar el nombre de vuestro conjunto cuando no


es (actualmente) posible de ver una lista de salvó conjuntos en un disco. Si
olvidas, puedes listar los contenidos de las VIDAS directorio provisional, el
cual te mostrará todo de los conjuntos has salvado (y más).

Si das el nombre de un diferente, ya existiendo Conjunto, las VIDAS te preguntarán si


quieres fusionar los clips actuales con aquel conjunto. Si te clic VALE, los dos conjuntos
de clips serán combinados a uno grande Puso.

Nota: Set nombres no puede ser espacio, y no puede contener espacios.


4.7.3 Reloading un Conjunto,
autoreloading
hay varias maneras de reloading un Conjunto – por ejemplo pueda ser coche -reloaded
cuándo las VIDAS está empezada arriba (si seleccionaste esta opción cuándo el
Conjunto estuvo salvado), puedes utilizar la opción de carta:
Archivo -> Reload conjunto de clip, e introducir el nombre de un Conjunto que te
gustaría a reload, o puedes pasar el startup vidas de opción -puestos <setname> (ve
sección 3.1).

Cuándo los clips de un Conjunto están cargados, las VIDAS pondrán el nombre del
conjunto en paréntesis al final del filename (en la carta de Clips y en otro lugar).

Cualesquier clips de existir están añadidos al conjunto cuándo un conjunto está


abierto.

Después de abrir un te Pusiste puede continuar tan normal abriendo más clips.
Cualquier nuevamente abrió los clips serán automáticamente añadidos al Puestos
cuándo te venidos para salvarlo otra vez. Aun así, una vez te ha abierto un conjunto,
no serás capaz de abrir un segundo conjunto sin cerrar o eliminando el primer un. Si
quieres fusionar dos conjuntos, necesitarás salvar ambos conjuntos con el mismo
nombre [ve sección 4.7.2].

Consejo: hay un perl el guión llamó set_shuffle.pl, los cuales pueden ser
encontrados en el directorio de herramientas embarcado con VIDAS.
Corriendo este guión y proporcionando un nombre de conjunto causará el
orden de clips en aquel conjunto para ser aleatoriamente shuffled. Vjs Puede
gustar utilizar esto para proporcionar un elemnet de randomness a sus
conjuntos.
4.7.4 Eliminando un Conjunto
Para eliminar un Conjunto en VIDAS, primero lo tienes que cargar. Tan si tienes otros
clips cargados necesitas cerrarles (posiblemente salvándoles como puesto - ver
sección 4.7.2); entonces cargar el Conjunto de clip que te quiere eliminar.

Para eliminar el clip actual Puso, tampoco seleccionar el Archivo de opción de la carta
-> Cercano/Salvar todos los clips, y escoger la opción para eliminar el clip Puso, o
alternadamente, deja de VIDAS (Archivo de opción de la carta -> Dejar) y escoger la
opción para eliminar el clip Puso aquí.
4.8 Proyectos
En VIDAS, un Proyecto es un Conjunto de clips + varios otros archivos asociaron con
aquel Conjunto (actualmente esto significa justo los diseños asociaron con aquel
Conjunto - ver sección 11.25).

Los proyectos pueden ser utilizados en varias maneras, por ejemplo:

• para respaldar arriba de un Conjunto, de modo que pueda ser archived y


eliminado, entonces recuperado más tarde tan necesario

• de copiar un Conjunto de una máquina a otro


4.8.1 Exportando un proyecto
para exportar un proyecto, seleccionar el Archivo de opción de la carta -> proyecto de
Exportación (.lv2)

Introduce el filename de un el archivo para soler contener el proyecto. Está


recomendado que dejas la extensión de archivo como el default (.lv2).

Nota: si cualesquier archivos están abiertos en modo de Archivo (ve sección 4.1), los
archivos originales necesitarán ser copiados por separado.
4.8.2 Importando un proyecto
sólo puedes importar un proyecto si no hay ningún clip abre. Así que puedes necesitar
cerrar o salvar todos vuestros clips actuales, o retomar VIDAS sin clips.

Un proyecto puede ser importado vía el Archivo de opción de la carta -> proyecto de
Importación (.lv2), entonces seleccionar el archivo para importar de.
4.9

Codificando
4.9.1 Codificando un clip que
Codifica el clip actual puede ser hecho del Archivo de opción de la carta -> Codificar
clip cuando (o Archivo -> Codificar clip, a re-codificar utilizando los encuadres de
existir).

Después de seleccionar el Archivo de opción de la carta -> Codificar clip cuando, un


selector de archivo aparece para dejar selección del nombre de archivo. Aquí puedes
escoger la ubicación para salvar (codifica) el clip a, así como si para dejar VIDAS para
poner la extensión de archivo. Desde la extensión de archivo varía depender de el
vídeo codec utilizó, es más para dejar las VIDAS pusieron esto, a no ser que hay
algunos razón concreta a override el default.

Después de elegir el nombre de archivo y ubicación y opción de extensión, clic VALE.

Ahora puedes escoger el Objetivo Encoder. Las vidas tiene varios encoders, cada cual
tiene los formatos diferentes disponibles.

Consejo: es también posible de poner el objetivo encoder de Preferencias, o


cuándo rendering un clip.

de VIDAS 4.9.1.1 – Encoder ventana de detalles


Escoge cualquiera del encoders para ver qué vídeo y formatos de audio apoya. Algún
encoders puede requerir programas o bibliotecas adicionales para operar, y
normalmente verás un mensaje que informa tú de este, si seleccionas tal un encoder.

El multi_encoder es muy bueno. Tiene muchos formatos.

Manuales para algunos del encoders es disponible en el sitio web de VIDAS. Complacer
referir a estos si quieres saber más sobre los requisitos de un particulares encoder.

Consejo: las VIDAS tiene una elección de encima 50 formatos


diferentes/niveles de calidad para codificar, incluyendo

formatos de Vídeo:

• Varios mpeg formatos (mpeg1, mpeg2, DVD compatibles)

• flv (centellea) formato

• h264

• xvid

• theora

• animado gif

• 3Móvil de GP

• KVCD un formato experimental, pero puede caber 2 horas de vídeo en


un CD, o casi 20 horas de vídeo en un DVD

• dirac
• mng

• swf (centellea) formato

• de pdf del formato (cada marco deviene una página en un libro)

formatos de Audio:

• vorbis

• pcm

• mp3

• mpeg2

• aac

• amr

formatos de Contenedor:

• avi

• mpeg

• ogg
• mkv (matroska)

• fruto seco

En la misma ventana, puedes escoger la medida de marco (ancho y altura) y índice de


marco (marcos por segundo). Pueda no siempre ser posible de codificar en formato
seguro en cualquier medida de marco seleccionada y índice de marco. En este caso,
las VIDAS informarán tú del problema, y dejarte para ajustar los valores al más
cercanos dejó valores. Ocasionalmente, sea necesario para VIDAS para ajustar el audio
también.

Cualquiera tales cambios hechos (resizing, resampling índice de marco, y cambios de


audio) puede ser deshecho después de codificar ha completado.

Esto está hecho a través de la opción de carta Edita -> Deshacer, o utilizando las
llaves ctrl-u.

Nota: una opción muy importante es el Depurar opción de Modo. Si eres habiendo
problemas con un particulares encoder/codec combinación, entonces puedes habilitar
esta opción antes de codificar. Si empiezas VIDAS de una ventana terminal entonces
verás la producción del encoder en la ventana terminal. Esto es muy útil cuándo
resolviendo problemas.

Para algunos adelantaron encoder / codec combinaciones conseguirás una ventana de


opciones, el cual dejará tweaking de valores seguros. Un ejemplo de este es el
mjpegtools_encoder / mpeg2 formato hecho.

Después de que clicking VALE, otra ventana aparece - esto te dejará puesto el nombre
del autor, título y comentarios. Estos campos son sólo utilizados actualmente en .avi
Archivos, en futuros otros contenedores les pueden apoyar.
de
VIDAS

4.9.Comentarios de 1.2 Archivos Clic

de ventana VALE una vez más, y codificando tendría que empezar. Codificando puede
tomar una cantidad considerable de tiempo, dependiendo de la medida (número de
marcos) del clip para ser codificado.

Consejo: Si el archivo de producción no es creado, está recomendado que


retomas VIDAS de una terminal, y habilitar Depurar Modo para el encoder.
Entonces cuidadosamente comprobar la producción mostrada en la ventana
terminal. En muchos casos esto dará bastante información para ser capaz de
resolver cualesquier problemas

Una vez te ha salvado un clip que utiliza Archivo -> Codificar clip cuando, entonces
puedes seleccionar Archivo -> Codificar clip. Esto salvará el clip otra vez utilizando
exactamente los mismos encuadres tan antes.
4.9.2 Codificando una selección
es también posible en VIDAS para codificar parte justa del clip actual. Para hacer este,
seleccionar los marcos que te gustaría codificar (ve sección 4.11.1). Entonces escoger
Archivo de opción de la carta -> Codificar selección cuando. Las opciones son
exactamente igual en cuanto a codificar un clip entero.

Antes de codificar, las VIDAS harán una copia provisional del seleccionó marcos. El
copió los marcos serán resized/resampled como apropiados. Después de codificar, la
copia provisional será sacada.
4.9.3 Codificando con/sin audio
Por default, ambos vídeo y el audio para un clip está codificado. El audio es trimmed o
acolchado con silencio para caber la longitud de vídeo. Aun así, algunos codecs no
deja audio (por ejemplo, animado gif).

Para otro codecs, es posible de forzar codificando sin


audio. Esto está hecho por deselecting Codificar/Copia
de seguridad/de Carga con sonido, de la carta de
Archivo, antes de codificar el clip o parte del clip.
4.10 Jugando clips
4.10.1 Empezando y parando playback
Playback del vídeo de clip actual y/o el audio puede ser empezado en varias maneras:

• vía Juego de opción de la carta -> Jugar todo (o en el multitrack ventana, Juego
-> Juego de timeline posición), o por

• pulsar el "p" llave cuándo nada está


jugando, o por

• clicking en el Juego Todo icono en el


toolbar, o por

• clicking en el Juego Todo botón en la


ventana separada [ve sección
4.10.4]

de VIDAS 4.10.1.1 – toolbar botón de juego

pueda ser parado por:

• el fin del vídeo o el audio está logrado, y el bucle continuo no es poner [ve
sección 4.10.7]

• vía el Juego de opción de la carta -> Parón

• por pulsar el "q" llave cuándo un clip está jugando

• por clicking en el icono de parón en el toolbar


• por clicking en el botón de parón en la ventana separada [ve sección 4.10.4]

de VIDAS 4.10.1.2 – toolbar botón de parón


4.10.2 Jugando una selección
es posible de jugar sólo el actualmente seleccionó marcos del clip actual. Esto puede
ser hecho por cualquier del siguiente:

• vía Juego de opción de la carta -> selección de Juego, o por

• pulsar el "y" llave cuándo nada está jugando, o por

• clicking en el icono de Selección del Juego en el toolbar, o por

• clicking en el botón de Selección del Juego en la ventana separada [ve sección


4.10.4]

de VIDAS 4.10.2.1 – toolbar Nota de botón de selección

de juego: Esta función no es actualmente disponible en multitrack modo.


4.10.3 El playback puntero
El playback el puntero muestra la posición donde playback empezará, y aparece como
línea en el timeline.

de VIDAS. 4.10.3.1 – posición del playback puntero en el Editor de Clip

Normalmente esto es el primer marco en el clip (marco 1), pero puedes alterar esto
cualquiera por clicking en el timeline, o por enlazar la ventana separada al puntero. El
puntero puede ser rewound atrás para enmarcar 1 por cualquier del siguiente:

• vía Juego de opción de la carta -> Rebobinado, o por

• pulsar el "" w llave, o clicking

• el icono de Rebobinado en el toolbar,


o utilizando

• el botón de Rebobinado en la ventana


separada [ve sección 4.10.4]
de VIDAS 4.10.3.2 – el botón de rebobinado en el toolbar en Editor de Clip

Si escoges al juego seleccionó marcos [ve sección 4.10.2] y el playback el puntero es


dentro de la selección, playback empezará del puntero y continuar hasta el final de la
selección.
4.10.4 Las VIDAS de ventana
separadas proporciona una elección de playback, cualquier embedded en la interfaz
de VIDAS, o en una ventana separada. La ventana separada también puede soler
seleccionar inicio y marcos de fin cuándo editando un clip [ve sección 4.11.1]

de VIDAS 4.10.4.1 – el separado playback ventana

para activar la ventana separada, puedes hacer muy del siguiente:

• activar el Juego de opción de la carta -> Juego en ventana separada, o pulsar

• el "" s llave, o clic

• una vez en el icono de Ventana Separado en el toolbar


de VIDAS 4.10.4.1 – el botón de ventana separado en el toolbar

A deactivate la ventana separada, puedes hacer muy del siguiente:

• deactivate el Juego de opción de la carta -> Juego en ventana separada, o pulsar

• el "" s llave, o clic

• una vez en el icono de Ventana Separado en el toolbar, o clic

• en el icono cercano en la ventana separada

La ventana separada tiene dos modos - modo pegajoso y modo no pegajoso. En modo
pegajoso, la ventana separada está mantenida cuándo nada está jugando. En modo no
pegajoso, la ventana separada está destruida cada vez playback parones, y es sólo
creado otra vez cuándo playback inicios.

Consejo: Cuando no jugando, la ventana separada puede ser utilizada como


una herramienta de editar en el editor de clip. Tiene un marco contrarresta
cuáles pueden soler libremente marcos de vista en el clip actual. El contador
de marco también puede ser enlazado al playback "puntero" [ve sección
4.10.3] también pueda ser enlazado al inicio o marco de fin de la selección
[ve sección 4.11.1]
4.10.5 modo de pantalla Llena
En modo de pantalla llena, playback ocupa el monitor entero (o uno o más monitores
en multi-modo de cabeza).

Lleno-pantalla playback puede ser interno, en qué caso la interfaz de VIDAS es todavía
visible, o pueda ser en la ventana de juego separada [ve sección 4.10.4], en qué caso
la totalidad de la pantalla está dedicada a vídeo playback (excepto algún playback
plugins - ver sección 4.10.6)

Consejo: En multi-modo de cabeza, lleno-pantalla/ventana separada


playback puede utilizar uno de los monitores, o pueda ser extendido encima
todos los monitores. Puedes seleccionar esto en Preferencias -> GUI, por
introducir vuestra elección para el playback monitor. Un valor de 0 significa
que lleno-pantalla playback extenderá encima todos los monitores.

Lleno-pantalla, modo de ventana separada es sabido como fs modo, y actualmente


esto es el modo único cuál provocará playback plugins [ve sección 4.10.6].

Puedes introducir modo de pantalla llena en uno de las maneras siguientes:

• activar el Juego de opción de la carta -> Fullscreen, o pulsar

• el "" f llave

A deactivate modo de pantalla llena, puedes hacer muy del siguiente:

• deactivate el Juego de opción de la carta -> Fullscreen, o pulsar

• el "" f llave
4.10.6 Playback plugins
las VIDAS tiene una variedad de playback plugins (ambos para vídeo y para audio), y
dependiendo de la manera esté compilado algunos o todos de estos pueden ser
disponibles para uso.

Para utilizar un playback plugin, tampoco:

• Va a Herramientas -> Preferencias -> Playback, y elegir un playback plugin de la


gota-abajo lista.

• O, puedes poner el audio playback plugin en startup tiempo del commandline, p.


ej. vive -aplayer jack [ve sección 3.1]

En Preferencias, vídeo playback plugins tiene un botón Adelantado, los cuales pueden
ser clicked encima para poner el vídeo playback plugin propiedades (si cualquier).

Algunos ejemplos de vídeo playback plugins es:

• SDL playback plugin : proporciona más rápido lleno-pantalla playback encima


muchas tarjetas de vídeo

• vive2corriente_de vidas plugin : deja streaming del vídeo de uno copia de VIDAS
a otro [ve sección 12.1]

• yuv4mpeg_corriente plugin : producción de corriente de los productos en stdout


en yuv4mpeg formato [ve sección 12.2]

Nota: vídeo playback plugins es actualmente sólo activo en lleno-pantalla, ventana


separada (fs) modo. Cuándo un vídeo nuevo playback plugin está seleccionado, verás
un aviso que aconseja tú de este.
de VIDAS 4.10.6.1 – playback plugin aconsejable

Algunos ejemplos de audio playback plugins:

• jack : el audio recomendable plugin, si vuestro hardware lo apoyará

• sox : el fallback plugin si sox no trabajará

• mplayer: audio muy básico jugador, sólo retenido para atrás compatibilidad, y
para probar

Audio plugins es activo en todo playback modos.

Audio plugins es también utilizado para grabar de audio externo.


4.10.7 modos de Bucle

las VIDAS pueden jugar audio y vídeo posteriores el material que utiliza una variedad
de looping métodos.

El default el modo es vídeo de Bucle para caber audio. Esto significa que vídeo en un
clip bucle hasta el audio para aquel clip o fines de selección.

Este modo puede ser deselected de la carta de Juego, o por pulsar el "" l llave durante
playback (jack jugador de audio único).

Un segundo modo de bucle es bucle Continuo . Esto significa que el vídeo y el audio
mantendrán repetir hasta playback está parado manualmente [ve sección 4.10.1]. Si
el foreground el clip está cambiado durante playback [ve sección 8.1], las VIDAS
silenciosamente introducirán este modo.

Un tercer modo de bucle es ping-pong bucle. En este modo, cuándo el vídeo logra el
último marco, juegue atrás hasta el primer marco está logrado, y entonces juegue
delanteros otra vez.

Todos de estos modos pueden ser seleccionados/deselected de la carta de Juego.


Además, el "" o la llave seleccionará/deselect modo de bucle continuo (para el sox
jugador de audio esta llave no trabajará durante playback). La "" llave de g
seleccionará/deselect ping-pong modo de bucle.

El bucle continuo también puede ser seleccionado del toolbar icono de Bucle, o del
icono de Bucle de ventana separado (en modo de Editor del Clip único).

de VIDAS 4.10.Modo de 7.1 bucles botón en el toolbar

Estos modos pueden ser combinados en cualquier manera deseó; aun así, si Continuo
looping está habilitado, entonces vídeo de Bucle para caber el audio es redundando.

Cuándo jugando una selección [ve sección 4.10.2], sólo el audio seleccionado y el
vídeo serán looped. Aun así, la selección puede ser ajustada incluso durante playback
[ve sección 4.11.1].
Consejo: El modo único qué afecta audio por default es modo de bucle
Continuo. Aun así, si el jack jugador de audio está siendo utilizado, y el audio
"de Preferencia sigue dirección de índice/del vídeo" está habilitada, entonces
el audio será afectado por todos modos de bucle, incluyendo ping-pong
modo.

Nota: en Multitrack modo [ve sección 11.4], sólo el bucle Continuo es disponible.
4.10.8 se Apaga modo, la medida
doble
Allí es un par de otro menos frecuentemente utilizado playback opciones en VIDAS: se
apaga modo y medida doble.

Estos modos son sólo disponibles en el Editor de Clip.

Cuando se apaga el modo está activado, la mayoría del fondo de VIDAS desaparece
(es blanked fuera), justo dejando el playback ventana. Esto es a veces bueno para

exhibiciones, particularmente cuándo combinados con medida doble.

Para introducir apagarse modo:

• seleccionar el Juego de opción de la carta -> fondo de Espacio, o pulsar

• el "b" llave una vez durante playback

para dejar apagarse modo:

• deselect el Juego de opción de la carta -> fondo de Espacio, o pulsar

• el "b" llave una vez durante playback

Consejo: en apagarse modo a veces pueda ser visually complaciendo para


esconder el contador de marco. El contador de marco puede ser escondido
en cualquier de las maneras siguientes:

• deselect el Juego de opción de la carta -> contador de marco del


Espectáculo, o pulsar

• el "h" llave una vez durante playback

para mostrar el contador de marco otra vez:

• seleccionar el Juego de opción de la carta -> contador de marco del


Espectáculo, o pulsar
• el "h" llave una vez durante playback

medida Doble como su propio nombre indica, fuerza el vídeo playback para ser doble
sized - la altura y el ancho están plegados y la imagen está aumentada.

Si plegando la medida de vídeo lo haría demasiado grande de caber en la pantalla,


entonces la medida puede ser limitada. (En este caso pueda ser mejor de utilizar modo
de pantalla llena [ve sección 4.10.5].

Para introducir modo de medida doble:

• seleccionar el Juego de opción de la carta -> Medida Doble, o pulsar

• el "" d llave una vez durante playback

para dejar modo de medida doble:

• deselect el Juego de opción de la carta -> Medida Doble, o pulsar

• el "" d llave una vez durante playback


4.10.9 modo Mudo y ajustamiento de
volumen
es también posible de jugar vídeo posterior sin audio; esto es sabido como Modo
Mudo.

Con el jack jugador de audio, puedes introducir y dejar modo mudo en cualquier
tiempo, incluyendo cuándo las VIDAS está jugando; con sox, puedes introducir y dejar
modo mudo sólo cuándo las VIDAS no está jugando.

Para introducir modo mudo:

• seleccionar el Juego de opción de la carta -> prensa

• Muda el "z" llave una vez durante playback (jack jugador de audio único), o clic

• una vez en el icono de Audio Mudo en el toolbar, o clic

• en el icono de Audio Mudo en la ventana separada (modo de editor del clip


único)

de VIDAS. 4.10.9.1 – botón mudo en el toolbar

para dejar modo mudo:

• deselect el Juego de opción de la carta -> prensa

• Muda el "z" llave una vez durante playback (jack jugador de audio único), o clic

• una vez en el icono de Audio Mudo en el toolbar, o clic

• en el icono de Audio Mudo en la ventana separada (modo de editor del clip


único)

Nota: el modo mudo sólo afecta el audibility de audio. Por ejemplo si vídeo de Bucle
para caber el audio está seleccionado, vídeo todavía bucle para caber el audio incluso
si el audio es muted.
Nota: si estás utilizando jack audio playback, el volumen de audio global puede ser
ajustado del toolbar audio slider.

de VIDAS 4.10.9.2 – volumen slider en el toolbar


4.11 Editando clips
4.11.1 Seleccionando marcos
Cada clip en el editor de clip tiene qué es sabido como Selección. Las carreras de
selección continuamente del marco de inicio hasta el final marco.

La selección más grande es de marco 1 (el primer marco) al marco final del clip, y la
selección más pequeña es un marco solo .

Clips que es el audio sólo no puede tener una selección.

de VIDAS. 4.11.1.1 – inicio y fin spinbuttons para la selección

La selección está utilizada para varios editando y operaciones de efectos cuando será
explicado abajo. Es también posible de jugar atrás justo la selección [ve sección
4.10.2], y para codificar justo la selección [ve sección 4.9.2].

Las selecciones son la base de casi todas las operaciones en el editor de clip, así que
es importante de entenderles.

Hay varias maneras de crear una selección para el clip actual.

Una manera es para cambiar los valores en el inicio y botones de espín del fin.

También:

• Izquierdo clicking con el ratón en el timeline las barras moverán whichever el fin
es más cercano (inicio o fin) a la posición de ratón.

• Correcto clicking con el ratón en el timeline las barras te dejarán para dibujar
fuera de una selección.

• Clic medio en el timeline las barras crearán una selección de justo un marco en
la posición clicked.
También puedes ajustar la selección de las cartas o utilizando el teclado:

• Edita -> Seleccionar -> Seleccionar todos los marcos, seleccionará de marco 1 al
último marco en el clip. Puedes conseguir el mismo resultado por pulsar
ctrl-un.

• Edita -> Seleccionar -> marco de Inicio sólo, seleccionará justo el marco de inicio
solo de la selección. Puedes conseguir el mismo resultado por pulsar ctrl-Casa.

• Edita -> Seleccionar -> marco de Fin sólo, seleccionará justo el marco de fin solo
de la selección. Puedes conseguir el mismo resultado por pulsar ctrl-Fin.

• Edita -> Seleccionar -> Seleccionar de Primer Marco, pondrá el marco de inicio a
1.

• Edita -> Seleccionar -> Seleccionar a Último Marco, pondrá el marco de fin al
último marco en el clip.

Consejo: es también posible de ajustar la selección de dentro de la ventana


Separada. Para ajustar el marco de inicio, enlace el contador de marco para
Empezar, utilizando el botón cerca el fondo de la ventana. Para ajustar el
marco de fin, enlace el contador de marco para Acabar, utilizando el botón
cerca el fondo de la ventana.
4.11.2 Copia
puedes copiar marcos (y posiblemente audio) de la selección actual al portapapeles.
Esto está hecho con la opción de carta Edita -> Selección de Copia, o por utilizar las
llaves ctrl-c.
4.11.3 El portapapeles
El portapapeles está utilizado para Pasta, Inserta y Fusionar operaciones cuando
explicó abajo. El portapapeles es inicialmente vacío, hasta que los marcos están
colocados a él, por utilizar cualquier Copia o Corte.

Puedes ver los detalles del portapapeles contenta utilizar la opción Info ->
portapapeles de Espectáculo info. La información mostrada es en el mismo formato
como información de clip normal [ve sección 4.4].

Los contenidos de portapapeles pueden ser jugados atrás, cualquiera por utilizar el
Juego de opción de la carta -> portapapeles de Juego, o por pulsar el "" c llave cuándo
nada está jugando.

Consejo: Los marcos de vídeo del portapapeles pueden ser invertidos (así
que juegan atrás) utilizando las Herramientas de opción de la carta ->
Portapapeles Inverso, o por pulsar ctrl-x.

Esto es útil para crear bucles de vídeo - primera copia un clip, entonces
invertir el portapapeles, entonces insertar los contenidos de portapapeles
después del original.

El corte puede ser deshecho con la opción de carta Edita -> Deshacer Cortado. Una
copia de los marcos quedará en el portapapeles.
4.11.4 Corte
de Corte eliminará el vídeo seleccionado (y posiblemente audio) del clip actual y
copiar la selección eliminada al portapapeles.

El corte está conseguido utilizando la opción de carta Edita ->Selección Cortada, o con
la combinación clave ctrl-t.

Elimina puede ser deshecho con la opción de carta Edita -> Deshacer Cortado.
4.11.5 Pasta
de Pasta causa los contenidos de portapapeles para ser copiados a un clip nuevo. El
clip nuevo hereda todo de las propiedades del portapapeles, por ejemplo ancho de
marco y altura y marcos por segundo, y valores de audio (si aplicables).

Los contenidos de portapapeles quedan sin cambios.

La pasta está conseguida utilizando la opción de carta Edita -> Pasta como Nuevo, o
con la combinación clave ctrl-n.
4.11.6 Inserta
Inserta copia los marcos (y posiblemente audio) en el portapapeles y les inserta en el
clip actual. Puedes seleccionar si para insertar antes de que o después de la selección
actual, y el número de tiempo para insertar. Si el clip de objetivo tiene audio, entonces
la opción Inserta para Caber el audio puede ser comprobado. En este caso bastantes
copias del portapapeles serán insertadas de modo que el vídeo continúa hasta el fin
exacto del audio .

Puedes insertar cualquiera al clip qué el vídeo estuvo copiado de, o cualquiera otro
clip, sencillamente por cambiar al otro clip [ve sección 4.3]. En el caso que insertas a
otro clip, el vídeo (y audio) será resampled o solicitó/ido más despacio para caber al
clip de objetivo. Además los marcos serán resized para emparejar el clip de objetivo.

Consejo: puedes escoger si el vídeo insertado es resampled o solicitó/ido


más despacio utilizando las opciones en Herramientas -> Preferencias ->
Misc, Cuándo Insertando/Fusionando Marcos. El default es a resample,
cuando esto causará un mínimo de cambio visible en el vídeo resultante. Para
algunos propósitos, puedes desear seleccionar la otra opción.

El audio es siempre resampled (si es necesario).

Inserta está conseguido utilizando la opción de carta Edita -> Insertar de Portapapeles,
o con la combinación clave ctrl-i.

Nota: Inserta añade marcos nuevos al clip de objetivo. Si quieres mezclar los marcos
de portapapeles al clip de objetivo, entonces qué necesitas es Fusionar [ve sección
4.12.2].

Inserta puede ser deshecho con la opción de carta Edita -> Deshacer Insertar.
4.11.7 Elimina
Elimina eliminará el vídeo seleccionado (y posiblemente audio) sin perturbar los
contenidos del portapapeles.

Elimina está conseguido utilizando la opción de carta Edita -> Eliminar Selección, o
con la combinación clave ctrl-d.

Elimina puede ser deshecho con la opción de carta Edita -> Deshacer Eliminar.
4.11.8 vídeo de Desacoplamiento y
audio
Por default, Elimina, la copia y El Corte están aplicados sólo al vídeo en un clip. Si te
gustarían estas opciones para aplicar a audio para la selección también, esto puede
ser conseguido por deselecting Desacoplar Vídeo de Audio, en el Editar carta.

Consejo: hay un truco puedes hacer si quieres insertar audio justo. Primera
copia los marcos con Desacoplar Vídeo de Audio deselected. Inserta vídeo y
audio al clip de objetivo. Entonces seleccionar Desacoplar Vídeo de Audio, y
el clic encima Edita -> Deshacer Insertar. Porque Desacopla el vídeo de Audio
está seleccionado, sólo el insertar del vídeo será deshecho, dejando justo el
audio insertó.
4.11.9 Selecciona última inserción
Si los marcos han sido insertados a un clip, entonces pueden ser fácilmente
seleccionados, utilizando la opción de carta

Edita -> Seleccionar -> Seleccionar Última Inserción/Fusiona


4.11.10 Salvando marcos solos
los marcos Solos del clip actual pueden ser salvados bastante fácilmente.
Sencillamente clic correcto en la imagen de marco en cualquier el marco de inicio, el
marco de fin, o en la ventana separada. Una ventana de selección del archivo abrirá
tan puedes navigate a y introducir el nombre de un archivo para salvar la imagen a.
Introducir el nombre del archivo para salvar la imagen a (incluyendo la extensión de
archivo) y la imagen de marco será salvada.

El formato de imagen está determinado por la extensión de archivo, p. ej.:

.jpg = jpeg Formato

.png = png Formato

.bmp = bitmap Formato


.gif = gif Nota

de formato: desde entonces Imagen Magick suele convertir la imagen, el formato de


imagen puede ser cualquiera apoyado por Imagen Magick. Ve
http://www.imagemagick.org/script/formats.php para información más lejana.
4.11.11 Deshace/rehace
Casi todas las operaciones en la Editora de Clip pueden ser deshechas; aun así hay
actualmente sólo uno nivela de deshacer para cada clip.

Para deshacer una operación:

• uso la opción de carta Edita -> Deshacer...

• O prensa ctrl-u

Operaciones cuáles pueden ser deshechos incluye: corte, elimina, inserta, fusiona,
aplicar efectos, resize, resample, velocidad de cambio, resample audio, inserta
silencio, elimina audio, se apaga audio en/fuera, audio nuevo récord, trim marcos,
rotate clip, carga audio nuevo, anexa audio.

Muchas operaciones posteriormente pueden ser rehechas después de un deshacer.

Para rehacer una operación:

• uso la opción de carta Edita -> Rehacer...

• O prensa ctrl-z
4.12 Rendered VIDAS
de Efectos tiene dos tipos de efectos, realtime efectos y rendered efectos. Realtime
Los efectos serán hablados en sección 7. Aquí prpers nos preocupamos con rendered
efectos. Mientras realtime los efectos están diseñados para velocidad, rendered los
efectos pueden tomar más largos de procesar, pero puede producir más interesante o
resultados cuidadosos.

Efectos (o filtros cuando son más técnicamente sabidos), también puede ser dividido a
varios sub-los tipos que dependen de su función. Generadores (o fuentes) toma
ninguna entrada de vídeo, ellos sencillamente vídeo de producto (y posiblemente
audio). Las transiciones fusionan u overlay dos entradas de vídeo a una producción de
vídeo. Los efectos toman un vídeo de entrada corriente y producto una producción. A
veces cuándo hablamos sobre efectos significamos todo de estos tipos juntos.
4.12.1 VIDAS
de Efectos tiene dos tipos de efectos, realtime efectos y rendered efectos. Realtime
Los efectos serán hablados en sección 7. Aquí prpers nos preocupamos con rendered
efectos. Mientras realtime los efectos están diseñados para velocidad, rendered los
efectos pueden tomar más largos de procesar, pero puede producir más interesante o
resultados cuidadosos.

Efectos (o filtros cuando son más técnicamente sabidos), también puede ser dividido a
varios sub-los tipos que dependen de su función. Generadores (o fuentes) toma
ninguna entrada de vídeo, ellos sencillamente vídeo de producto (y posiblemente
audio). Las transiciones fusionan u overlay dos entradas de vídeo a una producción de
vídeo. Los efectos toman un vídeo de entrada corriente y producto una producción. A
veces cuándo hablamos sobre efectos significamos todo de estos tipos juntos.
4.12.2 Fusionando entre Marcos
de clips pueden ser fusionados entre clips o dentro del mismo clip. De hecho,
fusionando está hecho entre la selección actual y el portapapeles, así que los marcos
para ser fusionados primera necesidad de ser copiada o corte. Entonces los marcos
qué estos son para ser fusionados a necesitar ser seleccionado.

Una vez esto ha sido hecho, los marcos del portapapeles y la selección pueden ser
fusionados juntos. Esto está hecho con la opción de carta Edita -> Fusionar
Portapapeles con Selección. Hay ningún atajo de teclado para este.

Una vez la opción de carta está seleccionada, el Fusionar la ventana aparecerá.


de VIDAS. 4.12.2.1 – el Fusionar ventana

En el superior te verá el Fusionar detalles, cuántos enmarca del portapapeles será


fusionado con cuántos marcos en la selección.

En muchos casos, los marcos en el portapapeles necesitarán resampling para


emparejar el clip de objetivo. En este caso verás el número de resampled los marcos
mostraron.

Puedes escoger si para alinear los inicios del portapapeles y selección, o si para
alinear los fines. Alineando los inicios significa que el primer marco del portapapeles
será fusionado con el primer marco de la selección. Alineando los fines significa que el
último marco del portapapeles será fusionado con el último marco de la selección. Esto
hace una diferencia si el número de marcos difiere entre el portapapeles y la selección,
cuando mostrado en el esquema abajo
de
VIDAS
4.12.2.2

fusionar

alineación

Si el (resampled) el portapapeles contiene más marcos que la selección, también


tendrás dos opciones para cómo para manejar los marcos extras:

• gota los marcos extras

• les insertan

Si el (resampled) el portapapeles contiene menos marcos que la selección, serás


ofrecido la opción a bucle el portapapeles para caber la selección.

Bajo estas opciones, puedes escoger el Método de Transición. Dependiendo de el


Método de Transición, hay otras opciones qué definir cómo los marcos serán
fusionados juntos.

Una vez te ha puesto todas las opciones a vuestra satisfacción, clic VALE para empezar
el fusionar.

Cuando con efectos, puedes Preestreno el fusionar, y también lo puedes Parar o


Cancelar . Cuando te Paraste puede escoger a Preestreno , Resume, o Mantener el
enmarca cuáles han sido procesados tan lejos.

Otherwise, sencillamente espera, y el Fusiona tendría que tener lugar cuando pidió.

El Fusiona puede ser deshecho utilizando la opción de carta Edita -> Deshacer
Fusionar.
4.12.3 Selecciona último
efecto/fusiona
Después de un fusionar, es posible de seleccionar ambos el área fusionada y el área
de cualquier inserción & fusiona.

Edita -> Seleccionar -> Seleccionar Último Efecto : selecciona el área fusionada

Edita -> Seleccionar -> Seleccionar Última Inserción/Fusiona : selecciona el área


fusionada, más cualquier enmarca cuál estuvo insertado con el fusionar
4.12.4 Cerrando el ancho de selección
A veces, es útil de ser capaz de cerrar el ancho de selección. Por ejemplo, podrías
querer aplicar varios efectos a cada bloque de 100 marcos.

Para cerrar el ancho de selección, seleccionar la opción de carta Edita -> Ancho de
Selección de la Cerradura. Una vez el ancho de selección está cerrado, los efectos
siguientes ocurrirán:

• clicking en el timeline a la izquierda de la selección causará la selección para


mover al bloque anterior de n marcos

• clicking en el timeline a la derecha de la selección causará la selección para


mover al bloque próximo de n los marcos que

• ajustan el inicio o valor de marco del fin cambiarán los marcos dejados o
correctos, manteniendo la misma longitud de selección

A unlock el ancho de selección, deselect la opción de carta Edita -> Ancho de


Selección de la Cerradura.
4.12.5 Rendered VIDAS
de generadores pueden render marcos de una variedad de rendered generadores. El
sub-Herramientas de carta -> Generar, puede soler mostrar una lista de estos
generadores.

Clic en el generador deseado y tú verán una ventana para el generador. Aquí puedes
escoger si a render a un clip nuevo, o si a render al portapapeles.

El generador él también tendrá algunos encuadres, en el muy menos el número de


marcos para ser generados y la medida de marco.

Puedes conseguir un preestreno de los resultados por clicking en el botón de


Preestreno.

Cuándo eres feliz con todo de los encuadres, clic VALE - otherwise el clic Cancela.

Cuando los marcos están siendo te generaste será ofrecido las opciones estándares de
Preestreno, Pausa y Cancelar. Si Paras el procesamiento entonces puedes Preestreno,
Resume procesamiento, o Mantener el enmarca cuáles han sido generados y la parón
que genera más.

Otherwise, sencillamente espera, y el número pedido de marcos tendría que ser


generado.

Consejo: A no ser que especificado otherwise, los marcos serán generados


en el default índice de marco. El default índice de marco puede ser alterado
en Preferencias -> Misc (default FPS).
4.12.6 Instalando efectos hechos de
encargo, herramientas y utilidades
En el sitio web de VIDAS puedes encontrar varios efectos hechos de encargo. Muchos
de estos requerir componentes externos opcionales (bibliotecas o binaries), y es así no
incluido en el paquete de VIDAS del núcleo. El añadir-ons URL es:

http://lives.sourceforge.net/index.php?do=addons

Complacer leído la descripción de cada efecto antes de descargarlo, para hacer seguro
tienes todo del pre-requisites instalado si pretendes utilizar lo.

Entonces sencillamente clic correcto en el guión (marca seguro seleccionas la versión


correcta para emparejar vuestra versión de VIDAS). Salvar el .Archivo de guión.

Entonces en las VIDAS van a la opción de


carta Adelantada -> RFX Utilidades/de
Herramientas/de los Efectos -> Importar
Hecho de encargo RFX Guión. Localizar
el guión archiva cuál estuvo descargado
y clic VALE. Las VIDAS automáticamente
regenerarán las cartas y tú tendrían que
ver el efecto importado aparece en la
ubicación correcta:

• para efectos hechos de encargo,


en los Efectos -> carta de Efectos
Hechos de encargo

• para generadores hechos de


encargo, en las Herramientas ->
Generar -> carta de Generadores Hechos de encargo

• para transiciones hechas de encargo, en el Editar -> Fusionar Portapapeles con


ventana de Selección, en la gota de Método de la Transición-abajo Consejo

de lista: hay también Herramientas Hechas de encargo y Utilidades Hechas


de encargo cuáles pueden ser instalados. Las herramientas hechas de
encargo aparecerán en las Herramientas -> carta de Herramientas Hechas de
encargo, y Utilidades hechas de encargo en las Herramientas -> Utilidades ->
carta de Utilidades Hechas de encargo. Las herramientas están explicadas
abajo; las utilidades son pequeñas añadir-ons cuáles no afectan clips en
absoluto.
Es también posible de crear y compartir vuestros efectos hecho propios, herramientas
y utilidades. Esto está explicado en detalle en sección 15.

Nota: puedes comprobar vuestra versión de VIDAS por clicking encima Ayuda ->
Aproximadamente

5. Herramientas
En VIDAS, las herramientas son similares a efectos en muchas maneras, pero mientras
que un efecto o la transición aplicarán sólo a una selección, las herramientas son
siempre aplicadas a un clip entero.

El Editor de Clip tiene varios builtin herramientas, y es también posible de instalar


Herramientas Hechas de encargo [ve
sección 4.12.6] y para crear
herramientas de prueba [ve sección 15].
5.1 Resizing
El Resize la herramienta puede soler cambiar la medida de marco. A resize el clip
actual, clic en Herramientas -> Resize Todos los Marcos.

Introducir la medida de marco nueva y clic VALE. Todo de los marcos en el clip serán
resized.

Nota el Mantener control de Proporción del Aspecto-cajas qué está ofrecido como una
opción. Si esto está comprobado (el default), entonces las VIDAS cerrarán el ancho y
altura con objeto de mantener la Proporción de Aspecto del clip. Puedes uncheck esto
si quieres poner la altura y valores de ancho independientemente.

de VIDAS. 5.1.1 – el Resize herramienta

Durante procesar, puedes Preestreno el resized marcos, puedes Parar el


procesamiento, o puedes Cancelar. Una vez Parado, puedes otra vez Preestreno el
procesamiento, Resume resizing, o Cancelar.

Resize Puede ser deshecho utilizando la opción de carta Edita -> Deshacer Resize
todos los Marcos.
Consejo: la Proporción de Aspecto de un clip es la proporción del ancho del
clip contra su altura. Por ejemplo, para un clip con dimensiones 640 x 480, la
Proporción de Aspecto es 640 / 480, el cual está expresado más
sencillamente cuando 4:3. Esto es la misma proporción qué está utilizado
para televisivo (estilo viejo). Televisiones más modernas pueden utilizar
widescreen - una proporción de aspecto de 16:9. Otras proporciones de
aspecto comunes son 1:1 (cuadrado), y 1:2.2.

A veces puedes ver mencionar de una proporción de aspecto del marco - esto
está utilizado por ejemplo para que boxea letra, donde el marco es una
proporción diferente del interior de imagen. hay también proporción de
aspecto del píxel, el cual suele describir la forma de un píxel solo (cuadrado o
rectangular).

Si piensas que esto está confundiendo - no se preocupa - en 99% de casos,


las VIDAS cuidarán de la Proporción de Aspecto para ti automáticamente.
5.2 Rotating
Otra herramienta disponible para el uso en el Editor de Clip es el Rotate herramienta.
Esta herramienta puede soler rotate todos marcos de vídeo en el clip actual por una
cantidad constante.

A rotate el clip actual, clic en Herramientas -> Rotate Clip.

Introducir el número de grados a rotate los marcos por y clic VALE. Todo de los marcos
en el clip serán rotated por la cantidad escogida.

Nota que rotating el clip puede cambiar la medida de marcos. Por ejemplo, si un clip
con medida de marco 640 (ancho) x 480 (altura) es rotated por 90°, los marcos
acabarán con una medida nueva de 480 (ancho) x 640 (altura).

También puedes introducir un color de fondo. Esto suele rellenar cualquier espacio de
espacio para hacer los marcos rectangulares.

de VIDAS. 5.2.1 – el Rotate herramienta

Durante procesar, puedes Preestreno el rotated marcos, puedes Parar el


procesamiento, o puedes Cancelar. Una vez Parado, puedes otra vez Preestreno el
procesamiento, Resume rotating, o Cancelar.

Rotate Puede ser deshecho utilizando la opción de carta Edita -> Deshacer Rotate Clip.

Consejo: si quieres rotate un clip o parte de un clip sin cambiar la medida de


marco, puedes utilizar el efecto de Espín (Efectos de opción de la carta ->
Espín).
5.3 Trimming y añadiendo una
frontera
Otra herramienta en la Editora de Clip te dejará a trim abajo un marco, reduciendo su
medida y área visible, y opcionalmente añadir una frontera de marco.

Para seleccionar esta herramienta, clic en Herramientas -> Trim los marcos/Añaden
frontera.

Una ventana nueva aparecerá cuál te dejará para introducir el deseó valores para esta
herramienta.

La parte superior deja selección del área para ser trimmed. También puedes utilizar el
ratón para seleccionar parte de la imagen en el área de preestreno, por clicking y
holding. El slider bajo el preestreno deja ves varios marcos en el clip. También puedes
escoger mantener el trim el área centró, y hay un botón a reinicialización los valores
para mostrar el marco lleno otra vez.

de VIDAS. 5.3.1 – el Trimming y herramienta Limítrofe

En la parte más baja, puedes escoger añadir una frontera de cualquier color y medida.
Si escoges Añadir Frontera, y mantener el default valores,la frontera exactamente
llenará el trimmed fuera área. Otherwise Puedes escoger la medida de frontera y la
posición del marco de vídeo dentro de la frontera.

Una vez eres feliz con todos los valores, clic VALE.

Durante procesar, puedes Preestreno el trimmed marcos, puedes Parar el


procesamiento, o puedes Cancelar. Una vez Parado, puedes otra vez Preestreno el
procesamiento, Resume trimming, o Cancelar.

Trimming Y limítrofe puede ser deshecho con la opción de carta Edita -> Deshacer Trim
los marcos/Añaden frontera.

Consejo: el área de encuadres de la frontera tiene un botón de control


Mantiene Proporción de Aspecto. Con este comprobado, la proporción de
aspecto de la frontera será fijada a la proporción de aspecto del marco
original. Si tú deselect este botón de control, entonces puedes libremente
puesto la medida de la frontera circundante.
5.4 Resampling
Resampling significa cambiar el índice (frecuencia) de algo sin cambiar la longitud
(duración). En este caso, resampling significa cambiar el número de marcos por
segundo sin cambiar la longitud global del vídeo. VIDAS esto por cualquier duplicando
o sacando marcos, idealmente de tal manera que el cambio es tan unnoticeable tan
posible.

Por ejemplo, podría tener un clip con un índice de marco de 25 marcos por segundo - si
quiero codificar este clip para ponerlo encima un sitio web, puedo querer reducir el
número de marcos por segundo para hacer la medida de archivo eventual más
pequeña, y así más fácil de descargar o corriente.

A resample el clip actual, clic en Herramientas -> Resample Vídeo a Índice de Marco

Nuevo. Introducir el índice de marco nuevo deseado y clic VALE.

de VIDAS. 5.4.1 – el vídeo Resampling herramienta

Durante procesarte puede Cancelar si cambias vuestra mente.

Resampling Puede ser deshecho utilizando la opción de carta Edita -> Deshacer
Resample
Nota: se VIVE automáticamente resample en tiempo, por ejemplo cuándo insertando
o fusionando marcos del portapapeles en uno enmarca índice a un clip de vídeo con
otro índice de marco.
5.5 Cambiando el playback la
velocidad que
Cambia el playback la velocidad deja para un clip para ser solicitado o ido más
despacio, y hay una herramienta para habilitarte para hacer este. Tan opposed a
resampling, esto cambiará la duración del clip.

Para cambiar el playback velocidad del clip actual, clic en Herramientas -> Cambiar
Playback/Salvar Velocidad. Introducir el índice de marco nuevo deseado y clic VALE. Si
te prefieres puede introducir la duración del clip en segundos en cambio - el índice de
marco será calculado automáticamente de este. Además puedes escoger si el índice
de audio será cambiado o no.

de VIDAS. 5.5.1 – la
herramienta de
Velocidad del Cambio

Durante procesarte
puede Cancelar si
cambias vuestra mente.

El cambio de velocidad puede ser deshecho utilizando la opción de carta Edita ->
Deshacer Cambio Playback/Salva Consejo

de Velocidad: puedes combinar Resample y Velocidad de Cambio para


duplicar los marcos en un clip. Supone tienes un clip compuesto de 10
imágenes solas en 25 marcos por segundo. Ahora quieres cambiar esto de
modo que cada imagen está aguantada para una duración de 2 segundos.
Esto significa necesitas 50 copias de cada imagen. Tan qué puedes hacer es
primero cambiar el playback velocidad a 1 marco por segundo. Entonces
resample a 50 marcos por segundo. Esto causará cada marco para ser
duplicado 50 tiempo. Finalmente puedes cambiar velocidad atrás a 25
marcos por segundo otra vez.
5.6 portapapeles Inverso
La herramienta de portapapeles Inversa invertirá el orden de marcos de vídeo en el
portapapeles. Esto puede ser utilizado por ejemplo para crear un looping vídeo:

• Seleccionar todos los marcos en clip de vídeo a escaso [ve sección 4.11.1]

• Copia los marcos al portapapeles [ve sección 4.11.2]

• Invierte el portapapeles

• Inserta el invirtió marcos después de los marcos originales [ve sección 4.11.6]

Nota: el vídeo único está invertido, el audio no es invertido.


6.1 Eliminando audio
El audio puede ser eliminado de un clip entero o justo de la parte seleccionada del clip
actual.

Estas opciones son sólo disponibles para clips con audio.

Para eliminar todo audio del clip actual, uso el Audio de opción de la carta -> Eliminar
Audio -> Eliminar Todo Audio.

Para eliminar parte del audio del clip actual, seleccionar el vídeo enmarca
corresponder al audio para ser sacado [ve sección 4.11.1], entonces utilizar el Audio
de opción de la carta -> Eliminar Audio -> Eliminar Audio Seleccionado.

El audio deletion puede ser deshecho utilizando la opción de carta Edita -> Deshacer
Eliminar Audio.
6.2 audio nuevo De apertura
Si el clip actual no tiene ningún audio, o quieres reemplazar el audio del clip actual,
entonces puedes hacer uso del Audio de opción de la carta -> Cargar Audio Nuevo
para Clip.

Puedes importar audio de tipo ogg vorbis, mp3, .Él, mod, .xm Y wav, proporcionó
tienes las bibliotecas de programas/correctas instaladas (mpg123, mpg321 o mplayer
para mp3; ogg123 o mplayer para ogg vorbis, mplayer para .Él, mod y xm).

Una vez te ha seleccionado el archivo de audio para ser cargado, clic VALE.

El audio reemplazará el audio actual para el clip.

El audio nuevo puede ser deshecho utilizando la opción de carta Edita -> Deshacer
Carga Audio Nuevo.

Si tienes la herramienta cdda2wav instalado en vuestra máquina, puedes cargar una


pista directamente del CD. Ante todo necesitarás poner vuestro dispositivo de CD en
Preferencias, (Herramientas -> Preferencias -> Misc); normalmente esto es un
dispositivo como /dev/cdrom. Puedes utilizar el explorar botón luego a la entrada para
buscar el dispositivo.

Entonces puedes utilizar el Audio de opción de la carta -> Carga CD Pista. Clicking
Encima esto te dejará para seleccionar el número de pista del CD. El audio de la pista
de CD entonces reemplazará el audio actual para el clip.
6.3 Anexando audio
El Editor de Clip tiene una herramienta para anexar audio hasta el final de un audio de
existir pista. La elección de formatos de audio es igual en cuanto a audio de apertura
[sección 6.2].

Seleccionar el Audio de opción de la carta -> Anexar Audio, y escoger el archivo de


audio que te gustaría anexar.

Esta opción es sólo disponible para clips con existir audio.

Anexando el audio puede ser deshecho utilizando la opción de carta Edita -> Deshacer
Anexar Audio.
6.4 Trimming/acolchando audio
puedes trim o audio de plataforma para caber una selección dada de marcos. Si la
pista de audio es más larga que la selección de vídeo, el fin es chopped fuera para
caber la selección. Si más corto, el audio está acolchado hasta el final de la selección
con silencio. La parte del audio antes de la selección está llenado o reemplazado con
silencio.

Generalmente seleccionarías todos los marcos antes de utilizar este, para trim o
acolchar el audio para ser de longitud igual al vídeo.

Puedes activar esta herramienta con Audio -> Trim/Audio de Plataforma -> Trim/Audio
de Plataforma a Selección.

Puedes también trim o audio de plataforma hasta la posición de inicio de juego [ve
sección 4.10.3]. Después de colocar el puntero de juego, seleccionar el Audio de
opción de la carta -> Trim/Audio de Plataforma -> Trim/Audio de Plataforma para Jugar
Inicio.

Estas opciones son sólo disponibles para clips con audio.

La operación puede ser deshecha utilizando la opción de carta Edita -> Deshacer
Trim/Audio de Plataforma.
6.5 Insertando silencio
Aún así otra herramienta de audio en la Editora de Clip te dejará para insertar silencio
en el área seleccionada. Si el audio de existir es más corto que el inicio de selección,
sea acolchado con silencio hasta el marco de inicio de la selección. El área en la
selección entonces tampoco ser llenado o reemplazado con silencio.

Puedes activar esta herramienta de audio con el Audio de opción de la carta ->
Insertar Silencio en Selección.

Si el clip no tiene ningún audio de existir, serás incitado para introducir detalles de
audio: índice, número de canales, medida de muestra, signedness y endianness.
Normalmente sencillamente puedes aceptar el default sugerencia.

de VIDAS. 6.5.1 – poniendo valores para audio nuevo

La operación puede ser deshecha utilizando la opción de carta Edita -> Deshacer
Insertar Silencio.
6.6 audio Exportador
puedes salvar todo o parte de la pista de audio(s) del clip actual como .wav Archivo.

Para salvar todo del audio, uso el Audio de opción de la carta -> Audio de Exportación
-> Exportar Todo Audio.

Para salvar parte del audio, primero seleccionar la parte que te gustaría exportar [ve
sección 4.11.1]. Entonces clic en el Audio de opción de la carta -> Audio de
Exportación -> Exportar Audio Seleccionado.

Seleccionar el archivo te gustaría salvar el audio a y clic VALE.

Estas opciones son sólo disponibles para clips con audio.


6.7 se Apaga en/apagarse fuera del
Editor de Clip tiene una herramienta qué voluntad dejó te apagas audio en o fuera,
cualquiera sobre el seleccionó marcos, o por tiempo.

Para apagarse audio en:

• Clic en el Audio de opción de la carta -> Apagarse Audio En

Cualquier introducir el tiempo deseado en segundos (empezando desde el principio de


clip), o puedes escoger apagarte en sobre la selección.

Clic VALE, y el volumen de audio será smoothly ajustado de cero hasta volumen
normal sobre el periodo de tiempo escogido.

La operación puede ser deshecha utilizando la opción de carta Edita -> Deshacer
Apagarse Audio En.

Para apagarse audio fuera:

• Clic en el Audio de opción de la carta -> Apagarse Audio Fuera de Cualquier

introducir el tiempo deseado en segundos (empezando desde el principio de clip), o


puedes escoger apagarte fuera sobre la selección.

Clic VALE, y el volumen de audio será smoothly ajustado de volumen normal abajo a
cero sobre el periodo de tiempo escogido.

La operación puede ser deshecha utilizando la opción de carta Edita -> Deshacer
Apagarse Audio Fuera.

Estas opciones son sólo disponibles para clips con audio.


de VIDAS. 6.7.1 –
apagándose audio en
y fuera
6.8 audio de Registro para parte de un
clip o clip entero
Si estás utilizando el Jack plugin para audio, puedes grabar audio con micrófono
externo. Puedes grabar audio nuevo para marcos de vídeo seleccionado, o puedes
grabar audio a un clip nuevo.

Para grabar audio nuevo para una selección:

• Seleccionar los marcos de vídeo para qué deseas a audio récord (ve sección
4.11.1)

• Activa el Audio de opción de la carta → Audio Externo Récord → a Selección.

• Si el clip no tiene ningún audio de existir puedes introducir los detalles de audio
– índice, canales, medida de muestra, signedness, endianness

• puedes seleccionar la duración de registro – por default esto será la longitud de


la selección.

• Puedes ajustar esto o puesto lo a unlimited.

• Clic VALE para grabar, o Cancelar para cancelar.

• Récord vuestro audio

• Cualquier espera para la cuenta atrás para expirar, o clic Bastante.

Nota: Si los inicios de selección allende el fin de existir audio, el silencio será
insertado hasta el inicio de la selección.

Grabando el audio puede ser deshecho y rehecho a través de la opción de carta Edita
→ Deshacer/Rehacer Registro de Audio Nuevo
de VIDAS. 6.8.1 – el audio que graba encuadres

A audio récord a un clip nuevo:

• Activar el Audio de opción de la carta → el audio Externo Récord → a Clip Nuevo

• introduce los detalles de audio – índice, canales, medida de muestra,


signedness, endianness

• puedes seleccionar la duración de registro – por default esto será la longitud de


la selección. Puedes ajustar esto o puesto lo a unlimited.

• Clic VALE para grabar, o Cancelar para cancelar.

• Récord vuestro audio

• Cualquier espera para la cuenta atrás para expirar, o clic Bastante.


6.9 Resampling audio
En el Editor de Clip allí es una herramienta a resample audio. Adelantó los usuarios
pueden desear utilizar esto, por ejemplo para reducir la medida de archivo antes de
codificar para un sitio web, puedes desear reducir el Hz, convierte de stereo a mono, y
reducir de 16 mordió muestras a 8 mordió muestras. Cuándo combinado con un abajo-
muestreo de marco de vídeo-índice, esto puede ser una herramienta potente para
reducir la medida codificada eventual. De modo parecido esto reduciría el índice de bit
para streaming.

Otra razón para resampling podría ser si cargaste un clip con audio de baja calidad,
pero quisiste anexar insertar o mezcla con audio de calidad más alta. En este caso tú
arriba-muestra y aumentar la medida de muestra de 8 mordió a 16 mordió, dice, antes
de hacer el anexar, inserta o mezclando.

A resample el audio, uso el Audio de opción de la carta -> Resample Audio.

de VIDAS. 6.9.1 – resampling audio

Aquí puedes ajustar cualquiera del siguiente:

• el audio valora

• el número de canales

• la medida de muestra en bits


• firmó/unsigned

• endianness (grande endian o poco endian)

Nota: aquello lo VIVE automáticamente resample en tiempo, por ejemplo cuándo


insertando audio del portapapeles a un clip con encuadres de audio diferente, u
ocasionalmente cuándo codificando.

La operación puede ser deshecha utilizando la opción de carta Edita -> Deshacer
Resample Audio.

Esta opción es sólo disponible para clips con audio.


7 Realtime efectúa
Realtime los efectos opcionalmente pueden incluir los archivos de encabezamiento
weed-utils.h Y weed-plugin-utils.h
Incluyendo estos archivos proporciona el siguiendo funciones muy útiles:

Ve también el Weed spec., sección 17.3.1.

Weed utils Biblioteca

Weed plugin-utils la biblioteca

Aquí es un ejemplo de un realtime efecto, el cual utiliza el Weed estándar de efecto


(sección 17.3.1). Los comentarios son en negrita.

Esto es el “negate” efecto, el cual inverts los colores en un marco de vídeo.

// negate.c
// weed plugin
// (c) G. Finch (salsaman) 2005
//
// liberado bajo el GNU GPL 3 o más tarde
// ver el archivo que COPIA o www.gnu.org para los detalles

#incluyen "../../libweed/weed.h"
#Incluye "../../libweed/weed-Efectos.h"
#Incluye "../../libweed/weed-plugin.h"

///////////////////////////////////////////////////////////////////

Estático int num_versiones=1; // número de diferente weed api las versiones apoyadas

estáticos int api_versiones[]={100}; // variedad de weed api las versiones apoyadas


en plugin, por orden de preferencia (la mayoría prefirió primero)
estático int versión_de paquete=1; // la versión de este paquete
//////////////////////////////////////////////////////////////////

#incluye "../../libweed/weed-utils.h" // Opcional


#incluye "../../libweed/weed-plugin-utils.h" // Opcional
/////////////////////////////////////////////////////////////

todo del encima es estándar boilerplate

int negate_proceso (weed_planta_t *inst, weed_timecode_t timestamp) {

aquí nosotros el procesamiento real:


int error;

weed_planta_t
*en_canal=weed_consigue_plantptr_valor(inst,"en_canales",&error),*fuera_ca
nal=weed_consigue_plantptr_valor(inst,"fuera de_canales",&error);

unsigned char *src=weed_consigue_voidptr_valor(en_canal,"dato_de


píxel",&error);

unsigned char *dst=weed_consigue_voidptr_valor(fuera_canal,"dato_de


píxel",&error);

int ancho=weed_consigue_int_valor(en_canal,"ancho",&error)*3;

int altura=weed_consigue_int_valor(en_canal,"altura",&error);

int irowstride=weed_consigue_int_valor(en_canal,"rowstrides",&error);

int orowstride=weed_consigue_int_valor(fuera_canal,"rowstrides",&error);

unsigned char *acaba=src+altura*irowstride;

registro int i;

para (;src<fin;src+=irowstride) {

para (i=0;i<ancho;i++) {

dst[i]=src[i]^0xFF;

} dst+=orowstride;
} regreso WEED_NINGÚN_ERROR;

Esto es nuestro setup función:

weed_planta_t *weed_setup (weed_bootstrap_f weed_bota) {

weed_planta_t
*plugin_info=weed_plugin_info_init(weed_bota,num_versiones,api_versiones);

si (plugin_info!=NULL) {

int Lista_de
paleta[]={WEED_PALETA_BGR24,WEED_PALETA_RGB24,WEED_FIN_d
e PALETA};

weed_planta_t *en_chantmpls[]={weed_plantilla_de canal_init("en


canal 0",0,lista_de paleta),NULL};

weed_planta_t *fuera de_chantmpls[]={weed_plantilla_de


canal_init("fuera canal 0",WEED_el
CANAL_PUEDE_HACER_INPLACE,lista_de paleta),NULL};

weed_planta_t *clase_de filtro=weed_clase_de


filtro_init("negate","salsaman",1,WEED_PISTA_de FILTRO_ES
EFECTO_de
PUNTO_,NULL,&negate_proceso,NULL,en_chantmpls,fuera
de_chantmpls,NULL,NULL);

weed_plugin_info_añade_clase_de filtro (plugin_info,clase_de filtro);

weed_puesto_int_valor(plugin_info,"versión",versión_de paquete);

regreso plugin_info;

}
7.1 Mapeo de llaves, habilitando,
inutilizando
para utilizar un realtime efecto durante playback en VIDAS, el efecto tiene que ser
mapped a un clave y un modo. Para asistir con este, las VIDAS tiene una herramienta
de mapeo clave, los cuales pueden ser activados utilizando la opción de carta

VJ -> Mapeo de Efecto de Tiempo Real, o por pulsar la combinación clave ctrl-v.

Esto causa el realtime ventana de efectos (de ahora en adelante referido a como el
RTE ventana) para abrir.

de VIDAS 7.1.1 – el tiempo Real efectúa valores claves

La primera cosa a nota es que las llaves y los modos están arreglados en columnas.
Cada columna representa una llave de efecto. Las llaves de efecto empiezan con la
combinación ctrl-1 en el izquierdo, entonces ctrl-2 próximo a esto, ctrl-3 y tan encima,
normalmente hasta ctrl-9.

Consejo: A veces puede haber más de 9 llaves, ctrl-10 y hacia arriba está
referido a efecto tan virtual llaves. Estas llaves virtuales pueden ser
controladas del RTE ventana, y vía medio externo - OSC, MIDI, o joystick por
ejemplo.

El número de llaves de efecto puede ser puesto en Herramientas ->


Preferencias -> Efectos.

La segunda cosa a nota es que cada llave de efecto tiene 8 modos. Estos modos son
como un banco de efectos para cada claves - únicos un modo es activo a la vez para
cada llave, esto es sabido como el modo actual para aquella llave. El modo actual para
cada inicios claves en 1, y puede ser aumentado si los efectos son mapped a modos
más altos de aquella llave. Los modos están hablados con más detalle en sección 7.2.
de VIDAS. 7.1.2 – algún de los modos para efectuar clave ctrl-1

A mapa un efecto a un modo/clave sencillamente clic en la gota abajo lista y


seleccionar el efecto nuevo para ser mapped. Puedes incluso esto mientras el efecto el
modo/clave es activo. Aun así, puedes sólo mapa a un modo más alto que 1 si el modo
bajo aquel también tiene un efecto mapped a él.

Puedes mapa cualquier tipo de efectuar a cualquier modo clave/válido - con una
restricción, puedes no generadores de mapa y no-generadores [ve sección 7.3] a la
misma llave. Es también recomendado que te transiciones de mapa a su llave concreta
propia(s), cuando esto hace modo cambiando más fácil [ve sección 7.2].
de VIDAS. 7.1.3 – mapeo un efecto a una llave de efecto y un modo

A un-mapa un efecto, hay dos opciones - cualquiera puedes clic en el botón marcado
Aclarar Todos los Efectos - como su propio nombre indica, esto un-mapa todos
efectúan combinaciones/de modo clave, o puedes clic en el botón Claro luego a la gota
abajo lista. Esto aclarará justo el modo clave/solo, y causará cualesquier mapeos de
modo más altos para cambiar y cerrar el vacío.

Nota: Cada combinación/de modo clave también tiene un Info botón. Clicking Encima
esto mostrará algunos información básica sobre el mapped efecto.

Si deseas, puedes salvar un mapeo clave nuevo como el default, por clicking en el
Salvar tan default keymap botón. El default el diseño está cargado cada vez que las
VIDAS empieza arriba.

Clicking En la Carga default keymap el botón causará el actual default keymap para
ser cargado, overwriting cualquiera cambia cuáles han sido hechos.

Consejo: las VIDAS ha sólo un default keymap, aun así puedes cambiar entre
keymaps por copiar el archivo ~/.Vidas-dir/default.keymap A un alternar
archivo y entonces restaurando este en un tiempo más tardío.

Puedes cerrar el RTE ventana por clicking en el botón de ventana Cercano, o por
pulsar ctrl-v.

Para activar un efecto:

• prensa la llave de efecto asociada (p. ej. ctrl-1, ctrl-2, ctrl-3, etc)

• o, en el RTE ventana, el clic en la caja de control etiquetó "Clave activo" próximo


a la llave de efecto
• o utilizar un control externo (por ejemplo MIDI teclado o joystick u OMC) - esto
está explicado en la Nota de secciones

pertinente: no hay ningún límite a cuántos realtime los efectos pueden ser activos en
cualquier tiempo, otro que el número de llaves de efecto. Los efectos están aplicados
en orden numérico de la llave están atados a, i.e. ctrl-1 primero, entonces ctrl-2, ctrl-3,
etc.

Consejo: La excepción a la regla de orden numérica es para generadores, el


cual siempre viene primero en el orden (si no hay ninguna transición activo),
o en el momento de aplicar cada transición (como la segunda fuente de
marco) si hay transiciones activos. Ve sección 7.3 para más
aproximadamente tipos de filtro.

A deactivate un efecto:

• cuándo el efecto es activa, prensa la llave de efecto asociada (p. ej. ctrl-1, ctrl-2,
ctrl-3, etc)

• o, en el RTE ventana, el clic en la caja de control etiquetó "Clave activo" próximo


a la llave de efecto a uncheck lo

• o utilizar un control externo (por ejemplo MIDI teclado o joystick u OMC) - esto
está explicado en la Nota de secciones

pertinente: la combinación clave ctrl-0 deactivate todos los efectos. Esto es muy
útil de recordar.

Consejo: si has justo un monitor solo, y te gustaría ver playback mientras el


RTE la ventana es abierta, la manera mejor es para jugar atrás en modo de
Ventana Separada (ve sección 4.10.4), y alterar la ventana para hacerlo "
Siempre arriba" (cómo esto está hecho depende de el director de ventana -
generalmente correcto clicking en la barra de título de la ventana traerá
arriba de una carta de director de la ventana). Puedes entonces experimento
con el RTE encuadres de ventana y ver el efecto en el playback ventana. Si
tienes dos o más monitores, tendrías que ser capaz de abrir el RTE la ventana
en una controla y el playback ventana en un segundo (ve sección 2.8).
7.2 Teclado grab/modo de efecto
En sección 7.1, vimos que cada llave de efecto tiene un número de modos (por default
8) y que sólo un modo puede ser activo para una llave en cualquier instante. Hay
varias maneras de cambiar el modo de una llave, pero primero tenemos que mirar en
un concepto llamó el teclado grab. Teclado grab está activado por pulsar el "k" llave, y
sujete varias llaves en el teclado al último efecto habilitado llave. Por ejemplo, si
pulsas ctrl-1 para cambiar en el efecto en aquella llave, y entonces pulsar "k", el
teclado es grabbed para la llave de efecto ctrl-1. Si entonces pulsas ctrl-2 y k "", el
teclado es grabbed para efectuar clave ctrl-2. Prensado ctrl-1 otra vez seguido por "k"
no afectará el teclado grab, desde el ctrl-1 clave-las prensas inutilizarán el efecto ató a
ctrl-1, y sólo habilitando unas cuentas de efecto.

Si tienes el RTE la ventana abierta (ve sección 7.1), entonces puedes también puesto
el teclado grab por clicking en la caja de control etiquetó "Clave grab" acercarse cada
llave de efecto.

Cuándo el teclado es grabbed para una llave de efecto, las llaves siguientes son
entonces atadas a aquella llave de efecto:

• ctrl-arriba y ctrl-abajo ajustar el primer parámetro numérico del efecto.

Nota: Cuándo teclado grab es fuera, estas llaves ajustan el playback índice (ve
sección 8.1).

• El "" m los ciclos claves a través de efectos ataron a los modos de aquel claves

• el "" t la llave pone VIDAS a modo de texto. Si el efecto tiene un parámetro de


texto, todo subsiguiente clave-pulsa irá al primer parámetro de texto de aquel
efecto. Un ejemplo de este es el livetext efecto y livetext_generador. Para dejar
modo de texto, prensa la llave de Tabulador.

Para sacar el teclado grab, puedes hacer muy del siguiente:

• prensa ctrl-0 (todos los efectos fuera)

• prensa ctrl-Backspace (congelación)

• si el RTE la ventana es abierta, uncheck la caja de control marcada "Clave grab"


luego al efecto clave cuál tiene el teclado grab

Encima vimos una manera de cambiar el modo de una llave de efecto - primer
conseguir teclado grab (k) y entonces pulsar "m" a ciclo el modo. Otras maneras de
cambiar el modo es:
• con el RTE la ventana abierta, clic en "el Modo botones" activos bajo cada llave
de efecto

• vía un control externo como OSC, joystick, o MIDI control


7.3 Efectos, transiciones y
generadores
Tan con rendered efectos (o bastante, filtros) [sección 4.12], podemos dividir nuestros
efectos de tiempo reales (filtros) a tres o más subtipos.

Los subtipos más comunes son efecto (una entrada de marco, una producción),
transición (dos entrada de marcos, una producción) y generador (ninguno entradas de
vídeo, una producción de vídeo). hay también compositors (entrada de marcos
múltiples, una producción de marco). Estos son sólo utilizados en el multitrack
ventana, y será hablado allí [sección 11.16].

Con el RTE la ventana abierta [sección 7.1], puedes ver el tipo de cada efecto en la
gota-abajo lista, y es también mostrado luego al área/de modo clave.

de VIDAS. 7.3.1 – el filtro (efecto) el tipo está mostrado en el RTE ventana

Por default, las VIDAS tiene transiciones mapped a modos de claves ctrl-8 y varios
generadores mapped a claves ctrl-9.

Si las VIDAS no está jugando y pulsas la combinación clave para un generador, esto
iniciará playback. Un generador es un poco como un clip, porque puedes aplicar otros
efectos a él. Puedes también ahora aplicar una transición y mezclar un generador con
un clip de vídeo. La cosa única con los generadores de tiempo reales - cuándo un
generador desaparece de vista, cierra. Por ejemplo, inicio arriba de un generador.
Prensa Ctrl-0 para asegurar no hay ninguna transición activo. Si ahora pulsas ctrl-
página-arriba de las VIDAS cambiarán a otro clip, y porque el generador es ya no
visible, cierre.

Algunos generadores también tienen entrada de audio. Si juegas audio variarán su


patrón de comportamiento de acuerdo con el movimiento del audio de entrada.
Ejemplos de estos es el libvisual generador plugins (a pesar de que estos están
desarrollados independientemente, y en el tiempo de escribir la respuesta de audio
parecía un poco buggy).

Si hay uno o más realtime las transiciones activas, entonces el ctrl-página-arriba y ctrl-
página-abajo llaves ciclo el clip de fondo. Realtime Efectúa provocado del teclado está
aplicado sólo al foreground clip.
7.4 Aplicando a clips
En el Editor de Clip, puedes aplicar cualesquier efectos de tiempo real a una selección
tan si sea un rendered efecto [ve también sección 4.12].

Sencillamente seleccionar los marcos te gustarían aplicar los efectos a, y entonces clic
en Efectos -> Aplicar Efectos de Tiempo Real a Selección, o pulsar el ctrl-e llaves.

Cuándo el efecto está siendo aplicado, puedes Preestreno qué tiene sido hecho tan
lejos por clicking en el botón de Preestreno.

hay también un botón de Pausa. Si te clic esto puedes otra vez Preestreno qué tiene
sido procesado, o puedes Resume procesamiento. Además puedes escoger Mantener
qué ha sido procesado tan lejos y no procesar más.

Otherwise, sencillamente espera, y el efecto tendría que ser aplicado al seleccionó


marcos.

Nota: recuerda que los efectos pueden ser deshechos y rehechos, pero hay sólo uno
nivela de deshacer por clip en el Editor de Clip.

Nota: después de aplicar los efectos, recuerda para cambiar del realtime efectos (p.
ej. con ctrl-0), otherwise serán aplicados a la selección dos veces (una vez a los
marcos, y entonces otra vez tan realtime efectos) !
7.5 Poniendo parámetros, poniendo
defaults, salvando defaults
vimos en sección 7.2, aquello una manera para ajustar parámetros para un realtime el
efecto es a grab el teclado para aquel efecto y entonces utilizar el ctrl-arriba y ctrl-
abajo llaves para ajustar el primer parámetro numérico, o el "" t llave para introducir
textmode y cambiar el primer parámetro de texto. Aquí miraremos un poco más
profundos a realtime parámetros de efecto.

Una manera para ver los parámetros de un efecto es para abrir el RTE ventana (ve
sección 7.1), activar el efecto, y clic en el botón de Parámetros del Conjunto. Esto
abrirá arriba de una ventana de parámetro, y si el efecto tiene parámetros serás capaz
de ponerles aquí.

Otra manera es para poner defaults para el realtime efectos. Esto está hecho por
seleccionar la opción de carta VJ -> Pone Efecto de Tiempo Real Defaults, y
seleccionando el efecto, transición o generador de la lista de carta. Seleccionando un
efecto abrirá arriba de una ventana, y si el efecto tiene parámetros serás capaz de
ajustarles. Si quieres mantener los encuadres, el clic Pone Tan Default, otherwise el
clic Cancela.

Nota: Para generadores, puedes también puesto el fuera medida de canal (i.e La
medida de píxel de generó marcos).

Poniendo defaults sólo dura para la sesión de VIDAS actual, así que si quieres hacer
estos defaults permanente, necesitas seleccionar la opción de carta
VJ -> Salvar Efecto de Tiempo Real Defaults.

Consejo: las VIDAS ha sólo uno puesto de parámetro defaults, aun así
puedes cambiar entre conjuntos diferentes de defaults por copiar el archivo
~/.Vidas-dir/fxdefs a un alternar archivo y entonces restaurando este en un
tiempo más tardío.
8.Otro VJ llaves
Varias llaves pueden ser utilizadas durante playback. Estas llaves pueden ser vistas vía
la opción de carta VJ - Mostrar VJ Llaves. Actualmente no hay ninguna opción a remap
estas llaves, a pesar de que muchos pueden ser simulados a través de controles
externos (OSC, joystick o MIDI controlador).
8.1 Tachando, congelando, invirtiendo,
ajustando marco-índice, cambiando
clips, intercambio fg-bg, nervioso
ctrl-izquierdo y ctrl-las llaves correctas pueden soler "arañazo" con vídeo

ctrl-Backspace las llaves pueden soler congelación/unfreeze vídeo (esto también libera
el teclado grab - ver sección 7.2).

El audio continuará jugar a no ser que el jack jugador de audio está siendo utilizado, y
el Audio de preferencia sigue dirección de índice/del vídeo está habilitada. ctrl-Las
llaves espaciales invierten el playback dirección - esto también trabaja cuándo el vídeo
está congelado : cuándo tú unfreeze lo jugará en la dirección inversa

ctrl-arriba y ctrl-abajo las llaves ajustan el marco-índice (a no ser que el teclado grab
es activo - ver sección 7.2).

ctrl-Introduce regresará vídeo playback velocidad a normal.

Nota: por default el por encima de las llaves afectan vídeo único, aun así les puedes
conseguir para ajustar audio también. Esto está hecho por seleccionar el jack audio
playback método (en Herramientas -> Preferencias -> Playback) y entonces
comprobando el Audio de caja sigue dirección de índice/del vídeo.

ctrl-Página-arriba y ctrl-página-abajo ciclo de llaves en ambas direcciones a través de


clips - esto también trabaja cuándo las VIDAS no está jugando. Durante playback,
estas llaves ajustarán el foreground marco si no hay ninguna transición activo, pero
alteran el clip de fondo si uno o más realtime las transiciones son activas.

Nota: por default el por encima de las llaves afectan vídeo único, aun así les puedes
conseguir para ajustar audio también. Esto está hecho por seleccionar el jack audio
playback método (en Herramientas -> Preferencias -> Playback) y entonces
comprobando el Audio de caja sigue cambios de clip.

El "x" llave durante playback intercambio foreground y clips de fondo. Estos trabajos
únicos si hay uno o más realtime las transiciones activas.
Puedes desear hacer este a veces desde realtime los efectos son sólo aplicados al
foreground clip.

El "" n llave durante playback toggles modo Nervioso. En modo Nervioso, el marco
para ser jugado atrás saltará alrededor de un poco.
8.2 El k, m, t y llaves de tabulador
Las llaves siguientes están explicadas más plenamente en sección 7.2.

"k" - grab Teclado para última llave de efecto activada

"m" - modo de efecto del ciclo para llave de efecto con teclado grab

"t" - introducir textmode para el efecto que tiene clave grab

Tabulador - dejar textmode


8.3 Bookmarking clips
Si tienes varios clips abiertos, puedes marcar la posición de un clip con F1 a través de
F11. Por ejemplo, si pulsas F1, el clip actual está conectado con F1. Si entonces
cambias a otro clip, y prensa F1, las VIDAS regresarán al primer clip. Todo de las llaves
F1 a F11 puede soler clips de marcapáginas de este modo. Esto trabaja igual si las
VIDAS está jugando o no.

Si pulsas el F12 llave, todos los marcapáginas serán aclarados.

Marcapáginas sólo último para la sesión actual de VIDAS.


9 Registro
9.1 Registro, previewing y rendering
En el Editor de Clip, es posible de grabar cualquier parte de vuestro rendimiento. Para
iniciar registro, prensa el "r" llave. Puedes pulsar el clave antes de empezar playback,
o en cualquier tiempo durante playback.

Para acabar o cancelar registro, prensa el "r" llave otra vez, o parón playback.

Puedes toggle grabando encima y de tiempo múltiple durante playback.

Si pulsas "" r antes de empezar playback, verás un mensaje en el área de mensaje que
te informa que las VIDAS está a punto para grabar. Si pulsas "" r otra vez sin jugar,
conseguirás un segundo mensaje que te informa que el registro estuvo cancelado.

Además de pulsar el "r" llave, puedes toggle modo récord por clicking en el Juego de
opción de la carta -> Rendimiento Récord.

Los tipos siguientes de acontecimientos son siempre grabó:

• cambios de marco

• fps (marcos por segundo) Te

cambias puede seleccionar si los tipos siguientes de acontecimiento están grabados:

• efectos de tiempo real (incluyendo cambios de parámetro)

• acontecimientos de audio

• de cambios de clip (proporcionados estás utilizando el jack jugador de audio)

Si o no para grabar estos acontecimientos pueden ser puestos en Herramientas -> que
Graban Preferencias.

Cuándo las VIDAS está grabándote verá "rec" aparecer antes de la cuenta de marco en
el contador de marco.

Una vez playback llegadas, si cualquier cosa estuvo grabada, una ventana reventará
arriba preguntándote qué quieres hacer con los acontecimientos que estuvo grabado.

Hay varias opciones:

• Preestreno el registro
• Render el registro al mismo clip (esto es sólo disponible si el foreground el clip no
fue cambiado durante playback)

• Render el registro a un clip nuevo

• Edita los acontecimientos en el multitrack ventana (esto está cubierto en sección


11).

• Vista los acontecimientos en la ventana de acontecimiento (ve sección 11.26).

de VIDAS. 9.1.1 – elecciones después de grabar

Tener que escoges a render los acontecimientos a un clip nuevo, serás presentado con
otra ventana, donde te puede introducir los detalles del clip nuevo. Aquí puedes
escoger la medida de marco (ancho y altura en píxeles), el índice de marco (marcos
por segundo) y los detalles de audio. Al llegar a este punto opcionalmente puedes
seleccionar un objetivo encoder para el clip. Si escoges hacer este, las VIDAS pueden
sugerir más optimal valores para la medida de marco, índice de marco y valores de
audio. Depende de ti si deseo de aceptar el sugirió valores o continuar con los valores
cuando introdujo. Nota que seleccionando un encoder aquí es justo para propósitos de
optimización; eres todavía libre de escoger cualquier encoder/formato te gusta cuándo
codificando el clip.
de VIDAS. 9.1.2 – Consejo de detalles de clip

nuevo: Si quieres siempre render utilizando los mismos valores, puedes


instalar esto en Preferencias. Uso las Herramientas de opción de la carta ->
Preferencias, y navigate al Multitrack/Render tabulador. Control la caja Uso
marcado estos valores mismos para rendering un clip. Aquí puedes introducir
los valores para ser utilizados cada vez tú render un clip nuevo. (Nota que
estos valores están compartidos con el Multitrack valores de Modo [ve
sección 11.1].)

Durante rendering puedes Preestreno qué está siendo rendered, Pausa el rendering, o
Cancelar. Si Paras, puedes otra vez Preestreno, Resume rendering o Mantener qué ha
sido rendered tan lejos.

Nota: Si tú render al mismo clip, es posible de deshacer esto después con la opción de
carta Deshace -> Deshacer Rendering

Consejo: grabando así es grande para crear un clip para estar de acuerdo
alguna música. Primera carga en unos cuantos clips cortos para jugar con,
entonces carga en el audio como el audio a uno de los clips. Pegado récord
"r" y el inicio que juega atrás de este clip. Clips de cambio y aplicar efectos y
tan encima hasta los fines de música. Entonces render él todo a un clip
nuevo. Otra vez, carga en la música al clip nuevo (en caso el audio no fue
rendered) y presto - tienes un clip de vídeo para ir con aquella música.

Nota: las VIDAS utiliza dos modos récord - físicos y lógicos. El modo lógico
sencillamente hace una nota del cual los marcos de qué clips están jugando, el cual
efectúa es activo, y tan encima. El modo físico hace una copia física del marco de
producción en el disco. Actualmente las VIDAS utiliza modo lógico a no ser que hay
uno o más generadores o incoming las corrientes activas, en qué caso cambie a modo
físico. Cada modo tiene sus ventajas y desventajas, el modo físico puede retrasar
acceso de disco y no puede ser editado después del hecho, el modo lógico utiliza
ningún acceso de disco, y puede ser fácilmente editado después, pero qué es rendered
no puede emparejar exactamente con qué estuvo grabado. Tendrías que ser
consciente de estos modos diferentes pero en general no necesitas para preocuparse
aproximadamente les.
10 Miscellaneous funciona
10.1 Protección de Accidente
las VIDAS tiene protección de accidente lleno para clips, significando que en el
acontecimiento raro de un accidente, lo puedes retomar y tendrías que ser capaz de
recuperar todos los clips tan eran en el tiempo del accidente. Después de unas VIDAS
de accidente preguntarán en startup si te gustaría intentar para recuperar los clips,
clic en VALE para hacer tan, o Cancelar para ignorar esto.

Nota: Empezando VIDAS con vidas -recupera forzará recuperación de archivos en tal
caso, whilst empezando él con vidas -norecover forzará un Cancelar.
[Ve también sección 3.1].
10.2 Aclarando disco las VIDAS
espaciales tiene una facilidad en el Editor de Clip para habilitar liberando arriba de
cualquier disco espacial cuál es ya no utilizó. Esta herramienta tendría que ser corrida
de vez en cuando especialmente después de un accidente. Para correr esta
herramienta, clic en el Archivo de opción de la carta -> Limpio Arriba Espacio de Disco.
Después de correr, la herramienta informará cuánto espacio de disco (si cualquier)
estuvo recuperado.
10.3 Poniendo el tema
puedes alterar el tema (piel o mirada) de VIDAS, escogiendo de una variedad de
opciones. Puedes cambiar temas por ir a Herramientas -> Preferencias -> Temas. Aquí
puedes elegir un tema nuevo de la gota-abajo lista, o escoger tener ningún tema.

Después de cambiar temas necesitarás retomar VIDAS para los cambios de tema para
tener lugar.

Actualmente, el usuario definió los temas no son soportados - aunque esto está
planeado como trucaje futuro.
10.4 Resetting playback velocidades y
posiciones
Cuándo cambias a un clip nuevo durante playback en el Editor de Clip, el clip nuevo
continuará del último marco jugado y en el último índice de marco para aquel clip. La
opción de carta VJ -> Reinicialización todo playback las velocidades y las posiciones
causarán todos clips para empezar que juegan del primer marco (marco 1), y en su
normal playback índice.
10.5 MIDI/joystick VIDAS
de estudiante tiene la capacidad de enlazar muchos del VJ características a MIDI
controladores y joysticks.
Esto está activado a través de la opción de carta VJ -> MIDI/joystick interfaz ->
MIDI/joystick estudiante

Una vez la ventana está abierta te puede pulsar un joystick llave o MIDI llave, o MIDI
controlador.

En el dejado te entonces verá un cascade de llave/de botón/del controlador - te puede


elegir cualquiera de estos, entonces de la gota-abajo lista, seleccionar un macro para
enlazarlo a.

de VIDAS. 10.5.1 qjackctl, vkeybd y las VIDAS MIDI / joystick estudiante. Conexión de
parámetro está destacada en rojo.

Las variables en la entrada son automáticamente enlazados a parámetros en el macro,


empezando de valor de índice más alto. La conexión puede ser vista por de apertura el
tabulador de parámetros - aquí puedes también puesto el valor de cualesquier
parámetros fijos, sencillamente por clicking encima les.

Puedes añadir un offset y un valor de escala a las variables (por ejemplo si MIDI nota
empieza en 50, podrías hacer un offset de -49 para hacer el inicio de resultado en 1).

hay también un control pequeño-cajas luego a cada variable en el que comprueba


entrada estas marcas el filtro variable para aquel valor. Por ejemplo, suponer una
prensa de botón produce 2 valores - 128 (prensa) y 0 (liberación).
Si quieres sólo el 128 (prensa) a toggle algún valor, puedes abrir el tabulador de
variables, entonces clic el poco control-cajas luego a 128. Este valor entonces deviene
un filtro para la acción, más que una variable (cuando pasaría por default).

El control externo es sólo activo durante playback, así que necesitas empezar playback
manualmente.

También puedes salvar y archivos de configuración de dispositivo de carga.

• Para salvar un archivo de configuración del dispositivo, clic en VJ -> MIDI/joystick


interfaz -> Salvar mapeo de dispositivo, y entonces introducir el nombre de un
archivo para salvar el mapeo de dispositivo a.

• Para cargar un archivo de configuración del dispositivo, clic en VJ -> MIDI/joystick


interfaz -> mapeo de dispositivo de la Carga, y seleccionar un archivo de mapa
del dispositivo para cargar.

Cuando de versión de VIDAS 1.1.0, puedes cargar en un archivo de configuración del


dispositivo en startup, utilizando el startup opción:

-devicemap <mapfile>

Ve sección 3.1 para más detalles de startup opciones.

Actualmente apoyado es:

• joystick botones

• MIDI nota encima

• MIDI nota fuera

• MIDI controlador

• MIDI cambio de programa (cuando de versión 1.1.0)

• MIDI curva de campo (cuando de versión 1.1.0)

el joystick/MIDI característica de estudiante es muy nueva, y el siguiendo tendría que


ser notado:

• joystick el soporte axial puede ser escamoso - hay actualmente ningún Consejo

de calibración: hay un tabulador en Herramientas -> Preferencias ->


MIDI/joystick estudiante, el cual deja alteras y tweak valores. Aquí puedes
decidir qué tipos de VIDAS de periféricos escucharán para : MIDI, joystick,
ninguno o ambos. Puedes también puesto el camino a cada dispositivo, a
pesar de que estos tendrían que ser coche -detectó. Finalmente, puedes
también puesto el MIDI índice de control, y los MIDI repiten índice. Estos
valores pueden ser ajustados si eres habiendo problemas con vuestro MIDI
controlador. Cuando de VIDAS 1.1.0, ALSA MIDI se mantiene, proporcionó las
VIDAS estuvo compilada con ALSA soporte, y esto está recomendado si
disponible (ve abajo).

Nota: estas características son sólo disponibles si las VIDAS estuvo compilada con
OSC el soporte habilitó.

Nota: cuando de VIDAS 1.1.0, ALSA MIDI soporte es disponible si las VIDAS estuvo
compilada con ALSA soporte. Cuándo cargas un mapa de dispositivo, o introducir al
MIDI/joystick estudiante, las VIDAS crearán un MIDI puerto de entrada, y puedes
conectar a este estándar de utilizar MIDI herramientas (como qjackcontrol o aconnect).
ALSA MIDI soporte está recomendado si disponible, aun así hay una preferencia para
inutilizarlo y utilizar el método más viejo de leer directamente del MIDI dispositivo si
prefirió.
10.6 MIDI synch
las VIDAS pueden también opcionalmente synch playback inicio y parón con un MIDI
dispositivo. Para este necesitas los guiones midistart y midistop instaló. Las VIDAS
instala estos archivos por default. Va a Herramientas -> Preferencias - > Misc, y
comprobar la caja etiquetó Midi synch. Ahora cuándo las VIDAS empieza playback lo
enviará un MIDI inicio de patrón a /dev/midi y cuándo playback lo acaba enviará un
MIDI fin de patrón a /dev/midi.
10.7 Jack transporta synch
las VIDAS pueden también synch playback con jack transporte (ve -
http://jackaudio.org/)

las VIDAS pueden synch tan maestros y/o cliente. Para activar jack transporte synch,
va a Herramientas -> Preferencias -> Jack Integración, y seleccionar Jack Cliente y/o
Jack Maestro. También puedes escoger si te gustarían VIDAS para empezar arriba del
jack servidor de transporte cuándo las VIDAS empieza arriba.

En Jack modo Maestro, empezando playback en las VIDAS causarán todo conectó
clientes para empezar playback.

En modo de Cliente del Jack, cuándo otro cliente empieza jack transporte, las VIDAS
empezarán playback.

Consejo: jack transporte synch es perfecto si quieres VIDAS de uso con otro

jack programa habilitado como Fervor. En este caso podrías editar vuestro
audio en Fervor, y editar vuestro vídeo en VIDAS, y tener el playback de
ambos sincronizado a través de jack transporte.
11 El multitrack editor
Tan lejos, hemos sido mirando en la interfaz de Editor del Clip de VIDAS, siendo la
parte de la aplicación donde los clips individuales pueden ser editados, y donde estos
clips pueden ser libremente jugados atrás. Las VIDAS tiene un segundo, interfaz más
estructurada, y esto es el Multitrack Editor. En el Multitrack Editor, no es posible de
editar los clips individuales, bastante los clips pueden ser amistados y rendered a un

clip nuevo.

Hay varias maneras de introducir el Multitrack Editor:

• con uno o más los clips cargados, uso la entrada de carta Edita -> MULTITRACK
modo

• con uno o más los clips cargados, prensa la combinación clave ctrl-m

• después de que registro (ve sección 9), seleccionar la opción para editar el
registro en el Multitrack Editor

A diferencia del Editor de Clip, el Multitrack el editor tiene niveles múltiples de


deshacer y rehacer.
11.1 Poniendo multitrack detalles
En Multitrack Modo, trabajarás con un índice de marco solo, medida de marco, y uno
puesto de encuadres de audio. Cuándo introduciendo el Multitrack Editor, las VIDAS
necesita saber lo que estos valores son.

Si te deseas puede introducir estos valores en Preferencias, y las VIDAS utilizarán


vuestro seleccionados valora cada vez. Para hacer este, uso las Herramientas de
opción de la carta -> Preferencias, y navigate al Multitrack/Render tabulador. Aquí
puedes escoger tampoco Incitarme para ancho, altura, fps y encuadres de audio o

Siempre utilizar los valores siguientes. Si está puesto al último, las VIDAS utilizarán los
valores has especificado cuándo introduciendo Multitrack Modo. Otherwise, verás una
ventana que te incita para introducir estos valora cada vez introduces Multitrack Modo.

Nota: si planeas restaurar un diseño (o autorestore es encima) entonces los valores


introduces aquí puede ser overridden por almacenó valores en el diseño (ve sección
11.21).

de VIDAS 11.1.1 – multitrack detalles

Aquí puedes escoger la medida de marco (ancho y altura en píxeles), el índice de


marco (marcos por segundo) y los detalles de audio. Al llegar a este punto
opcionalmente puedes seleccionar un objetivo encoder para el clip. Si escoges hacer
este, las VIDAS pueden sugerir más optimal valores para la medida de marco, índice
de marco y valores de audio. Depende de ti si deseo de aceptar el sugirió valores o
continuar con los valores cuando introdujo. Nota que seleccionando un encoder aquí es
justo para propósitos de optimización; eres todavía libre de escoger cualquier
encoder/formato te gusta cuándo codificando el clip.

También puedes escoger el audio setup que te gustaría utilizar. Puedes tener un audio
de respaldar pista, y/o una pista de audio por pista de vídeo.

El audio de respaldar la pista puede ser utilizada por ejemplo para música cuál
continuará durante el entero timeline. Pista de audio por pista de vídeo puede ser
seleccionada para dejar cada pista de vídeo para tener su audio propio.

Nota: realtime audio playback sólo será disponible si estás utilizando el jack jugador
de audio.
11.2 El multitrack diseño de pantalla
Una vez introduces multitrack modo, verás la pantalla está partida verticalmente a 3
áreas. En la parte superior es el área "de manipulación ", bajo este es el "timeline
área", y en el fondo es el área "de mensaje ".

El área de manipulación está partida horizontalmente a tres regiones:

• la ventana de preestreno

• el "polymorph" ventana

• la ventana de contexto

cuando mostrado aquí:

de VIDAS. 11.2.1 - El área de manipulación.

Los espectáculos de ventana del preestreno playback y preestrenos de efecto.

El polymorph ventana, como su propio nombre indica, cambia depender de qué

estás haciendo. Sus modos incluyen:

- modo de clip (cuando visto encima) : muestra todos los clips cargados en VIDAS, y
les deja para ser arrastrado al timeline. Puedes introducir este modo cualquier tiempo
por pulsar 'c' (o de la carta de Vista; Vista -> Clips)
- en/fuera modo : si pliegas clic en un bloque, el polymorph la ventana irá a en/fuera
modo. Puedes ajustar el inicio y puntos de fin de un bloque que utiliza el en/fuera
espín-botones. Si un bloque está seleccionado (por doble clicking encima él) entonces
puedes introducir este modo por pulsar 'i' (o de la carta de Vista; Vista -> Bloque
En/Fuera de puntos)

- modo de efecto : si la última acción era para aplicar un efecto, y que el efecto tiene
parámetros, entonces el polymorph la ventana irá a modo de efecto. En este modo,
puedes poner parámetros de efecto y marcos de preestreno. Preestrenos de marco
están mostrados en la ventana de preestreno. Puedes regresar a este modo por editar
un efecto.

- Modo de lista del efecto : listas el stack de efectos (si cualquier) para la pista actual
en el actual timeline posición. Puedes conseguir a este modo tampoco por pulsar el 'e'

llave, correcto clicking en un marco en el timeline y seleccionando efectos de Lista


aquí, o por la Vista de entrada de la carta -> Efectos en actuales.

La información de espectáculos de ventana de contexto pertinente a la acción


actual. Esta ventana es sólo visible en Vista Compacta.

El timeline el área contiene el timeline encabezamiento, el cual es un gobernante


horizontal marcado en segundos. Tiene un cursor qué rollos durante playback, o puede
ser puesto por clicking en el timeline encabezamiento. Si te clic y arrastrar aquí,
puedes poner una región de tiempo (ve sección 11.10).

También contiene el área de pista. Aquí puedes ver vuestras pistas de vídeo y pistas
de audio.
Cada pista tiene un control-cajas para "seleccionados/unselected", entonces un
nombre y un número de capa, entonces una área de espacio cuáles pueden ser
llenados con vídeo y audio.

Seleccionado/unselected está utilizado para poner la parte de pista de una región (ve
sección 11.10).

Las capas van de capa 0 en la parte superior, (el "frente") hacia abajo - hacia el
"atrás". Capa 0 es siempre la capa "" de frente, capa 1 es "detrás" esto, capa 2
"detrás" que, etc. puedes añadir capas delante o atrás, literalmente cuando muchos
tan te gusta. Normalmente sólo verás la capa de frente, a no ser que aplicas una
transición o un compositor (ve sección 11.14 y sección 11.16).

de VIDAS. 11.2.2 - el timeline área


puedes zum en y fuera del timeline con la Vista de opciones de la carta -> Zum en, y
Vista -> Zum fuera, o con las combinaciones claves ctrl-+ y ctrl-- (control y plus, y
control y minus).

En la parte superior del timeline el área es dos espín -botones. Estos muestran el inicio
de región y puntos de fin (ve sección 11.10).

El área de mensaje es el mismo tan en el clip que edita modo, e información de


espectáculos sobre vuestras acciones. Puedes llamar arriba del registro de mensaje
entero de la carta de Vista; Vista -> Mensajes de Espectáculo.

de VIDAS. 11.2.3 - el área de mensaje

Si cambias a vista expandida, la ventana de contexto será escondida, y la ventana de


preestreno y polymorph la ventana expandirá. Puedes cambiar a vista expandida
tampoco por:

• prensa el d llave una vez

• deselect la Vista de opción de la carta -> vista Compacta

• o, clic en el botón de Vista Expandido.

Puedes regresar para Compactar Vista por:

• prensa el d la llave una vez

• selecciona la Vista de opción de la carta -> vista Compacta


• o, clic en el botón de Vista Compacto.
11.3 Insertando vídeo y audio
puedes insertar un clip por arrastrar un del polymorph ventana a un timeline pista. Si
el polymorph la ventana no es en modo de clip, puedes pulsar 'c' para conseguir allí.

Consejo: Alternadamente, puedes utilizar el teclado. ctrl-Página-arriba y ctrl-


página-abajo ciclo a través de clips. ctrl-Izquierdo y ctrl-correcto moverá el
timeline cursor. ctrl-Arriba y ctrl-abajo puede soler cambiar la pista actual.
ctrl-i Insertará el clip actual en la posición de cursor actual en la pista actual.
También puedes utilizar la opción de carta Edita -> Insertar clip seleccionado
(para pistas de vídeo), o Editar -> Insertar audio de clip seleccionado, si la
pista actual es la Audio de Respaldar pista.

En estándar inserta modo, el insertar el punto tiene que ser espacio (i.e. libre de otro
vídeo). Si el clip es demasiado mucho tiempo, cuando muchos enmarca tan posibles
será insertado. En futuro puede haber más tipos de insertar modo.

Si insertas un clip, siempre puedes "deshacer" él del Editar carta.

Si arrastras un clip a la parte de encabezamiento del clip, sea insertado de tiempo 0.

de VIDAS. 11.3.1 - seleccionando un clip que

de VIDAS. 11.3.2 - arrastrando al timeline


de VIDAS. 11.3.3 - caído en el timeline

Cuándo has insertado un clip, deviene un bloque . Los bloques son la unidad más
pequeña en las VIDAS multitrack editor.
Un bloque puede variar de 1 marco a cualquier número de marcos. Actualmente, todos
los marcos en un bloque tienen que provenir el mismo clip.

Consejo: hay dos tipos de bloques en VIDAS - ordenó bloques y unordered


bloques. Ordenó bloques haber incrementing números de marco, y estos son
qué consigues si insertas un clip del área de clip. Unordered Los bloques
tienen el marco numera qué salto alrededor. Unordered Los bloques pueden
ser producidos por el acontecimiento registrador. no hay todavía mucho
soporte para unordered bloques en VIDAS, pero puede haber en el futuro.

Si seleccionaste pista de audio por pista de vídeo en el Multitrack encuadres, entonces


cualquier audio para el clip puede ser insertado con el clip. Esto es dependant en el
Audio Inserta Modo (ve sección 11.8). Puedes ver el audio por clicking en la flecha
pequeña luego al encabezamiento de pista.

de VIDAS 11.3.4 – una pista de vídeo con audio

Si estás trabajando con un audio de respaldar pista, puedes arrastrar un clip al audio
de respaldar, y el audio de aquella pista puede ser insertado allí demasiado.
Alternadamente, puedes hacer el audio de respaldar sigue la pista actual y prensa ctrl-
i para insertar el clip actual.
Nota: Por default, cuándo insertas, sólo la parte entre el marco de inicio y marco de
fin (la selección) está insertado. Puedes poner estos en el Editor de Clip. A override
este comportamiento, puedes seleccionar la opción de carta Edita -> Ignorar límites de
selección cuándo insertando.

Sólo el frente-la mayoría de (no-vacío) pista de vídeo es visible y su audio asociado es


audible. Si quieres una pista detrás esto para ser visible, tendrás que aplicar una
transición o un compositor (ve sección 11.14 y sección 11.16). Si quieres audio de una
pista detrás para ser audible, tendrás que aplicar una transición/de audio del vídeo, o
aplicar un audio transición única (ve sección 11.14 y sección 11.15).

El audio de respaldar está mezclado abajo con audio de las otras pistas (ve sección
11.19).

Recuerda, puedes zum en y fuera del timeline con la Vista de opciones de la carta ->
Zum en, y Vista -> Zum fuera, o con las combinaciones claves ctrl-+ y ctrl-- (control y
plus, y control y minus).
11.4 Playback en el multitrack el
editor que
Juega audio y vídeo posteriores en el Multitrack el editor es muy similar a playback en
el Editor de Clip.

Para empezar playback, tampoco:

• prensa el 'p' clave onc, o utilizar

• el Juego de opción de la carta -> Juego de Timeline Posición, o clic

• en el Juego todo icono en el toolbar

de VIDAS 11.4.1 – jugar todo botón en Multitrack

para parar playback, tampoco:

• prensa el 'q' llave una vez, o utilizar

• el Juego de opción de la carta -> Parón, o clic

• en el icono de Parón en el toolbar

de VIDAS 11.4.Botón de 2 parones en Multitrack

En el Multitrack Editor, playback también puede ser parado. Para parar playback:
• prensa el 'p' llave una vez durante playback, o utilizar

• el Juego de opción de la carta -> Pausa, o clic

• en el icono de Pausa en el toolbar

de VIDAS. 11.4.Botón de 3 pausas en Multitrack

la pausa es similar de parar, exceptúa que el timeline la posición está mantenida en el


mismo punto más que rewound a la posición anterior.

El timeline la posición es el punto de qué playback empezará. Es también el punto


en qué efectos pueden ser listados y editó. El timeline la posición puede ser puesta en
las maneras siguientes:

• clic una vez en el timeline el área

• utiliza la Selección de opción de la carta -> Copia -> inicio de Región a timecode
(ve también sección 11.10)

• utiliza la Selección de opción de la carta -> Copia -> fin de Región a timecode
(ve también sección 11.10)

• utiliza la opción de carta Edita -> Saltar a frontera de bloque próximo, o prensa
ctrl-l

• uso la opción de carta Edita -> Saltar a frontera de bloque anterior, o prensa ctrl-
j

• ctrl-izquierdo y ctrl-correcto moverá el timeline el puntero dejado o correcto por


uno segundo a la vez

• cambio-izquierdo y cambio-correcto moverá el timeline el puntero dejado o


correcto por uno enmarca a la vez

Insertando o moviendo un bloque en el timeline también causará el timeline puntero


para mover.
A rebobinado el timeline posición a 0, tampoco:

• prensa el 'w' la llave hasta el inicio está lograda

• uso el Juego de opción de la carta -> Rebobinado, hasta el inicio está logrado clic

• en el icono de rebobinado en el toolbar hasta el inicio está logrado

de VIDAS. 11.4.Botón de 4 rebobinados en Multitrack

Consejo: durante playback, el cursor a veces desaparecerá de la pantalla.


Puedes eliminar esto por seleccionar la Vista de opción de la carta -> Rollo
para seguir playback. También puedes centrar el timeline en el cursor que
utiliza la Vista de opción de la carta -> Centrar encima cursor, o por pulsar
ctrl-c.

En Multitrack Modo, hay también una ventana separada/modo de pantalla llena.

Para activar modo de ventana separada:

• prensa el es' llave una vez

• o seleccionar el Juego de opción de la carta -> Juego en clic o Ventana

• Separados una vez en el icono de ventana Separado en el toolbar

de VIDAS. 11.4.5 – botón de ventana separada en Multitrack


a deactivate modo de ventana separada:

• prensa el es' llave una vez

• o deselect el Juego de opción de la carta -> Juego en clic o Ventana

• Separados una vez en el icono de ventana Separado en el toolbar


Nota: la ventana puede ser pegajosa (la ventana es siempre mostrada, incluso cuando
no jugando), o no pegajoso (la ventana está destruida cuando no jugando). A Toggle
entre estos modos, uso el Juego de opción de la carta -> Ventana Separada ticky'
Modo, o pulsar el 't' llave.

Nota: en multi-modo de cabeza, el Multitrack la ventana puede ser en uno controla, y


el playback ventana en otro monitor. Ve también sección 2.8.

Para activar modo de pantalla llena:

• prensa el 'f' llave una vez

• o seleccionar el Juego de opción de la carta -> Pantalla Llena

a deactivate modo de pantalla llena:

• prensa el 'f' llave una vez

• o deselect el Juego de opción de la carta -> Nota de Pantalla

Llena que en el Multitrack Editor, modo de pantalla llena es sólo activado para la
ventana separada.

Recuerda también que en el Editor de Clip, vídeo playback plugins deviene activo
cuándo playback es en pantalla llena, modo de ventana separada. El mismo es cierto
en Multitrack Modo.

hay sólo uno escribe de modo de bucle disponible en el Multitrack Editor - continuo
looping.

Para activar modo de bucle:

• prensa el 'o' llave una vez

• o seleccionar el Juego de opción de la carta -> Bucle Continuamente

• o clic una vez en el icono de bucle en el toolbar


de VIDAS 11.4.Botón de 6 bucles en Multitrack toolbar

a deactivate modo de bucle:

• prensa el 'o' llave una vez

• o deselect el Juego de opción de la carta -> Bucle Continuamente

• o clic una vez en el icono de bucle en el toolbar

El audio puede ser muted también:

a mudo el audio:

• prensa el 'z' llave una vez

• o seleccionar el Juego de opción de la carta -> Mudo

• o clic una vez en el icono mudo en el toolbar

de VIDAS 11.4.7 – el botón mudo en Multitrack

a un-mudo el audio:

• prensa el 'z' llave una vez

• o deselect el Juego de opción de la carta -> Mudo

• o clic una vez en el icono mudo en el toolbar


Nota: si estás utilizando jack audio playback, el volumen de audio global puede ser
ajustado del toolbar audio slider.

de VIDAS. 11.4.8 – volumen slider en Multitrack


11.5 Añadiendo pistas
puedes añadir cualquier número de pistas de vídeo te gusta al Multitrack Editor. Las
pistas pueden ser añadidas cualquiera delante del actual stack, o en el trasero del
actual stack.

Cada pista de vídeo también puede tener una pista de audio asociada. No es
actualmente posible de añadir adicional standalone respaldando pistas de audio.

Para añadir una pista de vídeo en el trasero del stack:

• uso las Pistas de opción de la carta -> Añadir Pista de Vídeo en Rea

• uso la combinación clave ctrl-cambio-t

para añadir una pista de vídeo delante del stack:

• uso las Pistas de opción de la carta -> Añadir Pista de Vídeo en Frente

• utiliza la combinación clave ctrl-t

Consejo: si aumentas el número de pistas de vídeo, puedes desear


aumentar el número de pistas qué es visible en la pantalla. Puedes ajustar
este utilizando la Vista de opción de la carta -> Pistas Máximas para Mostrar,
e introduciendo un valor nuevo.
11.6 Seleccionando y trimming el
audio y el vídeo Te
bloqueas puede seleccionar un bloque por doble clicking encima lo. Si tú esto, verás el
bloque consigue marcado con un "X" y el polymorph la ventana introducirá en/fuera
modo.

de VIDAS. 11.6.1 - doble clicking en un bloque lo selecciona

de VIDAS. 11.6.2 - el polymorph ventana en en/fuera modo

Con el polymorph ventana en en/fuera modo, el inicio y puntos de fin pueden ser
ajustados utilizando el espín-botones. El inicio y puntos de fin pueden ser anclados en
cronometra utilizar el inicio de Ancla y botones de fin de la Ancla.

Si seleccionas un bloque de audio en el Audio de Respaldar pista, hay algunos las


opciones adicionales disponibles. Puedes poner el playback velocidad de 0.5
(velocidad media) hasta 2.0 (velocidad doble). También puedes invertir el audio
playback por comprobar el Inverso playback caja.
11.7 Partiendo y eliminando bloques
Un bloque puede ser partido a dos partes, para habilitar cada parte para ser
manipulada independientemente. Es también posible de partir bloques en varias pistas
de vídeo en el mismo punto en tiempo.

Para partir un bloque solo, tampoco:

• clic correcto dentro del bloque y seleccionar el bloque Partido aquí

• utiliza las Pistas de opción de la carta -> pista actual Partida en prensa

• de cursor la combinación clave ctrl-s

para partir varias pistas de vídeo en el mismo punto en tiempo, seleccionar las pistas
que te quiere partido, y entonces activar las Pistas de opción de la carta -> Partir
pistas de vídeo seleccionado.

Nota: para seleccionar una pista de vídeo, clic en la caja de control en el muy dejado
de la pista (ve también sección 11.10).

Para eliminar un bloque, puedes tampoco:

• clic correcto en el bloque, y seleccionar Eliminar este bloque

• selecciona un bloque por doble clicking encima lo, entonces utilizar la opción de
carta Edita -> Eliminar el bloque seleccionado

• selecciona un bloque por doble clicking encima lo, y entonces pulsando ctrl-d

Eliminando y partiendo de los bloques pueden ser deshechos/rehechos del Editar


carta.

Nota: si eliminas un bloque de vídeo, y tiene un bloque de audio asociado con él, el
bloque de audio también será eliminado. Aun así, el revés no es cierto - es posible de
eliminar un bloque de audio sin eliminar su bloque de vídeo asociado.
11.8 modo de Ratón, chasquea el
modo y el audio insertan modo
El Multitrack el editor tiene varios Modos de Ratón. Actualmente hay justo dos modos,
Movimiento y Seleccionar .

La mayoría de este manual supone que el modo de ratón está puesto para Mover.

Selecciona el modo está utilizado para seleccionar una región, y está descrito en
sección 11.10.

de VIDAS. 11.8.1 modo de ratón,


chasquea modo e insertar el
modo

Chasquea el modo está utilizado


para colocar bloques en el timeline.
Si el Chasquear el modo es fuera, los
bloques están colocados en la
posición están arrastrados a, y
quedar en aquella posición.

Si Chasquea el modo es encima,


entonces muy nuevamente insertado
o movió los bloques están movidos tan lejos a la izquierda (inicio del timeline) como
posible, cerrando cualesquier vacíos.

También, si un bloque está eliminado, todo bloquea a la derecha en aquella pista está
movida a la izquierda, cerrando el vacío nuevamente formado.

El audio Inserta el modo sólo aparece si seleccionaste para tener una pista de audio
por pista de vídeo. Hay dos encuadres, Inserta con audio, e Insertar sin audio. Cuando
los nombres sugieren, estas opciones afectan insertar de clips en el timeline (ve
sección 11.3).

Puedes cambiar Modo de Ratón, Chasquea el modo y El Audio Insertan Modo por
clicking en la gota abajo lista y seleccionando un valor nuevo.
11.9 bloques Emotivos
los bloques pueden ser movidos alrededor del timeline sencillamente por clicking
encima les y arrastrándoles a una posición nueva.

Modo de ratón tiene que ser en modo de Movimiento para este para tener éxito (ve
sección 11.8).

El Chasquear el modo afecta el posicionamiento final del bloque (ve sección 11.8).

Moviendo de los bloques pueden ser deshechos/rehechos del Editar carta.

Si el bloque tiene los efectos asociaron con él, estos pueden ser movidos con el
bloque. Para impedir esto, puedes deselect Efectos -> efectos de Movimiento con
bloques.
11.10 Regiones
Una región en VIDAS, está definido cuando 1 o más pistas de vídeo y un periodo de
tiempo. Las regiones pueden ser utilizadas como la base para muchos de las
operaciones en VIDAS.

Hay un par de maneras de crear una región en el Multitrack Editor. Una manera es
para seleccionar algunas pistas de vídeo, y seleccionar una región de tiempo; la otra
manera es para cambiar a Modo de Ratón selecciona, y seleccionar una región con el
ratón.

Para seleccionar y deselect pistas de vídeo:

• puedes seleccionar/deselect una pista de vídeo individual por clicking en el


control pequeño-cajas en el muy dejados del timeline área.

de VIDAS. 11.10.1 - tres pistas de vídeo Te

• seleccionasteis puede seleccionar/deselect la pista actual con Selección de


opción de la carta -> Seleccionar Pista Actual, o con la combinación clave ctrl-
espacial.

• Puedes seleccionar todas pistas de vídeo con la Selección de opción de la carta


-> Seleccionar todo vídeo Te

• sigues puede deselect todas pistas de vídeo con la Selección de opción de la


carta -> Seleccionar ninguno pistas de vídeo
para seleccionar un periodo de tiempo, tampoco:

• A la izquierda, clic correcto o medio en el más bajo timeline el área

• Ajusta el espín de selección-botones (inicio y segundos de fin)

• Selecciona todo tiempo con la Selección de opción de la carta -> Seleccionar


todo tiempo, o la combinación clave ctrl-un

• Seleccionar de cero tiempo con la Selección de opción de la carta -> Seleccionar


de cero tiempos

• Seleccionan hasta el final tiempo con la Selección de opción de la carta ->


Seleccionar para acabar los tiempos

• Seleccionan del actuales playback la posición que utiliza la Selección de opción


de la carta -> Copia -> Timecode a inicio de región

• Selecciona al actual playback la posición que utiliza la Selección de opción de la


carta -> Copia -> Timecode a fin de región

Si pusiste el Modo de Ratón a Modo de Ratón Selecciona, entonces puedes clic y


arrastrar en el timeline área para crear una selección. Nota que con este método, sólo
puedes seleccionar pistas de vídeo adyacente.

Si deseas seleccionar un tiempo-el periodo que corresponde al overlap entre el


seleccionó pistas, esto puede ser hecho por seleccionar la Selección de opción de la
carta -> Chasquear a overlap. Esta opción puede ser muy útil de hecho.

Nota: el audio de respaldar la pista no puede ser seleccionada. Hay herramientas


separadas para tratar esta pista.
11.11 Insertando y sacando vacíos
Un vacío es un espacio en una pista de vídeo sin vídeo o audio. Si hay un no-pista de
espacio detrás de este, vídeo y audio de detrás será visible. Otherwise El espectador
verá marcos negros y oír silencio (o sólo el audio de respaldar).

Puedes desear crear un vacío para insertar otro material a la pista.

Puedes insertar un vacío en la pista actual sobre el tiempo seleccionado por activar
las Pistas de opción de la carta -> Insertar vacío en pista actual/tiempo seleccionado.

Puedes insertar un vacío en todo seleccionó pistas sobre el tiempo seleccionado por
activar las Pistas de opción de la carta -> Insertar vacío en seleccionó tiempo/de
pistas.

Los bloques serán partidos como necesarios y entonces movidos a la derecha.

Los efectos están movidos con bloques donde posibles, exceptúa si los Efectos de
opción de la carta -> efectos de Movimiento con bloques, es deselected.

Los vacíos también pueden ser sacados, por ejemplo, si eliminaste un bloque y tú
quieren cerrar el vacío.

Para sacar el primero (más temprano) vacío(s) en una región, uso las Pistas de opción
de la carta -> primer vacío Cercano(s) en seleccionó tiempo/de pistas, o utilizar la
combinación clave ctrl-f.

Para sacar todos los vacíos en una región, uso las Pistas de opción de la carta ->
Cercanos todos los vacíos en seleccionó tiempo/de pistas, o utilizar la combinación
clave ctrl-g.

Para sacar parte de un vacío, tendrías que hacer seguro que los inicios de tiempo
seleccionados o fines en el punto de extracción (ve higo. 11.11.1).
de VIDAS 11.11.1 – cerrando Nota

de vacíos: inserción de Vacío y la extracción pueden ser deshechas y rehechos del


Editar carta.
11.12 Aplicando los efectos a bloques
y Efectos
de regiones pueden ser aplicados a un bloque o a una región.

Si tienes un bloque seleccionó, puedes ir a la carta de efectos, y seleccionar "aplicar


efecto para bloquear".

Si tienes una región seleccionó los efectos disponibles depender de el número de


pistas en la región. Para dos pistas, puedes aplicar una transición (ve sección 11.14).
Para dos o más pistas, puedes aplicar un compositor (ve sección 11.16). Para una pista
sola, puedes aplicar un efecto. Uso los Efectos de opción de la carta -> Aplicar efecto
para bloquear.

Para este ejemplo, escogeremos el "efecto de corrección" del color porque tiene
parámetros. Algunos efectos no tienen parámetros, y son sencillamente aplicados al
bloque o región tan-es.

Cuándo te clic en un efecto con parámetros, el polymorph la ventana irá a modo de


efecto. También verás un preestreno de marco en la ventana de preestreno.

Los efectos pueden ser aplicados a un bloque o a una región.

Si tienes un bloque seleccionó, puedes ir a la carta de efectos, y seleccionar "aplicar


efecto para bloquear".

Si tienes una región seleccionó los efectos disponibles depender de el número de


pistas en la región. Para dos pistas, puedes aplicar una transición (ve sección 11.14).
Para dos o más
pistas, puedes
aplicar un
compositor (ve
sección 11.16).
Para una pista sola,
puedes aplicar un
efecto. Uso los
Efectos de opción
de la carta ->
Aplicar efecto para
bloquear.

Para este ejemplo,


escogeremos el
"efecto de
corrección" del
color porque tiene parámetros. Algunos efectos no tienen parámetros, y son
sencillamente aplicados al bloque o región tan-es.
Cuándo te clic en un efecto con parámetros, el polymorph la ventana irá a modo de
efecto. También verás un preestreno de marco en la ventana de preestreno.

Los efectos pueden ser aplicados a un bloque o a una región.

Si tienes un bloque seleccionó, puedes ir a la carta de efectos, y seleccionar "aplicar


efecto para bloquear".

Si tienes una región seleccionó los efectos disponibles depender de el número de


pistas en la región. Para dos pistas, puedes aplicar una transición (ve sección 11.14).
Para dos o más pistas, puedes aplicar un compositor (ve sección 11.16). Para una pista
sola, puedes aplicar un efecto. Uso los Efectos de opción de la carta -> Aplicar efecto
para bloquear.

Para este ejemplo, escogeremos el "efecto de corrección" del color porque tiene
parámetros. Algunos efectos no tienen parámetros, y son sencillamente aplicados al
bloque o región tan-es.

Cuándo te clic en un efecto con parámetros, el polymorph la ventana irá a modo de


efecto. También verás un preestreno de marco en la ventana de preestreno.

de VIDAS. 11.12.1 - después de aplicar un efecto con parámetros (corrección


de color)

Nosotros primero puestos los parámetros en el inicio del efecto. Podemos hacer este
por correderos el pequeños slider bajo los parámetros completamente a la izquierda.
de VIDAS. 11.12.2 - deslizamiento el
tiempo slider a la izquierda

Consejo: aviso el timeline movimientos de cursor con el tiempo de efecto


slider. También puedes mover el timeline cursor qué voluntad puso el tiempo
de efecto slider.

Entonces puedes ajustar los parámetros, y preestreno les por pulsar el botón de
Preestreno de Marco de Espectáculo. (Generalmente, el botón de preestreno del Coche
está comprobado, y no es necesario a de hecho clic el botón de Preestreno más).
de VIDAS. 11.12.3 - poniendo el parámetro valora

de VIDAS. 11.12.4 - el botón de preestreno de marco de Espectáculo y


preestreno de Coche

Cuándo eres feliz con los valores, puedes pulsar el Aplicar botón.

de VIDAS. 11.12.5 - Aplicar

Nosotros ahora puestos los valores al final del efecto. Deslizamiento el tiempo de
efecto slider completamente a la derecha. Entonces ajustar y preestreno los valores, y
cuándo eres clic feliz encima Aplicar otra vez.

Si ahora mueves el slider espalda y adelante, tendrías que ver los valores que cambian
smoothly. Esto es sabido cuando "interpolación de parámetro". Puedes preestreno en
cualquier punto por pulsar preestreno de marco del Espectáculo (o si preestreno de
Coche está comprobado, automáticamente verás el preestreno).

Consejo: Cada vez te el clic Aplica, las VIDAS añade o altera un Parámetro
de existir Nodo de Cambio en el timeline. En efecto editar modo, hay dos
botones bajo los parámetros de efecto cuál te dejará para mover
instantáneamente entre estos Nodos. Estos botones son labeled Prev. Nodo
y nodo Próximo. Clicking En estos botones moverán tú entre existir Nodos
de Cambio del Parámetro para el ser de efecto editaron. En estos Nodos
puedes alterar el valor de parámetro(s), o puedes eliminar el Nodo por pulsar
Del. Nodo.

Si ahora juegas atrás el diseño (por pulsar 'p'), tendrías que ver los colores en el clip
que cambia !

Puedes añadir más efectos arriba de la corrección de color si deseas.

Puedes deshacer y rehacer añadiendo de los efectos que utilizan el Editar carta.
11.13 efectos de Audio
efectos de Audio pueden ser aplicados a bloques de audio, cualesquier bloques en el
audio de respaldar pista, o el audio sujetó a pistas de vídeo. Hay uno efecto de audio
global, esto es el volumen de audio y efecto de cacerola. En el tiempo de escribir este
es el efecto de audio único en VIDAS, aun así en futuros puede haber más.

El volumen de audio y efecto de cacerola deja para sintonía buena del volumen y
cacerola de audio en cada punto en tiempo. Un control más tosco es disponible a
través del audio mixer (ve sección 11.19), pero esto no puede ser variado con tiempo
y no puede poner la cacerola.

Cuándo utilizando el volumen de audio y efecto de cacerola, pueda ser


extremadamente útil de visualizar los parámetros del efecto. Esto puede ser hecho
vía la Vista de opción de la carta -> Parámetros de Audio. Aquí puedes seleccionar o
deselect parámetros individuales para ver. Si seleccionas un parámetro para ver, sea
mostrado como línea horizontal en el timeline.

Ajustando los parámetros de volumen de audio y la cacerola es muy similares a ajustar


los parámetros de un efecto de vídeo. Primero necesitamos editar el efecto, esto está
hecho en varias maneras, tampoco:

• clic Correcto en un bloque de audio, y seleccionar Ajustar volumen de audio y


cacerola

• clic Correcto en un bloque de audio y seleccionar efectos de Lista aquí, entonces


clic doble en el volumen de audio y tabulador de cacerola en el polymorph
ventana, o clic correcto encima lo y seleccionar la vista/Edita este efecto.

• Clic dentro de un bloque de audio, entonces activar la Vista de opción de la carta


-> Efectos en actuales, o pulsar el 'e' llave, entonces clic doble en el volumen de
audio y tabulador de cacerola en el polymorph ventana, o clic correcto encima lo
y seleccionar la vista/Edita este efecto.

Tan con un efecto de vídeo, el tiempo slider puede soler seleccionar un punto en
tiempo (ve sección 11.12).

Después de seleccionar un punto en tiempo, puedes poner valores para volumen y/o
cacerola en aquel punto, y entonces el clic encima Aplica para almacenar aquellos
valores.

Nota que los parámetros para efectos de audio son interpolated en la misma manera
como parámetros para efectos de vídeo.

En una manera similar a vídeo te efectúas puede saltar entre nodos de parámetro para
editar o eliminarles (ve sección 11.12).
11.14 transiciones de Vídeo
para aplicar una transición, primero crear una región con dos pistas (ve sección 11.10).

Entonces ir a los Efectos de opción de la carta -> Aplicar efecto a región, y escoger
"transiciones". En este ejemplo, utilizaremos el "chroma blend" transición. Esto nos
dará una cruz-apagarse entre las dos pistas.

Cuándo seleccionas "chroma blend", el polymorph la ventana irá a modo de efecto.


Tan encima con un efecto, deslizamiento el tiempo slider completamente a la
izquierda. Entonces seleccionar "transición
en". Transición en medios que todo de la
capa de frente (en este caso, capa 0) es
visible.

de VIDAS. 11.14.1 - poniendo la transición en en la Prensa

de inicio Aplica para almacenar los valores de parámetro.

Ahora, deslizamiento el tiempo de efecto slider a la derecha, y clic encima Transición


Fuera. La transición Fuera significa que todo de la capa trasera (en este caso, capa
1) es visible. Entonces el clic encima Aplica otra vez.
de VIDAS. 11.14.2 - poniendo la transición al final

Ahora cuándo juegas atrás, verás marcos smoothly transición de capa 0 a capa 1.

Algunas transiciones de vídeo también dejan crossfading de audio, proporcionado por-


audio de pista está habilitado. Estos son transiciones de Vídeo/de Audio marcadas
en las opciones de carta, es decir
Efectúa -> Aplicar efecto a región -> Transiciones -> transiciones/de vídeo del Audio.

Para estos tipos de transiciones, verás un extra checkbutton, Crossfade audio.


Comprobando este botón causará el audio a crossfade en proporción a la transición de
vídeo. Por ejemplo si te apagas (chroma blend) de la capa de frente a la capa detrás,
comprobando este botón causará el audio para apagarse de la capa de frente a la
capa próxima.

de VIDAS 11.4.3 – crossfade Nota

de audio: el audio de respaldar el nivel no es afectado por este.


Aplicando las transiciones pueden ser deshechas/rehechos del Editar carta.
11.15 Audio Audio de transiciones
únicas las transiciones únicas pueden soler traer audio de una capa detrás de la capa
de frente de modo que es audible. Si quieres cruz-apagarse el vídeo también, uso una
transición/de Vídeo del Audio (ve sección 11.14).

Para utilizar un audio transición única, primero seleccionar dos pistas y el periodo de
tiempo quieres aplicar la transición encima.

Entonces activar los Efectos de opción de la carta -> Aplicar efecto a región ->
Transiciones -> Audio Transiciones únicas y seleccionar una transición quieres uso (en
el tiempo de escribir hay sólo una opción).

Ahora tan con cualquier otra transición/de efecto, puedes poner el tiempo slider a una
posición de tiempo por ejemplo el inicio, puesto el parámetro(s) cuando deseas,
entonces el clic Aplica. Ahora puedes poner el tiempo slider a otro valor (por ejemplo,
el fin) , puesto los parámetros, y el clic Aplica otra vez.

Aplicando un audio la transición única puede ser deshecha/rehecho vía el Editar carta.

Recuerda también que el volumen (y cacerola) de cada capa es también afectada por
cualquier audio efectúa aplicado (sección 11.13), y por el mixer nivel para aquella
capa (sección 11.19).

Transiciones de audio son sólo disponibles cuándo pista de audio por pista de vídeo
está habilitada (ve sección 11.1).
11.16 Compositor(s)

Un compositor toma cualquier número de entradas de vídeo y les mezcla abajo a una
pista sola. La producción es siempre en el frente-la mayoría de capa del compositor.

de VIDAS. 11.16.1 - VIDAS con 3 pistas de vídeo

Primero necesitas crear una región (ve sección 11.10) para aplicar nuestro compositor
a. Selecciona uno o más pistas, cualquiera por comprobar las cajas en el izquierdos, o
de la Selección de opción de la carta/Selecciona todas pistas de vídeo.
de VIDAS. 11.16.2 - tres pistas de vídeo seleccionaron

Ahora seleccionar una región de tiempo por arrastrar en el timeline encabezamiento.


Si Selección -> Chasquear a overlap es encima, sólo la región de overlap entre el
seleccionó las pistas serán seleccionadas.
de VIDAS. 11.16.3 - tres pistas seleccionadas y un periodo de tiempo

Ahora clic encima Efecto -> Aplicar efecto a región, y elegir "compositors". Seleccionar
el compositor deseas aplicar. El polymorph la ventana irá a modo de efecto.

En este ejemplo utilizaremos el compositor nombró "compositor".

Ahora, necesitas saber donde el timeline el cursor es, y también qué pista es la pista
"actual ".

Si miras en higo. 11.16.3, la pista actual es capa 2 (porque es un color diferente al


resto). Puedes cambiar la pista actual por clicking en su etiqueta, o por utilizar ctrl-
arriba y ctrl-abajo.

• Para aprender cómo para poner el timeline posición, ve sección 11.4.

Dependiendo de si hay un presente de marco o no en la pista de tiempo/actual te


coordinas verá uno de dos cosas. Si un marco es presente, verás encuadres de marco
(x inicio, y inicio, x escala, y escala, alfa) y el control de color de fondo. Si ningún
marco es presente, verás sólo el control de color de fondo. Prueba mover el timeline
cursor y pista actual así que puedes ver ambas cosas.

de VIDAS. 11.16.4 - compositor parámetros cuándo ningún marco es


presente
de VIDAS. 11.16.5 - compositor parámetros cuándo un marco es presente

Si un marco es presente, puedes también clic y arrastrar en la ventana de preestreno


para poner el xstart, ystart, xscale, yscale y valores de alfa.

de VIDAS. 11.16.Ventana de 6 preestrenos puede soler "sorteo encima" para


el compositor

el clic encima Aplica cuándo quieres puesto algunos valores.

Nota: parámetros xstart, ystart, xend, y yend y alfa, está puesto independientemente
para cada pista en el compositor. Clicking Encima Aplicar sólo pone estos parámetros
para la pista actual.

Los parámetros de compositors es también interpolated, tan por ejemplo, puedes


hacer un movimiento de clip alrededor, o apagarse en y fuera.

Aplicando un compositor puede ser deshecho/rehecho del Editar carta.


11.17 Listado, eliminando, editando los efectos que
Listan, eliminando y editando de los efectos en un punto particular está hecho en la
manera siguiente.

Primero, puedes listar los efectos en un punto particular (pista actual/timeline


posición) por cualquier:

• correcto clicking en un punto en el timeline y seleccionando efectos de Lista


aquí.

• Marca la pista quieres actual, seleccionar un punto en el timeline, y activar Vista


de opción de la carta -> Efectos en marca

• actual la pista quieres actual, seleccionar un punto en el timeline, y pulsar el 'e'


llave

La lista de los efectos en el punto escogido aparecerán en el polymorph ventana.

Una vez te ha listado los efectos, suponiendo hay algunos efectos, puedes hacer uno
de ellos actuales. Esto está hecho sencillamente clicking en el nombre de efecto en el
polymorph ventana.

Si un efecto está seleccionado, pueda ser movido, editado, o eliminó. Efectos emotivos
en el stack está hablado en sección 11.18.

de VIDAS. 11.17.1 – la lista de efectos


para eliminar un efecto, tampoco:

• clic correcto en el nombre de efecto en el polymorph ventana, y seleccionar


Eliminar este efecto

• o, clic una vez en el nombre de efecto para seleccionarlo, entonces activar los
Efectos de opción de la carta -> Eliminar efecto seleccionado

Si un efecto está eliminado, esto puede ser deshecho y rehecho del Editar carta.

Para ver o editar un efecto, tampoco:

• clic doble en el nombre de efecto en el polymorph ventana

• o, clic correcto en el nombre de efecto en el polymorph ventana, y seleccionar la


vista/Edita este efecto

• o, clic una vez en el nombre de efecto para seleccionarlo, entonces activar los
Efectos de opción de la carta -> Ver/Editar el efecto seleccionado

Recuerda, si editas un efecto y cambiar cualquiera de sus valores de parámetro,


necesitas al clic encima Solicita aquellos cambios para ser grabados. Ve también
sección 11.12.
11.18 mapas de Filtro
En terminología de VIDAS, un Mapa de Filtro es un punto en el timeline donde el
orden en qué efectos está aplicado está definido. Así si quieres cambiar este orden,
necesitas hacer el cambio en un mapa de filtro.

Nota que cualquier tiempo un efecto está cambiado encima o fuera en el timeline, las
VIDAS añade o actualiza un mapa de filtro en aquel punto.

Si quieres cambiar el orden de efectos, primero necesitas listar los efectos en un punto
donde quieres cambiar el orden (ve sección 11.17).

Entonces
clic en el
botón
marcado
Prev
mapa de
filtro.
Esto te
tomará al
mapa de
filtro con

anterioridad a o en el punto seleccionado. Puedes desear volver más allá por pulsar
Prev mapa de filtro otra vez. Si te pasas de la raya atrás, puedes pulsar el botón mapa
de filtro Próximo marcado para ir delanteros en cronometrar al mapa de filtro próximo.

Una vez te ha encontrado la posición de mapa de filtro correcta (básicamente, el punto


de inicio donde quieres cambiar el orden de) entonces en la lista de efecto en el
polymorph ventana, puedes clic en el nombre de efecto que te deseo de mover, para
seleccionarlo.

Luego, clic en cualquier el Insertar antes de que o Insertar después de que botón, y
entonces en un segundo efecto. El primer efecto seleccionado será movido antes de
que o después del segundo efecto seleccionado.

de VIDAS 11.18.1
– seleccionando
un efecto en las
VIDAS de mapa

del filtro intentará


para preservar este
orden en todos
mapas de filtro para
mientras ambos
efectos son activos. Por tanto, tú generalmente necesidad única para hacer el cambio
en el primer mapa de filtro, a no ser que quieres cambiar el orden otra vez.

Cambiando el orden de efectos puede ser deshecho y rehecho del Editar carta.
11.19
canal
de
Audio

controla
El Multitrack el editor tiene un nivel de audio sencillo mixer. Puedes introducir el audio
mixer por clicking en el Audio mixer botón, o por pulsar crl-m.
de VIDAS 11.19.1 – el Multitrack audio mixer

En el audio mixer, puedes ajustar los niveles de la pista de respaldar (si presente), y el
audio para cada capa.

Puedes ajustar los niveles de volumen de cada capa independientemente por emotivo
el sliders arriba o abajo.

Hay dos botones de control cuáles pueden ser puestos o unset.

Audio de capa de la pandilla causa todo de la capa (i.e. no respaldando pista) audio
para ser puesto al mismo nivel.

Invert Respaldando audio y volúmenes de capa - esto sólo puede ser puesto si audio
de capa de la pandilla está activado. Con este conjunto, aumentando audio de capa
disminución la pista de respaldar nivel de audio, y vicio-versa. Esto está hecho de tal
manera que siempre añadirán hasta 1.0 si es posible. De este modo, puedes levantar
o bajar el volumen de la pista de respaldar pariente al audio de capa, en teoría sin
causar clipping (overdrive) de los niveles de audio.

Hay dos botones en el fondo del mixer, valores de Reinicialización - este botón
reinicialización los valores atrás a dónde eran cuándo el mixer estuvo abierto, y
Cercano mixer, el cual te regresará al Multitrack ventana de Editor. La combinación
clave ctrl-m también cerrará el mixer ventana.
11.20 Marcando el timeline
Durante playback en Multitrack modo, puedes marcar el timeline por pulsar el soy'
llave. Esto dejará una línea pequeña en el timeline. Esto puede ser útil si quieres notar
la posición en tiempo de acontecimientos seguros, por ejemplo cambios dramáticos en
la música de fondo, cambios en diálogo y tan encima.

Después puedes colocar el timeline puntero cerca la marca.

de VIDAS. 11.20.1 – haciendo vuestra marca en el Multitrack timeline

para aclarar todas las marcas del timeline, uso la opción de carta Edita -> marcas
Claras de timeline.
11.21 Ahorro, cargando y eliminando
diseños
Si has creado un diseño en el timeline que te gustaría mantener, para continuar
trabajando en más tardío, puedes hacer tan por activar el Archivo de opción de la
carta -> Salvar diseño cuando. Está recomendado que salvas vuestros diseños en el
directorio definido - que VIDAS de manera sabrán para mantenerlo tan la parte del clip
Puso.

Cuándo salvando un diseño, puedes escoger si o no para aplicar el mismo ancho,


altura y valores de audio cuándo el diseño está cargado (esto también depende de los
encuadres de carga, ve abajo). Si quieres esto, entonces seleccionar la opción de carta
Edita -> Retener ancho, altura y valores de audio en salvó diseños.

Nota que el marco-el índice para un diseño es siempre fijado a toda costa de
cualesquier encuadres.

Puedes reload un diseño que utiliza el Archivo de opción de la carta -> diseño de
Carga, y entonces seleccionando un diseño para cargar. Si hay un diseño actual ya en
el timeline, serás incitado para Salvar el diseño actual, lo Seca, o Cancelar.

Si el diseño nuevo estuvo salvado con ancho, altura y valores de audio, estos valores
serán utilizados, a no ser que el Archivo de opción de la carta -> Ignorar altura de
ancho y valores de audio de diseños cargados, está seleccionado.

Una vez el diseño está cargado, sea comprobado para errores - por ejemplo perdiendo
clips o marcos, y si cualquiera tales errores están encontrados, serán corregidos en
tanto como es posible. En el caso de errores qué está corregido, serás preguntado si
quieres overwrite el diseño en el disco con la versión corregida.

El diseño entonces será mostrado en el timeline.

Los diseños pueden ser secados o eliminados en la manera siguiente: cualquier salida
de Multitrack modo (ve sección 11.23), o activar el Archivo de opción de la carta -> la
toallita húmeda/Elimina diseño. Si el diseño no ha sido salvado te será dado la opción
para salvarlo, o para secar él del timeline. Si el diseño era anteriormente cargado de o
salvado a disco, serás dado la opción para secar él del timeline, o eliminarlo
completamente del disco.

Nota: secando o eliminando un diseño no puede ser deshecho, así que amonestación
de ejercicio cuándo utilizando esta opción.
11.22 Rendering
Rendering un diseño está hecho vía la opción de carta Render -> Render todo a clip
nuevo.

Si tú deselect Render -> Render audio, el vídeo único será rendered.

Si tú deselect Render -> Render vídeo, el audio único será rendered.

(No es posible de tener ambos encuadres deselected inmediatamente !)

Rendering, resizing, resampling y aplicando los efectos son todos hechos en uno pasa.

El resultado del rendering será un clip nuevo.

Una vez rendering está acabado, tampoco saldrás Multitrack o verás el nuevamente
rendered el clip aparece en la lista de clip. Esta acción es dependant a un encuadre en
Preferencias (Herramientas -> Preferencias -> Salir multitrack modo después de
rendering).
11.23 Dejando multitrack el modo
Allí es varias maneras de salir Multitrack modo e introducir el Editor de Clip:

• Después de que rendering, si la Salida de Preferencia multitrack modo después


de rendering está puesto.

• Por activar la opción de carta Edita -> EDITOR de CLIP, o con la combinación
clave ctrl-e

• Por doble clicking en un thumbnail en el polymorph ventana para editar aquel


clip que

• Utiliza el Archivo de opción de la carta -> Dejar, o pulsando la combinación clave


ctrl-q

A salir Multitrack Modo, si hay un unsaved diseño en el timeline, serás incitado si para
salvar el diseño o no. hay también la opción a coche-reload el diseño cada vez
regresas a Multitrack modo. Esto es útil si estás trabajando en el mismo diseño cada
vez.

Si escoges salvar el diseño, serás incitado para un filename para salvarlo a. Para más
encima salvando los diseños ven sección 11.21.

Puedes escoger no para ser mostrado este aviso. El aviso también puede ser
deactivated/reactivado de Herramientas -> Preferencias -> Avisos.
11.24 avisos de Diseño
Cuándo un diseño está salvado, VIVE también salva un registro de qué clips estuvo
utilizado en aquel diseño, el número de marco más alto, índice de marco, la longitud
de cualquier audio utilizado y tan encima.

Entonces, si cualesquier cambios a estos clips están hechos en el Editor de Clip, las
VIDAS es conscientes que esto puede afectar uno o más diseños. Un aviso será
mostrado dejándote para abortar la operación o para ir adelante en todo caso.

de VIDAS. 11.24.Aviso de 1 Diseños ejemplo

Si escoges ir adelante, después de la operación, verás la ventana de Errores del


Diseño. Esta ventana informativa muestra una lista de todo afectó diseños. Puedes
escoger Cerrar o Aclarar esta ventana, o puedes escoger Eliminar el afectó diseños del
disco.
de VIDAS. 11.24.Errores de 2 diseños ventana (ejemplo)

Si hay mensajes en la ventana de Errores del Diseño, puedes ver estos en cualquier
tiempo por activar la opción de carta Info -> errores de diseño del Espectáculo.

En Preferencias, puedes escoger qué clases de acciones producirán un aviso:

(El siguiente es altamente recomendado, cuando ignorándoles puede dirigir a dato


desaparecido en diseños)

• Advierte si un clip utilizado en un diseño está a punto de ser cerrado.

• Advertir si los marcos utilizaron en un diseño está a punto de ser eliminado

• Advertir si el audio utilizado en un diseño está a punto de ser eliminado

El siguiente es opcional, por default no son puestos. Les puedes poner si quieres
asegurar que vuestros diseños nunca son alteró:
• Advertir si los marcos utilizaron en un diseño está a punto de ser cambiado

• Advertir si los marcos utilizaron en un diseño está a punto de alterado

• Advertir si el audio utilizado en un diseño está a punto de ser cambiado

• Advertir si el audio utilizado en un diseño está a punto de ser alterado


11.25 Regreso a Conjuntos y proyecto
salva/carga (diseños)
los diseños son considera la parte de un Clip Puso, aquello es, si un Clip Pone está
rebautizado, fusionado o eliminó los diseños están movidos, fusionados o eliminados
con el resto del Clip Pone (ve sección 4.7).

Los diseños son parte considerada también de un Proyecto, y está salvado y cargado
dentro de archivos de proyecto de las VIDAS. Ve sección 4.8.
11.26 acontecimiento de Vista lista
Cada diseño en VIDAS está almacenado internamente como una Lista de
Acontecimiento. Puedes ver la Lista de Acontecimiento por activar la Vista de opción
de la carta -> lista de Acontecimiento.

Desde entonces puede haber muchos miles de acontecimientos de marco, es posible


de filtrar estos fuera por deselecting la Vista de opción -> acontecimientos de MARCO
del Espectáculo.

Una Lista de Acontecimiento es también creada durante grabar, y es posible de ver


esta lista de acontecimiento también (ve sección 9).

Esta opción está utilizada principalmente para depurar propósitos, pero pueda ser de
interesar para ver cómo las VIDAS almacena un diseño internamente. Para detalles
más técnicos, ve sección 17.3.1.

En versiones futuras de VIDAS pueda ser posible de manipular la lista de


acontecimiento directamente. hay también planes para plugins cuál creará y alterar la
lista de acontecimiento en tiempo real (timeline plugins).
12 Adelantó características -
streaming
12.1 VIDAS a VIDAS streaming
las VIDAS pueden corriente su producción de vídeo a otra copia de las VIDAS que
utilizan VIDAS a VIDAS streaming. Desde este es todavía mucho un trabajo en
progreso, streaming del audio no es todavía posible.

En la máquina de fuente, uso la opción de carta de Editor de Clip Adelantada -> Enviar
Corriente de VIDAS a., o puedes seleccionar las vidas2corriente_de vidas playback
plugin en Preferencias, y clic en el botón Adelantado.

de VIDAS. 12.1.1 – las VIDAS A corriente de VIDAS envían


Introducir el marco deseado-índice, ancho, altura, colourspace, y la dirección de IP y
puerto de la máquina de objetivo.

Inicio con un marco bajo-índice y medida de marco pequeño.

La producción de vídeo será streamed siempre que las VIDAS está jugando atrás en
llenos-pantalla/ventana separada (fs) modo.

En la máquina de auricular, uso la opción de carta Adelantada -> Recibir corriente de


VIDAS de. Tampoco puedes escoger aceptar corrientes de cualquier anfitrión, o puedes
especificar un anfitrión por introducir su dirección de IP. También puedes especificar el
portuario de escuchar encima. Esto tiene que ser igual como el puerto de la máquina
de objetivo, encima.

de VIDAS. 12.1.2 – las VIDAS a corriente de VIDAS reciben

La máquina de auricular entonces espera para incoming marcos. Puedes necesitar


ajustar el recibir buffer medida cuando raíz, conseguirás un mensaje que informa tú de
este si es el caso .
Los marcos están enviados vía UDP. Puedes necesitar comprobar vuestro firewall
encuadres para hacer seguro la conexión no es bloqueada.

En la máquina de objetivo, el incoming la corriente está tratada como un generador.


Puedes aplicar más efectos a él, mezcla él con otros clips y grabarlo.
12.2 yuv4mpeg streaming
las VIDAS también pueden enviar y recibir corrientes en yuv4mpeg formato.
Actualmente corrientes de vídeo único se mantienen, pero en el futuro, audio
streaming será también posible.

Habilitador yuv4mpeg streaming el soporte en VIDAS es bastante sencillo. Si has


mjepgtools 1.6.2 o más alto instalado en compilar tiempo, VIDAS coche-detectar esto y
añadir yuv4mpeg (streaming) soporte. La mayoría de paquetes de VIDAS ahora han
yuv4mpeg el soporte construido en.

Si no, marca seguro te ha mjepgtools instalado y recompile VIDAS de fuente.

Streaming EN

hay varias cosas puedes hacer al llegar a este punto. Uno es para jugar y mezclar un
incoming corriente, si utilizando yuv4mpeg, por ejemplo de mplayer:

(los ejemplos suponen aquello VIVE el directorio provisional es /tmp/livestmp,


necesitarás ajustar esto como necesario.)

mkfifo /tmp/livestmp/Corriente.yuv
Vidas &
cd /tmp/livestmp
mplayer ­vo yuv4mpeg:archivo=/tmp/livestmp/corriente.yuv 
/Algún/archivo/de vídeo

En VIDAS, activar la opción de carta Adelantada -> Abierto incoming corriente; el


mplayer corriente ahora exhibición en la ventana de VIDAS. Presto, puedes añadir
efectos de vídeo a un realtime corriente de vídeo !

Streaming FUERA

Para outgoing corrientes, el proceso es también muy sencillo. Para yuv4mpeg, las
VIDAS crearán un yuv4mpeg corriente en stdout. Tan por ejemplo, puedes hacer:

vidas­exe | yuvplay

En VIDAS, va a Herramientas -> Preferencias -> Playback y seleccionar el


yuv4mpeg_corriente plugin. Si no ves el plugin, probablemente necesitas a recompile
VIDAS con mjpegtools soporte.

Una vez que el plugin ha sido seleccionado, siempre que juegas en VIDAS en pantalla
llena/ventana separada (fs) modo, la producción aparecerá en el yuvplayer ventana.

Otros ejemplos:
vidas­exe | yuvscaler ­M ANCHOS2STD | yuvplay 
vidas­exe | mpeg2enc ­o producción.avi

Theora streaming

Theora streaming Tendría que ser posible utilizando el yuv4mpeg corriente plugin. E.G:

vidas | ffmpeg2theora ­f yuv4mpeg ­un 0 ­v 5 ­o /dev/stdout ­ | oggfwd 
iccast2servidor 8000 contraseña((/)) /theora.ogg 
13 Adelantó características - control
de control/remoto
13.1 OSC VIDAS
de control implementa una versión estándar de Control de Sonido Abierto
(http://www.opensoundcontrol.org).

Las VIDAS actualmente apoya libOSC y sendOSC de ahí:

http://www.cnmat.berkeley.edu/opensoundcontrol/index.html

las VIDAS es ahora compiladas con OSC soporte por default. Hay varias maneras de
activarlo:

inicio arriba de VIDAS con, p. ej.:

vidas ­oscstart 9999

esto empezará arriba de VIDAS con OSC habilitados en UDP puerto 9999.

O, inicio arriba de VIDAS normalmente e ir a Herramientas -> Preferencias ->


Streaming. Aquí puedes decir VIDAS para abrir un UDP puerto (default 9999, esto
puede ser cambiado). También puedes preguntar VIDAS para abrir un OSC puerto cada
vez empieza arriba (haciendo esto puede ser un riesgo de seguridad , complacer
comprobar vuestro firewall encuadres primero !)

Entonces puedes enviar las órdenes que utilizan sendOSC. El autolives.pl el guión
muestra una implementación de muestra de él. Si utilizando el default puerto (9999)
puedes justo tipo: autolives.pl, para otros puertos, uso autolives.pl localhost <puerto>
donde <portuario> es el UDP número portuario en Preferencias.

Puedes también corrido autolives.pl de otro anfitrión utilizando autolives.pl <Nota>


<portuaria>

anfitriona: para versión de VIDAS 1.1.0 y más alto, máximo OSC la latencia es justo 4
ms. Para las versiones más viejas allí es una latencia máxima de hasta 40 ms para
OSC órdenes para ser procesadas en VIDAS. Aun así esto no es guaranteed -
dependiendo de lo que la aplicación está haciendo, las órdenes podrían ser procesadas
más lentos. Por ejemplo, cargando un marco grande de disco podría bloquear para
varios (incluso decenas de) milisegundos.

Ve sección 17.3.4 para una lista completa de OSC órdenes.


13.2 casquete de Estado
las VIDAS pueden abrir un casquete de estado atrás al controlador. Esto suele
información de regreso de VIDAS al controlador.

Ve sección 17.3.4 para una lista completa de OSC órdenes.


13.3 Notifica VIDAS
de casquete pueden abrir un notificar casquete atrás al cliente. Las VIDAS enviarán
mensajes sobre el notificar casquete cuándo los acontecimientos seguros pasan en
VIDAS, por ejemplo cuándo un clip nuevo está importado, o cuándo un marco de vídeo
(synch) está mostrado.

Un ejemplo de este es en el Perl herramientas de guión/monitorlives.pl cuál está


embarcado con VIDAS.

Ve sección 17.3.4 para una lista completa de OSC órdenes.

Sección 17.3.5 espectáculos una lista de notificó acontecimientos.


14 Adelantó características - el lote
que procesa
las VIDAS tiene una herramienta externa para procesamiento de modo del lote de
clips. Ahora mismo esto es de uso bastante limitado, pero fácilmente puede ser
expandido para hacerlo más potente.

El guión es en el directorio de herramientas embarcado con VIDAS, y está nombrado


batchproc.pl.

El guión procesará cada clip en vuelta y toma un solo OSC orden como su argumento.
Una orden de ejemplo podría ser:

/el clip/codifica_tan,<filename>,[<ancho>,<altura>]

(el ancho y la altura son opcionales.)

[Ve sección 17.3.4 para una lista completa de OSC órdenes].

El OSC la orden será aplicada a cada clip en vuelta.

Hay un parámetro qué toma el clip actual (índice) número, y esto es $clip.
Aquí es un ejemplo para hacer las cosas más claras:

herramientas/batchproc.pl "/el clip/codifica_tan,/archivo/de usuario/de 
la casa$clip.mpg"

Esto causaría cada clip cargado en girar para ser codificado utilizando el actualmente
seleccionado encoder/codec utilizando su medida de marco actual. El nombre del
primer clip sería /archivo/de usuario/de la casa1.mpg, el segundo /usuario/de
casa/archivo2.mpg, etc.

también puedes forzar la medida del clip codificado, por ejemplo:

herramientas/batchproc.pl "/el clip/codifica_tan,/archivo/de usuario/de 
la casa$clip.mpg,640,480"

forzaría un resize de cada clip a 640 x 480 antes de codificar.

Nota: dependiendo de el codec utilizó, no pueda ser posible de codificar en


exactamente la medida pidió, en qué caso la medida válida más cercana será
utilizada.
15 Adelantó características - RFX
herramienta de constructor
RFX es uno de los estándares desarrolló para VIDAS. Originalmente, esté para R
endered Efectos (FX) estándar. Conste de un guión para generar un plugin, y un
conjunto de parámetros y pistas de diseño para entrada de los parámetros para el
guión.

Esto ahora ha partido a dos partes - el RFX scripting la parte está utilizada para
rendered efectos, pero el RFX parámetros y parte de diseño probaron su utilidad y es
ahora utilizado para otros tipos de plugins; por ejemplo, el realtime plugins y el
encoder plugins ahora utilizar RFX parámetros y diseño.

El RFX la especificación está mostrada en sección 17.3.2.

Las VIDAS tiene un RFX herramienta de constructor, los cuales pueden soler la ayuda
crea o personalizar rendered efectos,transiciones,herramientas,utilidades y
generadores. Cualquiera del builtins puede ser copiado, así que puedes ver cómo
trabajan, o crear versiones hechas de encargo.

En la opción de carta Adelantada -> RFX Herramientas/de Efectos/Utilites, hay varios


sub-opciones

• prueba Nueva RFX Copia

• de guión RFX guión para probar

• Edita prueba RFX el guión

Selecciona whichever la opción es aplicable. En el caso de copia, puedes copiar


cualquier builtin, costumbre o guión de prueba.

Estado de guión

Allí es tres niveles de estado para RFX guiones en VIDAS:

• builtin : la fábrica suministró defaults. Estos pueden ser copiados para probar
pero no editado directamente.
• Prueba : guiones de prueba pueden ser creados y editados por el usuario. Una
vez editando es completo, guiones de prueba pueden ser promovidos a estado
Hecho de encargo.

• Hecho de encargo : los guiones hechos de encargo pueden ser importados y


exportó. Hay una sección en las VIDAS homepage con enlaces a Hechos de
encargo RFX guiones.

Los campos en el RFXbuilder la ventana

Escribe

El primer campo en las VIDAS rfxbuilder la ventana es tipo “”

RFX los guiones en VIDAS están divididos a tipos, aquellos tipos son actualmente:

• generadores
• de transiciones
• de herramientas
• de efectos
• las utilidades

Efectúa los efectos toman un marco de entrada a la vez y producto un marco de


producción. Los marcos no pueden ser resized, ni poder la paleta o tipo de imagen ser
alterado. Tienes que producir los marcos de producción en orden, y puedes no skip un
marco de producción. En VIDAS, un efecto está aplicado a una selección de un clip.

Herramientas de herramientas toman un marco de entrada a la vez y producto un


marco de producción. Los marcos pueden ser resized, pero la paleta o tipo de imagen
ser alterado. Si los marcos son resized, tienen que todo ser resized a la misma medida.
Tienes que producir los marcos de producción en orden, y puedes no skip un marco de
producción. En VIDAS, una herramienta está aplicada a un clip entero.

Transiciones de transiciones toman dos marcos de entrada a la vez y producto un


marco de producción. El marco de producción tiene que ser la misma medida como el
primer marco de entrada, y la paleta y tipo de imagen del marco de producción tiene
que emparejar que del marco de entrada. Tienes que producir los marcos de
producción en orden, y puedes no skip un marco de producción. En VIDAS, una
transición es entre el portapapeles y una selección de un clip.

Imágenes de producto de Generadores de generadores. Los marcos tienen que ser


todos de la misma medida y numerado en secuencia. Tendrías que producir los marcos
de producción en orden numérico.

Hay dos tipos de generador - generadores de lote y no-generadores de lote.


Generadores de lote producen todo de sus marcos en uno van, no-generadores de lote
utilizan el código de bucle para producir uno enmarca a la vez.

Utilidades de utilidades no procesan marcos, pero pueden aprovechar el sistema de


ventana del parámetro en VIDAS, y puede ejecutar código cuándo están activados.

Nombre

El campo próximo en el rfxbuilder la ventana es Nombre “”. Aquí introduces el nombre


de vuestro plugin. Nota que los espacios no son dejados en el nombre, y el nombre
tiene que ser único entre todo plugins cargado en el sistema de VIDAS particular.

Las VIDAS utiliza el campo de nombre cuándo generando un plugin del guión.

Las VIDAS también utiliza el campo de nombre para incitar para un default nombre de
guión: nombre.Versión

de guión

Esto toma un valor de entero para el plugin versión.

Autor

Freeform campo de autor. Obligatorio.

URL

Campo opcional para autor URL.


Texto de carta

Este campo es obligatorio. Aquí introduces una cuerda de texto cuál tendría que
identificar este guión plugin en una carta. Underscores Representa llaves
mnemotécnicas en el nombre.

Descripción de acción

Este campo no aparece para utilidades. Para otro RFX tipos, es obligatorio. Tenga que
describir activamente lo que el plugin está haciendo a dato/de marcos en el presente
continuo tenso, la primera palabra sólo capitalizada, p. ej. “el borde que detecta”. Este
texto aparece en varios sitios en las VIDAS GUI.

Marcos mínimos

Este campo no aparece para utilidades. Para otro RFX tipos, es obligatorio. Informa
VIVE qué es el número mínimo de marcos este efecto/de herramienta puede ser
aplicado a. Normalmente el default encuadre de 1 es aceptable.

El luego campo más importante depende de el RFX tipo. Para Utilidades es Gatillos ,
para todo otro RFX tipos es el código de Bucle .

Código de bucle

El objetivo del código de Bucle es para crear una imagen de producción. Cómo esta
imagen está creada queda a la discreción del plugin autor. Aun así, nota las reglas
describieron bajo la “entrada” de tipo encima.

El medio de conseguir este objetivo depende de el Código de Lengua. Actualmente en


VIDAS, el Código de Lengua está fijado como VIDAS-Perl. Aun así, otras lenguas
pueden ser utilizadas en el futuro desde el sistema es extendible vía plugin
constructores.

El siguiendo aun así, supone que vuestro plugin está escrito en VIDAS-Perl. Tendrías
que referir también a las VIDAS-Perl guía de usuario.

• Efectos : tienes que producir el marco de producción llamó $fuera. La medida de


imagen (ancho y altura) de $fuera tiene que emparejar la medida de imagen de
un marco llamó $en. Esta medida de imagen está dada como $ancho y $altura.
El tipo/de imagen de la paleta de $fuera tiene que emparejar que de $en, incluso
si la extensión de archivo de $fuera no empareja que de $en. No puedes cambiar
$en, pero lo puedes copiar para producir $fuera.

En el muy menos, vuestro plugin tendría que copiar $en a $fuera:


`cp $en $fuera`;

puedes utilizar cualquier orden en el sistema como efecto de marco, vía el Perl
“orden” de sistema.

• Herramientas : tienes que producir el marco de producción llamó $fuera. La


medida de imagen (ancho y altura) de $fuera puede variar, pero todo enmarca
procesado entre pre y correo (ve abajo) tiene que ser de la misma medida. La
medida de imagen de la entrada está dada como $ancho y $altura. Tendrías que
poner $nwidth y $nheight al ancho nuevo y altura de $fuera, incluso si tú no
resize. El tipo/de imagen de la paleta de $fuera tiene que emparejar que de $en,
incluso si la extensión de archivo de $fuera no empareja que de $en. No puedes
cambiar $en, pero lo puedes copiar para producir $fuera.

En el muy menos, vuestro plugin tendría que copiar $en a $fuera:

`cp $en $fuera`;

puedes utilizar cualquier orden en el sistema como efecto de marco, vía el Perl
“orden” de sistema.

• Transiciones : tienes que producir el marco de producción llamó $fuera. La


medida de imagen (ancho y altura) de $fuera tiene que emparejar la medida de
imagen de un marco llamó $en. Esta medida de imagen está dada como $ancho
y $altura. El tipo/de imagen de la paleta de $fuera tiene que emparejar que de
$en, incluso si la extensión de archivo de $fuera no empareja que de $en. No
puedes cambiar $en, pero lo puedes copiar para producir $fuera. Para
transiciones, habrá un marco adicional, $en2 con $ancho2 y $altura2.

En el muy menos, vuestro plugin tendría que copiar $en a $fuera:


`cp $en $fuera`;
puedes utilizar cualquier orden en el sistema como efecto de marco, vía el Perl
“orden” de sistema.

• Generadores :

generadores de modo del Lote tendrían que producir todos sus marcos
inmediatamente, estos tendrían que ser numerados en secuencia. No lote-
generadores de modo tienen que producir el marco de producción llamó
$fuera.

Algunas variables tienen que ser puestas para no-modo de lote. $El fin tiene que ser
puesto al número de marcos para ser generados. $nwidth Y $nheight tiene que ser
puesto a la medida de imagen. Opcionalmente (para lote y no-modo de lote): $fps
puede ser puesto al marco-índice. Si esto no es poner el anfitrión pondrá su marco
propio-índice.

Cualquier usuario settable los parámetros pueden ser definidos en la sección de


Parámetro del RFX ventana de constructor. Estos parámetros están referidos a en
VIDAS-Perl como $p0, $p1, $p2, etc. en el pre/código/de gatillo/de correo de bucle.

Cualesquier variables puestas en el código de Bucle es disponible en el código de


Correo también.

Pre Código

Este código está corrido antes del código de Bucle. En aquí puedes introducir cualquier
código cuál sólo tendría que ser hecho una vez para un bloque de procesamiento, p.
ej. inicializando valores, poniendo $nwidth y $nheight para una Herramienta.
Cualesquier variables puestas en el Pre el código es disponible en el código de Bucle y
en el código de Correo.

Código de correo

Este código está corrido después del código de Bucle. En aquí tendrías que sacar
cualquier provisional archiva cuál estuvo creado en el Pre o secciones de Bucle.
Parámetros

Esta sección suele definir el usuario parámetros cambiables cuál será utilizado en el
Pre/código/de Gatillo/de Correo de Bucle. Estos parámetros están referidos a en VIDAS-
Perl como $p0, $p1, $p2, etc. Para el tipo variable colRGB24, el parámetro está
partido, p. ej. $p0_rojo, $p0_verde, $p0_azul.

Aquí defines la etiqueta/de nombre, tipo, mínimo, máximo, y otros detalles para
aquellos parámetros.

Cuándo el RFX plugin está activado, el usuario será presentado con una ventana qué
les deja para introducir los valores de parámetro.

Los tipos de parámetro actualmente son:

• bool : booleano
• num : numérico (int o flotador)
• cuerda
• colRGB24 : rojo, verde y azul valora cada cual del cual gamas de 0 – 255
• lista de cuerda : el valor es un entero (0 índice basado en lista)

Los campos restantes varían depender de el tipo de parámetro.

El nombre/Etiqueta

Esto es el texto qué aparece luego a la entrada de parámetro en la ventana de


parámetro. Esto es un campo obligatorio para todos tipos de parámetro.

Uso de Grupo

del botón de un no-cero grupo de botón implica que sólo un parámetro en aquel grupo
(el parámetro activo) puede tomar su no-fuera valor. Fuera el valor está definido tan
cero para bool parámetros de tipo, default valor para todos otros tipos. Uno efectúa de
poner el grupo en VIDAS es para girar bool parámetros de tipo de botones de control a
botones radiofónicos. Normalmente esto puede quedar cuando 0.

Sitios decimales

Este campo sólo existe para num variables de tipo. El efecto es para hacer un
parámetro tampoco un entero (un valor de cero) o a un parámetro de punto flotante
(un no cero valor).
Default Valor

En VIDAS, esto es el valorar cuál está puesto cuándo el plugin es primero cargado.
Poniendo el valor en el init el gatillo también puesto el default (ve abajo). Para
variables de tipo colRGB24, hay separado default valores para rojos, verde y azul.

Valor mínimo

Este campo sólo aparece para parámetros de tipo num. Representa el valor mínimo del
parámetro. Nota que este valor puede ser alterado en el init gatillo (ve abajo).

Valor máximo

Este campo sólo aparece para parámetros de tipo num. Representa el valor máximo
del parámetro. Nota que este valor puede ser alterado en el init gatillo (ve abajo).

Longitud máxima

Este campo aparece sólo para parámetros de cuerda de tipo. Te dejas para poner una
longitud máxima para un parámetro de cuerda. Para VIDAS-perl, el máximo absoluto
es 1024 caracteres .

Pone default

Este botón aparece para parámetros de tipo de la cuerda sólo. Clicking Encima te
dejas para poner un default valor para el parámetro de cuerda. Cualquier texto
introdujo será truncado a la longitud de cuerda máxima (ve encima).

Listas de cuerda

Para listas_de cuerda, puedes introducir valores en líneas separadas. El default puede
ser seleccionado de la lista.

Ventana de parámetro Da pistas

Esta sección suele dar la interfaz (en este caso VIDAS), algunos da pistas
aproximadamente cómo para poner fuera de la ventana de parámetro.

Hay dos tipos de las pistas actualmente disponibles en VIDAS RFX constructor.

• El diseño
• especial

En VIDAS, el diseño define una fila horizontal dentro de una caja vertical de
parámetros. Los enlaces especiales juntos seguros de los parámetros con externos (a
RFX) widgets.

Hay 3 tipos de Especiales widgets actualmente definidos en VIDAS:

• aspecto
• framedraw
• transalign

Estos serán descritos con más detalle abajo. Primero miraremos en la palabra clave de
diseño.

Cada palabra clave de diseño está seguida por una fila de diseño. En VIDAS estas filas
de diseño están dibujadas en orden de superior a fondo. Cualesquier parámetros qué
no es en una fila de diseño está colocada bajo la última fila de diseño.

Una fila de diseño puede constar de:

hseparator

o una mezcla de posición

de parámetro (p. ej. p0) una etiqueta (p. ej. “etiqueta”) un espacio de espacio para
acolchar (llena) siguió por un repetir número (p. ej. llenar2). Si el número es 1 lo puede
ser omitido (p. ej. llenar).

Cada campo en la fila está separado por un “|”. Campo separators dentro cita está
ignorado.

Un ejemplo de una fila de diseño podría ser:

“ancho”|p0|llena|”X”|llena|”altura”|p1|

En VIDAS esto produciría una fila que parece:

un ancho “de etiqueta”; el primer parámetro; algunos acolchando; una etiqueta “X”;
más acolchando; una altura “de etiqueta”; el segundo parámetro

El resultado es undefined si intentas colocar un parámetro inexistente. Esto tendría


que ser evitado.
El primer parámetro es p0, el segundo, p1, etc.

Especial Widgets

Un especial widget puede soler parámetros de enlace juntos, posiblemente con valores
externos. En las VIDAS allí son actualmente 3 tipos de especiales widgets. Algunos
tipos tienen subtipos. Cada especial widget está explicado abajo. El formato para el
enlazó los parámetros es actualmente (por ejemplo si hay 4 enlazó parámetros):

0|1|2|3|

cuál enlazaría parámetros 0,1,2 y 3 a un especiales widget.

Aspecto de Tipo especial

Esto es un especial widget cuál enlaza junto dos num0 parámetros de tal manera que
la proporción entre los dos parámetros siempre serán igual como la proporción/de
altura del ancho del clip actual. Esta acción está controlada por un checkbutton. El
aspecto widget también puesto el default valores para estos dos parámetros al ancho
de clip actual y altura, tendrías que hacer seguro ambos enlazaron los parámetros son
de tipo num.

Tipo especial Framedraw

Esto es un especial widget cuál tiene subtipos. El número de enlazó parámetros, y la


manera están enlazados depende de el subtipo.
Nota: Si un parámetro enlazado es un flotador , entonces el valor representa una
proporción (p. ej. 1.0 = marco lleno ancho). Si un parámetro enlazado es un int
entonces el valor es en píxeles. En el caso último el anfitrión tendría que poner el valor
máximo como apropiado.

Framedraw Subtipo rectdemask

Este subtipo de framedraw los enlaces juntos cuatro num0 parámetros. Los
parámetros están enlazados de tal manera que representan fin/de inicio x/y valores
para un rectángulo desenmascarado, dibujado sobre un marco del clip actual. Si
cualesquiera de estos parámetros están cambiados, el rectángulo desenmascarado
también cambios. Este usbtype mínimo puesto también, máximo y default los valores
para los cuatro enlazaron parámetros.

Framedraw Subtipo multrect


Este subtipo de framedraw deja rectángulos múltiples para ser dibujados. Enlaza
cuatro parámetros numéricos. El params representa fin/de inicio x/y valores. Los
parámetros numéricos son multivalued, cada rectángulo está formado por el nth
valores de cada parámetro.

Framedraw Subtipo singlepoint

Enlaza dos parámetros. Representan un punto solo en los marcos. Esto puede ser
marcado por crosshairs, etc.

tipo Especial audiochannel

Enlaza 1 o más parámetros. Cualquier parámetro marcado con esto tendría que tener
1 valor por canal de audio. Por ejemplo pueda ser un nivel de volumen para un audio
mixer.

Tipo especial fileread

Enlaza 1 parámetro de cuerda de tipo. Este parámetro tendría que ser vacío o punto a
un archivo al cual el usuario tiene leer permisos.

Tipo especial transalign

El transalign especial widget enlaza junto dos num parámetros de tipo. Tiene dos
estados. En uno lo declara pondrá el primer parámetro a su valor mínimo y el segundo
parámetro a su valor máximo. En el segundo estado haga el opuesto, puesto el primer
parámetro a su máximo, y el segundo parámetro a su mínimo. En VIDAS los dos
estados están controlados por dos botones radiofónicos, con las etiquetas “alinean
inicios” y “alinear fines”. Es generalmente utilizado para transiciones.

Requisitos

En esta mesa puedes introducir los requisitos binarios para el plugin. Si cualquiera de
estos binaries falta, el plugin dará un error y no corrido. Este campo no es presentar
para utilidades.

Propiedades

Aquí puedes introducir las propiedades para el guión. Esto es opcional. Las VIDAS
pondrán algunos las propiedades escondidas que dependen de el RFX tipo.
Actualmente las propiedades cambiables son:

lento – esto es una pista a la interfaz que las carreras/de transición del efecto
despacio.
Generador de modo del lote – esto es sólo para generadores, y tiene que ser puesto si
las carreras de generador en modo de lote.

Gatillos

En la mesa de gatillo, puedes introducir código cuál tendría que ser ejecutado tampoco
cuándo el efecto está activado, o cuándo un valor de parámetro está cambiado. Para
una Utilidad, cualquier código para ser ejecutado tiene que ser introducido en el init
gatillo.

Refiere a sección 17.3.2.1 para detalles de cómo los gatillos son coded en VIDAS-Perl.
de VIDAS. 15.1 – el RFX Ahorro de herramienta

del constructor y reconstruyendo


Una vez el guión está a punto, lo puedes salvar. Después de salvar, puedes activar la
opción de carta Adelantada -> Reconstruir todo RFX plugins. Necesitas hacer este
cada vez haces un cambio en el guión.

El nuevo plugin entonces tendría que aparecer debajo Adelantado -> prueba Corrida
rendered generador/de herramienta/del efecto. De ahí lo puedes correr.

Una vez eres feliz con vuestro plugin y ha acabado tweaking lo, lo puedes promover a
un Hecho de encargo plugin. Esto está hecho con la opción de carta Adelantada ->
RFX utilidades/de herramientas/de los Efectos -> Promover prueba rendered
generador/de herramienta/del efecto.

Los efectos hechos de encargo pueden ser exportados e importados a otras copias de
VIDAS. Ve sección 4.12.6 (Instalando efectos hechos de encargo).
16 Preferencias
Aquí sigue una descripción de todo de las Preferencias en VIDAS. Las preferencias
pueden ser activadas utilizando las Preferencias de Herramientas de opción → de
carta, o por pulsar la combinación clave ctrl-p.

GUI

Selección de archivo abierto maximised – controles si el selector de archivo para


medios de comunicación nuevos de apertura utiliza la medida llena de la pantalla o no.

Espectáculo Archivos Recientes en la Carta de Archivo – si esto está


comprobado, nuevamente los archivos abiertos están mostrados bajo el Archivo de
opción de la carta → Archivos Recientes. Esta funcionalidad puede ser inutilizada para
intimidad u otras razones.

Parón screensaver en playback – si comprobado, las VIDAS intentarán para parar


screensavers de activar cuándo las VIDAS está jugando vídeo posterior. Ventana
principal abierta maximised – controles si el mainw ventana de interfaz es la
medida llena de la pantalla o no.

Espectáculo toolbar cuándo de fondo es blanked – controles si el toolbar los


iconos están mostrados cuándo el editor de clip está jugando atrás en lleno-pantalla,
ventana interna. Esta lata de iconos probó una guía clave para usuarios de novato.

Multi-La cabeza apoya

Estas preferencias son sólo activas si las VIDAS detecta más de uno controla sujetado.

Fuerza modo de monitor solo – comprobar esto si quieres VIDAS para ignorar
monitores otro que el monitor principal.

Monitor número para interfaz de VIDAS – deja selección de un monitor para la


interfaz de VIDAS principal

Monitor número para playback – deja selección de un monitor para playback en


modo de ventana separada (ve sección 4.10.4). Un encuadre de cero forzará lleno-
pantalla/modo de ventana separada para extender a través de todos los monitores.

Descodificando

Vídeo orden abierta – esta entrada puede soler personalizar la orden utilizó para
abrir/vídeo de importación.

Abierto/render compresión – aquí puedes introducir un valorar cuál indica cuántos


los marcos serán comprimidos por cuándo abriendo o rendering. Para jpeg esto es una
compresión disipada , para png es lossless. Un valor más alto utilizará menos espacio
de disco, pero resultará en imágenes de calidad más pobre (jpeg) y posiblemente
respuesta más lenta (jpeg/png).

Default Formato de imagen – esto es el formato que las VIDAS importa marcos de
vídeo en. El default es jpeg, pero es también posible de trabajar con png imágenes (a
pesar de que no es posible de mezclar los dos tipos). Si cambias esto a png, también
necesitarás hacer un cambio en smogrify, $img_ext=”.png” En vez de
$img_ext=”.jpg”.

Instante de uso que abre cuándo posible – si esto está puesto, entonces archivos
de vídeo de tipos seguros serán abrió/importado inmediatamente, más que habiendo
cada marco descodificó. En el tiempo de escribir este es disponible para ogg/theora y
dv archivos de vídeo.

Habilita automático deinterlacing cuándo posible – si esto está puesto entonces


el instante abrió archiva cuáles son interlaced será automáticamente deinterlaced.
Esto está utilizado por ejemplo para dv material de tipo cargado de cámaras de vídeo.

Cuándo abriendo multuple archivos, concatenar imágenes a un clip. Esto


instruye VIDAS cómo para manejar cuándo los archivos múltiples están seleccionados
para de apertura. Si esta opción está comprobada entonces cualesquier imágenes
cargadas será concated a uno archiva. Si es unchecked entonces cada imagen está
cargada en como el clip con uno enmarca.

Playback

Calidad de Preestreno

de encuadres de vídeo – aquí puedes seleccionar el nivel de calidad para


preestrenos. El default es normal, el cual tendría que bastar en más situaciones. Si
tienes una máquina más lenta puedes poner esto a bajo y pueda ayudar rendimiento –
en cambio si tienes una máquina muy rápida, entonces puedes desear poner esto a
alto, a pesar de que la diferencia será menor en este caso.

Espectáculo fps estadística – si comprobado, las VIDAS mostrarán detalles del


medianos reales playback índice en el área de mensaje. Esto puede ser utilizado para
el rendimiento que controla propósitos.

Plugin – Aquí puedes seleccionar el vídeo playback plugin, si cualquiera. Clicking En el


botón adelantado te dejas para ver o alterar cualesquier parámetros concretos a aquel
plugin. Nota otra vez que vídeo playback plugins es sólo activo en lleno-pantalla, modo
de ventana separada. Ve también sección 4.10.6.
Jugador de Audio

de encuadres de audio – aquí puedes escoger qué jugador de audio para utilizar –
jack, sox o mplayer. Jack está recomendado para profesional o semi-pro trabajo, pero
no se puede mantener con todo soundcards. Además, jack no es muy útil cuándo viene
a compartir soundcards con otras aplicaciones. En caso de problemas con jack, puedes
querer poner esto a sox, el cual dará algún soporte de sonido, albeit de un nivel
reducido de funcionalidad. Mplayer No es recomendado y está mantenido en sólo para
prueba y último-propósitos de recurso.

Nota: si cambiando permanentemente a o del jack jugador de audio, también puedes


desear revisar las opciones en el tabulador de Integración del Jack de Preferencias.

Orden de juego del audio – si un jugador de audio externo está utilizado, puedes
ajustar la orden de jugador del audio aquí.

El audio sigue dirección de índice/del vídeo – esta opción es sólo disponible con el
jack jugador de audio. Si comprobado, entonces el audio seguirá el índice y dirección
del vídeo qué está siendo jugado atrás. Esto es útil para que juega truco con audio y
vídeo.

El audio sigue cambios de clip – otra vez, esta opción es sólo disponible con el jack
jugador de audio. Si comprobó entonces cambiando el foreground clip durante
playback causará la pista de audio a también cambio en sync con la pista de vídeo.

Grabando

audio Récord cuándo capturando una ventana externa – esta opción es sólo
disponible cuándo utilizando el jack jugador de audio. Afecta captura de ventana
externa (ve sección 4.2.8).

Las opciones siguientes definen qué está grabado durante modo récord (ve sección 9).

Cambios de marco – estos son siempre grabó; la opción es sólo mostrada aquí como
recordatorio.

FPS Cambios – cambios en velocidad (marcos por segundo) - estos son siempre
grabó; la opción es sólo mostrada aquí como recordatorio.

Efectos de tiempo real – comprobar esta opción para grabar efectos de tiempo real,
transiciones y generadores.

Cambios de clip – comprobar esta opción a Audio de cambios de clip

récord – comprobar esta opción a audio y audio récord cambios. Único disponible
cuándo utilizando el jack jugador de audio.
Codificando

Encoder – aquí puedes poner el encoder para codificar. Conseguirás la posibilidad de


cambiar esto otra vez si Codificas clip cuando (ve sección 4.9).

Depura modo – esto es muy útil si eres habiendo los problemas que codifican. Set
depura modo a encima, y VIDAS de inicio de una ventana terminal (commandline).
Cuándo codificas, habrá mucha producción producido en la ventana terminal cuáles
pueden ayudar para seguir abajo y resolver el asunto.

Formato de producción – aquí puedes seleccionar el (vídeo) formato de producción


para codificar a. Cada encoder tiene su conjunto propio de formatos, y la elección
disponible es también dependiente a qué otros programas y bibliotecas ya puedes
haber instalado.

Audio codec – aquí puedes escoger el formato para codificar el audio de un clip a. Las
elecciones son dependientes en el encoder y formato de producción del vídeo
seleccionó. Algunos formatos no dejan codificando de audio en absoluto.

Uso

de efectos anti-aliasing cuándo resizing – controles si o no anti-aliasing


(suavizando) está actuado cuándo los marcos son resized.

Número de llaves de efecto de tiempo real – conjuntos el número de llaves de


efecto cuáles pueden tener los efectos ataron a ellos. Ve sección 7.1. El default el valor
es 9, y el máximo es 64.

Directorios

En este tabulador puedes poner varios default directorios para VIDAS.

Directorio de carga del vídeo – el default directorio para cargar (importación) clips
de vídeo de.
El vídeo salva directorio – el default directorio para salvar clips de vídeo a.

Directorio de carga del audio – el default directorio para cargar audio de directorio

de Imagen – el default directorio para salvar marco-los tiros a Copia

de seguridad/restauran directorio – el default directorio para respaldar arriba y


restaurando clips solos a (ve sección 4.2.9).

Temp Directorio – muy importante, esto es donde las VIDAS almacena todos los clips
abiertos y conjuntos. Tenga que señalar a un directorio en una partición con
abundancia de espacio de disco. (No es una idea buena de dejar él en /tmp encima
muchos sistemas, desde este directorio es frecuentemente emptied en logout encima
muchos sistemas). El valor sólo tendría que ser cambiado si hay no otras copias de las
VIDAS que corren en la misma máquina. Las VIDAS cuidarán de emigrar todos los
conjuntos del viejos temp directorio al nuevo un.

Avisos

Aquí puedes definir qué avisos son espectáculo y cuáles están suprimidos. Si un
mensaje de aviso estuvo rechazado permanentemente, pueda ser re-habilitó de ahí.

Misc

Midi synch – Esto poniendo cuándo activado, las causas VIVE a emit un MIDI inicio de
patrón cuándo playback inicios, y un MIDI fin de patrón cuándo playback está parado.
Ve sección 10.6

Cuando insertando/fusionando marcos – aquí puedes seleccionar qué acción


tendría que ser tomada cuándo insertando o fusionando marcos del portapapeles a un
clip con un marco diferente-índice. El default es a Resample el portapapeles, pero si
deseado, esta acción puede ser cambiada para Solicitar/Ir más despacio Inserción

CD dispositivo – aquí puedes introducir el camino a vuestro dispositivo de CD. Esto


está utilizado para grabbing audio de CD pistas (ve también sección 6.2).

Default FPS – Esto es el marco valora qué VIDAS default a cuándo ningún índice de
marco está especificado. Por ejemplo cuándo abriendo una corriente con un índice de
marco desconocido, cuándo generando marcos a un clip nuevo, y ningún índice de
marco está especificado, o cuándo abriendo una secuencia de imagen.
Temas

En este tabulador puedes seleccionar un tema nuevo para VIDAS. Ve sección 10.3.

Streaming/Networking

Ancho de banda de descarga (Kb/s) – aquí puedes introducir la velocidad de


vuestra conexión de red. Esto es sólo utilizado para importador de remoto URLs (ve
sección 4.2.5).

Control de Sonido abierto – los medios de comunicación


Abiertos Controlan

Los encuadres siguientes son para Control de Sonido Abierto que utiliza la orden de
Control de Medios de comunicación Abierta conjunto.

OMC El control remoto habilitado – comprobar este botón si deseas habilitar


Control de Medios de comunicación Abiertos control remoto para el resto de la sesión.
Una vez activado, esto no puede ser deactivated sin retomar VIDAS.

UDP Portuario – aquí puedes introducir el UDP portuario cuál VIVE escuchará encima
y los clientes pueden conectar a. El valor sólo puede ser cambiado cuándo OMC el
control es inactive.

Inicio OMC en startup – si esta opción está seleccionada, las VIDAS empezarán
arriba del OSC/OMC oyente en el seleccionado portuario cada vez empieza arriba.

Ve sección 13 para más detalles sobre OSC.

Jack Integración

Este tabulador puede soler puesto el nivel de integración con el jack caja de conexión
del audio.
Hay encuadres para el jack servidor de transporte y para el jack servidor de audio.
Actualmente el mismo servidor está utilizado para ambos audio y transporte. Esto
puede cambiar en el futuro.

Jack transporta

Los encuadres siguientes aplican al jack servidor de transporte:

Jack transporta config archivo – esto poniendo está reservado para uso futuro y no
puede ser alterado por ahora

servidor de Inicio en VIDAS startup – si para empezar el servidor de transporte en


VIDAS startup. Actualmente esto no es necesitado si el jack servidor de audio está
puesto a startup.

Jack transporta maestro – puesto si las VIDAS es un jack maestro de transporte (ve
sección 10.7).

Cliente de transporte del Jack – puesto si las VIDAS es un jack cliente de transporte
(ve sección 10.7).

Jack audio

Los encuadres siguientes aplican al jack servidor de audio:

servidor de audio del Jack config archivo - esto poniendo está reservado para uso
futuro y no puede ser alterado por ahora

servidor de Inicio en VIDAS startup – si para empezar el jack servidor de audio en


VIDAS startup. Actualmente esto no es necesitado si el servidor de transporte está
puesto a startup.

Audio de juego incluso cuándo parado – si este encuadre está habilitado (el
default), las VIDAS continuarán jugar audio cuándo el vídeo está congelado en el editor
de clip. Esto es overridden por el Audio de encuadre sigue dirección de índice/del
vídeo. El otro efecto de este encuadre es para dejar audio para ser jugado atrás incluso
cuándo jack el transporte no está rodando - por esta razón está recomendado para
dejar este encuadre sólo, a no ser que específicamente sólo quieres VIDAS para jugar
audio cuándo jack el transporte está rodando.

Multitrack/render

Cuándo introduciendo Multitrack modo:

Puntual me para ancho, altura, fps y encuadres de audio – deja una elección de
medida de marco, índice de marco y encuadres de audio en cada entrada al Multitrack
Editor (ve sección 11.1). Los valores puestos abajo todavía será utilizado como el
default valores, pero puede ser alterado.

Siempre utilizar los valores siguientes – no incita para valores encima entrada al
Multitrack Editor, pero siempre utilizar los valores puestos abajo.
Nota que algunos de los valores pueden ser overidden si un diseño nuevo está cargado
(ve sección 11.21).

Uso estos valores mismos para rendering un clip nuevo – si esta opción está
comprobada, entonces los valores puestos abajo será utilizado para rendering a un clip
nuevo después de que registro (ve sección 9.1). Si esto es unchecked, los valores
puestos abajo todavía será utilizado como el defaults, pero pueden ser cambiados.

Ancho de encuadres

del vídeo – introducir el ancho de marco deseado en Altura

de píxeles – introducir la altura de marco deseada en píxeles

FPS – introducir el índice de marco deseado en los marcos por segundos

encuadres de Audio

Habilitan audio – deselect esta opción para inutilizar audio altogether cuando en
Multitrack Modo (o rendering, si apropiado).

Índice – introducir el índice de audio deseado en Herz.

Canales – introducir el número de canales de audio deseó.

Medida de muestra – introducir la medida de muestra deseada en bits por muestra.

Signedness – Introducir el deseado signedness.

Endianness – Introducir el deseado endianness.

Encuadres de canal del audio

Habilitan respaldar pista de audio – comprobar esta opción para habilitar el


flotante respaldando pista de audio.

Pista de audio por pista de vídeo – dejar una pista de audio por pista de vídeo.
Esto es además de cualquier audio de respaldar pista.

Otro multitrack las opciones


Deshacen buffer medida (MB) – esto es la medida del deshacer / rehacer buffer en
el Multitrack Modo, medido en megabytes. Este valor puede ser aumentado en
sistemas con abundancia de memoria de RAM, o reducido en sistemas donde la
memoria disponible es en una prima.

Salida multitrack modo después de rendering – si comprobado, las VIDAS


regresarán al Editor de Clip después de rendering en Multitrack Modo. Si unchecked,
las VIDAS quedarán en Multitrack Modo.

MIDI/joystick estudiante

Aquí puedes introducir algunos valores para el MIDI/joystick estudiante (ve sección
10.5).

Acontecimientos para responder a Joystick

acontecimientos – si comprobados, las VIDAS responderán a joystick


acontecimientos en el MIDI/joystick estudiante

Joystick dispositivo – aquí puedes introducir el camino a vuestro joystick dispositivo.


En más casos, VIDAS autodetect esto.

MIDI acontecimientos – si comprobados, las VIDAS responderán a MIDI


acontecimientos en el MIDI/joystick Uso

de estudiante ALSA MIDI - esta opción es sólo disponible de VIDAS 1.1.0 y en


adelante, y sólo si las VIDAS estuvo compilada con ALSA soporte. Esta opción está
recomendada si disponible. También puedes seleccionar crudo MIDI si prefirió.

MIDI dispositivo – aquí puedes introducir el camino a vuestro MIDI dispositivo. En


más casos, VIDAS autodetect thes. Único válido para crudo MIDI.

Adelantado

MIDI índice de control – el número de MIDI controles por teclado tick. Creciente esto
puede mejorar MIDI responsiveness pero puede ir más despacio playback. El default es
1000. Único válido para crudo MIDI.

MIDI repite – el número de no-lee entre sucesivo lee. Prueba ajustar este valor si
vuestro MIDI dispositivo no está siendo leído correctamente en el MIDI/joystick
estudiante. El default es 1000. Único válido para crudo MIDI.
17 Apéndices
17.1 HOWTOs
17.2 Troubleshooting
estoy utilizando compiz, y la pantalla "parpadea" en
fullscreen modo.

En compiz encuadres de configuración, uncheck "Unredirect Fullscreen Windows".

Cuándo intento empezar VIDAS con el jack jugador de audio,


falla con un mensaje "ALSA: no Puede abrir PCM dispositivo
alsa_pcm para playback. En descenso atrás para capturar-
Marca de modo"

único seguro vuestro usuario tiene acceso lleno al soundcard. Por ejemplo, en Ubuntu,
va a los Usuarios y herramienta de administración de los Grupos, y para vuestro
usuario, control el audio de Uso "de privilegio de usuario dispositivos".

Puedo cargar en vídeo, pero cuándo intento cargar o


resample audio, falla !

Marca seguro te ha sox instalado para manejar .wav Formato. El paquete libsox-fmt-
todo está recomendado.
17.3 documentación Técnica
17.3.1 Weed especificaciones
Weed especificación de efecto - utilizado para realtime filtros

Weed spec.

= Especificación técnica =

Weed 3.0

API Cambios de Versión


-------------------
100 - primera liberación
110 - añadido WEED_ELEMENTO_de PARÁMETRO_POR_CANAL
120 - añadido WEED_YUV_CLAMPING y WEED_YUV_SUBSPACE

Changelog:
21/04/06 salsaman.
Añadió notas sobre WEED_la PLANTA_DESCONOCIDA, aclarado "max_repite" para
filtros, número aclarado de elementos en plantilla_de parámetro
"default". Sacado "TODO" de refs. A Weed ACONTECIMIENTOS spec. Número de versión sin
cambios.

14/08/06 salsaman
Deja los canales basaron en plantillas con max_repite "" para ser inutilizado en
cualquier tiempo, incluso si la plantilla no es marcada "opcional". Número
de versión sin cambios.

20/08/06 salsaman
cambio Pequeño a descripción de max_repite "". Número de los canales sólo
pueden ser _reducidos_ después de init(); y sólo por poner "inutilizado" a WEED_CIERTO.
Número
de versión sin cambios.

22/08/06 salsaman
Añadido "nuevo_default" hoja para plantillas de parámetro qué tener el
WEED_PARÁMETRO_conjunto_de bandera de ELEMENTOS VARIABLE. Número de versión sin
cambios.

24/08/06 salsaman
Añadido "ignora" hoja para parámetros para uso en interpolación donde el
"valor" contiene una lista. Número de versión sin cambios. Sacado
WEED_la PLANTA_DESCONOCIDA desde entonces no es separar del API.

24/09/06 salsaman
Corrigió/aclarado algunas partes del texto. API Sin cambios.

30/10/06 salsaman
Añade anfitrión-función única weed_la hoja_elimina(). Desde entonces es anfitrión sólo,
API
la versión es sin cambios.
11/12/06 salsaman
Añadido WEED_el CANAL_SIGUE_PRODUCCIÓN y WEED_ELEMENTO_de PARÁMETRO_POR_CANAL.
Actualizado spec a 1.1 y API
versión a 110.

13/12/06 salsaman
Añade objetivo "opcional_fps" para filtrar_caso, cambio él de una variedad a un
valor solo. API La versión sin cambios.

25/07/07 salsaman
Añade bandera de filtro WEED_PISTA_de FILTRO_ES EFECTO_de PUNTO_. API La versión sin
cambios.

27/03/08 salsaman
Corregido algún typos y aclaró aproximadamente pasando punteros de función.

07/06/08 salsaman
Actualizado a libweed. Spec Es ahora en versión 3.0. Texto movido alrededor para partir
a Weed y Weed
Efectos.

14/06/08 salsaman
Añade YUV_clamping, YUV_subspace. Saca "h_cambio" y v_cambio "". Deja
generadores para poner medidas de canal, pero tendrían que intentar para utilizar la
medida
de conjunto anfitriona. Aclarado algunos puntos. API La versión estuvo actualizada a
120.

03/11/08 salsaman
requisito Sacado que weed plugin extensiones de archivo ser .wo, desde este estuvo
descubierto para ser no-portátil.

(C) Gabriel "Salsaman" Finch 2005 - 2009

Con contribuciones por: Niels Elburg, Dennis "Jaromil" Rojo, Andraz


Tori, y Oyvind "Pippin" Kolas.

Weed Es un sistema de objeto desarrollado para procesamiento/de audio del vídeo. Weed
Actualmente tiene módulos para efectos/de audio del vídeo (weed-efectos), y para
timeline acontecimientos de estilo (weed-acontecimientos).

== WEED_API_VERSIÓN ==

Esto está definido cuando 120 para esta versión de la especificación. Este
número será aumentado para revisiones futuras del spec. Si una
función o un símbolo está cambiado o añadió.

== WEED PLANTA ==

Un ''planta'' en Weed es un conjunto de uno o más ''hojas''.

Cada planta tiene uno hoja obligatoria con un tipo "clave", y dependiendo de
el valor de esta hoja, la planta tiene otras hojas obligatorias y opcionales.

Para este API, el valor del tipo de hoja "de la planta" PUEDE ser uno de:

* WEED_ANFITRIÓN_de PLANTA_INFO : Información sobre anfitrión y el núcleo


funciona
* WEED_PLANTA_PLUGIN_INFO : Información sobre plugin y lista de clases de
filtro incluye
* WEED_CLASE_de FILTRO_de la PLANTA : información Descriptiva sobre clase de
filtro solo
* WEED_PLANTILLA_de CANAL_de la PLANTA : Información sobre qué clases de filtro de
canales acepta
* WEED_PLANTILLA_de PARÁMETRO_de la PLANTA : Información sobre qué clases de filtro
de parámetros ha
* WEED_CASO_de FILTRO_de la PLANTA : Todos los datos sobre un caso
* WEED_CANAL_de PLANTA : Instantiation de un canal
* WEED_PARÁMETRO_de PLANTA : Instantiation de un parámetro

* WEED_PLANTA_GUI : Utilizado para GUI pistas para


las clases_de filtro y plantillas_de parámetro.

* WEED_ACONTECIMIENTO_de PLANTA : la planta utilizada para


acontecimientos (descritos
en el Weed extensión de ACONTECIMIENTOS
* WEED_LISTA_de ACONTECIMIENTO_de la PLANTA : la planta utilizada para listas
de acontecimiento (descritos
en el Weed tipo de extensión

"de los ACONTECIMIENTOS" es una hoja valorada sola con las semillas_escriben
WEED_SEMILLA_INT (Ve
abajo: tipos_de semilla).

El "tipo" está pasado como parámetro en el weed_la planta_nueva() función.


Esta función regresa un puntero a planta destinada nuevamente con la hoja "" de tipo
puesta
al tipo_de planta.

La planta escribe >=512 está reservado para uso hecho de encargo.

== HOJAS ==

Cuando mencionó encima, cada "planta" es sencillamente un conjunto de uno o más


"hojas".

Cada hoja tiene:


* un ''llave'' (cuál es un no-NULL cuerda - (const char *) ASCII codificado)
* un ''valor'' (0 o más elementos)
* ''número de elementos'' (>=0) contuvo en el campo de valor.
* Un ' eseed_tipo''
* un bitmap ''banderas'' SEMILLA

== de campo ESCRIBE ==

El "tipo de semilla" denota el tipo del campo de valor en una hoja. Weed Ofrece el
siguiente '''fundamental''' tipos (número <64):[[BR]]

* WEED_SEMILLA_INT : firmado int32_t


* WEED_la SEMILLA_DOBLE : corresponde a C tipo "pliega"
* WEED_SEMBRAR_BOOLEANO : firmado int32_t, apremiado para tomar valores WEED_FALSOS o
WEED_CIERTOS
* WEED_CUERDA_de SEMILLA : variedad de char
* WEED_SEMILLA_INT64 : 64mordió entero firmado, utilizado para sub-microsegundo
timecodes

'''Nota''': las CUERDAS son todo utf-8 codificados en Weed, exceptúa Llaves de hoja,
los cuales son ASCII codificó.

'''Puntero''' tipos (número>=64 y 512): <

* WEED_SEMILLA_VOIDPTR : corresponde a C void * tipo


* WEED_SEMILLA_PLANTPTR : weed_planta_t * : un puntero a otro weed
planta [Nota: - podríamos utilizar un void * y lanzados lo, pero a veces
es más claro cuándo estamos refiriendo a una hoja qué es iself una planta.]

Escribe >=512 está reservado para uso hecho de encargo. Las semillas hechas de encargo
TIENEN QUE ser semillas de puntero .

== RESTRICCIONES de HOJA ==

La hoja "" de tipo de una planta es automáticamente puesto READONLY para el plugin en
weed_la planta_nueva().
Ve abajo: banderas de hoja. La hoja "" de tipo no tendría que ser cambiada por el
anfitrión.

== CONSIGUIENDO/VALORES de HOJA del ENCUADRE ==

Encima llamando weed_conjunto_de hoja(), el anfitrión/plugin el programador no necesita


para preocuparse aproximadamente destinando y liberando memoria para el dato para
almacenar. El modelo (o más precisamente la capa de Mediación) cuidará de aquel para
ti. Si almacenas un objeto el modelo hará una copia y almacenar aquello. Más tarde,
cuándo pusiste un valor nuevo en esta hoja, el modelo automáticamente weed_libre() el
valor viejo y hacer una copia del valor nuevo y almacenar la copia.

La excepción a esto es cualquier tipo de semilla de tipo PTR. Si destinas un


chunk de datos o una estructura compleja sólo el valor de puntero está almacenado
(!). El modelo no sabe cualquier cosa sobre el contenido del dato
vuestro puntero refiere a tan no haga una copia. En cambio, necesitas
destinar y liberar la memoria tú en este caso. En otras palabras,,
tipos de puntero son tienda " por referencia".

El plugin y el programador anfitrión puede ambos recuperan y valores de conjunto por


Claves.

En weed_la hoja_consigue(), Weed copiará el dato almacenado en la hoja, excepto tipos


de puntero. Para tipos de puntero sólo la referencia al bloque de memoria está copiada.

== WEED FUNCIONES de NÚCLEO ==

* weed_init(int api_versión, weed_malloc_f weed_malloc_función,


weed_libre_f weed_función_libre, weed_memset_f weed_memset_función,
weed_memcpy_f weed_memcpy_función)

: La llamada de mosto anfitriona weed_init()


antes de utilizar cualquier otro weed funciones. Los pases anfitriones en
el más altos API versión apoya. La función pondrá punteros
de función al correctos API versiones de las funciones de núcleo. El
anfitrión también pases en su malloc, gratis, memset y memcpy
funciones. Estos son para uso por el anfitrión - las versiones diferentes de estas
pueden ser pasadas a un plugin (ve abajo, anfitrión_info). Si un NULL
está pasado en cambio, entonces una función estándar: malloc, gratis, memset
o memcpy será utilizado.

* weed_Planta_t *weed_planta_nuevo (int tipo_de planta)

* char **weed_hojas_de lista_de la planta (weed_planta_t *planta) // regresa NULL


rescindido char * variedad de hojas

* int weed_llamador_de conjunto_de la hoja (weed_planta_t *planta, const char *llave,


int tipo_de semilla, int num_elems, void *valor, int llamador) // regresa un
weed error

Esto es una función interna .


En ANFITRIÓN_INFO, el anfitrión pasa plugin punteros a:
int weed_conjunto_de hoja_plugin (weed_planta_t *planta, const char *llave,
int tipo_de semilla, int num_elems, void *valor) // regresa un weed error
Esto llama el encima función con el llamador puesto a WEED_LLAMADOR_PLUGIN

El anfitrión tendría que utilizar su versión propia: weed_conjunto_de hoja(). Esto


llama
la función de setter con WEED_ANFITRIÓN_de LLAMADOR. Esto es todo
instalado en weed_init().

* int weed_La hoja_consigue (weed_planta_t *planta, const char *llave, int idx, void
*valor) // regresa un weed error

* int weed_hoja_num_elementos (weed_planta_t *planta, const char *llave)

* medida_t weed_medida_de elemento_de la hoja (weed_planta_t *planta, const char


*llave, int idx) // regresa medida de byte de elemento

* int weed_tipo_de semilla_de la hoja(weed_planta_t *planta, const char *llave)

* int weed_la hoja_consigue banderas_(weed_planta_t *planta, const char *llave);

Las necesidades anfitrionas de implementar el siguientes se funciona:

* void *weed_malloc_f (medida_t medida)


* void weed_libre_f (void *ptr)
* void *weed_memset_f (void *s, int c, medida_t n)
* void *weed_memcpy_f (void *dest, const void *src, medida_t n)

Estos cuatro prototipos de función están fijados a través de todo API versiones. Esto
se debe a
linker limitaciones con el weed-utils biblioteca. Aun así, el
anfitrión puede pasar una versión diferente de estas funciones con el mismo
tipo a un plugin. Esto puede ser útil para memoria profiling un particular plugin.

El anfitrión tiene acceso a adicional funciona cuáles no son pasados al plugin


en el ANFITRIONES_INFO planta:

* void weed_planta_libre (weed_planta_t *planta) // sólo utilizado por anfitrión

* int weed_banderas_de conjunto_de la hoja(weed_planta_t *planta, const char *llave,


int banderas);
Ve Banderas de Hoja abajo.

* int weed_La hoja_elimina (weed_planta_t *planta, const char *llave); //


sólo utilizado por anfitrión

'''Notas''':[[BR]]
weed_la planta_nueva() pondrá "la hoja" de tipo al tipo_de planta, y lo
pondrá READONLY para el plugin.

weed_Conjunto_de hoja() creará la hoja si la hoja no existe.

weed_Conjunto_de hoja() regresará WEED_HOJA_de ERROR_READONLY, dependiendo de


las banderas de hoja y el llamador de función.

weed_Conjunto_de hoja() regresará un error WEED_ERROR_TIPO_de SEMILLA_INCORRECTA si


intentas cambiar el tipo_de semilla de una hoja.

Punteros de función tienen que no pasados vía


weed_conjunto_de hoja()/weed_la hoja_consigue(), desde entonces para algunas
arquitecturas no
es posible de convertir entre un puntero de función y un void
puntero. En cambio, crear el puntero de función como variable, y entonces
pasar un puntero a la variable. Naturalmente la variable no tiene que salir
de alcance - i.e. tenga que ser statically definió.

Para weed_conjunto_de hoja(), num_elems puede ser 0 y el valor entonces puede ser
NULL. De este modo, justo el tipo_de semilla de una hoja puede ser puesto, sin
poner un valor explícito.

weed_La hoja_consigue() regresará WEED_ERROR_NOSUCH_HOJA si una hoja no existe. De este


modo la existencia de una hoja puede ser determinada. Para asistir con este, weed_la
hoja_consigue() se puede apellidar con un NULL void * valor. La función entonces no
intenta para copiar el valor, pero regresará cualquier WEED_ERROR_NOSUCH_HOJA, o
WEED_NINGÚN_ERROR que depende de si la hoja existe o no.

weed_Banderas_de conjunto_de la hoja() regresará


WEED_ERROR_NOSUCH_HOJA si la hoja no existe.

weed_La hoja_elimina() regresará WEED_HOJA_de ERROR_READONLY si la hoja es


readonly para el anfitrión. Regrese WEED_ERROR_NOSUCH_HOJA si el
anfitrión intenta eliminar una hoja inexistente, o la hoja "" de tipo.

Los valores de regreso de weed_hoja_num_elementos(),


weed_medida_de elemento_de la hoja(), weed_la hoja_consigue banderas_(), y weed_tipo_de
semilla_de la hoja() es todo undefined si el elemento/de hoja no existe.

El void * para weed_conjunto_de hoja() y weed_la hoja_consigue() es un (void *)


typecast a/de una *variedad* del tipo apropiado:
p. ej. para WEED_SEMILLA_INT es un int *. El número de elementos en el partido de MOSTO
de la variedad num_elems en weed_conjunto_de hoja().

El weed_función_t es un puntero a una función, los cuales pueden ser lanzados


a/de un puntero a cualquier tipo de función.

Funciones weed_malloc_f(), weed_libres_f(),


weed_memset_f(), weed_memcpy_f() ha exactamente el mismo
semantics como malloc, libre(), memset() y memcpy() de libc. Su
propósito es para dejar un anfitrión de proporcionar un plugin con la aplicación-
memoria
concreta managment.
Plugins NO TIENE QUE utilizar malloc, libre y memset, pero tiene que uso weed
counterparts.

== WEED ERRORES ==

Weed define algunos códigos de error del núcleo, los cuales pueden ser regresados por
las funciones de núcleo:

* WEED_NINGÚN_ERROR[[BR]]
código de regreso no significa ningún problema

* WEED_ASIGNACIÓN_de MEMORIA_del ERROR[[BR]]


asignación de memoria ha fallado

* WEED_HOJA_de ERROR_READONLY[[BR]]
plugin/anfitrión probado para poner readonly hoja; regresado de weed_conjunto_de
hoja_*()
y weed_la hoja_elimina()

* WEED_ERROR_NOSUCH_ELEMENTO[[BR]]
plugin/anfitrión probado para leer valor de un número de elemento nulo en una hoja;
regresado de weed_la hoja_consigue()
* WEED_ERROR_NOSUCH_HOJA[[BR]]
la hoja no existe para la planta especificada; regresado de weed_la hoja_consigue()
y weed_la hoja_elimina()

* WEED_ERROR_TIPO_de SEMILLA_INCORRECTA[[BR]]
una vez el tipo_de semilla de una hoja está puesto, no lo puedes
cambiar. weed_Conjunto_de hoja_*() regresará este error si
intentas tal cosa, y el valor de la hoja no será enmendada.

== WEED FUNCIONES de UTILIDAD ==

para hacer la vida más fácil para anfitrión y plugin escritores, allí existe un Weed
biblioteca de utilidad, el cual envuelve algunos de las funciones de núcleo en
variantes
más sencillas. Esto está documentado en el Weed Biblioteca de Utilidad spec. (TODO).

== COMPILANDO Un ANFITRIÓN CON WEED ==

Un anfitrión deseando utilizar Weed tendría que ser enlazado con libweed, y #incluir
<weed/weed.h> Y weed/weed-anfitrión.h <>

Si el uso de marcas anfitrión del Weed Biblioteca de Utilidad, también tenga que ser
*statically*
enlazado con libweed-utils, y #incluir <weed/weed-utils.h>

Estático enlazando está requerido, porque el plugins poder también enlace contra
esta biblioteca, y tienen sus versiones propias de las funciones de núcleo.

Si los deseos anfitriones de utilizar Weed efectos, tenga que #incluir


<weed/weed-efectos.h>.

Si los deseos anfitriones de utilizar Weed acontecimientos, tenga que #incluir


<weed/weed-acontecimientos.h>.

Compilando un plugin con Weed está tratado abajo.

== Pre-Símbolos de procesador ==
El weed el encabezamiento utiliza el siguiente pre-símbolos de procesador:

==== TIENE_WEED_PLANTA_T ====

La implementación de referencia proporciona default (más sencillo)


implementaciones de un Weed planta. Esto puede ser overriden en compilar el tiempo que
utiliza:
{{{
#define TIENE_WEED_PLANTA_T
}}}
antes
{{{
#incluir <weed/weed.h>
}}}

Esta necesidad sólo ser hecho en el anfitrión.


De este modo un anfitrión puede proporcionar su propio defintion de un Weed planta, y
proporcionar
su implementación propia de las funciones de núcleo, whilst todavía haciendo
uso del resto del archivo de encabezamiento.

==== El llamador escribe ====


Un tipo de llamador está pasado a weed_llamador_de conjunto_de la hoja(). El plugin
está
proporcionado con un puntero a un wrapper funcionar cuál pone el llamador a
WEED_LLAMADOR_PLUGIN.

El anfitrión está proporcionado con un wrapper funcionar cuál pone el llamador a


WEED_ANFITRIÓN_de LLAMADOR.

* WEED_El LLAMADOR_ANFITRIÓN

* WEED_LLAMADOR_PLUGIN

Esto está manejado internamente por el Weed biblioteca.

==== Banderas de hoja ====

* WEED_HOJA_PLUGIN_READONLY
La hoja es readonly para el plugin. weed_Llamador_de conjunto_de la hoja
utiliza esta bandera y el WEED_LLAMADOR para dejar/disallow cambios de valor.
Esto sólo TIENE QUE ser utilizado dónde indicado en esta especificación. No impide
cambios al valor por el anfitrión.

* WEED_ANFITRIÓN_de HOJA_READONLY
La hoja es readonly para el anfitrión. weed_Llamador_de conjunto_de la hoja
utiliza esta bandera y el WEED_LLAMADOR para dejar/disallow cambios de valor.
El anfitrión puede poner esta bandera para impedir cambios accidentales a valores
de hoja. No impide cambios al valor por el plugin.

Bits de bandera >=30 está reservado para banderas hechas de encargo.

==== Otros símbolos ====

WEED_CIERTOS está #definido cuando 1 en el encabezamiento.

WEED_FALSO está #definido cuando 0 en el encabezamiento.

WEED_API_La VERSIÓN está #definida cuando 120 en el encabezamiento.

WEED_API_VERSIÓN_100 es también #definido en el encabezamiento.


WEED_API_VERSIÓN_110 es también #definido en el encabezamiento.
WEED_API_VERSIÓN_120 es también #definido en el encabezamiento.

== WEED EFECTÚA EJEMPLO ==

Desde el propósito principal de Weed es para efectos de vídeo, una descripción está
incluida aquí, cuando un ejemplo de cómo Weed puede ser utilizado.

hay también un Weed Extensión de Audio, y un Weed Extensión de Acontecimientos,


los cuales están documentados por separado.
== COMPILANDO Un PLUGIN CON WEED ==

Unos efectos plugin deseando utilizar Weed sencillamente necesita incluir


<weed/weed.h>,
<weed/weed-efectos.h> Y weed/weed-plugin.h <>

Estos plugins TIENE QUE ser enlazado con sus símbolos propios y funciones. Si
utilizando
gcc, esto está hecho con la bandera -Wl,-Bsymbolic.

Si el plugin uso de marcas del Weed Biblioteca de Utilidad, tenga que ser *statically*
enlazado con libweed-utils, y #incluir <weed/weed-utils.h>

Si el plugin deseos de utilizar el Weed Plugin Biblioteca de Utilidad, tenga que


ser *statically* enlazado con libweed-plugin-utils y #incluir
<weed/weed-plugin-utils.h>.

Estático enlazando está requerido porque el plugins está proporcionado sus versiones
propias de las funciones de núcleo. Compartido enlazando haría el plugins
uso la versión del anfitrión de las funciones.

Plugins NO tendría que ser enlazado directamente con libweed, desde las funciones
de núcleo están pasadas del anfitrión, dependiendo de el API la versión
estado de acuerdo por anfitrión y plugin. De este modo, proporcionado el plugin no
utiliza
cualesquier funciones de núcleo directamente (i.e. por hacer uso de las bibliotecas
de utilidad), el plugin es guaranteed para ser compatible con cualquier versión
futura del Weed biblioteca.

== TIPOS de PLANTA ==

ahora describimos los varios tipos de planta para weed efectos, y sus hojas
obligatorias y opcionales.

== TIPO de PLANTA ANFITRIÓN_INFO ==

* "tipo" == WEED_ANFITRIÓN_de PLANTA_INFO

'' soyandatory deja''':[[BR]]

* "api_versión" : WEED_SEMILLA_INT : weed api la versión seleccionada por anfitrión,


será uno del api las versiones pasaron de largo el plugin en
el bootstrap función [ve abajo]
* "weed_la hoja_consigue_func" : WEED_SEMILLA_VOIDPTR : puntero de función a weed_la
hoja_consigue función ; las versiones tendrían que emparejar "api_versión"

etc para todas las funciones (excepto weed_banderas_de conjunto_de la propiedad,


weed_planta_gratis, y weed_la hoja_elimina)

'''hojas Opcionales''': [[BR]]

* "nombre_anfitrión" : WEED_CUERDA_de SEMILLA : nombre anfitrión


* "versión_anfitriona" : WEED_CUERDA_de SEMILLA : TIPO de PLANTA

== de versión anfitrión PLUGIN_INFO ==

El plugin_info la planta está regresada del plugin setup función weed_setup(), para
decir el anfitrión qué
clases de filtro son disponibles en aquel plugin. Después de recibir esta planta, el
anfitrión tendría que
poner todas las hojas en él READONLY para el plugin y no tendría que cambiar cualquier
hoja
se valora.

* "Tipo" == WEED_PLANTA_PLUGIN_INFO

'' soyandatory deja''':[[BR]]

* "anfitrión_info" : WEED_SEMILLA_PLANTPTR : puntero al ANFITRIÓN_INFO


la planta regresada del anfitrión en weed_bootstrap()

* "filtros" : WEED_SEMILLA_PLANTPTR : variedad de punteros a los filtros en el


plugin
* "versión" : WEED_SEMILLA_INT : plugin versión de paquete

'''hojas Opcionales''':[[BR]]

* "maintainer" : WEED_CUERDA_de SEMILLA : maintainer de plugin paquete


* "url" : WEED_CUERDA_de SEMILLA : URL de plugin FILTRO

== de TIPO de PLANTA de paquete_filtro ==

de tipo de Planta de CLASE_la clase suele describir todas las propiedades de un filtro
solo en un plugin. Está creado por el plugin en weed_setup() y entonces
añadido al plugin_info planta. Todas las hojas en esta planta tendrían que ser puestas
READONLY para
el plugin después de weed_setup(), y no tendría que ser alterado por el anfitrión.

"Tipo" == WEED_CLASE_de FILTRO_de la PLANTA

'' soyandatory deja''':[[BR]]

* "nombre" : WEED_CUERDA_de SEMILLA : el nombre de filtro; tiene que ser único


en el plugin,
* "autor" : WEED_CUERDA_de SEMILLA : el autor de filtro(s)
* "versión" : WEED_SEMILLA_INT : proceso de versión
* "del filtro_func" : WEED_SEMILLA_VOIDPTR : puntero a un proceso_func()
* "plugin_info" : WEED_SEMILLA_PLANTPTR : puntero al PLUGIN_INFO la planta que
contiene esta CLASE_de FILTRO

'''hojas Opcionales''': [[BR]]

* "banderas" : WEED_SEMILLA_INT : bitmap de banderas de filtro


* "init_func" : WEED_SEMILLA_VOIDPTR : puntero a un init_func()
(también puede ser NULL)
* "deinit_func" : WEED_SEMILLA_VOIDPTR : puntero a un deinit_func()
(también puede ser NULL)
* "en_plantillas_de canal" : WEED_SEMILLA_PLANTPTR, lista de 0 o más elementos:
variedad de inp plantillas de canal, '''tipo''' del referenced la planta TIENE QUE ser
WEED_PLANTILLA_de CANAL_de la PLANTA
* "fuera_plantillas_de canal" : WEED_SEMILLA_PLANTPTR, lista de 0 o más elementos :
variedad de fuera plantillas de canal, '''tipo''' del referenced la planta TIENE QUE
ser WEED_PLANTILLA_de CANAL_de la PLANTA
* "en_plantillas_de parámetro" : WEED_SEMILLA_PLANTPTR, lista de 0 o más elementos :
variedad de en plantillas de parámetro, '''tipo''' del referenced la planta TIENE QUE
ser WEED_PLANTILLA_de PARÁMETRO_de la PLANTA
* "fuera_plantillas_de parámetro" : WEED_SEMILLA_PLANTPTR, lista de 0 o más
elementos : variedad de fuera plantillas de parámetro, '''tipo''' del referenced la
planta TIENE QUE ser WEED_descripción_de PLANTILLA_de PARÁMETRO

* "de PLANTA" : WEED_CUERDA_de SEMILLA : descripción de filtro


* "url" : WEED_CUERDA_de SEMILLA : filtro URL
* "licencia" : WEED_CUERDA_de SEMILLA : licencia de objetivo
* "de filtro_fps" : WEED_la SEMILLA_DOBLE : plugin puede informar el anfitrión del
objetivo fps índice(s) para
el anfitrión de correr el plugin.
El anfitrión tendría que poner "fps" para
el caso en este caso.

* "gui" : WEED_SEMILLA_PLANTPTR : puntero a un tipo


de planta GUI [ve abajo - GUI plantas]. El anfitrión no tendría que cambiar
este valor, o cualquiera del
interior de hojas él. El plugin lo puede crear y hojas de conjunto
él en weed_setup().

* Cada plugin puede almacenar dato interno en hojas dentro de la


planta_de clase del filtro, y el anfitrión NO TIENE QUE cambiar sus valores.
Aquellas hojas internas TIENEN QUE tener las llaves prefijaron con plugin_ ""

== CASO de FILTRO de TIPO_de PLANTA ==

caso de filtro de tipo_de Planta está creado por el anfitrión, y utilizado para
aguantar todos los datos que está relacionado a un
caso solo del filtro. Las hojas obligatorias TENDRÍAN QUE ser puestas
READONLY para el plugin por el anfitrión después de weed_setup(), y no
tendría que ser alterado por el anfitrión.
Las hojas opcionales crearon por el anfitrión PUEDE ser puesto READONLY para el plugin.

El anfitrión examina una clase_de filtro y prepara un caso_de filtro de él.


Después de que esto el anfitrión puede pasar el caso_de filtro al filtro
init_func() [si el plugin tiene un] para preparar para utilizarlo.

"Tipo" == WEED_CASO_de FILTRO_de la PLANTA

'' soyandatory deja''':[[BR]]


* "clase_de filtro" : WEED_SEMILLA_PLANTPTR : Puntero a una planta_de clase del
filtro
que este caso de filtro está basado encima. TIENE QUE ser uno de los filtros
regresó en el plugin plugin_info planta.

El siguiente es obligatorio sólo si allí está correspondiendo plantillas


en la clase de filtro:

* "en_canales" : WEED_SEMILLA_PLANTPTR, lista de 0 o más elementos : variedad de en


canales, '''tipo''' del referenced las plantas TIENEN QUE ser WEED_CANAL_de PLANTA
* "fuera de_canales" : WEED_SEMILLA_PLANTPTR, lista de 0 o más elementos : variedad
de fuera de canales , '''tipo''' del referenced las plantas TIENEN QUE ser
WEED_CANAL_de PLANTA
* "en_parámetros" : WEED_SEMILLA_PLANTPTR, lista de 0 o más elementos : variedad de
en parámetros, '''tipo''' del referenced las plantas TIENEN QUE ser WEED_PARÁMETRO_de
PLANTA
* "fuera de_parámetros" : WEED_SEMILLA_PLANTPTR, lista de 0 o más elementos : variedad
de fuera de parámetros, '''tipo''' del referenced las plantas TIENEN QUE ser
WEED_PARÁMETRO_de PLANTA

El siguiente es obligatorio si el plugin objetivo "de conjuntos_fps" para cualquier


clase_de filtro o caso_de filtro:

* "fps" : el objetivo actual fps del anfitrión corriendo el caso


(i.e Frecuencia en qué intenta para llamar proceso_func() ).
Otras hojas opcionales:

* "objetivo_fps" : WEED_la SEMILLA_DOBLE : plugin puede informar el anfitrión del


objetivo fps índice(s) para
el anfitrión de correr el caso.
El anfitrión tendría que poner "fps" para
el caso en este caso. El anfitrión puede
opcionalmente
puesto este READONLY_PLUGIN después del
plugin lo ha puesto, o lo
puede ignorar.

* Cada plugin puede almacenar dato interno en hojas


dentro de esta planta, y el anfitrión NO TIENE QUE cambiar sus valores o hacerles
READONLY para el plugin. Aquellas hojas internas TIENEN QUE tener las llaves
prefijaron con plugin_ "". El plugin es responsable para weed_libre()ing
cualquier memoria buffers en el deinit_func.

== PLANTILLA de CANAL de TIPO_de PLANTA ==

plantilla de canal de tipo de Planta está utilizada como descripción de un canal


solo (entrada o producción) un filtro puede manejar. Todas las hojas TENDRÍAN QUE
ser puestas READONLY para el plugin después de weed_setup(), y no tendría que
ser alterado por el anfitrión.

* "Tipo" == WEED_PLANTILLA_de CANAL_de la PLANTA

'' soyandatory hojas para todos los canales''': [[BR]]

* "nombre" : WEED_CUERDA_de SEMILLA : nombre del canal, TIENE QUE ser único a través
de todos los canales en la clase de filtro

'' soyandatory hojas para canales con vídeo''': [[BR]]

* "lista_de paleta" : WEED_SEMILLA_INT : el plugin pone esto a una


variedad de dejó paletas para el canal. Su orden es plugin
preferencia para una paleta. Si esta hoja falta, el canal
sólo apoya audio.

'' Soyandatory hojas para canales con audio''': [[BR]]

Ve el weed extensión de AUDIO.

'''Las hojas opcionales para todo canal escribe''': [[BR]]

* "banderas" : WEED_SEMILLA_INT : bitmap de banderas_de canal que plugin pone

* "descripción" : WEED_CUERDA_de SEMILLA : descripción de este canal

* "opcional" : WEED_la SEMILLA_BOOLEANA : el plugin puede poner esto a WEED_CIERTO


para canales que puede quedar fuera en tiempo de inicialización. Si
el anfitrión decide no para utilizar el canal, tenga que poner
"inutilizado" a WEED_CIERTO
para el canal. El mosto anfitrión reinit
el caso si un canal está habilitado o inutilizado después de
init_func().

* "max_Repite" : WEED_SEMILLA_INT : número máximo de canales que


el anfitrión puede crear de esta plantilla. Un valor de 0 indica
cualquier número (limitless). Si no presentar, "max_repite" está supuesto para
ser 1.
Si la plantilla_de canal es marcada "opcional", entonces el número mínimo de esta
plantilla_de canal es 0, otherwise es 1.

Si "max_repite" es presente, el número de repite puede ser cambiado


[reducido] después de que init() y entre procesar llamadas sin la necesidad a re-
inicializar el
plugin. En todos otros casos, un cambio en el número de canales requiere
el plugin para ser re-inicializó.
El número de los canales sólo pueden ser alterados [reducidos] por poner
"inutilizado" a WEED_CIERTO para uno o más los canales crearon de esta
plantilla. Esto está dejado incluso si la plantilla no es marcada "opcional".

* Cada filtro puede tener su dato interno almacenado en hojas


dentro de esta planta, y el anfitrión NO TIENE QUE cambiar sus valores o hacerles
READONLY para el plugin. Aquellas hojas internas TIENEN QUE tener las llaves
prefijaron con plugin_ ""

'''hojas Opcionales para canales con vídeo''': [[BR]]

* "ancho" : WEED_SEMILLA_INT : Si puesto, ancho de marco en píxeles que un


plugin puede manejar. Si está puesto, el anfitrión está prohibido para poner el
ancho
en caso de canal a cualquier cosa más. Para YUV paletas de tipo empaquetado, el
ancho es en macropixels (e.G para WEED_PALETA_UYVY888, es el
ancho en UYVY macropixels). Para planar YUV paletas, está medido
en el Y avión.

* "Altura" : WEED_SEMILLA_INT : Si puesto, altura de marco en píxeles que un plugin


puede manejar. Si está puesto, el anfitrión está prohibido para poner la altura en caso
de canal a cualquier cosa más

* "hstep" : WEED_SEMILLA_INT : Si puesto, el anfitrión tiene que poner el ancho de


canal a un múltiplo de este (en píxeles). Tendría que ser evitado si es posible para
razones de rendimiento.

* "vstep" : WEED_SEMILLA_INT : Si puesto, el anfitrión tiene que poner la altura de


canal a un múltiplo de este (en píxeles). Tendría que ser evitado si es posible para
razones de rendimiento.

* "maxwidth" : WEED_SEMILLA_INT : Si puesto, el anfitrión tiene que poner el ancho de


canal <= maxwidth (en píxeles)

* "maxheight" : WEED_SEMILLA_INT : Si puesto, el anfitrión tiene que poner la altura


de canal <= maxheight (en píxeles)

* "alineación" : WEED_SEMILLA_INT : Si puesto, cada elemento en "dato_de píxel" será


alineado
a esta mucha frontera de bytes. Tiene que ser
un poder de 2, y un múltiplo de sizeof
(void *). Eg. Si puesto a 16, la dirección
de cada elemento (avión) en "dato_de píxel" será
divisible por 16. Tendría que ser evitado si es posible
para razones de rendimiento.

* "YUV_Muestreo" : WEED_SEMILLA_INT : tipo de Muestreo para YUV


paletas, definió
abajo. Default Es mpeg si no puesto.

* "YUV_clamping" : WEED_SEMILLA_INT : Clamping tipo para YUV


paletas, definió abajo -
Anfitrión sólo tendría que utilizar unclamped
si plugin lo prefiere. Default
Es clamped, si no puesto.
* "YUV_subspace" : WEED_SEMILLA_INT : Subspace (Y'CbCr digital, Y'UV
analógico o BT.709) tipo para YUV
paletas, definió abajo -
Anfitrión tendría que utilizar Y'CbCr a no ser
que
plugin prefiere
otherwise. Default Es Y'CbCr
si no puesto.

'''Hojas opcionales para canales con audio''': [[BR]]

Ve el weed extensión de AUDIO.

== Planta de CANAL de TIPO ==

de PLANTA canal de tipo está utilizado como la fijación de canal planta que los
conjuntos anfitriones y plugin lee para saber qué está consiguiendo. Todas las hojas
TENDRÍAN QUE ser puestas readonly para el plugin por el anfitrión.

Los canales TIENEN QUE ser añadidos del orden de plantillas_de canal, aguantando en
importar la plantilla deja "opcional" y max_repite "". Después de que
inicialización, los canales NO TIENEN QUE ser añadidos o sacados sin reinitialising el
plugin.

* "Tipo" == WEED_CANAL_de PLANTA

'' soyandatory las hojas para todo canal planta''': [[BR]]


* "plantilla" : WEED_SEMILLA_PLANTPTR : el puntero a una plantilla
de canal planta este caso de canal está basado encima.

'' Soyandatory hojas para plantas de canal con vídeo''': [[BR]]


* "timecode" : WEED_SEMILLA_INT64 : tiempo de marco del vídeo en ticks (1/100 de un
microsegundo) para este ancho
* "de canal" : WEED_SEMILLA_INT : El ancho de marco escogido en píxeles. Para
YUV paletas de tipo empaquetado, el ancho es en macropixels (e.G para
WEED_PALETA_UYVY888, es el ancho en UYVY macropixels). Para
planar YUV paletas, está medido en el Y avión.
* "Altura" : WEED_SEMILLA_INT : La altura escogida en píxeles
* "paleta_actual" : WEED_SEMILLA_INT: La paleta escogida, los cuales tienen que ser
uno de las paletas contuvieron en "lista_de paleta" de un dato de píxel
* "de plantilla_de canal" : WEED_SEMILLA_VOIDPTR : variedad de n punteros al
dato de píxel de la imagen. Dependiendo de el valor de paleta_actual "", hay 1
elemento para empaquetó paletas, >1 elementos para paletas planares
* "rowstrides" : WEED_SEMILLA_INT : la variedad que lleva el ancho de fila de CADA
AVIÓN en bytes (incluye acolchar). El número de elementos
tiene que emparejar con número de elementos en "dato_de píxel".

'' Soyandatory hojas para plantas de canal con audio''': [[BR]]

Ve el weed extensión de AUDIO.

'''Las hojas opcionales para todo canal planta''': [[BR]]


* "inutilizado" : WEED_la SEMILLA_BOOLEANA : el anfitrión PUEDE poner esto a
WEED_CIERTO
antes de llamar init_func() si la plantilla de canal
correspondiente
tiene "la hoja" opcional puesta a cierto. El anfitrión NO TIENE QUE
cambiar esto sin
reinitialising el caso. El la excepción es si
el canal está basado en una plantilla qué tiene
"max_repite" puesto, en qué caso un canal de aquella
plantilla puede ser inutilizado en cualquier tiempo entre
procesar llamadas.

* Cada filtro puede tener su dato interno almacenado en hojas


dentro de esta planta, y el anfitrión NO TIENE QUE cambiar sus valores o hacerles
READONLY para el plugin. Aquellas hojas internas TIENEN QUE tener las llaves
prefijaron con plugin_ "". El plugin es responsable para weed_libre()ing
cualquier memoria buffers en el deinit_func.

'''Hojas opcionales para plantas de canal con vídeo''': [[BR]]

* "proporción_de aspecto_del píxel" : WEED_la SEMILLA_DOBLE : proporción de aspecto


físico
del píxel de la imagen (proporción de
aspecto del píxel diferente que 1.0
píxeles de medio son no-cuadrados)
[puestos por anfitriones]

Si el plugin pone cualquiera de estos en la plantilla_de canal, y el anfitrión está


utilizando un YUV
"paleta_actual", el anfitrión tendría que intentar emparejar plugin preferencia donde
posible, y vídeo de proceso consiguientemente:

* "YUV_muestreo" : WEED_SEMILLA_INT : tipo de muestreo Preferido para YUV


paletas, el anfitrión tendría que intentar
emparejar
si plugin puso él en plantilla

* "YUV_clamping" : WEED_SEMILLA_INT : Preferido clamping tipo para YUV


paletas, el anfitrión tendría que intentar
emparejar
si plugin puso él en plantilla

* "YUV_subspace" : WEED_SEMILLA_INT : Preferido YUV Subspace (Y'CbCr digital o


Y'UV
analógico) tipo para YUV
paletas, el anfitrión tendría que intentar
emparejar
si plugin puso él en plantilla

'''hojas Opcionales para plantas de canal con audio''': [[BR]]

Ve el weed extensión de AUDIO.

== PLANTILLA de PARÁMETRO de TIPO_de PLANTA ==

plantilla de parámetro de tipo_de Planta está utilizada como descripción de un


parámetro
solo (entrada o producción) el filtro puede manejar. Todas las hojas TENDRÍAN QUE ser
puestas readonly para el plugin por el anfitrión después de weed_setup().
El anfitrión sólo tendría que cambiar el "default" valor a un valor
válido para el parámetro. El anfitrión no tendría que cambiar cualquiera otras hojas.

'' Soyandatory deja''': [[BR]]


* "nombre" : WEED_CUERDA_de SEMILLA : nombre del parámetro, TIENE QUE ser único a
través del en_parámetros/fuera de_parámetros

* "default" : default valor(s) del parámetro : normalmente tiene que contener al menos
un elemento, pero puede tener 0 elementos para parámetros qué tener
el WEED_PARÁMETRO_conjunto_de bandera de ELEMENTOS VARIABLE. [0
elementos significa la hoja
existe pero tiene ningún valor, desde el TIPO_de SEMILLA tiene que ser
sabido.]

* "Nuevo_default" : requerido sólo para en parámetros qué tener la bandera


WEED_PARÁMETRO_los ELEMENTOS_VARIABLES pusieron. Dice el anfitrión el default valor de
elementos
nuevos cuáles pueden ser añadidos. Tenga que tener 1
valor, excepto parámetros de COLOR cuáles además
pueden tener 3 o 4 valores que dependen de el "colorspace".

* "Pista" : WEED_SEMILLA_INT : subdivides parámetros a clases diferentes


[ve abajo]

'''hojas Opcionales''':[[BR]]
* "banderas" : WEED_SEMILLA_INT : bitmap de descripción de banderas

* "del parámetro" : WEED_CUERDA_de SEMILLA : descripción de parámetro

* "interpolate_func" : WEED_SEMILLA_VOIDPTR : ve abajo, Plugin Funciones.

* "gui" : WEED_SEMILLA_PLANTPTR : cada plantilla_de parámetro puede tener


"un gui" hoja. Estos puntos de hoja a una planta de tipo
GUI. Dentro del GUI la planta puede ser hojas de adición para asistir el anfitrión
de mostrar este parámetro particular. El plugin lo puede crear, y valores
de hoja puesta en él en weed_setup() y/o en init_func().

* Cada filtro puede tener el dato interno almacenado en hojas


dentro de esta planta, y el anfitrión NO TIENE QUE cambiar sus valores o hacerles
READONLY para el plugin. Aquellas hojas internas TIENEN QUE tener las llaves prefijaron
con plugin_ "". El plugin es responsable para weed_libre()ing
cualquier memoria buffers en el deinit_func.

==== El PARÁMETRO DA PISTAS ====

La pista "" es un obligatorio WEED_SEMILLA_INT hoja de cada parámetro; el definió los


valores son:

* WEED_ENTERO_de PISTA
* WEED_FLOTADOR_de PISTA
* WEED_TEXTO_de PISTA
* WEED_CAMBIO_de PISTA
* WEED_COLOR_de PISTA que

Depende de el "tipo" de semilla de parámetro de pista las hojas adicionales son:

* WEED_valor_de ENTERO
"de la PISTA" y default "" está apremiado por min y max: min <= valor <= max
El "default" la hoja sólo puede ser de las semillas escriben WEED_SEMILLA_INT.
"default"
Puede tener cualquier número de elementos.

* "min" : WEED_SEMILLA_INT : valor mínimo del parámetro, OBLIGATORIO


* "max" : WEED_SEMILLA_INT : valor máximo del parámetro, OBLIGATORIO
* "envuelve" : WEED_la SEMILLA_BOOLEANA : WEED_CIERTO indica que el "valor" tendría
que envolver cuándo yendo bajo min o por encima de max, transición
* "OPCIONAL" : WEED_la SEMILLA_BOOLEANA : WEED_CIERTO Indica que este
parámetro es una transición , (i.e. en min el efecto es plenamente "fuera", en
max es plenamente "encima") OPCIONAL
* WEED_valor_de FLOTADOR
"de la PISTA" y default "" está apremiado por min y max: min <= valor <= max
El "default" la hoja sólo puede ser de las semillas escriben
WEED_SEMBRAR_DOBLE. "default" Puede tener cualquier número de elementos.

Hojas adicionales que causas de pista:


* "min" : WEED_la SEMILLA_DOBLE : valor mínimo del parámetro, OBLIGATORIO
* "max" : WEED_la SEMILLA_DOBLE : valor máximo del parámetro, OBLIGATORIO
* "envuelve" : WEED_la SEMILLA_BOOLEANA : WEED_CIERTO indica que el "valor"
tendría que ser envuelto cuándo yendo bajo min o por encima de max, transición
* "OPCIONAL" : WEED_la SEMILLA_BOOLEANA : WEED_CIERTO Indica que este
parámetro es una transición , (i.e. en min el efecto es plenamente "fuera", en
max es plenamente "encima") OPCIONAL

* WEED_texto_de Pista
de TEXTO de PISTA significa una cuerda, los cuales pueden ser utilizados para pasar
cuerdas.
El "default" la hoja sólo puede ser de las semillas escriben
WEED_CUERDA_de SEMILLA. "default" Puede tener cualquier número de elementos.

* WEED_Cambio_de Pista
de CAMBIO de PISTA puede ser utilizado para pasar sí/ninguna elección.
El "default" la hoja sólo puede ser de las semillas escriben
WEED_SEMBRAR_BOOLEANO. "default" Puede tener cualquier número de elementos. Sólo
pueda tomar valores WEED_CIERTOS y WEED_FALSOS.

Hojas adicionales que causas de pista:


* "grupo" : WEED_SEMILLA_INT : para todo en_parámetros con el mismo
no-cero grupo, sólo uno de aquellos parámetros puede ser puesto a WEED_CIERTO.
Para parámetros en un grupo: el default sólo puede tener
un valor solo, y WEED_PARÁMETRO_los ELEMENTOS_VARIABLES no pueden ser puestos.

* WEED_Color_de Pista
de COLOR de PISTA puede ser utilizado para pasar colores. Los colores están
representados como
lista de elementos de escribir WEED_la SEMILLA_DOBLE o WEED_SEMILLA_INT. Dependiendo de
el
"default", el anfitrión sabe el tipo de semilla de valor "".

Hojas adicionales que causas de pista:


* "min" : WEED_la SEMILLA_DOBLE o WEED_SEMILLA_INT; variedad de N elementos: valor
mínimo del parámetro, OBLIGATORIO
* "max" : WEED_la SEMILLA_DOBLE o WEED_SEMILLA_INT; variedad de N elementos: valor
máximo del parámetro, OBLIGATORIO
* "colorspace" : WEED_SEMILLA_INT : colorspace (ve abajo), Número

==== OBLIGATORIO de elementos en las hojas ====


El "default" la hoja tiene que contener al menos uno valora A no ser que el plugin pone
la bandera de parámetro
WEED_PARÁMETRO_ELEMENTOS_VARIABLES (ve abajo); entonces el "default" puede
tomar cualquier número (0 o más) de elementos, [0 elementos significa la hoja
existe pero tiene ningún valor, desde el TIPO_de SEMILLA tiene que ser sabido.] Y
nuevo_default
"" tiene que ser puesto.

El número de los elementos en "valor" TIENEN QUE emparejar el número de elementos en


"default" A no ser que el plugin pone la bandera de parámetro
WEED_PARÁMETRO_ELEMENTOS_VARIABLES (ve abajo); entonces el "valor" puede
tomar cualquier número (0 o más) de elementos.[0 elementos significa la hoja
existe pero tiene ningún valor, desde el TIPO_de SEMILLA tiene que ser sabido.] Y
nuevo_default
"" tiene que ser puesto.

La excepción única es para "parámetros" de COLOR; allí el número de elementos


en "default" y el "valor" siempre TIENE QUE ser un múltiplo de 3 o 4
(dependiendo de el "colorspace").

El número de elementos en cada de min "" y max "" puede ser cualquier 1, o igual al
número de elementos en "default". Si el plugin pone la bandera
WEED_PARÁMETRO_ELEMENTOS_VARIABLES para el parámetro, entonces el número de elementos
en cada de min "" y max "" sólo puede
ser 1.

Nota:

hay una excepción más lejana para "parámetros" de COLOR; allí el número de elementos
en "" min y max "" puede ser:

1 (cada elemento utiliza el mismo min y/o max)


n (dónde n es 3 o 4 dependiendo de colorkey)
N (dónde N es un múltiplo de 3 o 4, emparejando el número de elementos en "default").

La última opción no es válida si el parámetro tiene la bandera mordió


WEED_PARÁMETRO_los ELEMENTOS_VARIABLES pusieron.

== Entrada de PARÁMETRO de TIPO ==

de PLANTA hojas de parámetro sólo tendrían que ser cambiadas por el anfitrión, y hojas
de parámetro de la producción sólo por el plugin. Los parámetros TIENEN QUE emparejar
uno a uno con plantillas de parámetro (orden mismo, número mismo).

'' Soyandatory deja''': [[BR]]


* "plantilla" : WEED_SEMILLA_PLANTPTR : puntero al valor de plantilla

* "del parámetro" : tipo de semilla del valor TIENE QUE emparejar el tipo de default
""
hoja de la plantilla_de padre. Variedades/de listas pueden ser
implementadas por
poner elementos múltiples en "default" (longitud de lista fija),
o por poner la bandera de parámetro mordió
WEED_PARÁMETRO_ELEMENTOS_VARIABLES
(longitud de lista variable)

'''hojas Opcionales''':[[BR]]
* "timecode" : WEED_SEMILLA_INT64 : tiempo en ticks (1/100 de un
microsegundo) utilizó en "interpolate_func"; o para
fuera de parámetros, el
timecode cuándo "el valor" era último conjunto .

* "Ignora" : variedad de WEED_la SEMILLA_BOOLEANA : para interpolación de en


parámetros con elementos
múltiples en "valor", "ignora" puede soler elementos "de valor"
del bloque qué es para ser ignorado en aquel timecode. Así, si
presente, el número de elementos en "ignora" tendría que emparejar el
número de elementos en
"valor" en el timecode (excepto parámetros de COLOR,
donde el número de elementos en "ignorar" está dividido por 3
o 4 dependiendo de "colorspace"). Un encuadre de WEED_CIERTO indica el
elemento correspondiente en "el valor" no *tendría que* ser considerado
un
punto de interpolación (i.e. es justo "un elemento" de relleno).

* Cada filtro puede tener su dato interno almacenado en hojas


dentro de esta planta, y el anfitrión NO TIENE QUE cambiar sus valores o hacerles
READONLY para el plugin. Aquellas hojas internas TIENEN QUE tener las llaves
prefijaron con plugin_ "". El plugin es responsable para weed_libre()ing
cualquier memoria buffers en el deinit_func.

== TIPO_de PLANTA_GUI ==

Este tipo de planta tiene diferir las propiedades que dependen de si es


referenced de (i.e. contenido en) caso_de filtro o de una plantilla_de parámetro.

==== Clase_de filtro GUI ====


Plugin puede poner cualquiera de estas hojas en weed_setup(). Después de que esto
tendrían que ser puestos READONLY para el plugin.

'' Soyandatory deja''': [[BR]]


* "esquema_de diseño" : WEED_CUERDA_de SEMILLA : la cuerda que define el esquema
de diseño utilizado en el resto de la planta

'''hojas Opcionales''': [[BR]]

* "icono" : WEED_CUERDA_de SEMILLA : nombre del icono asociado (si


cualquier) en el subdirectorio de iconos [ve
abajo - Plugin formato/de ubicaciones]

* otras hojas opcionales dependen de el "esquema_de diseño" utilizó

* Cada filtro puede tener su dato interno almacenado en hojas


dentro de esta planta, y el anfitrión NO TIENE QUE cambiar sus valores o hacerles
READONLY para el plugin. Aquellas hojas internas TIENEN QUE tener las llaves
prefijaron con plugin_ "". El plugin es responsable para weed_libre()ing
cualquier memoria buffers en el deinit_func.

==== Plantilla_de parámetro GUI ====


Plugin puede poner y cambiar estas hojas en weed_setup() y/o en
init_func(). En absoluto otro tiempo tendrían que
ser puestos READONLY para el plugin. Si el filtro es re-inited
(p. ej. porque un flagged valor de parámetro estuvo cambiado, o porque una
medida de canal o la paleta estuvo cambiada), entonces el
READONLY_PLUGIN la bandera tendría que ser aclarada por el anfitrión antes de llamar
init_func(), entonces puesto otra vez después.
Una excepción a esto es "valor_de exhibición", los cuales pueden ser puestos por
el plugin siempre que "exhibición_func" (si definido) se apellida.

Todo de estas hojas indica funcionalidad opcional para


el anfitrión. Por ejemplo, el plugin no tendría que confiar encima poniendo "maxchars"
para
asegurar una cuerda está apremiada a longitud segura, tampoco tener que
confíe encima poniendo "valor_de copia_a para" forzar el anfitrión de poner indentical
"valores" para dos parámetros.

'''Hojas opcionales''': [[BR]]


* "etiqueta" : WEED_CUERDA_de SEMILLA : etiqueta para uso

* "de exhibición_mnemotécnico" : WEED_la SEMILLA_BOOLEANA : WEED_CIERTO indica si


"usos" de etiqueta
underscore elecciones tan

* "mnemotécnicas" : WEED_CUERDA_de SEMILLA : n valores para una elección: único válido


para INT parámetros, el "elemento" de valor(s) indica el elemento
seleccionado(s); "min" y max "" tiene que apremiar "valor" a elecciones válidas;
0 indica primer elemento en "elecciones". Un valor de -1 (si
dejado) indica "ninguna selección". Para no-INT parámetros, esta
hoja será ignorada. Si "las elecciones" es presentes, entonces "envolver" y
medida_de paso
"" puede ser ignorada por el anfitrión.

* "Decimales" : WEED_SEMILLA_INT : número de decimales para un FLOTADOR o COLOR


(FLOTADOR) pista. Para otro da pistas esto será ignorado.

* "Medida_de paso" : tipo de partidos de tipo de semilla de default "" : valor de paso
para
ENTERO, FLOTADOR y tipo de COLOR parámetros : utilizado para botones de espín, etc.

* "maxchars" : WEED_SEMILLA_INT : max longitud de exhibición en (utf-8) chars para


una pista de CUERDA. Para otras pistas, esto será ignorado. Un valor < 1 también
tendría que ser ignorado.

* "Exhibición_func" : WEED_SEMILLA_VOIDPTR : puntero a una función que regresos un


valor
para exhibición. Ve abajo, Plugin Funciones. Esto puede ser inutilizado por
ponerlo a NULL.

* "Valor_de exhibición" : WEED_CUERDA_de SEMILLA : Valor para ser mostrado por


el anfitrión. El plugin tener que sólo puesto esta hoja si y cuándo
"exhibición_func" se apellida
por el anfitrión. Ve abajo, Plugin Funciones.

* "Escondido" : WEED_la SEMILLA_BOOLEANA : si puesto a WEED_CIERTO, el parámetro


puede ser escondido por el anfitrión.

* "Valor_de copia_a :" WEED_SEMILLA_INT : índice (0 significa primer parámetro, 1


significa segundo, etc.)
de otro en_parámetro : si el "valor" de este parámetro está cambiado, entonces el
"valor" del parámetro señalado para poder ser
puesto al mismo valor. Ambos parámetros TIENEN QUE tener la misma PISTA y número
de elementos en "default", otherwise esto será ignorado. Único
válido para en_parámetros. Si más de un puntos de parámetro a igual
en_parámetro, el comportamiento es undefined. NOTA: esto no
es estrictamente GUI funcionalidad. Even GUI-menos anfitriones podrían querer
implementar
esto ! Esto puede ser inutilizado por ponerlo a un valor < 0, o por
ponerlo para señalar a él.

* Cada filtro puede tener su dato interno almacenado en hojas


dentro de esta planta, y el anfitrión NO TIENE QUE cambiar sus valores o hacerles
READONLY para el plugin. Aquellas hojas internas TIENEN QUE tener las llaves
prefijaron con plugin_ "". El plugin es responsable para weed_libre()ing
cualquier memoria buffers en el deinit_func().

== PLUGIN FUNCIONA ==

La función fija única nombra el plugin TIENE QUE implementar es weed_setup() puntero de
función, toda otra información está pasada a través de plantas respectivas (clases,
funciones, etc...)

==== weed_setup ====

{{{
weed_Planta_t *weed_setup(weed_bootstrap_f weed_bootstrap)
}}}

Las llamadas anfitrionas este primer en un plugin, y pases en un puntero a una


función, weed_bootstrap, los cuales se tienen que apellidar primero por el plugin.
El typedef de weed_bootstrap_f es:
{{{
weed_planta_t *weed_bootstrap_func (default_getter_f *valor, int num_versiones, int
*plugin_versiones)
}}}

El plugin tiene que llamar esto, pasando en un puntero a un (nuevamente


weed_malloc()ed) default_getter_f, un int
"número de Weed api las versiones apoyadas" y un int variedad de aquellas
versiones.

Si el anfitrión no apoya cualquiera del plugin api versiones, regrese


NULL. En este caso el plugin tendría que regresar NULL del
weed_setup() función, de modo que el anfitrión lo puede descargar.

Otherwise, el anfitrión pondrá valor para señalar a un default getter


función en el anfitrión de la forma:

{{{
int default_getter(weed_planta_t *planta, const char *llave, int idx, weed_función_t
valor)
}}}

El plugin tendría que llamar default_getter para conseguir todo de su API funciones del
anfitriones_info planta. También pueda recuperar el "api_hoja" de versión (utilizando
el
recuperado weed_la hoja_consigue() ) para descubrir
cuál de su API versión el anfitrión lo asignó.

Normalmente un plugin utilizaría una biblioteca de utilidad cuál cuidaría de llamar


el bootstrap función y consiguiendo su API funciones.

El weed_setup() la función regresa un PLUGIN_INFO planta que


especifica qué es el contenido de este plugin -
cuáles filtran clases tiene, quién es el maintainer, etc.

El Plugin implementa weed_setup() en manera siguiente: el PLUGIN INFO la planta es


primero creada por utilizar weed_la planta_nueva().
Los filtros individuales son entonces creados y añadidos a la "hoja"
de filtros en el PLUGIN INFO planta.
Si ningún filtro puede ser creado (debido a memoria u otros problemas o versión
mismatches), la función tendría que regresar NULL.

La planta regresada TIENE QUE tener '''tipo''' WEED_PLANTA_PLUGIN_INFO.

==== init_func ====


Esto es una función opcional en Weed.

{{{
int init_func(weed_Planta_t *caso_de filtro)
}}}

El anfitrión llama esto y pases en el caso de filtro_deseado.


El caso de planta del filtro pasó al init_func TIENE QUE haber sido
correctamente setup para emparejar la clase de filtro relaciona a,
esto significa que todas las hojas obligatorias de entrada y canales de producción y de
parámetros de entrada TIENEN QUE ser puestos.
La función regresa un weed código de error (ve abajo).
El init_func() la función deja el plugin para crear cualesquier estructuras
de memoria internas necesita; el plugin puede almacenar dato interno como
hojas que tiene las llaves prefijaron con plugin_ "" en el caso_de filtro
(ve la definición de planta de caso del filtro). El plugin puede también (re)puso
"el gui" encuadres para plantillas_de parámetro (ve abajo).

==== Proceso_func ====


Esto es una función obligatoria en Weed.

{{{
int Proceso_func(weed_planta_t *caso_de filtro, largo timestamp)
}}}

el anfitrión llama esto para cada ciclo de procesamiento; el plugin puede hacer su
marco que
procesa aquí. La función regresa un weed código de error (ve
abajo). Timestamp Es el tiempo de presentación en ticks (1/100 de un microsegundo)
(puede ser p. ej. tiempo desde playback inicio). La función regresa un weed código de
error (ve abajo).

==== deinit_func ====


Esto es una función opcional en Weed.

{{{
int deinit_func(weed_Planta_t *caso_de filtro)
}}}

El anfitrión llamará esto para dejar el plugin para liberar() cualquier memoria
interna. Siguiente esto el anfitrión puede liberar() la planta_de caso
del filtro. El plugin no necesita para liberar cualesquier plantas u hojas; el
anfitrión tendría que cuidar de este.

==== weed_desetup ====


Esto es una función opcional en Weed.

{{{
void weed_desetup(void);
}}}

Si el plugin tiene esta función, el anfitrión lo tendría que llamar antes de descargar
el plugin. Esto es para dejar el plugin a reinicialización cualquier
hardware, etc.

==== mostrar_func ====


Esto es una función opcional en Weed.

{{{
void Exhibición_func(weed_planta_t *parámetro);
}}}

Para el parámetro dado, el plugin tendría que examinar su "valor", conseguir


su "hoja" de plantilla, conseguir "el gui" hoja de este, y finalmente, puesto
"el valor_de exhibición" en "el gui". El "valor_de exhibición" tendría que ser
de las semillas_escriben WEED_CUERDA_de SEMILLA. Este "valor_de exhibición" tendría
que ser mostrado
por el anfitrión en vez del valor de parámetro "normal".
"Exhibición_func" es una hoja opcional de una plantilla_de parámetro "gui".
El anfitrión TIENE QUE asegurar aquel "valor_de exhibición" es writable por el plugin
antes de llamar exhibición_func(), y lo tendría que poner readonly para
el plugin después.
==== interpolate_func ====
Esto es una función opcional en Weed.

{{{
int interpolate_func(weed_param_t **En_params, weed_param_t *fuera de_param);
}}}

La función toma un NULL variedad rescindida de parámetros para una plantilla


de parámetro_sola, con timecode "","valor" y posiblemente "ignorar"
hojas, y regresa una suposición mejor para "el valor" de fuera de_param. El
en_params la variedad TIENE QUE ser en ascendente "timecode" orden. El "timecode"
hoja de fuera de_param TIENE QUE ser puesto. Todos los valores de parámetro en_params y
fuera
de_param referencia la misma plantilla_de parámetro. Interpolate_func Es
una hoja opcional de aquella plantilla_de parámetro.

El valor regresó es de hecho un booleano. Un valor de regreso de WEED_CIERTO


significa el "valor" puesto en fuera de_param es exacto. Un valor de regreso de
WEED_FALSO
significa que el "valor" en fuera de_param es una suposición. En
el caso último, el anfitrión puede recordar la función con más elementos en
en_params para conseguir un resultado más cuidadoso.

== FUNCIONES ANFITRIONAS ==

El anfitrión proporciona justo uno función obligatoria al plugins:


weed_bootstrap (ve encima para su definición).

El bootstrap la función toma una lista de Weed api las versiones apoyadas por
el plugin, pone un getter función, y regresa un anfitrión_info planta, o NULL
si ninguno del plugin api las versiones se mantienen.

El plugin puede utilizar el getter función para conseguir las hojas del anfitriones
info planta.

El ANFITRIÓN_INFO la planta también puede tener otras hojas opcionales para


proporcionar
más información sobre el anfitrión, y funciones opcionales.

== ESBOZO WEED VISIÓN GENERAL de FLUJO del PROCESO ==

* llamadas Anfitrionas weed_init()


* cargas Anfitrionas plugin (dlopen)
* el anfitrión llama el weed_setup() función en el plugin.
* plugin Llamadas weed_bootstrap y controles anfitriones api_las versiones apoyadas
por
el plugin. Si encuentra una versión que lo puede utilizar pone esto en
ANFITRIÓN_INFO y regresa el ANFITRIÓN_INFO al plugin, otherwise tenga que regresar
NULL al plugin.
* plugin Utiliza default_getter para conseguir las hojas del ANFITRIONES_INFO planta.
En weed_setup(), para cada clase de filtro, el plugin crea e
inicializa una planta de escribir WEED_CLASE_de FILTRO_de la PLANTA y lo añade
a la "hoja" de filtros del regresado PLUGIN_INFO planta.

* Anfitrión crea un CASO_de FILTRO: Anfitrión examina el en_canal y fuera_plantas de


canal, y pone "la bandera" discapacitada para cualesquier canales opcionales no desea
para utilizar. También comprueba "lista_de paleta", selecciona una paleta le gustaría
empezar utilizando en aquel canal y pone el valor escogido en "la hoja_de paleta"
actual. También pone las medidas ("ancho" y hojas "" de altura) si el plugin les dejó
tan cero. Todos parámetros de entrada tienen que tener los valores puestos al llegar a
este punto. Esto significa anfitrión ahora tiene una planta que lo instantiate.
* Llamadas anfitrionas init_func() [si existe] del filtro info planta, pasando un
puntero a un CASO_de FILTRO le gustaría a instantiate.
* Plugin Ahora sabe las medidas de canal, las paletas y qué canales son en uso. El
plugin poder ahora weed_malloc() dato interno.

* El anfitrión puede ahora valores de parámetro del cambio (respetando "max" y min ""
hojas) y él después que lo puede llamar proceso_func() en el plugin, pasando en el CASO
de FILTRO_inicializado.
* Cuándo el anfitrión ha acabado con el CASO_de FILTRO, o si necesita
a re-inicializarlo, la llamada de mosto anfitriona deinit_func() en el plugin
[si el plugin tiene un], pasando en un puntero al CASO_de FILTRO. El plugin MOSTO
ahora weed_libre() cualquier dato internamente destinado.

* El anfitrión puede ahora weed_la planta_libre() el CASO_de FILTRO, o pueda


reutilización el CASO_de FILTRO por llamar init_func() una vez más.

== Plugin Ubicaciones ==

La lista de directorios para ser buscados puede ser puesto en la variable


de entorno WEED_PLUGIN_CAMINO; directorios en WEED_PLUGIN_el CAMINO tendría que ser
separado por
colons (:) el directorio indicado y uno nivelan de los subdirectorios
tendrían que ser buscados cada entrada. Los directorios tendrían que ser buscados
en orden, primero a último, y cualesquier efectos con duplicados Hashnames puede
ser ignorado. [Ve hashnames, abajo].

Los iconos para cada filtro pueden ser colocados en un subdirectorio de iconos. E.G: si
WEED_PLUGIN_el CAMINO está puesto a /usr/lib/weed, entonces
/usr/lib/weed/<iconos>/de aplicación/ contendrían iconos para plugins en
/usr/lib/weed/<archivos>/

de Dato de la aplicación para cada filtro pueden ser colocados en un subdirectorio de


dato. E.G:
/usr/lib/weed/<dato>/de aplicación/ contendría archivos de dato para plugins en
/usr/lib/weed/<Nota>/

de aplicación: no hay ninguna necesidad para API versioning del weed directorios ellos,
cuando
el weed_bootstrap el sistema cuida de diferente Weed API versiones.

== Weed Hashnames ==

El hashname de un Weed el filtro es la concatenación sencilla de: plugin


nombre, nombre de filtro, autor y versión de filtro.

== WEED BANDERAS Y ESCRIBE ==

==== Weed el parámetro da pistas ====

* WEED_PISTA_UNSPECIFIED
el parámetro es de un tipo desconocido. Plugins Nunca tendría que utilizar esto
directamente, está pretendido sólo para wrapper plugins cuáles pueden necesitar
convertir
tipos de parámetro desconocido. Estos tipos de parámetro pueden o no puede
tener "min" y max "". Ellos haber al menos "nombre" y default "" hojas.

* WEED_PISTA_INT

* WEED_FLOTADOR_de PISTA
* WEED_TEXTO_de PISTA

* WEED_CAMBIO_de PISTA

* WEED_Parámetro_de COLOR

de la PISTA da pistas >=1024 está reservado para parámetros hechos de encargo.

==== Weed colorspaces ====

* WEED_COLORSPACE_RGB

* WEED_COLORSPACE_RGBA

* WEED_COLORSPACE_HSV

Colorspaces >=1024 está reservado para espacios de color hecho de encargo.

==== Weed Paletas de tipos ====

de la paleta son todo unsigned en Weed.

Algunas paletas tienen alias; estos están mostrados en la misma línea.

'' Especial Paletas'''


número de Paleta 0
{{{
WEED_FIN_de PALETA
puede ser utilizado en setup_func() en un int *paletas, denota el fin de la lista de
paleta; "propiedad_de lista" de la paleta
}}}

'''RGB Paletas'''
la paleta numera >0 y 512 <
{{{
WEED_PALETA_RGB888 WEED_PALETA_RGB24
WEED_PALETA_BGR888 WEED_PALETA_BGR24
WEED_PALETA_RGBA8888 WEED_PALETA_RGBA32
WEED_PALETA_BGRA8888 WEED_PALETA_BGRA32
WEED_PALETA_ARGB8888 WEED_PALETA_ARGB32
WEED_PALETA_RGBFLOAT
WEED_PALETA_RGBAFLOAT

}}}
'''YUV Paletas'''
la paleta numera >=512 y 1024 <

Gamas son 16-235 para Y, 16 - 240 para U y V, a no ser que


WEED_YUV_CLAMPING_UNCLAMPED está puesto en "YUV_clamping" para
plantilla/de canal_del canal.

La paleta es Y'CbCr digital, a no ser que WEED_YUV_SUBSPACE_YUV o


WEED_YUV_SUBSPACE_BT709 está puesto en
"YUV_subspace" para plantilla/de canal_del canal.

{{{
WEED_PALETA_YUV422P WEED_PALETA_YV16
[nombre Oficial 'YV16', 8 mordió Y el avión seguido por 8
mordió 2x1 subsampled U y V aviones. Planar.]

WEED_PALETA_YUV420P WEED_PALETA_YV12
[8 mordió Y el avión seguido por 8 mordió 2x2 subsampled U y V aviones. Planar.
(Nombre oficial YV12)]

WEED_PALETA_YVU420P WEED_PALETA_yo420 WEED_PALETA_IYUV


[Mismo como YUV420P , pero U y V es swapped. Planar.
(Nombre oficial IYUV)]

WEED_PALETA_YUV444P
[oficioso. 8 mordió Y el avión seguido por 8 mordió U y V aviones, ningún
subsampling. Planar.]

WEED_PALETA_YUVA4444P
[Oficioso, como YUV444P pero con Alfa. Planar.]

WEED_PALETA_UYVY8888 WEED_PALETA_UYVY
[YUV 4:2:2 (Y muestra en cada píxel, U y V sampled en cada segundo
píxel horizontalmente en cada línea). Un macropixel contiene 2 píxeles en 1
u_int32. Empaquetado. Si el "YUV_subspace" está puesto a bt709, esto
deviene HDYC.]

WEED_PALETA_YUYV8888 WEED_PALETA_YUYV WEED_PALETA_YUY2


[Como UYVY pero con el componente diferente que ordena dentro del
u_int32 macropixel. Empaquetado. También sabido como YUY2]

WEED_PALETA_YUV411 WEED_PALETA_IYU1
[IEEE 1394 Cámara Digital 1.04 spec. Es empaquetado YUV formato
con un 6 píxel macroblock estructura contener 4 píxeles.
Ordenando es U2 Y0 Y1 V2 Y2 Y3. Los usos mismos bandwith como YUV420P
Utilizados para SMPTE DV NTSC / DVCPRO COLEGA (???)]
También sabido como IYU1.

}}}

WEED_PALETA_YUV888 WEED_PALETA_IYU2
Empaquetó YUV paleta, ningún subsampling. También sabido como IYU2

WEED_PALETA_YUVA8888
Empaquetó YUV paleta con canal de alfa. Ningún subsampling.

'''Paletas de alfa'''
la paleta numera >=1024 y 2048 <

paletas de Alfa son generalmente utilizadas tan canales de máscara.

{{{
WEED_PALETA_Un1
WEED_PALETA_Un8
WEED_PALETA_AFLOAT
}}}
la paleta numera >=2048 está reservado para paletas hechas de encargo.

==== Banderas de filtro ====

* WEED_FILTRO_NO_REALTIME[[BR]]
no-realtime filtro: el filtro es demasiado lento de utilizar en realtime
procesamiento.
Generalmente, filtra cuáles toman más de aproximadamente 0.1 segundo para procesar
un marco está considerado no-realtime.

* WEED_El FILTRO_ES CONVERTIDOR_[[BR]]


Esta bandera mordió tendría que ser puesto si el plugin no altera los píxeles
de imagen excepto resizing o conversión de paleta entre en
canal y fuera canal(s). Sólo tenga que ser puesto para
los tipos siguientes de plugins: plugins cuál sólo resize el en enmarcar
a fuera marco(s); plugins cuál sólo convierte la paleta de en
enmarcar a fuera marco(s), plugins cuál sencillamente duplica el en enmarcar
a fuera marco(s), y para plugins cuáles manejan audio único, donde el
plugin sólo altera el volumen de audio [ve el Weed Extensión
de Audio].

Suele asistir con categorización del


plugin tipo. Para ser útil, tales filtros también pueden querer utilizar el
*_PUEDE_VARIAR banderas de canal abajo.

* WEED_PISTA_de FILTRO_STATELESS[[BR]]
Esto es opcional, si el filtro es stateless (i.e. no dependant en
llamadas pasadas para procesar_func() ) entonces esto esta bandera
mordió puede ser puesto. Utilizado para compatibilidad con otro plugin
arquitecturas.

* WEED_PISTA_de FILTRO_ES EFECTO_de PUNTO_[[BR]]


Esto es opcional; si hay un directo un-a-un mapeo entre píxeles en
el en canal(s) y píxeles en el fuera canal(s), entonces esta bandera mordió puede
ser
puesto, para dejar procesamiento paralelo del dato_de píxel en multithreaded
sistemas.

Bits de bandera >=30 está reservado para banderas hechas de encargo.

==== Banderas de plantilla del canal ====

* WEED_CANAL_REINIT_ENCIMA_CAMBIO_de MEDIDA[[BR]]
el anfitrión tiene que reinit el plugin antes de llamar proceso_func() si la medida
de canal (altura, ancho o rowstrides) está cambiado. Nota
que cambiando la paleta a veces puede afectar el ancho y rowstrides
- si el cambio es sólo debido a este, el anfitrión necesita no reinit
(a no ser que WEED_CANAL_REINIT_ENCIMA_CAMBIO_de PALETA está puesto naturalmente).

* WEED_CANAL_REINIT_ENCIMA_CAMBIO_de PALETA[[BR]]
el anfitrión tiene que reinit el plugin antes de llamar proceso_func() si la paleta
de canal está cambiada

* WEED_el CANAL_PUEDE_HACER_INPLACE[[BR]]
Si esta bandera mordió está puesto, el filtro puede hacer inplace operaciones.
Los anfitriones pueden seleccionar este modo por poner "dato_de píxel" de este
fuera el canal
igual al "dato_de píxel" del correspondiente (número mismo; no contando "canales"
discapacitados)
en canal. La bandera mordió es sólo válido para FUERA DE canales.

* WEED_MEDIDA_de CANAL_PUEDE_VARIAR[[BR]]
En Weed, todos los canales están supuestos para tener la misma medida (ancho y
altura)
como el primer no-discapacitados en_canal (o primero no-discapacitado
fuera_canal para filtros que tiene no en canales). Si esta bandera
mordió está puesto, entonces el anfitrión puede poner este canal a una medida
diferente. Para canales de medida fija, no es necesario de poner esto.
Plugins Tener que no resize a no ser que es inevitable, o tienen
"un altos-rendimiento" resize rutina. Otherwise resizing Tendría que quedar
al anfitrión.

* WEED_PALETA_de CANAL_PUEDE_VARIAR[[BR]]
En Weed, todos los canales están supuestos para tener la misma "paleta_actual"
como el primer no-discapacitado en_canal (o primero no-discapacitado
fuera_canal para filtros que tiene no en canales). Si esta bandera
mordió está puesto, entonces el anfitrión puede poner este canal a una paleta
dejada diferente. Plugins No tendría que actuar conversiones de paleta
a no ser que es inevitable, y tienen "una conversión de paleta" de rendimiento
alto rutina. Otherwise Conversión de paleta tendría que quedar al
anfitrión.

* WEED_El CANAL_SIGUE_PRODUCCIÓN[[BR]] - API versión 110 y más alto


Esta bandera mordió denota que el (solo) canal de entrada tendría que recibir
marcos sólo después de todo otro procesamiento de filtro. Por ejemplo, un
subtitle el filtro podría utilizar esta bandera para indicar que subtitles
tendría que ser overlaid arriba de cualquier otra producción de filtro.

Bits de bandera >=30 está reservado para banderas hechas de encargo.

==== Banderas de plantilla del parámetro ====

* WEED_PARÁMETRO_REINIT_ENCIMA_CAMBIO_de VALOR[[BR]]
el anfitrión tiene que reinit el plugin si el valor "de parámetro" está
cambiado. Esto es para dejar el plugin para alterar el "gui" encuadres
para los parámetros y para el caso. El mosto anfitrión temporalmente
deja el plugin lee/escribe acceso al "gui" plantas durante el init.

* WEED_PARÁMETRO_ELEMENTOS_VARIABLES[[BR]]
plugin puede poner esto para informar el anfitrión que el número de los elementos en
la hoja "de valor" del parámetro pueden variar. Si no puesto, entonces el número de
los
elementos en "valor" está fijado; siempre tenga que emparejar el número de elementos
en
"default".

Si esto está puesto, entonces el plugin poder sólo uso un elemento


en cada de min "" y max "" para el parámetro, excepto parámetros
de COLOR cuáles pueden utilizar 3 o 4 dependiendo de el "colorspace".

Nota también que 0 es un número válido de elementos. [0 elementos significa la hoja


existe pero tiene ningún valor, desde el TIPO_de SEMILLA tiene que ser sabido.]

Si esto está puesto para un en parámetro, el plugin el MOSTO también puesto "el
nuevo_default" hoja para
el parámetro.

* WEED_ELEMENTO_de PARÁMETRO_POR_CANAL[[BR]] - API versión 110 y más alto


Esta bandera mordió indica que cada elemento en el valor "de parámetro"
corresponde a un canal de entrada. Si una
plantilla de canal ha "max_repite" puesto a otro que 1, entonces
WEED_PARÁMETRO_los ELEMENTOS_VARIABLES es también supuestos para ser puestos para
el parámetro, y así que el "nuevo_default" la hoja también tiene que ser puesta [ve
encima].
Válido para plantillas de parámetro de la entrada sólo.

Bits de bandera >=30 está reservado para banderas hechas de encargo.

==== YUV Tipos de muestreo ====

Donde chroma subsampling está utilizado, chroma los valores están supuestos para ser
centrados entre luma muestras, a no ser que
especificados otherwise.

* WEED_YUV_MUESTREO_DEFAULT : Default subsampling. Puede ser utilizado para YUV888 o


YUVA8888 (opcional).
* WEED_YUV_MUESTREO_MPEG : Mismo cuando JPEG, pero Chroma las muestras son
horizontalmente alineó. Hay idea de campos. [Esto es el
default, igual a WEED_YUV_MUESTREO_DEFAULT] (YUV 4:2:0) (como yuvy-yuvy)

* WEED_YUV_MUESTREO_JPEG : Chroma es sampled en medio el horizontal


y a medias la frecuencia vertical. (YUV 4:2:0). Chroma Las muestras están
alternadas horizontalmente entre luma muestras (como yuyv-yuyv)

* WEED_YUV_MUESTREO_DVPAL : Subsampling por campo, chroma las muestras


están localizadas encima y bajo luma muestras, y CB y CR las muestras están
localizadas encima alternar líneas (YUV 4:2:0)

* WEED_YUV_MUESTREO_DVNTSC : Chroma es sampled en una frecuencia


horizontal reducida pero está alineado horizontalmente con luma muestras
(YUV 4:2:2 / YUV 4:1:1) [mismo como mpeg ?]

El muestreo escribe >=1024 está reservado para muestreos hechos de encargo.

==== YUV clamping ====

* WEED_YUV_CLAMPING_CLAMPED :: El default si no presentar (clamped a 16-235,


16-240, 16-240) [como mpeg]

* WEED_YUV_CLAMPING_UNCLAMPED :: Y, U y V es unclamped (0 - 255 gama


para cada) [utilizado en p. ej. en jpeg]

clamping tipos >=512 está reservado para hecho de encargo clampings.

==== YUV subspace ====

* WEED_YUV_SUBSPACE_YCBCR :: Y'CbCr colorspace. El default si no presente

* WEED_YUV_SUBSPACE_YUV :: YUV usos analógicos ligeramente factores


de conversión diferente que CbCr digitales (Wr=0.299, Wb=0.114)

* WEED_YUV_SUBSPACE_BT709 :: BT.709 definición alta usos ligeramente factores


de conversión diferente que CbCr digitales (Wr=0.2125, Wb=0.0721)

subspace tipos >=512 está reservado para hecho de encargo subspaces.

==== Errores de filtro ====

* WEED_ERROR_DEMASIADO_MUCHOS_CASOS[[BR]]
no puede crear: plugin deja número limitado sólo de casos de filtro, regresados de
init_func()

* WEED_HARDWARE_de ERROR[[BR]]
había un error de hardware utilizando el filtro; regresado
de init_func() o de proceso_func(). Si regresado de proceso_func(),
el filtro tendría que ser deinited/reinited.

* WEED_ERROR_INIT_ERROR[[BR]]
otro unspecified error durante inicialización

* WEED_ERROR_PLUGIN_INVÁLIDO[[BR]]
uno o más de las clases_de filtro es ya no válidas. El caso
de filtro tendría que ser deinitialised y no reused; regresado de proceso_func().

El error numera >=1024 está reservado para errores hechos de encargo.


Weed Extensión de audio

Weed audio spec.

= Especificación técnica =

Weed Extensión de Audio 1.1 versión final.

(C) Gabriel "Salsaman" Finch 2005 - 2008

Versión 1.1 - añadido "es_maestro_de volumen" para asistir con automatización


anfitriona
de audio

El Weed Extensión de Audio añade capacidades de audio al estándares


WEED_PLANTILLA_de CANAL_de la PLANTA y WEED_CANAL_de PLANTA.

== WEED_PLANTILLA_de CANAL_de la PLANTA ==

Para canales de audio, la hoja_de lista "" de la paleta tendría que ser
ommited. El anfitrión no tendría que poner una "paleta_actual" o dato de vídeo
del pase en tal canal.

Por ejemplo, esto puede soler procesar un audio de respaldar pista.

Para canales qué audio de soporte, la hoja siguiente tiene que ser definida
en la plantilla:

hojas Obligatorias:

"es_audio" : WEED_la SEMILLA_BOOLEANA : si puesto a WEED_CIERTO, entonces este


canal es audio .

Hojas opcionales:
el plugin puede definir estos para forzarles para el anfitrión, o les
pueda dejar undefined.

"Longitud_de dato_del audio" : WEED_SEMILLA_INT : longitud máxima de dato_de audio en


audio

"de muestras_interleaf" : WEED_la SEMILLA_BOOLEANA : si WEED_CIERTO, entonces canales


de audio tendrían que ser interleaved

"canales_de audio" : WEED_SEMILLA_INT : número de canales de audio en


el dato_de audio : tiene que ser >=1 (mono), 2==stereo, etc.
"índice_de audio" : WEED_SEMILLA_INT : el índice de muestra del audio en Hz.

== WEED_CANAL_de PLANTA ==

hojas Obligatorias para CANALES con audio:

"dato_de audio" : WEED_SEMILLA_VOIDPTR : tiendas un puntero a 32 mordió dato de


flotador firmado para
audio buffer. Valores dentro del buffer es en la gama -1.0 <=
valor <= 1.0. [Puede ser NULL si el anfitrión tiene ningún audio para
pasar].

"Longitud_de dato_del audio" : WEED_SEMILLA_INT : longitud de dato_de audio en muestras


[puede ser 0 si el anfitrión tiene ningún audio
para pasar]

"audio_interleaf" : WEED_la SEMILLA_BOOLEANA : si WEED_CIERTO, entonces canales


de audio son interleaved

"canales_de audio" : WEED_SEMILLA_INT : número de canales de audio en


el dato_de audio : tiene que ser >=1 (mono), 2==stereo, etc.

"índice_de audio" : WEED_SEMILLA_INT : el índice de muestra del audio en Hz.

Notas:

En el caso que el anfitrión no tiene ningún audio en absoluto para un canal, pueda
poner "dato_de audio" a NULL, y dejar todas otras hojas de audio
undefined.

Si los conjuntos anfitriones los canales "de audio_de los valores", "índice_de audio",
o audio_interleaf
"" él, entonces los valores para todos los canales TIENEN QUE ser
puestos igual.

"Canales_de audio", "índice_de audio", y audio_interleaf "" no TIENE QUE ser


cambiado sin un re-init del plugin.

== WEED_PLANTILLA_de PARÁMETRO_de la PLANTA ==

"es maestra_de volumen_" : WEED_la SEMILLA_BOOLEANA : para volumen-efectos únicos, hay


un par de cosas
que tiene que ser hecho. Primero la bandera de plantilla del filtro mordió
WEED_el FILTRO_ES CONVERTIDOR_ tiene que ser puesto. Segundo, exactamente uno de las
plantillas de parámetro tiene que ser marcado por poner la hoja "es maestra_de
volumen_" a WEED_CIERTO.
Esto es para dejar automatización anfitriona.
Tal parámetro tiene que ser un flotador , y mosto *linearly* ajustar el volumen para
todo audio
sub-canales (en el sentido de izquierdo "" y correcto "" sub-canales) entre 0.0 (ningún
volumen) y 1.0 (ninguna amplificación). El
máximo opcionalmente puede ir más allá 1.0 (para un amplificador/pre-amp). También
pueda ser pensado de cuando "el control" de beneficio.

Esta bandera puede ser combinada con la bandera WEED_ELEMENTO_de PARÁMETRO_POR_CANAL


en el caso de repetir Weed canales de audio (ve "max_repite" en la descripción
de plantilla del canal del principal Weed spec). Esto crearía alguna
clase de audio mixer en el anfitrión.

ANFITRIÓN

== de resumen_INFO deja ==

"jugador_de audio_anfitrión" : WEED_CUERDA_de SEMILLA : nombre del jugador de audio


anfitrión. Los ejemplos son "jack", "sox", "mplayer".

Weed Especificación de acontecimientos

Weed acontecimientos spec.

= Especificación técnica =

Weed Acontecimientos 1.0 versión final.

CHANGELOG
28/04/2006
dueño "Cambiado" a dueños "" para FILTRAR_INIT acontecimiento (deja dueños
de pista múltiple para un filtro)
Añadió audio "opcional_hoja" estatal para ENMARCAR acontecimiento.

02/06/2006
audio "Enmendado_el estado" a audio_busca "".

22/06/2006
Saca "dueños"

04/09/2006
Actualización detalles de audio para acontecimientos de MARCO. Añade "ignora" hoja para
PARAM_acontecimientos de CAMBIO.

22/11/2006
Añade hojas opcionales a lista_de acontecimiento

11/12/2006
Cambio plantptr a voidptr (plantptr único de ser utilizado para sub-plantas).
Añadido "weed_acontecimiento_api_hoja" de versión a planta_de LISTA del ACONTECIMIENTO.
Añadió sección de definiciones.

12/09/2008
audio "Añadido_pistas_de volumen" y valores_de volumen_del "audio". API Sin cambios
desde opcional.

(C) Gabriel "Salsaman" Finch 2005 - 2008

== WEED_ACONTECIMIENTO_API_VERSIÓN ==
Esto está definido cuando 100 para esta versión de la especificación. Este
número será aumentado para revisiones futuras del spec. Si una
función o un símbolo está cambiado o añadió.

== La PLANTA ESCRIBE ==
Este documento describe el diferente 'la planta escribe' en el weed sistema de
acontecimientos, y su obligatorio
y 'hojas' opcionales.

== LISTA de ACONTECIMIENTO de TIPO_de PLANTA ==

listas de Acontecimiento contienen acontecimientos qué está enlazado como singly o


lista
enlazada doblemente. Los acontecimientos pueden ser aguantados en una lista de
acontecimiento.
Algunas clases de plugins (timeline plugins) puede tomar una entrada_de lista del
acontecimiento
y producir una producción_de lista del acontecimiento.

Listas de acontecimiento también pueden ser serialised y pasados entre aplicaciones.

Diferente algunos sistemas donde listas de acontecimiento (o Editar Listas de Decisión)


está
forzado para ser aguantado por-canal/de pista, Weed deja ambos este modo, y/o uso de
una lista
de acontecimiento global para todos canales/de pistas.

* "Tipo" == WEED_LISTA_de ACONTECIMIENTO_de la PLANTA

'' soyandatory deja''':[[BR]]

* "weed_acontecimiento_api_versión" : WEED_SEMILLA_INT : API versión de este


spec. (Actualmente 100).

* "fps" : WEED_La SEMILLA_DOBLE : framerate de timeline; todos los acontecimientos en


el timeline TIENE QUE ser quantised a este índice. Un "fps" de 0 indica
variable framerate.

* "Primero" : WEED_SEMILLA_VOIDPTR : puntero al primer ACONTECIMIENTO en


la LISTA_de ACONTECIMIENTO

'''hojas Opcionales''': [[BR]]

* "último" : WEED_SEMILLA_VOIDPTR : puntero al último ACONTECIMIENTO en


el ancho_de LISTA

* "del ACONTECIMIENTO" : WEED_SEMILLA_INT : ancho de marco en píxeles (mosto ser >0)

* "altura" : WEED_SEMILLA_INT : altura de marco en píxeles (mosto ser >0)


* "canales_de audio" : WEED_SEMILLA_INT : número de canales de audio. 0
para forzar ningún audio. Tiene que ser >=0

* "índice_de audio" : WEED_SEMILLA_INT : índice de audio en Hz, tiene que ser >0 si
"canales_de audio" > 0

* "muestra_de audio_medida" : WEED_SEMILLA_INT : medida de muestra del audio en bits


por
muestra (p. ej. 8 o 16), tiene que ser >0 si "canales_de audio" > 0

* "audio_firmó" : WEED_la SEMILLA_BOOLEANA : WEED_CIERTO significa firmado,


WEED_FALSO, unsigned

* "audio_endian" : WEED_SEMILLA_INT : 0 == poco endian, 1 == grande


endian, otros valores son pistas

* "de volumen_de audio_nulas " : WEED_SEMILLA_INT : una variedad que valores "de
volumen_de audio_de mapas" a pistas. La pista
numera < 0 está flotando (respaldando) pistas de audio. Si hay menos
valores en "valores_de volumen_del audio" que en "pistas_de volumen_del audio",
entonces
las pistas sin valores correspondientes están supuestas para "ser ganged"
a la última pista con un valor correspondiente (i.e Están cerrados
al mismo valor).

* "Valores_de volumen_del audio" : WEED_la SEMILLA_DOBLE : variedad de control tosco


(0.0 - 1.0) valores de volumen para pistas. El mapeo a pistas está hecho
a través de PLANTA_de pistas_de volumen ""

== de audio tipo de ACONTECIMIENTO ==

* "del TIPO" == WEED_ACONTECIMIENTO_de PLANTA

'' soyandatory deja''':[[BR]]

* "pista" : WEED_SEMILLA_INT : la pista que denota el tipo de acontecimiento


[ve
abajo, Pistas de Acontecimiento]

* "timecode" : WEED_SEMILLA_INT64 : el timecode del acontecimiento

está recomendado que timecodes ser en orden ascendente, y que acontecimientos (al menos
marcos) es quantised a la lista_de acontecimiento framerate. Aun así, allí puede
existir ocasiones cuándo esto no es posible, así que no tenga que ser supuesto...

* "Luego" : WEED_SEMILLA_VOIDPTR : puntero al acontecimiento próximo en


la lista de acontecimiento. Las referencias circulares no son dejadas. La ""
hoja próxima del "" último acontecimiento en una lista de acontecimiento TIENE QUE
ser NULL. Timecode Del
acontecimiento señalado al MOSTO es esto >= .timecode. El valor está ignorado para
serialisation.

'''Hojas opcionales''': [[BR]]

* "anterior" : WEED_SEMILLA_VOIDPTR : puntero al acontecimiento anterior en


la lista de acontecimiento. Las referencias circulares no son dejadas. Si existe, la
hoja ""
anterior del "primer" acontecimiento en una lista de acontecimiento TIENE QUE ser
NULL. "Anterior"
y luego "" TIENE QUE formar una lista doblemente enlazada, i.e Tiene que haber una
simetría. Timecode Del
acontecimiento señalado al MOSTO es esto <= .timecode. El valor está ignorado para
serialisation.

== Orden de acontecimientos en uno timecode ==

es fuertemente sugirió que el orden y número de acontecimientos en cada timecode


tendría que ser:

* 0 o más filtro init acontecimientos


* 0 o más acontecimientos de cambio del parámetro
* 0 o 1 mapa de filtro acontecimientos
* 0 o más acontecimientos de cambio del parámetro
* 1 acontecimiento de MARCO [cualquiera un marco de espacio o un marco real]
* 0 o más filtro deinit acontecimientos
* 0 o 1 mapa de filtro acontecimientos

* de Marcador de los acontecimientos pueden existir anywhere en la lista_de


acontecimiento.

== El ACONTECIMIENTO DA PISTAS ==

La pista "" es un obligatorio WEED_SEMILLA_INT hoja de cada acontecimiento; el definió


los valores son:

* WEED_MARCO_de PISTA_del ACONTECIMIENTO


* WEED_FILTRO_de PISTA_del ACONTECIMIENTO_INIT
* WEED_FILTRO_de PISTA_del ACONTECIMIENTO_DEINIT
* WEED_MAPA_de FILTRO_de PISTA_de ACONTECIMIENTO
* WEED_PISTA_de ACONTECIMIENTO_PARAM_CAMBIA
* WEED_MARCADOR_de PISTA_del ACONTECIMIENTO que

Depende de el "tipo" de semilla de parámetro de pista las hojas adicionales son:

=== WEED_PISTA_de ACONTECIMIENTO_ENMARCA ===


Un acontecimiento de MARCO puede contener vídeo y/o audio.

La parte de vídeo de un MARCO representa un stack de pares/de marco del clip. Número de
los elementos para "clips" y marcos "" TIENEN QUE ser iguales.

Hojas obligatorias para todos los marcos:

* "clips" : WEED_SEMILLA_INT : variedad de clips (número de clip >=1) [clip <=0


significa ningún marco/de espacio del marco en aquella posición]
* "marcos" : WEED_SEMILLA_INT : variedad de marcos (número de marco >=1) [marco <=0
significa un marco de espacio en aquella posición]

"clips"==-1, "enmarca"==0 es fuertemente sugerido para un marco de espacio.

Hojas obligatorias para marcos con audio:

La parte de audio de un MARCO puede ser representada por una variedad de 4 números:
número_de pista, número_de clip, busca_tiempo, velocidad. Número de elementos para
"clips_de audio" y marcos_de audio "" TIENEN QUE ser
iguales.

* "Clips_de audio" : WEED_SEMILLA_INT : variedad de clips de audio como pares:


número_de pista, número_de clip. Número de pista puede soler enlazar
la pista
de audio visually y funcionalmente con una pista de vídeo (p. ej. 0 =
enlazado a primera pista de vídeo, <0 = "audio" flotante pista).
Número de clip es el número de clip donde el audio está tomado de.
Número
de clip <=0 significa ignorar el valor. Esto es útil
si las hojas no pueden ser eliminadas. Para crear un ignorar
acontecimiento, p. ej. valores de uso
"-1,-1,0.,0." Para "clips_de audio" y el "audio_buscan".

* "El audio_busca" : WEED_la SEMILLA_DOBLE : una variedad de pares dobles, dando el


audio
busca tiempo en segundos (el jugador tiene que quantise
esto a la muestra más cercana), seguido por velocidad
(velocidad 1. == Juego normal, 0.5 == velocidad media, -1.
== Juego atrás, etc). El número de elementos TIENE QUE emparejar
número de elementos
en "clips_de audio", y los elementos
corresponden en par de orden-por-par. Busca los valores tienen que
ser >=0.

Si número de clip es <=0 en "clips_de audio" - ignorar, el audio


"correspondiente_busca" el par
está ignorado.

Una velocidad de 0. "" Con número de clip >0 cambiará


audio fuera para aquella pista, p. ej. "-1,1,0.,0."
Cambios fuera audio encima pista -1.

El buscar el valor puede ser < 0., esto es para dejar un


ajustamiento pequeño a synch audio con el marco
de vídeo.

no hay ningún volumen o encuadre de cacerola: muestras de audio pueden ser mixtas
utilizando un filtro (ve el WEED extensión
de AUDIO); esto puede requerir audio rendering.

El audio continúa jugar en la velocidad especificada hasta la audio


está marcada fuera (número_de clip <= 0), o el fin del archivo de audio está
logrado, i.e. los valores son escasos: sólo ""encima , "fuera", "busca" y necesidad
"" de cambios de la velocidad para
ser grabado.

Audio y marcos de vídeo tendrían que ser combinados dónde posibles. I.e.
sólo tendría que haber uno enmarca acontecimiento en un particular timecode.

=== WEED_FILTRO_de PISTA_del ACONTECIMIENTO_INIT ===


Este acontecimiento suele init un caso de filtro.

* "Filtro" : WEED_CUERDA_de SEMILLA :el HASHNAME de un Weed filtro [Ve el principal


Weed
spec. Para una definición del Hashname]

El siguiente dos hojas suelen construir un CASO_de FILTRO


de un FILTRO_INIT acontecimiento [ve el Weed Spec.]

* "En_cuenta" : WEED_SEMILLA_INT : la variedad que describe el número (cuenta)


de casos de cada en plantilla de canal; 0 significa inutilizado, 1 significa
habilitado,
>1 puede ser utilizado dónde repitió los canales están dejados : opcional si
"el filtro" tiene no en canales, otherwise número de elementos
y mosto de orden filtro de partido "en_plantillas_de canal"

* "fuera_cuenta" : WEED_SEMILLA_INT : la variedad que describe el número


(cuenta) de casos de cada fuera plantilla de canal; 0 significa inutilizado, 1
significa habilitado,
>1 puede ser utilizado dónde repitió los canales están dejados : opcional si
"el filtro" tiene ningún fuera plantillas de canal, otherwise número de elementos
y mosto de orden filtro de partido "fuera_plantillas_de canal"

* "en_pistas" : WEED_SEMILLA_INT : variedad de pistas [empareja acontecimientos


de MARCO subsiguiente para efectuar en_canales], inicios en 0 para vídeo :
opcional si
"el filtro" tiene no en canales : [un en_pista de -1 representa una
pista de audio separada - ver el WEED extensión de audio]

* "fuera de_pistas" : WEED_SEMILLA_INT : variedad de pistas [empareja acontecimientos


de MARCO subsiguiente para efectuar fuera de_canales], inicios en 0 para vídeo :
opcional si
"el filtro" tiene no fuera de canales : [un fuera pista de -1 representa una
pista de audio separada - ver el WEED extensión de audio]

hojas Obligatorias para serialisation/deserialisation

* "acontecimiento_id" : WEED_SEMILLA_VOIDPTR : para serialisation y copia de seguridad


de listas
de acontecimiento, el "acontecimiento_id" TIENE QUE soler aguantar el (void *) valor
del acontecimiento original. Esto más tarde puede soler reconstruir la lista
de acontecimiento original. Utilizado para localizar "init_acontecimiento" en
MAPA_de FILTRO,
FILTRO_DEINIT y PARAM_acontecimientos de CAMBIO después de
serialisation/deserialisation
de lista_de acontecimiento.

=== WEED_FILTRO_de PISTA_del ACONTECIMIENTO_DEINIT ===


Este acontecimiento deinits un caso de filtro.

* "init_Acontecimiento" : WEED_SEMILLA_VOIDPTR : refiere a un FILTRO_INIT con timecode


"" <= este
acontecimiento timecode.

=== WEED_MAPA_de FILTRO_de PISTA_de ACONTECIMIENTO ===


Este tipo de acontecimiento define el orden en qué filtros está aplicado a
cualesquier
acontecimientos de MARCO subsiguientes.

* "init_Acontecimientos" : WEED_SEMILLA_VOIDPTR : una variedad qué refiere para


FILTRAR_INITs con timecode "" <= este
acontecimiento timecode. El FILTRO asociado_DEINITs tener que haber
"timecode" >= este acontecimiento timecode.

=== WEED_PISTA_de ACONTECIMIENTO_PARAM_Parámetros ===


de CAMBIO están supuestos para ser smoothly interpolated de uno valora
al próximo. Para implementar un cambio instantáneo, el
filtro tampoco tendría que hacer su interpolación propia, o el valor viejo
tendría que ser duplicado en el timecode antes del cambio instantáneo.

* "init_Acontecimiento" : WEED_SEMILLA_VOIDPTR : refiere a un FILTRO_INIT con timecode


"" <= este
acontecimiento timecode. El referenced "init_el acontecimiento" tiene que ser antes
de este
acontecimiento en la lista_de acontecimiento. El FILTRO asociado_DEINIT tener que
haber
"timecode" >= este acontecimiento timecode, y tiene que ocurrir después del
PARAM_CAMBIO en la lista_de acontecimiento.

* "Índice" : WEED_SEMILLA_INT : 0 índice basado de en_valor de números


* "del parámetro" : WEED_SEMILLA_* : "valor" del en_parámetro en "timecode"

las hojas Opcionales

* "ignoran" : variedad de WEED_la SEMILLA_BOOLEANA : para interpolación de en


parámetros con elementos
múltiples en "valor", "ignora" puede soler elementos "de valor"
del bloque qué es para ser ignorado en aquel timecode (i.e
Son valores de relleno" justo " en la variedad). Así, si
presente, el número de elementos en "ignora" tendría que ser = el número
de elementos en
"valor" en el timecode (para parámetros de COLOR,
el número de los elementos en "valor" está dividido por 3
o 4 dependiendo de "colorspace" - ver el Weed especificación de Filtro).
Un encuadre de WEED_CIERTO indica el
elemento correspondiente en "el valor" no *tendría que* ser considerado
un
punto de interpolación (i.e. es justo "un elemento"
de relleno). Un elemento desaparecido en "ignorar" está considerado para
ser WEED_FALSO. Elementos extras en "ignorar" está ignorado.

=== WEED_MARCADOR_de PISTA_del ACONTECIMIENTO ===

Esto es un anfitrión specfic acontecimiento de marcador. Las hojas pueden variar de


anfitriones a anfitrión.
Marcadores qué no es reconocido tendría que ser sacado de la lista_de acontecimiento.

Adenda:
== Serialising de listas_de Acontecimiento ==

de listas_de acontecimiento pueden ser serialised para transferencia entre


aplicaciones. El
proceso es:

* añade "acontecimiento_id" deja a todos filtran_init acontecimientos


* serialise primero la planta_de lista del acontecimiento, entonces las plantas de
acontecimiento por orden de ascendentes timecode

El serialisation el formato de cada planta será como sigue:

(uint32_t) número_de_propiedades
entonces para cada propiedad:

(uint32_t) nombre_len | (char *) nombre_de propiedad | (uint32_t) tipo_de átomo |


(uint32_t) num_elems |
donde nombre_len == strlen(nombre_de propiedad)
nombre_de propiedad es ASCII, no NUL-rescindió
entonces para cada elemento:

(uint32_t) medida_de byte | (void *) valor


[las cuerdas son utf-8, no NUL rescindidos]

| está mostrado para claridad sólo y no es escrito a la producción.


Orden de byte es poco-endian.

Nota: la hoja "" de tipo tendría que ser serialised primero, para asistir
reconstrucción del deserialised planta.

Adenda:
== Timeline plugins ==

Timeline plugins es similar a regular Weed (píxel) plugins, exceptúa


aquello:

no tienen PLANTILLAS_de CANAL.

Tienen una hoja extra en la CLASE_de FILTRO, "es_timeline", tipo de semilla


WEED_SEMBRAR_BOOLEANO,
los cuales tienen que ser puestos a WEED_CIERTOS.

El anfitrión creará un CASO_de FILTRO sin "en_canales" o fuera


"de_canales", en cambio utilizando "en_lista_de acontecimiento" y fuera_lista_de
acontecimiento
"". El anfitrión tendría que pasar un puntero a su acontecimiento actualmente
activo_lista (o NULL
si ninguno es activo) en "el en_lista_de acontecimiento".

Timeline plugins Poder tampoco: anexar un acontecimiento al "en_lista_de


acontecimiento",
y regreso él en "el fuera_lista_de acontecimiento", o crear una lista de
acontecimiento_nueva, y regreso
él en "el fuera_lista_de acontecimiento". Los acontecimientos TIENEN QUE ser anexados
de tal manera
que el acontecimiento "timecodes" en la lista de acontecimiento es en orden
ascendente.

El anfitrión tendría que añadir una hoja extra al ANFITRIÓN_INFO:


"el clip_anfitrión_consigue cuenta_de marco_", un voidptr a una función anfitriona:

int el clip_anfitrión_consigue cuenta_de marco_(int número_de clip);

Si el plugin llama esta función, el anfitrión tendría que regresar cualquier


número de marcos en el clip, o 0. 0 tendría que ser
regresado si cualquiera: el clip pedido no es utilizable (no existe, o, el
clip pedido no "es aleatorio-acceso", p. ej. es una corriente .)

== Definiciones ==
El weed-acontecimientos.h El encabezamiento actualmente contiene las definiciones
siguientes:
#define WEED_ACONTECIMIENTO_API_VERSIÓN 100
#define WEED_ACONTECIMIENTO_API_VERSIÓN_100

Resumen:

== el ACONTECIMIENTO_DA PISTAS ==

* WEED_MARCO_de PISTA_del ACONTECIMIENTO


* WEED_FILTRO_de PISTA_del ACONTECIMIENTO_INIT
* WEED_FILTRO_de PISTA_del ACONTECIMIENTO_DEINIT
* WEED_MAPA_de FILTRO_de PISTA_de ACONTECIMIENTO
* WEED_PISTA_de ACONTECIMIENTO_PARAM_CAMBIA
* WEED_FILTRO_de MARCADOR_de PISTA

== de ACONTECIMIENTO_el CASO deja ==

las hojas Opcionales

* "es_timeline" : WEED_la SEMILLA_BOOLEANA : un encuadre de WEED_CIERTO


indica que el filtro es un timeline filtro.

== ANFITRIÓN_INFO deja ==

"el clip_anfitrión_consigue_framecount" : WEED_SEMILLA_VOIDPTR: puntero para funcionar


de plantilla
int el clip_anfitrión_consigue cuenta_de marco_(int número_de clip); : el anfitrión
tiene que
suministrar esto si quiere uso timeline plugins
17.3.2 RFX spec
RFX spec.

El RFX (Rendered Sistema de Efectos)


---------------------------------

Autor: salsaman@xs4all.nl
Fecha: 21/01/2008
API Versión: 1.7 GPL

Cambia
1.0 Primera versión salsaman@xs4all.nl
1.1 entrada Añadida canales
1.2 autor "<Añadido>" sección
1.3 Añadió "<definir>" sección
1.4 cuerda Añadida soporte, delimitador de línea hecha fijado (((/))n)
1.5 nota Añadida aproximadamente LC_NUMÉRICA
1.6 cuerda Añadida_tipo de parámetro de la lista
1.7 Actualizaciones para compatibilidad con realtime efectos

--- API la versión congelada ---

- Añadir "especial|framedraw|multirect|"; añade algunos da pistas aproximadamente


interpretando "palabra clave" especial en "<diseño>"
- Añadir "especial|framedraw|singlepoint|"
- multirect -> multrect, fija descripción de él.
- Añadir campo "de etiqueta" desaparecida para cuerda (error de documentación)
- código "de lengua Correcta"
- bandera "de generador de lote" Añadida mordió + explicación de generadores.
- Describir cómo el ancho y la altura están pasados atrás a anfitrión.
- Añadir "especial|fileread"

TODO: - cambiar rectdemask para utilizar proporción, para emparejar otro framedraws
- partido a RFX diseño y RFX plugin Nota

de componentes:
Esta licencia documenta un estándar. La licencia de este documento es el GNU FDL (GNU
Licencia de Documentación Libre) versión 1.3 o más alto. El estándar él está liberado
bajo el GPL v3 o más alto.

Ve: http://www.gnu.org/copyleft/fdl.html
http://www.gnu.org/licenses/gpl-3.0.html

RFX es un sistema para generar ventanas de parámetro y plugins, p. ej. rendered


efectos de guiones. Actualmente tiene características para:

- definiendo pistas de diseño que envían parámetros a un GUI aproximadamente cómo para
presentar una ventana de parámetro
- dejando gatillos cuándo la ventana de parámetro está inicializada, y/o cuándo
cualesquiera
de los valores de parámetro están alterados
- dejando definición de código para pre/procesamiento/de correo del bucle (p. ej. de
bloques de marcos)

----------------------------------------------------------------------

Nota: RFX el diseño es ahora pretendido para ser un standalone componente cuáles pueden
ser utilizados para pasar descripciones de ventana del parámetro
entre aplicaciones. Consiste sólo de las secciones <definen>, <params>, <código_de
lengua> (y opcionalmente <param_ventana> y onchange <>). La sección <> de nombre es
también requerida, pero puede ser generado ad hoc por el anfitrión.

--------------------------------------------------------------------

En el presente RFX implementación para VIDAS, pre/código/de correo del bucle y los
gatillos
tienen que ser escritos en VIDAS-perl (código de lengua 0xF0), el cual está basado en
Perl
pero con extra default variables y algunas subrutinas para hacer marco (imagen)
procesando más fácil.

La sección siguiente describe un archivo de guión, y el gobierna cuáles tienen que ser
implementados para comply con el RFX versión de guión 1.7

NOTA: para RFX, la variable de concha LC_NUMÉRICO tendría que ser puesto a ""C ;
aquello implica el radix el carácter para
valores numéricos es "."

Archivos de guión
------------

archivos de Guión son el punto a favor de principio todo efectúa/utilidades/de


herramientas en RFX.
Del archivo de guión, un plugin puede ser generado para una aplicación anfitriona
particular. Los detalles del plugin la generación queda a los autores de las
aplicaciones anfitrionas pertinentes. RFX Archivos de guión son abstracted en el
sentido
que no son ligados a cualquier particulares widget conjunto, o a cualquier método
particular de transferir dato entre anfitrión y plugin.

Aquí es las secciones (algunos obligatorios, algunos opcionales) cuáles comprenden un


RFX
archivo de guión. Cada sección en el archivo de guión está puesta fuera como sigue:

<valor>
de palabra clave1
valor2
</palabra clave>

algunas secciones de palabra clave son opcionales, estos están indicados abajo gusta:
<palabra clave> [opcional]

algunas secciones de palabra clave toman un valor de dato solo, algunos toman Palabras
clave de valores de dato
múltiples qué tomar los valores múltiples están indicados así:
<palabra clave> [lista]
En el caso de valores múltiples, cada valor tendría que ser rescindido por un newline
(((/))n) carácter.

Dentro de valores, el delimitador es '|'. Un delimitador final en una línea es


generalmente ignorado, pero puede ser añadido
para readability (cuando en algunos de los ejemplos abajo).

Nota:
Cuando de RFX versión 1.4, el delimitador de campo está puesto en <el definir>
sección. Aun así, el default el valor está supuesto abajo.

El delimitador de campo tiene que ser un solo (ASCII) carácter. No pueda ser ((/))0 o
((/))n.

Aquí es el RFX secciones:

<define>

<versión>

<de nombre> [plugins único]

<autor> [plugins único]

<descripción> [plugins único]

<requiere> [opcional] [plugins único] [lista]

<params> [opcional] [lista]

<param_ventana> [opcional] [lista]

<propiedades> [plugins únicos] [opcionales]

<código_de lengua>

<pre> [plugins único] [opcional] [lista]

<bucle> [plugins único] [opcional] [lista]

<correo> [plugins único] [opcional] [lista]

<onchange> [opcional] [lista]

Los contenidos de cada sección están descritos abajo.

<Definir>

Esta sección contiene las entidades siguientes:


delimitador de campo
RFX versión

P. ej.:

<define>
|1.7
</define>

Tan notado, el siguiente supone el default delimitador de campo de |.


<Nombre>

Esta sección contiene una entrada sola con el nombre del efecto. El nombre
no contiene espacios, newlines o el carácter de delimitador (|). Cada plugin el nombre
tendría que ser único para aquel autor.

P. ej.

<nombre>
de marcos_de espacio
</de nombre>

<versión>

Esto es una sección obligatoria para una cuerda de versión para un plugin. Tenga que
ser un entero .
No confunde esto con el RFX versión en <el definir> sección.

P. ej.

<versión>
1
</autor>

<de versión>

Esto es una sección obligatoria para una "cuerda" de autor para un plugin.
Cualquier formato es acceptible, pero no tenga que contener newlines o el
carácter de delimitador. Un segundo campo opcional puede contener el autor URL.

P. ej.

<autor>
somebody@somewhere.com|http://www.mysite.org|
</descripción>

<de autor>

Esta sección consta de una entrada sola con 4 campos, es obligatorio para un plugin:

descripción de acción|de texto de carta|el mínimo enmarca|num_canales

p. ej.

<Borde>
de descripción Detecta|Borde detectando|1|1
</descripción>

los marcos mínimos es la longitud de bloque mínima para marcos que el plugin aceptará
. Un valor de 0 indica un mínimo de 1 marco (i.e. 0 es equivalente a 1). Si num_los
canales es 0 (un generador), este valor está ignorado, (a no ser que es -1, ve abajo).

num_Los canales indica el número de canales de entrada. (Las VIDAS actualmente sólo
aceptarán
0,1, o 2 canales de entrada).
NOTA IMPORTANTE
Un valor de -1 para los marcos mínimos indica que el plugin no de hecho
marcos de proceso. Esto es útil para plugins donde sólo una ventana de parámetro está
necesitada. En el caso que los marcos mínimos es -1, la aplicación anfitriona
sencillamente
tendría que mostrar la ventana de parámetro y dejar el usuario para cambiar los
valores,
pero ningún procesamiento de marcos tendría que ser actuado. Esto es útil con código
de gatillo para herramientas como calculadoras.

<Requiere> [opcional] [lista]

Esta sección consta de una lista de requerido binaries para el plugin para correr.
Cada entrada en la lista tendría que ser separada por un newline.

P. ej.

<requiere>
convierte
composite
</requiere>

El anfitrión y/o plugin comprobará que el requerido binaries es presente en el usuario


$CAMINO
antes de intentar para procesar cualesquier marcos.

<params> [Opcional] [lista]

Esta sección contiene una lista de parámetros para el efecto. Cada entrada en
la lista tendría que ser separada por un newline. Cada entrada en la lista contiene un
número variable de los campos que dependen de el Tipo de parámetro.

El nombre de cada parámetro tendría que ser único dentro del plugin.

El escribe cuáles están definidos tan lejos es:

num
bool
colRGB24
cuerda
de cuerda_lista

Cada tipo está definido así:

num: esto es un valor numérico . El 'num' el tipo es inmediatamente seguido por


un número decimal que indica el número de sitios decimales. Un valor de entero es
por tanto declarado cuando 'num0', mientras un valor numérico con 6 sitios decimales de
exactitud
está declarado cuando 'num6'.

El formato de parámetro para un num es como sigue:


tipo_de etiqueta|de nombre|de parámetro|default|medida|de paso|máxima_mínima/envuelve|
NOTA IMPORTANTE
Un underscore en la etiqueta indica que el carácter siguiente es un acelerador
mnemotécnico
para el parámetro. En caso el anfitrión no apoya
aceleradores mnemotécnicos, underscores tendría que ser desnudado de la etiqueta.

La medida de paso es la cantidad que el valor está ajustado por cuándo las flechas son
clicked en un spinbutton representando este parámetro.
Una medida de paso_negativa significa que los valores de parámetro tendrían que
envolver (max a min y min a max).

P. ej.

<params>
rotate|_Rotate selección por|num0|360|-3600|3600|
</params>

Cuando notado más temprano, LC_NUMÉRICO tendría que ser puesto a ""C , así que "un ."
Tendría que soler representar un punto decimal.

bool: Esto indica un parámetro booleano


El formato para este tipo de parámetro es:

tipo_de etiqueta|de nombre|de parámetro|default|agrupa|

p. ej.

<params>
encoger|_Encoger rotated ventana para caber medida de marco|bool|0|0|
</params>

El default está apremiado a los valores 0 (FALSOS) y 1 (CIERTOS).

El campo de grupo es un entero opcional . Si es no-cero entonces esto indica un grupo


de botón radiofónico. Aquello es, para todos los parámetros booleanos en
el plugin cuáles tienen el mismo grupo, sólo uno puede tomar un valor de 1 (CIERTO).

colRGB24: esto indica un 24 mordió RGB valor. El leftmost 8 bits corresponden a rojo,
el próximo 8 bits a verde, y el rightmost 8 bits a azules.

El formato para este tipo de parámetro es:


tipo_de etiqueta|de nombre|de parámetro|default_rojo|default_verde|default_azul|

p. ej.
<params>
startcol|_color de Inicio|colRGB24|255|255|255|
</params>

cuerda: esto indica un parámetro de cuerda


El formato para este tipo de parámetro es:

tipo_de etiqueta|de nombre|de parámetro|default|max_longitud_en_utf-8_chars|

El default no puede contener el carácter de delimitador del campo. El codificando


utilizado es UTF-8.

max_La longitud está medida en utf-8 caracteres. Es un campo opcional , y si omitido,


la longitud de cuerda máxima para "el código_de lengua" será utilizada.
P. ej.

<params>
el texto|Introduce alguna _cuerda|de texto|El default el valor es "default".((/))nThis
Es línea 2|1024|
</params>

lista_de cuerda: esto indica una lista de parámetros de cuerda, de qué exactamente una
entrada puede ser seleccionada
El formato para este tipo de parámetro es:

tipo_de etiqueta|de nombre|de parámetro|default|primera_cuerda|segunda_cuerda|...

Ninguna cuerda puede contener el carácter de delimitador del campo. Newline Puede ser
representado por ((/))n o cualquier
cosa el locale equivalente de ((/))n es.

El default es un índice a la lista de cuerdas. 0 significa la primera cuerda, 1


significa el segundo, etc.
El valor regresó será un entero.

P. ej.

<params>
el método|Escoge una _lista|de cuerda_del método|0|método1|método2|método3|
</params>

Debido a la ambigüedad con campo final delimeters, la última cuerda en la lista no


puede ser vacía.
Las cuerdas vacías son aun así, dejó en absoluto otras posiciones en la lista.

Por default, no comprobar está hecho para hacer seguro que el valor actual está
contenido en la lista,
la lista es sencillamente una guía a algún subconjunto de valores posibles.

<param_Ventana> [opcional] [lista]

Esta sección suele proporciona pistas de diseño al anfitriones aproximadamente cómo


para dibujar una
ventana de parámetro para esta herramienta/de efecto.

El formato es una lista de pistas de diseño separaron por newlines. Cada línea en
la lista tiene una palabra clave seguida por uno o más subfields separado por "|"

Dos palabras clave son actualmente apoyadas:

diseño
el diseño

especial es pista al anfitrión aproximadamente cómo para poner fuera de la ventana de


parámetro. Es
abstracted de cualquier particular widget conjunto.

Es hasta el anfitrión cómo cada línea de diseño en esta sección es de hecho


interpretó.

Una manera para implementar esto es para suponer cada línea de diseño describe una caja
horizontal. Estas cajas horizontales pueden ser puestas fuera dentro de un contenedor
vertical. Cualquier
unassigned los parámetros pueden ser añadidos abajo por el anfitrión.

La palabra clave de diseño está seguida por 0 o más campos qué describir una fila de
diseño.
Los campos pueden ser:

px == posición de parámetro x en la pantalla. El primer parámetro es p0, el segundo es


p1, etc. El orden de numeración de parámetro está tomado de la
<sección> de parámetro.

Llenar == llenar con espacio de espacio


"etiqueta" == una etiqueta
hseparator == línea horizontal separator

e.G:

<param_diseño>
de ventana|p0|
diseño|p5|
diseño|p1|
diseño|p2|
diseño|hseparator|
diseño|p3|llena|
diseño|p4|llena|
</param_ventana>

Una segunda palabra clave cuáles pueden ser utilizados en el param_sección de ventana
es "especial".
Esto indica que el anfitrión opcionalmente puede añadir un widget a la ventana qué
enlaces juntos algunos de los parámetros en una manera especial.

Dos ejemplos son:

aspecto|especial|1|2
especial|framedraw|rectdemask|1|2|3|4

es hasta autores anfitriones individuales cómo ellos visually interpretar la palabra


clave especial.
Para beneficio de anfitriones, sólo uno especial widget de cada tipo tendría que ser
utilizado.

Especial widgets
---------------
interpretación Sugerida:

Si multi-valoró los parámetros están dejados, cada parámetro enlazado puede tener n
valores, donde n empareja el número actual de en_canales (incluyendo "canales"
discapacitados) al filtro
En este caso es hasta el anfitrión cómo el índice actualmente seleccionado [n] está
escogido.
Si un parámetro enlazado es un flotador , entonces el valor representa una proporción
(p. ej. 1.0 = marco lleno ancho). Si un parámetro
enlazado es un int, entonces el valor es en píxeles. En el caso último, el anfitrión
tendría que poner el valor máximo como
apropiado.

Tipo especial "framedraw" - deja dibujo de usuario en un marco de preestreno para


controlar algunos parámetros y vicio-versa; el origen es superior-Subtipo

izquierdo "rectdemask" - >= 4 parámetros numéricos : demask (espectáculo único) una


región en el marco de preestreno, de posición p0[n],p1[n] a p2[n],p3[n]

Subtipo "multrect" - >= 4 parámetros numéricos : sorteo un rectángulo (esbozo) encima


marco de preestreno, offset p0[n]*fuera_canal1_ancho,p1[n]*fuera_canal1_altura, scaled
por p2[n]*fuera_ancho_de canal,p3[n]*fuera_ancho_de canal;

Subtipo "singlepoint" - >= 2 parámetros numéricos : sorteo un "punto" de objetivo (p.


ej. crosshair) en el marco, en offset

p0[n]*fuera_canal1_ancho,p1[n]*fuera_canal1_altura

aspecto de tipo "Especial" - 2 parámetros numéricos : p0 y p1 opcionalmente puede ser


proporción de aspecto cerró al correspondiendo en ancho
de canal y altura; el anfitrión tendría que
proporcionar una manera de seleccionar/deselect este

tipo Especial "audiochannel" - >=1 cualesquier parámetros : un parámetro marcado con


este tipo tendría que tener 1 valor para cada canal de audio

tipo Especial "mergealign" – 2 parámetros


El mergealign especiales widget enlaza junto dos num parámetros de tipo. Tiene dos
estados. En uno lo declara pondrá el primer parámetro a su valor mínimo y el segundo
parámetro a su valor máximo. En el segundo estado haga el opuesto, puesto el primer
parámetro a su máximo, y el segundo parámetro a su mínimo.

Tipo especial "fileread" - 1 parámetro de cuerda : el parámetro de cuerda enlazado


tendría que señalar a un archivo al cual el usuario tiene leer propiedades

<de permisos> [opcionales]

esto es un bitmap campo (actualmente 32 bit). Los valores hexadecimales están dejados.
Algunos bits están definidos ya

0x0001 == lentos (pista a anfitrión)


0x0002 == poder resize
0x0004 == modo de lote generador

Si el "poder resize" mordió está puesto, _todos los _ marcos en el bloque de


procesamiento pueden ser
resized a un ancho nuevo y altura. El plugin tendría que informar el anfitrión sobre
el ancho de marco nuevo y altura. El mecanismo exacto para esta información para
ser pasada atrás al anfitrión es todavía para ser decidido.

Un "generador de modo" del lote es un plugin con 0 en canales, y cuál genera todos los
marcos en un pase solo (i.e. el código de bucle es sólo para ser corrido una vez).
0x8000 == reservó. Este bit está reservado por el editor de vídeo de las VIDAS.

Si el valor de las propiedades no es definidas, está supuesto para ser 0x0000.

P. ej.
<propiedades>
0x0001
</lengua>

<de propiedades_código>

El código de lengua indica el scripting lengua para <el pre>, <bucle>,


<correo> y onchange <> secciones. Esto es un 32 mordió unsigned entero. Los valores
hexadecimales están dejados.

Los valores actuales son:

0xF0 == VIDAS-perl

<pre> [opcionales] [lista]

Esta sección contiene código cuál será ejecutado antes del bucle de procesamiento.

P. ej. (en VIDAS-perl):

<pre>
#calcula el número de marcos
$longitud=$fin-$inicio+1;
</pre>

Para no-lote-generadores de modo que utilizan VIDAS-perl, esta sección es obligatoria,


y tienes que poner $acabar igual al número de marcos cuál será generado, p. ej.:

<pre>
$fin=100;
</pre>

Para modo de lote o no-lote-generadores de modo, puedes también puesto el índice de


marco para el clip (esto es opcional). En VIDAS-perl, esto está hecho por poner $fps
(cuáles pueden tomar un valor de punto flotante), p. ej.

<pre>
$fin=100;
$fps=25.0;
</pre>

<bucle> [lista]
NOTA IMPORTANTE
Esta sección es opcional para guiones de no procesar (dónde min los marcos está puesto
a -1, ve encima)

Esta sección contiene código cuál será ejecutado para cada marco en
el bloque de procesamiento.

P. ej. (en VIDAS-perl):

<bucle>
#negate cada sistema
de marco("$convertir_orden -negate $en $fuera");
</bucle>

Las reglas para procesar es como sigue:

en cada pase del bucle tendrías que producir un marco de producción (posiblemente por
utilizar
el marco de entrada). Por ejemplo, en VIDAS-perl, el marco de producción se apellida
$fuera.
Los marcos de producción tendrían que ser creados en numéricos del inicio del
bloque de procesamiento hasta el final en orden numérico sin vacíos. El tipo de imagen
no tendría que ser cambiado, ni tener que la paleta. Los marcos pueden ser resized
proporcionados
el guión tiene el "poder resize" la propiedad mordió puesta.

Si ningún procesamiento es para ser hecho en un pase, entonces el marco de entrada


tendría que ser
copiado al marco de producción.

Una excepción a esto es si el plugin tiene no en canales, y poner "la bandera de


generador" del lote mordió. En este caso, el código de bucle será corrido *sólo una
vez*, y el generador tendría que crear una alfa-secuencia numérica de archivos de
imagen. Si el plugin es un generador, y esta bandera mordió no es puesto, el plugin
tendría que generar marco $fuera, y tenga que ser del tipo correcto (p. ej. jpeg si
$fuera de fines en .jpg) Y todos los marcos tienen que ser del mismo ancho y altura.

Si el plugin pone el poder-resize mordió, o es un no-lote-generador de modo, el ancho y


la altura de los marcos tendría que ser pasada atrás al anfitrión.
En VIDAS-perl esto está hecho por poner $nwidth y $nheight al ancho y altura en
píxeles, respectivamente.

<Correo> [opcional] [lista]

Esta sección contiene código cuál tendría que ser ejecutado después de todo los marcos
en
el bloque han sido procesados.

P. ej. (en VIDAS-perl):

<el correo>
#limpia arriba de un archivo provisional
unlink "espacio.jpg";
</Correo>
<onchange> [opcional] [lista]

Esta sección contiene los gatillos para cambiar parámetros tampoco cuándo
la ventana de parámetro es primero creada, o cuándo un parámetro está cambiado. Por
ejemplo
un init gatillo de tipo podría poner los valores máximos y mínimos para un parámetro
que
depende de el ancho de marco actual y altura.

El formato es:

acontecimiento|de código

del acontecimiento puede ser cualquier "init" o un entero que representa un parámetro.
El primer
parámetro está dado el número 0, el segundo parámetro 1, etc.
puede haber líneas múltiples de código para cada tipo de cambio. El código para el
mismo
tipo de gatillo está ejecutado en el orden en qué aparece en esta sección. El formato
del código depende de el valor de código_de lengua <>.

P. ej. (en VIDAS-perl):

<onchange>
init|$p0_min=-$ancho+1;$p0_max=$ancho-1;$p0_min=-$altura+1;$p1_max=$altura-1;
0|si ($p0) {$p3=$p4*$p5;} elsif ($p1&&$p5>0.) {$p4=$p3/$p5;} elsif ($p4>0.)
{$p5=$p3/$p4;}
</onchange>
17.3.2.1 VIDAS-perl referencia
VIDAS-perl spec.

Autor: salsaman en xs4all.nl


Versión 1.0
Fecha: 18/04/2009

Changelog
Versión 0.3 – añadió detalles de regresar errores, fijados algún typos.
Versión 0.4 – RFX soporte de cuerda añadió.
Versión 0.5 – traer Versión
actualizada 0.6 – añadir nota aproximadamente Versión de gama
del marco 1.0 – finalizar versión para VIDAS 1.0 liberación

Este documento es una guía a VIDAS-Perl, el cual es un scripting la lengua utilizada


en la implementación de RFX plugins en VIDAS.

Ve también: RFX.spec, RFX Manual de Ventana del Constructor.

VIDAS-Perl es ligeramente diferente dependiendo de si está siendo utilizado para


una sección de código (Pre/código/de Correo del Bucle) o para un gatillo.

Pre/VIDAS/de código de Correo

de bucle-Perl es esencialmente Perl, pero con algunas variables extras y subrutinas.


Las variables extras son:

$p0 : el valor del primer parámetro para num, bool, o parámetros de tipo de la
cuerda
$p0_rojo : el valor rojo del primer parámetro para colRGB24 parámetros de tipo
$p0_verde: valor verde
$p0_azul: valor azul

etc.

$inicio : el primer marco para ser procesado (siempre >=1)


$fin : el último marco para ser procesado
$ancho : el ancho de marcos en canal de entrada 1
$altura : la altura de marcos en canal de entrada 1
$img_ext : la extensión de imagen para marcos de entrada (p. ej. “.jpg”)
$Fuera de_ext : la extensión para ser utilizada para marcos de producción (p. ej.
“.mgk”)

En el código de bucle:
$en : la imagen de entrada para ser procesado
$fuera : la imagen de producción para ser generado
$marco : el número de marco actual del marco de entrada
($empezar<=$enmarcar<=$fin)

Para transiciones:
$en2 : la segunda imagen de entrada para ser procesado
$ancho2 : el ancho de marcos en canal de entrada 2
$altura2 : la altura de marcos en canal de entrada 2

Para mixers:

$mesón : el nth imagen de entrada para ser procesado (o “” para unused)


$widthn : el ancho de marcos en canal de entrada n (o 0 para unused)
$heightn : la altura de marcos en canal de entrada n (o 0 para unused)

Nota: en general, los marcos únicos numeraron $i donde $empezar <= $i <= $el
marco es disponible para uso. Tener que un marco fuera de esta gama ser
requerido, el llamador tendría que comprobar si existe antes intentando para
utilizarlo.

Estas variables representan versiones más convenientes de órdenes:

$convertir_orden : esto tendría que ser utilizado en vez de “convertir” tan


garantice preservar la paleta, tipo de imagen de la imagen de producción.

$composite_Orden : esto tendría que ser utilizado en vez de “composite” cuando


garantice preservar la paleta, tipo de imagen de la imagen de producción.

hay también algunos subrutinas extras:

&mkname($i) : regresos el nombre de imagen para el nth marco. Puedes necesitar


concatenar
esto con $img_ext o $fuera de_ext. El resultado puede ser utilizado como $nombre
en otras subrutinas.

&trim_Marco ($nombre,$ancho,$altura,$x,$y,$nwidth,$altura) : trims marco


$nombrar$entrada_ext a $nwidthx$nehight, offset +$x, +$y. $Entrada_ext y
$antialias puede ser puesto; el default para $entrada_ext es $img_ext. Nombre de
archivo de la producción es $nombrar$resize_ext.

Requiere convierte.

&resize_Marco ($nombre,$ancho,$altura) : resizes marco $nombrar$entrada_ext


a $nwidthx$nehight. $Entrada_ext y $antialias puede ser puesto; el default para
$entrada_ext es $img_ext. Nombre de archivo de la producción es
$nombrar$resize_ext.

Requiere convierte.

&Marco_de zum($nombre,$centro_x,$centro_y,$ancho,$altura,$rscale) : zums a


archivar $nombrar$entrada_ext en centrar $centro_x, $centro_y, magnification
$rscale.
$rscale Puede ser>1 o 1. <$Ancho y $la altura es medida de entrada e imágenes de
producción. Imagen de producción es $nombrar$resize_ext. $antialias Puede ser
puesto cierto/falso.

Requiere convierte.

&trim_Centro ($nombre,$nwidth,$nheight) : trims el centro de enmarcar


$nombrar$entrada_ext para producir $nombrar$resize_ext. El default para
$entrada_ext es $img_ext. Si el ancho nuevo o la altura es más grandes que el
ancho de archivo de la entrada y altura, el marco será composited sobre un marco
de fondo. Esto está utilizado principalmente para corrección de medida del espín.

Requiere convertir y composite.

&rc_Consigue($clave) : valor de regresos de llave <></clave> de /.Las ~vidas

&consiguen_medida_de imagen($archivo) : regresos $hsize y $vsize (ancho y


altura) de imagen.
Set $imresact antes de llamar este. $imresact Puede ser uno de:
ninguno – regresar medida de imagen cierta
default – regresar default medida de imagen (no muy útil probablemente)
atado – default la medida es un atado para altura/de ancho. Mantiene aspecto.

Requiere “identificar” de ImageMagick.

&sig_Error($msg1, $msg2, $msg3, $msg4) :


regresos un error delante fin, y salidas con un código de 1. $msg Las cuerdas son
opcionales, y no tendría que contener newline caracteres.

&Ubicación($exe) : ubicación de regresos de un ejecutable, o “”

&RGB24_a_cuerda($rojo,$verde,$azul) : regresos p. ej. '#FFFFFF'

&marcos_de cuenta(): número de regresos de total de marcos en el código de


Gatillo

de clip actual

VIDAS-Perl es esencialmente Perl, pero con algunas variables extras y subrutinas.


Las variables extras son:

$p0 : el valor del primer parámetro para num, bool, o parámetros de tipo de la
cuerda
$p0_rojo : el valor rojo del primer parámetro para colRGB24 parámetros de tipo
$p0_verde: valor verde
$p0_azul: valor azul

$p0_max : valor máximo de primer parámetro (num escribe único)


$p0_min : valor máximo de primer parámetro (num escribe único)

etc.

$inicio : el primer marco para ser procesado (>=1)


$fin : el último marco para ser procesado
$último : el último marco en el clip (siempre >= $fin)
$ancho : el ancho de marcos en canal de entrada 1
$altura : la altura de marcos en canal de entrada 1

para transiciones:

$ancho2 : el ancho de marcos en canal de entrada 2


$altura2 : el ancho de marcos en canal de entrada 2

para mixers:

$widthn : el ancho de marcos en canal de entrada n (o 0 para unused)


$heightn : el ancho de marcos en canal de entrada n (o 0 para unused)

Nota:
En el “init” gatillo, puedes utilizar las mismas subrutinas cuando puedes en el
Pre/código/de Correo del Bucle.

El otro (parámetro) los gatillos están pretendidos cuando gatillos 'ligeros', y


puedes utilizar las variables pero no muy de las subrutinas en aquellos.

Regresando errores
En los gatillos, los errores son sencillamente regresados en stdout con un código de
salida de 1, p. ej.:

mensaje “de error de la impresión((/))nmore error”; salida 1;


17.3.3 Plugin formatos
17.3.3.1 Encoders
Encoder plugins en las VIDAS toman una secuencia de jpeg (y opcionalmente png)
archivos,
y opcionalmente un crudos o wav archivo de audio, y producir una producción de
archivo. Encoder
plugins Puede ser escrito en cualquier lengua. También pueden producir varios
formatos diferentes si requeridos y pueden incitar el usuario para parámetros extras
(p. ej. un encuadre
de calidad).

La mayoría de encoder plugins está escrito en Perl (esto tiene algunas ventajas, las
variables son parsed y nombrados para tú), a pesar de que esto no es necesario.
Aun así, para este ejemplo utilizaremos Perl para el código y tomar un snapshot
CVS versión del mjpegtools_encoder. Para otras lenguas, el código será
similar, aun así necesitarás a parse las variables tú. Aquí es el ejemplo encoder
miraremos en; nota que la versión actual puede ser ligeramente diferente de este.

http://lives.cvs.sourceforge.net/lives/lives-
plugins/plugins/encoders/mjpegtools_encoder?revision=1.7&Ver=markup

VIDAS encoder plugins utiliza un sistema "de directivas". Aquello es, el plugin se
apellida
(a veces vía un programa de intermediario) con una cuerda de parámetros.
El primer parámetro es la directiva "", y el programa tendría que actuar y producir
la producción diferente que depende de esta directiva.

Deja tomar una mirada en el ejemplo encoder_plugin. Después de que algunos


empezando
comentarios, tenemos:

(Nota: las líneas están numeradas abajo sólo para comodidad.)

33 
####################################################################### 
34 
35 si (!Definido($standalone)) { 
36  mi $smogrify=`qué smogrify`; 

37  chomp($smogrify); 
38  requiere $smogrify; 
39 } 
40 más { 
41  $mandar=$ARGV[0]; 
42 } 
43 
44

Este código es sólo requerido para Perl plugins cuáles quieren uso de marca de las
VIDAS backend (smogrify). Esto creará un no-standalone plugin (a no ser que
$standalone está puesto, p. ej. para probar propósitos).

Otherwise, y para no-perl lenguas, nosotros justo parse el commandline y conseguir


el primer parámetro (la directiva como $orden). Esto creará un
standalone plugin.

44 
45 
####################################################################### 
46 $tmpvid="tmpvid.m1v"; 
47 $tmpaud="tmpaud.mpa"; 
48

Aquí nosotros justo puestos algunas variables para archivos provisionales.

49 si ($mandar eq "versión") { 
50  impresión "mjpegtools encoder plugin v0.96((/))n"; 
51  salida 0; 
52 }

VALE, aquí tenemos la primera directiva, versión. Tenemos que imprimir fuera del
plugin versión a STDOUT, y salida con un código de 0.

55 si ($orden eq "init") { 
56  # actúa cualquier inicialización necesitó 
57  # Encima error, mensaje de error de la impresión y salida 1 
58  # otherwise salida 0 
59 si ($img_ext eq "png") { 
60  si (&ubicación("png2yuv") eq "") { 
61  impresión "png2yuv no fue encontrado. Complacer 
instalarlo y probar otra vez."; 
62  salida 1; 
63  } 
64  } 
65  más { 
66  si (&ubicación("jpeg2yuv") eq "") { 
67  impresión "jpeg2yuv no fue encontrado. Complacer 
instalarlo y probar otra vez."; 
68  salida 1; 
69  } 
70  } 
71  si (&ubicación("mpeg2enc") eq "") { 
72  impresión "mpeg2enc no fue encontrado. Complacer 
instalarlo y probar otra vez."; 
73  salida 1; 
74  } 
75  si (&ubicación("mp2enc") eq "") { 
76  impresión "mp2enc no fue encontrado. Complacer instalarlo
y probar otra vez."; 
77  salida 1; 
78  } 
79  si (&ubicación("mplex") eq "") { 
80  impresión "mplex no fue encontrado. Complacer instalarlo 
y probar otra vez."; 
81  salida 1; 
82  } 
83  si (&ubicación("yuvscaler") eq "") { 
84  impresión "yuvscaler no fue encontrado. Complacer 
instalarlo y probar otra vez."; 
85  salida 1; 
86  } 
87 
88  # fin init código 
89  impresión "inicializada((/))n"; 
90  salida 0; 
91 } 

Aquí vemos la segunda directiva, init. Esto se apellida cuándo el usuario


selecciona este plugin para producción. En esta sección podemos actuar cualquier
inicialización y controles. Si hay un error, podemos imprimir fuera de un mensaje
de error en STDOUT y salida con un código de 1. Otherwise Podemos salir con un
código de 0.

96 si ($mandar eq "conseguir_capacidades") { 
97  # capacidades de regreso ­ esto es un bitmap campo 
98  # mordió 0 ­ toma parámetros extras (utilizando RFX petición) 
99  # mordió 1 ­ unused 
100  # mordió 2 ­ puede codificar png 
101  # mordió 3 ­ no puro perl 
102  impresión "5((/))n"; 
103  salida 0; 
104 }

Esto es la tercera directiva , conseguir_capacidades. Aquí imprimimos fuera de una


bandera
del plugin capacidades en STDOUT, y salida con un código de 0.

Mordió 0 puede ser puesto si el plugin requiere parámetros extras (esto está descrito
abajo con más detalle). Mordió 1 es actualmente unused, mordió 2 significa el
plugin puede codificar png imágenes cuando entrada así como jpeg, y mordió 3
tendría que ser
puesto si el plugin no es escrito en Perl, o si es un standalone plugin
(ve encima).

En este caso, podemos codificar png imágenes, y queremos parámetros extras, así
que
imprimimos fuera "5" y salida con un código de 0.

108 si ($mandar eq "conseguir_formatos") { 
109  # para cada formato: ­ 
110  # formato de regreso_audio|de nombre_de exhibición|de 
nombre_extensión|de restricciones|de los tipos| 
111 
112  # audio los tipos son: 0 ­ no puede codificar audio, 1 ­ puede 
codificar utilizar 
113  # mp3, 2 ­ puede codificar utilizar pcm, 3 ­ puede codificar 
utilizar pcm y mp3 
114 
115  #mpeg 2 
116  impresión "mpeg2|mpeg2 calidad 
alta|4|
arate=32000;44100;48000,fps=24000:1001;24;25;30000:1001;30;50;60000:1001;
60,aspecto=1:1;4:3;16:9;2.21:1,hblock=8,vblock=8|mpg|((/))n"; 
117 
118  # mpeg1 puede ser mal, aspecto (y quizás fps) proviene 
COLEGA/NTSC ­ TODO 
119  # necesidades que prueban 
120  impresión 
"mpeg1|mpeg1|4|
arate=32000;44100;48000,fps=24000:1001;24;25;30000:1001;30;50;60000:1001;
60,aspecto=1:1;4:3;16:9;2.21:1,hblock=8,vblock=8|mpg|((/))n"; 
121 
122  #vcd 
123  impresión "vcd_colega|vcd 
(COLEGA)|4|
arate=32000;44100;48000,fps=25,aspecto=1:1;4:3;16:9;2.21:1,hblock=16,vblo
ck=16|mpg|((/))n"; 
124  impresión "vcd_ntsc|vcd 
(NTSC)|4|
arate=32000;44100;48000,fps=30000:10001,aspecto=1:1;4:3;16:9;2.21:1,hbloc
k=16,vblock=16|mpg|((/))n"; 
125 
126  #svcd 
127  impresión "svcd_colega|svcd 
(COLEGA)|4|
arate=32000;44100;48000,fps=25,aspecto=1:1;4:3;16:9;2.21:1,hblock=16,vblo
ck=16|mpg|((/))n"; 
128  impresión "svcd_ntsc|svcd 
(NTSC)|4|
arate=32000;44100;48000,fps=30000:1001,aspecto=1:1;4:3;16:9;2.21:1,hblock
=16,vblock=16|mpg|((/))n"; 
129 
130  # dvd 
131  impresión "dvd_colega|dvd 
(COLEGA)|4|
arate=32000;44100;48000,fps=25,aspecto=1:1;4:3;16:9;2.21:1,hblock=16,vblo
ck=16|mpg|((/))n"; 
132  impresión "dvd_ntsc|dvd 
(NTSC)|4|
arate=32000;44100;48000,fps=30000:1001,aspecto=1:1;4:3;16:9;2.21:1,hblock
=16,vblock=16|mpg|((/))n"; 
133 
134  # costumbre 
135  costumbre "de impresión2|hecho de encargo 
mpeg2|4|
arate=32000;44100;48000,fps=24000:1001;24;25;30000:1001;30;50;60000:1001;
60,aspecto=1:1;4:3;16:9;2.21:1,hblock=8,vblock=8|mpg|((/))n"; 
136 
137  salida 0; 
138 }

La directiva próxima es conseguir_formatos. Aquí el plugin impresiones fuera en


STDOUT detalles de los
formatos pueda manejar, sus requisitos, y salidas con un código de 0.

Cada formato contiene los campos siguientes:

formatos|de audio|de descripción_de formato|extensión|de restricciones

y tendría que acabar con un newline (((/))n).

Formato - el nombre corto del formato de vídeo, utilizado para identificarlo

Descripción - descripción de usuario de los formatos

de audio_del formato - esto es un bitmask de formatos de audio que el formato de


vídeo puede
producir, ha actualmente los valores siguientes:
mordió 1 - mp3
mordió 2 - PCM
mordió 3 - mp2
mordió 4 - vorbis
mordió 5 - ac3
mordió 6 - AAC
mordió 7 - AMR_NB

restricciones - esto es una lista de restricciones para el formato de vídeo. La lista


está separada por semi-colon (;), y puede tener todo, algunos o ninguno del
siguiente:

ninguno - ninguna restricción

arate=x;y;z - índice de audio del límite (Hz) a x,y, o z

fps=un;b:c;d - marcos de límite por segundo a un, b:c o d

aspecto=e:f;g:h - límite (marco) proporción de aspecto a e:f o g:h

hblock=i - ancho (en píxeles) tiene que ser un múltiplo de i

vblock=j - altura (en píxeles) tiene que ser un múltiplo de j

medida=kxl - medida de marco está fijada en k ancho de píxeles x l altura


de píxeles

Evidentemente, algunas combinaciones no hacen cualquier sentido, por ejemplo


"ninguno" no puede
ser combinado con cualquier cosa más; medida=100x100 no podría ser combinado
con hblock=16.
En el caso de una contradicción así, la acción anfitriona es
undefined.

La directiva próxima en nuestro plugin es consigue_rfx. Esto es una sección


opcional , el cual es sólo llamado si el plugin los conjuntos mordieron 0 en
"conseguir_capacidades". Esto está explicado más allá en un correo de foro de las
VIDAS:

https://sourceforge.net/forum/forum.php?thread_id=1921281&foro_id=777668

Esta directiva también recibe los parámetros estándares. Esto está explicado
abajo en el codificar directiva.

En esta sección podemos imprimir impresión fuera de un RFX chatarra en STDOUT. Ver
las VIDAS RFX guía (sección 17.3.2) para más detalles en el formato de esta chatarra.
Un RFX chatarra (como opposed a un lleno RFX plugin), utiliza sólo el siguiente RFX
secciones:

<define>,<código_de lengua>,<params>, y opcionalmente <param_ventana> y/u


<onchange>

La directiva próxima es consigue_petición_de formato. Aquí el plugin dice el anfitrión


cómo le gustarían los marcos y (opcionalmente) el audio presentó a él. Esto es
un bitmap bandera qué el plugin tendría que imprimir fuera en STDOUT antes de salir
con un código de 0.

El bitmap utiliza los bits siguientes:

mordió 0 - si esto es unset, el anfitrión entrega audio crudo, si puesto, el anfitrión


añadirá
un wav encabezamiento de archivo a él

mordió 1 - si esto es unset, el anfitrión entregará todo audio, y dejar el


plugin a clip él él (porque el plugin podría ser
preguntado para codificar sólo una gama de marcos y audio), otherwise, el audio será
clipped
a la sección para ser codificada.

Mordió 2 - si esto es unset, el anfitrión entregará todos los marcos y el plugin


será esperado para codificar sólo los marcos pidieron; si está puesto, el anfitrión
renumber todos los marcos de modo que la gama pedida siempre inicios en
marco 1.

En nuestro plugin tendríamos a algo le gusta:

397 si ($la orden="consigue petición_de formato_") { 
398   regreso el código para cómo nos gustarían el audio y el vídeo 
entregó 
399  # esto es un bitmap el campo compuesto de: 
400  # mordió 0 ­ unset=crudo pcm audio; puesto=pcm audio con wav 
encabezamiento 
401  # mordió 1 ­ unset=todo audio; puesto=clipped audio 
402  # mordió 2 ­ unset=todos los marcos; marcos=de conjunto para 
selección sólo 
403 
404  impresión "3((/))n"; # clipped pcm wav, todo enmarca 
405 }

Aun así, para no-standalone plugins (ve el inicio del artículo), esto está
implementado como subrutina qué sencillamente regresa el valor:
397 sub consigue_petición_de formato { 
398  # regreso el código para cómo nos gustarían el audio y el vídeo 
entregó 
399  # esto es un bitmap el campo compuesto de: 
400  # mordió 0 ­ unset=crudo pcm audio; puesto=pcm audio con wav 
encabezamiento 
401  # mordió 1 ­ unset=todo audio; puesto=clipped audio 
402  # mordió 2 ­ unset=todos los marcos; marcos=de conjunto para 
selección sólo 
403 
404  regreso 3; # clipped pcm wav, todo enmarca 
405 }

La directiva próxima es codifica, y aquí el plugin la parte principal


de su trabajo. El codificar la directiva está seguida por los parámetros
estándares más cualesquier parámetros extras qué estuvo pedido en conseguir_rfx.

Para un no-standalone plugin, el código de VIDAS pone varias variables a punto para
ti, para standalone/no-perl plugins, el plugin necesidades a parse estos
parámetros él. Los nombres variables están mostrados aquí, pero para un standalone
plugin estos serían segundo parámetro , tercer parámetro, etc. (recuerda que
el primer parámetro es la directiva , en este caso "codificar").

Aquí es los parámetros estándares:

$fps : el framerate

$nfile : el nombre de archivo para salvar a, encerrado en cita

$inicio : el número del primer marco para codificar (si "renumbered los marcos" estuvo

pedido en "conseguir_petición_de formato", esto siempre será 1).

$Fin : el número del último marco para codificar

$img_ext : la extensión de archivo del formato de imagen esto es normalmente .jpg,


pero
si vuestro plugin puede manejar png, también pueda ser .png

$otype : Esto es la producción (vídeo) formato qué el usuario pidió, cuando


definido en "conseguir_formatos".
$atype : Esto es un número correspondiendo al audio escribe el usuario pedido
(ve "conseguir_formatos")

$hsize : la horizontal (ancho) medida de los marcos en píxeles

$vsize : el vertical (altura) medida de los marcos en píxeles

$DB_ENCODERS : si puesto a 1, el plugin tendría que proporcionar tanto depurar


producción
como posible *en STDERR*

$arate : el índice de audio en Hz (si el plugin o el usuario no pidió "ningún


audio", esto será puesto a 0)

$achans : número de canales de audio (p. ej. 1 para mono, 2 para stereo)

$asamps : medida de muestra del audio en bits (p. ej. 8 o 16)

$ssigned : signedness de audio (1 para firmado, 0 para unsigned)

Siguiendo estos parámetros estándares son cualesquier parámetros extras que puede
haber
sido pedido en conseguir_rfx. Este inicio de parámetros en el 14.º parámetro
para no-standalone plugins, o en el 16.º parámetro para standalone/no-perl
plugins.

Estos parámetros extras tienen las cuerdas encerradas en cita, con cualquier interno
cita huido cuando ((/))".

No-standalone plugins también conseguir algunos variables extras:

$título : título de clip

$autor : autor de clip

$comentario : comentario aproximadamente clip

El plugin tiene que codificar la secuencia de imagen y audio (si aplicable) cuál
será presente en el directorio actual, y producir el archivo de producción cuyo
nombre está dado. Las imágenes están numeradas cuando %8d$img_ext, por ejemplo:

00000001.jpg
00000002.jpg

Etc.

El nombre del archivo de audio es "audio justo" si pediste audio crudo. Si


pediste wav formato de archivo, el nombre será "audiodump.wav". Para
no-standalone plugins, el nombre de archivo del audio está puesto en $audiofile.

Nota: si el índice de audio es 0, NO TIENES QUE* codificar audio, vídeo único.

Finalmente, para indicar que codificando es completo, *TIENES QUE* crear un archivo
nombró .Estado (sí, aquellos inicios con un ".") En el directorio actual, y
tenga que contener sólo la palabra "completada" (sin el cita). Puedes entonces
salida con un código de 0. (Para no-standalone plugins, sencillamente puedes llamar
&sig_completo).

Siguiente codificando, la directiva próxima es clara. Esto se apellida por


el anfitrión después codificar. Para standalone plugins, los parámetros que siguen la
directiva
es el inicio y números de marco del fin. Para no-standalone plugins, están puestos
como
$inicio y $fin.

Otra vez para esta directiva, cuándo estamos hacer nosotros necesita crear un archivo
llamó
.Estado en el directorio actual, conteniendo sólo la palabra "completó".

367 si ($mandar eq "claro") { 
368  # esto se apellida después "codificar" 
369   nota que codificando podría haber sido parado en cualquier 
tiempo 
370  si (­f $tmpvid) { 
371  unlink $tmpvid; 
372  } 
373  si (­f $tmpaud) { 
374  unlink $tmpaud; 
375  }
Escribe "completado" a .Estado:

376  &sig_completo; 
377  salida 0; 
378 }

La directiva final es finaliza. Esto se apellida cuándo el plugin es


deselected (descargado) por el usuario. Aquí puedes limpiar arriba de cualesquier
archivos provisionales, etc.

381 si ($mandar eq "finalizar") { 
382  # cualquier código de finalizar 
383 
384  # ... 
385 
386  # fin que finaliza código 
387  impresión "finalizada((/))n"; 
388  salida 0; 
389 } 
390

Nota: si vuestro encoder quiere crear un enlace simbólico, tendrías que comprobar si
esto ha trabajado y si no, copia el archivo en cambio. Esto es porque las VIDAS que
trabajan el directorio puede ser utilizar una partición cuál no apoya symlinks.
17.3.3.2 Realtime efectúa
Realtime los efectos opcionalmente pueden incluir los archivos de encabezamiento
weed-utils.h Y weed-plugin-utils.h
Incluyendo estos archivos proporciona el siguiendo funciones muy útiles:

Ve también el Weed spec., sección 17.3.1.

Weed utils Biblioteca

Weed documentación de biblioteca de las utilidades


------------------------------------

El Weed biblioteca de utilidades proporciona simplificada funciona a ambos Weed


anfitriones y Weed plugins.

int weed_La planta_tiene_hoja (weed_planta_t *planta, const char *llave) ::


regresos WEED_CIERTOS si la planta tiene una llave "de hoja", incluso si no tiene
ningún
elemento. Regresos WEED_FALSOS otherwise.

int weed_Puso_int_valor (weed_planta_t *planta, const char *llave, int valor) :: crea o
enmendar valor de WEED_SEMILLA_INT llave "de hoja". Si la hoja
existe, y su tipo no es WEED_SEMILLA_INT, regresa
WEED_ERROR_TIPO_de SEMILLA_INCORRECTA y el valor no
es actualizados. Regresos WEED_ASIGNACIÓN_de MEMORIA_del ERROR si hay
unsuffient memoria. Regresos WEED_NINGÚN_ERROR otherwise.

int weed_Puso_valor_doble (weed_planta_t *planta, const char *llave, valor doble) ::


tan encima, pero usos WEED_SEMBRAR_DOBLE.

int weed_Puso_valor_booleano (weed_planta_t *planta, const char *llave, int valor) ::


tan encima, pero usos WEED_SEMBRAR_BOOLEANO.

int weed_Conjunto_int64_valor (weed_planta_t *planta, const char *llave, int64_t valor)


:: tan encima, pero utiliza WEED_SEMILLA_INT64.

int weed_Valor_de cuerda_del conjunto (weed_planta_t *planta, const char *llave, char
*valor) :: tan encima, pero utiliza WEED_CUERDA_de SEMILLA. La cuerda está copiada,
así que el original tendría que ser liberado después de que uso.

int weed_Puso_plantptr_valor (weed_planta_t *planta, const char *llave,


weed_planta_t *valor) :: tan encima, pero utiliza WEED_SEMILLA_PLANTPTR. La planta
real no es copiada, sólo una referencia a él.

int weed_Puso_voidptr_valor (weed_planta_t *planta, const char *llave, void


*valor) :: tan encima, pero utiliza WEED_SEMILLA_VOIDPTR. La memoria señalada a no
es copiado, sólo una referencia a él.

int weed_Consigue_int_valor (weed_planta_t *planta, const char *llave, int *error) ::


Regresos un valor solo (el primer valor si "la llave" es una
variedad ). Si la hoja no existe, el valor de error está puesto a
WEED_ERROR_NOSUCH_HOJA.
Si el número de elementos es cero, el valor
de error está puesto a WEED_ERROR_NOSUCH_ELEMENTO. Si la hoja no
es WEED_SEMILLA_INT, el valor de error está puesto a WEED_ERROR_TIPO_de
SEMILLA_INCORRECTA.
El error está puesto a WEED_ASIGNACIÓN_de MEMORIA_del
ERROR si hay espacio de memoria
insuficiente. Otherwise El error está puesto a WEED_NINGÚN_ERROR.

Doble weed_conseguir_valor_doble (weed_planta_t *planta, const char *llave, int *error)


:: tan encima, pero usos WEED_SEMBRAR_DOBLE.

int weed_Consigue_valor_booleano (weed_planta_t *planta, const char *llave, int *error)


:: tan encima, pero usos WEED_SEMBRAR_BOOLEANO.

int64_t weed_consigue_int64_valor (weed_planta_t *planta, const char *llave, int


*error) :: tan encima, pero utiliza WEED_SEMILLA_INT64.

void *weed_Consigue_voidptr_valor (weed_planta_t *planta, const char *llave,


int *error) :: tan encima, pero utiliza WEED_SEMILLA_VOIDPTR. La memoria real
no es copiada, sólo una referencia a él está regresada.

weed_Planta_t *weed_consigue_plantptr_valor (weed_planta_t *planta, const char


*llave, int *error) :: tan encima, pero utiliza WEED_SEMILLA_PLANTPTR. La planta
real no es copiada, sólo una referencia a él está regresada.

char *weed_Consigue_valor_de cuerda (weed_planta_t *planta, const char *llave, int


*error) :: tan encima, pero utiliza WEED_CUERDA_de SEMILLA. El regresó los valores
están copiados, y tendría que ser liberado con weed_libre() después de que uso.

int *weed_Consigue_int_variedad (weed_planta_t *planta, const char *llave, int


*error) :: Regresos una variedad de WEED_SEMILLA_INT. Si la hoja no existe
, el valor de error está puesto a WEED_ERROR_NOSUCH_HOJA. Si el
número de elementos es cero, el valor de error está puesto a
WEED_ERROR_NOSUCH_ELEMENTO.
Si la hoja no es WEED_SEMILLA_INT, el valor
de error está puesto a WEED_ERROR_TIPO_de SEMILLA_INCORRECTA. El error está
puesto a WEED_ASIGNACIÓN_de MEMORIA_del
ERROR si hay memoria insuficiente. Otherwise El error está puesto a
WEED_NINGÚN_ERROR.
weed_Hoja_num_elementos(planta,llave) se tendría que apellidar primero para
conseguir
la medida de variedad. La variedad tendría que ser liberada con weed_libre()
después de que uso.

Doble *weed_conseguir_variedad_doble (weed_planta_t *planta, const char *llave, int


*error) :: tan encima, pero usos WEED_SEMBRAR_DOBLE.

int *weed_Consigue_variedad_booleana (weed_planta_t *planta, const char *llave, int


*error) :: tan encima, pero usos WEED_SEMBRAR_BOOLEANO.

int64_t *weed_consigue_int64_variedad (weed_planta_t *planta, const char *llave, int


*error) :: tan encima, pero utiliza WEED_SEMILLA_INT64.

void **weed_Consigue_voidptr_variedad (weed_planta_t *planta, const char *llave, int


*error) :: tan encima, pero utiliza WEED_SEMILLA_VOIDPTR. Las áreas de memoria
no son referencias copiadas , únicas están regresadas.

weed_Planta_t **weed_consigue_plantptr_variedad (weed_planta_t *planta, const char


*llave, int *error) :: tan encima, pero utiliza WEED_SEMILLA_PLANTPTR. Las
plantas reales no son referencias copiadas , únicas están regresadas.

char **weed_Consigue_variedad_de cuerda (weed_planta_t *planta, const char *llave, int


*error) :: tan encima, pero utiliza WEED_CUERDA_de SEMILLA. Las cuerdas están
copiadas, tan después uso, cada elemento tendría que ser liberado con weed_libre(), y
entonces la variedad entera
tendría que ser liberada con weed_libre().

int weed_Puso_int_variedad (weed_planta_t *planta, const char *llave, int num_elems,


int *valores) :: crea o enmendar valor de WEED_SEMILLA_INT llave "de hoja". Si la hoja
existe, y su tipo no es WEED_SEMILLA_INT, regresa
WEED_ERROR_TIPO_de SEMILLA_INCORRECTA y el valor no
es actualizados. Regresos WEED_ASIGNACIÓN_de MEMORIA_del ERROR si hay
memoria insuficiente para la operación. Regresos
WEED_NINGÚN_ERROR otherwise. Los valores tendrían que ser una variedad con
num_elems
elementos. Los valores están copiados, así que la variedad original
tendría que ser liberada después de que uso.

int weed_Puso_variedad_doble (weed_planta_t *planta, const char *llave, int num_elems,


valores *dobles) :: tan encima, pero usos WEED_SEMBRAR_DOBLE.

int weed_Puso_variedad_booleana (weed_planta_t *planta, const char *llave, int


num_elems, int *valores) :: tan encima, pero usos WEED_SEMBRAR_BOOLEANO.

int weed_Conjunto_int64_variedad (weed_planta_t *planta, const char *llave, int


num_elems, int64_t *valores) :: tan encima, pero utiliza WEED_SEMILLA_INT64.

int weed_Puso_voidptr_variedad (weed_planta_t *planta, const char *llave, int


num_elems, void **valores) :: tan encima, pero utiliza WEED_SEMILLA_VOIDPTR.

int weed_Puso_plantptr_variedad (weed_planta_t *planta, const char *llave, int


num_elems, weed_planta_t **valores) :: tan encima, pero utiliza WEED_SEMILLA_PLANTPTR.

int weed_Variedad_de cuerda_del conjunto (weed_planta_t *planta, const char *llave, int
num_elems, char **valores) :: tan encima, pero utiliza WEED_CUERDA_de SEMILLA. Las
cuerdas están copiadas, así que los valores originales tendrían que ser
liberados con weed_libres()
después de que uso.

int weed_Copia_de hoja (weed_planta_t *dest, char *keyt, weed_planta_t *src, char
*keyf) :: hoja de copia "keyf" en src planta a hoja "keyt" en
dest planta. Regresos WEED_ERROR_NOSUCH_HOJA si la hoja de fuente no existe
. Regresos WEED_ERROR_TIPO_de SEMILLA_INCORRECTA si tipos de semilla de src y
dest
no empareja. Regresos WEED_ASIGNACIÓN_de MEMORIA_del ERROR si hay
memoria insuficiente para la operación. Regresos WEED_NINGÚN_ERROR
otherwise. Puede copiar hojas incluso con cualquier número (incluso cero)
elementos.

weed_Planta_t *weed_copia_de planta (weed_planta_t *src) :: regresos una


copia-por-valor de planta src. La planta nueva tendrá las mismas hojas
como
la planta de fuente. Regresos NULL si src era NULL o si la operación
corrió
fuera de memoria.

int weed_Consigue_tipo_de planta (weed_planta_t *planta) :: una comodidad


funciona cuál regresa el valor de la "hoja" de tipo para una planta.
Weed plugin-utils Biblioteca

Weed plugin documentación de biblioteca de las utilidades


------------------------------------

El Weed plugin biblioteca de utilidades proporciona simplificó funciones Weed plugins.

// Llamada weed_bota e inicializar plugin_info

weed_planta_t *weed_plugin_info_init (weed_bootstrap_f weed_bota, int num_versiones,


int *api_versiones);

// consigue real api la versión seleccionada por anfitrión

int weed_consigue_api_versión(weed_planta_t *plugin_info);

// inicializa plantilla_de canal (vídeo)

weed_planta_t *weed_plantilla_de canal_init (char *nombre, int banderas, int *paletas);

// inicializa plantilla_de canal (audio)

weed_planta_t *weed_plantilla_de canal_del audio_init (char *nombre, int banderas);

// inicializar una clase_de filtro

weed_planta_t *weed_clase_de filtro_init (char *nombre, char *autor, int versión, int
banderas, weed_init_f init_func,

weed_proceso_f proceso_func, weed_deinit_f deinit_func, weed_planta_t **en_chantmpls,


weed_planta_t **fuera de_chantmpls, weed_planta_t **en_paramtmpls, weed_planta_t
**fuera de_paramtmpls);

// añade clase de filtro a plugin_info

void weed_plugin_info_añade_clase_de filtro (weed_planta_t *plugin_info, weed_planta_t


*clase_de filtro);

// consigue gui planta para plantilla_de parámetro

weed_planta_t *weed_plantilla_de parámetro_consigue_gui (weed_planta_t *paramt);

// consigue gui planta fot clase_de filtro

weed_planta_t *weed_clase_de filtro_consigue_gui (weed_planta_t *filtro);

// initialisers para varias plantillas de parámetro

weed_planta_t *weed_entero_init (char *nombre, char *etiqueta, int def, int min, int
max);

weed_planta_t *weed_lista_de cuerda_init (char *nombre, char *etiqueta, int def, char
**lista);
weed_planta_t *weed_cambio_init (char *nombre, char *etiqueta, int def);

weed_planta_t *weed_radio_init (char *nombre, char *etiqueta, int def, int grupo);

weed_planta_t *weed_flotador_init (char *nombre, char *etiqueta, doble def, doble min,
doble max);

weed_planta_t *weed_texto_init (char *nombre, char *etiqueta, char *def);

weed_planta_t *weed_colRGBi_init (char *nombre, char *etiqueta, int rojo, int verde,
int azul);

weed_planta_t *weed_colRGBd_init (char *nombre, char *etiqueta, rojo doble, verde


doble, doble azul);

// copia una variedad de plantas, rescindidos con un NULL

weed_planta_t **weed_plantas_de clon (weed_planta_t **plantas);

Aquí es un ejemplo de un realtime efecto, el cual utiliza el Weed estándar de efecto


(sección 17.3.1). Los comentarios son en negrita.

Esto es el “negate” efecto, el cual inverts los colores en un marco de vídeo.

// negate.c
// weed plugin
// (c) G. Finch (salsaman) 2005
//
// liberado bajo el GNU GPL 3 o más tarde
// ver el archivo que COPIA o www.gnu.org para los detalles

#incluyen "../../libweed/weed.h"
#Incluye "../../libweed/weed-Efectos.h"
#Incluye "../../libweed/weed-plugin.h"

///////////////////////////////////////////////////////////////////

Estático int num_versiones=1; // número de diferente weed api las versiones apoyadas

estáticos int api_versiones[]={100}; // variedad de weed api las versiones apoyadas


en plugin, por orden de preferencia (la mayoría prefirió primero)
estático int versión_de paquete=1; // la versión de este paquete
//////////////////////////////////////////////////////////////////

#incluye "../../libweed/weed-utils.h" // Opcional


#incluye "../../libweed/weed-plugin-utils.h" // Opcional
/////////////////////////////////////////////////////////////

todo del encima es estándar boilerplate

int negate_proceso (weed_planta_t *inst, weed_timecode_t timestamp) {

aquí nosotros el procesamiento real:

int error;

weed_planta_t
*en_canal=weed_consigue_plantptr_valor(inst,"en_canales",&error),*fuera_ca
nal=weed_consigue_plantptr_valor(inst,"fuera de_canales",&error);

unsigned char *src=weed_consigue_voidptr_valor(en_canal,"dato_de


píxel",&error);

unsigned char *dst=weed_consigue_voidptr_valor(fuera_canal,"dato_de


píxel",&error);

int ancho=weed_consigue_int_valor(en_canal,"ancho",&error)*3;

int altura=weed_consigue_int_valor(en_canal,"altura",&error);

int irowstride=weed_consigue_int_valor(en_canal,"rowstrides",&error);

int orowstride=weed_consigue_int_valor(fuera_canal,"rowstrides",&error);

unsigned char *acaba=src+altura*irowstride;

registro int i;

para (;src<fin;src+=irowstride) {

para (i=0;i<ancho;i++) {

dst[i]=src[i]^0xFF;

} dst+=orowstride;

} regreso WEED_NINGÚN_ERROR;

}
Esto es nuestro setup función:

weed_planta_t *weed_setup (weed_bootstrap_f weed_bota) {

weed_planta_t
*plugin_info=weed_plugin_info_init(weed_bota,num_versiones,api_versiones);

si (plugin_info!=NULL) {

int Lista_de
paleta[]={WEED_PALETA_BGR24,WEED_PALETA_RGB24,WEED_FIN_d
e PALETA};

weed_planta_t *en_chantmpls[]={weed_plantilla_de canal_init("en


canal 0",0,lista_de paleta),NULL};

weed_planta_t *fuera de_chantmpls[]={weed_plantilla_de


canal_init("fuera canal 0",WEED_el
CANAL_PUEDE_HACER_INPLACE,lista_de paleta),NULL};

weed_planta_t *clase_de filtro=weed_clase_de


filtro_init("negate","salsaman",1,WEED_PISTA_de FILTRO_ES
EFECTO_de
PUNTO_,NULL,&negate_proceso,NULL,en_chantmpls,fuera
de_chantmpls,NULL,NULL);

weed_plugin_info_añade_clase_de filtro (plugin_info,clase_de filtro);

weed_puesto_int_valor(plugin_info,"versión",versión_de paquete);

regreso plugin_info;

}
17.3.3.3 Vídeo playback plugins
Vídeo playback plugins tiene que implementar algunos funciones obligatorias y hay
también algunos funciones opcionales.
El plugins puede ser escrito en C o C++.

Tendrías que incluir el archivo de encabezamiento “videoplugin.h” Encontrado en la


distribución de fuente de las VIDAS.
Puedes desear incluir “weed.h” Y “weed-efecto.h” Para utilizar nombres de paleta.

Funciones obligatorias

const char *control_de módulo_init(void)

Llamó una vez cuándo el módulo está cargado. Esto tendría que inicializar cualquier
cosa necesitó, y regreso tampoco una cuerda de error o NULL si tiene éxito.

const char *Versión (void)

Tendría que regresar una cuerda de versión.

int *Consigue_lista_de paleta(void)

Regresa una lista de paletas que el plugin puede utilizar, utilizando el Weed
definiciones de paleta. Las paletas están listadas por orden de preferencia y rescindido
con un WEED_FIN_de PALETA.

Paleta de conjunto_booleano (int paleta)

el anfitrión llama esto para poner la paleta actual.

uint64_t consigue_capacidades (int paleta)

capacidades de Regreso para paleta.

Bitmapped Los valores incluyen:

• VPP_PUEDE_RESIZE : puesto si el plugin puede resize imágenes en la paleta


especificada
• VPP_PUEDE_REGRESAR : puesto si el plugin altera marcos y les puede regresar
• VPP_EXHIBICIÓN_LOCAL : puesto si plugin producción de exhibiciones en la
pantalla local

Estos están definidos en vidplugin.h


Booleano render_marco (int hsize, int vsize, int64_t timecode, void **dato_de píxel,
void **dato_de regreso)

Render uno enmarca. La medida de marco es hsize (ancho) * vsize (altura)


macropixels. El dato planar está aguantado en dato_de píxel. Si dato_de regreso es no-
NULL, el plugin tendría que regresar alterado, resized marcos en dato_de píxel.
Timecode Es en unidades de 10 nano-segundos.

La función siguiente es obligatoria para exhibición local plugins

booleano envía_keycodes (keyfunc)

El anfitrión llama esto, pasando en un puntero a una función clave como el parámetro.

El tipo de función de keyfunc es:


booleano (*keyfunc)(booleano abajo, uint16_t unicode, uint16_t keymod)

Para cada llave en el teclado buffer, el plugin tendría que llamar keyfunc, con los
parámetros siguientes:

abajo tendría que ser puesto a CIERTO si es un keypress, FALSO si una liberación clave
unicode es el unicode valor del clave
keymod es el clave modifier, definido en vidplugin.h Así:

• MOD_MÁSCARA_de CONTROL : puesto esto mordió si la llave de control está


pulsada
• MOD_ALT_MÁSCARA : puesto este clave si el alt la llave está pulsada
• MOD_TRADUCCIÓN_de NECESIDADES : un plugin la traducción concreta está
necesitada para el unicode valor

(por ejemplo, en liberación clave, incorrect los valores pueden ser


informados).

Cuando hay no más buffered la llave pulsa, envía_keycodes() tendría que regresar
FALSO. Si hay más buffered la llave pulsa, el regreso CIERTO.

Funciones opcionales

const char *consigue_descripción(void)

Tendría que regresar una cuerda de descripción.

const char *Consigue_rfx (void)


Consigue RFX chatarra, corrido lo y variables de regreso en init_pantalla().
RFX La chatarra consta de <define>, <código_de lengua>, <params>,
<param_ventana> y onchange <> secciones sólo.
Ve también encoder plugins (sección 17.3.3.1).

Booleano init_pantalla (int ancho, int altura, booleano fullscreen, uint32_t ventana_id,
int argc, char **argv)

A punto la pantalla para jugar. El ancho y la altura son la medida del área de pantalla.
Si fullscreen es CIERTO la pantalla entera tendría que ser utilizada, y ninguno
decoraciones de ventana tendrían que ser mostradas. Si fullscreen es FALSO ans
ventana_id es no-cero, la producción tendría que ser embedded en ventana con id
ventana_id.
Si consigue_rfx() estuvo definido, argc y argv aguantará los valores de parámetro
como cuerdas, tan por ejemplo si el primer parámetro es un int te necesitaría utilizar
atoi(argv[0]), etc.

void pantalla_de salida (int16_t ratón_x, int16_t ratón_y)

Llamó después de playback llegadas. Lágrima abajo la exhibición y urdimbre el mous


puntero a ratón_x, ratón_y.

void El módulo_descarga (void)

Llamado cuándo el plugin el módulo está descargado. Actúa muy cleanup tan
necesario (p. ej. unlocking hardware).

const char *Consigue_fps_lista (int paleta)

Si el plugin sólo puede utilizar discreto fps (marco-índice) valores entonces pueda
implementar esta función y regresar una lista cuándo el anfitrión lo llama. La lista
regresó es una cuerda de formato “un|b|c” donde un,b y c sería framerates. Proporción
framerates gusta 24000:1001 está dejado.

Conjunto booleano_fps (doble fps)

Si el plugin implementa consigue_fps_lista, entonces también tenga que implementar


esto funciona cuál deja el anfitrión de poner un fps valor. Plugin Tendría que regresar
CIERTO si el fps el valor está dejado, otherwise regresa FALSO.
int *Consigue_yuv_muestreo_de paleta (int paleta)

Plugin puede enviar una lista de tipos de muestreo de la paleta, rescindidos con un -1.
Único válido si la paleta es un YUV la paleta apoyada por el plugin. Tipos de muestreo
son igual como el Weed YUV tipos de muestreo. Si esta función no es implementada, el
default tipo de muestreo está supuesto.

Conjunto booleano_yuv_muestreo_de paleta (int tipo_de muestreo)

Si el plugin implementó conseguir_yuv_muestreo_de paleta, el anfitrión puede escoger


un tipo de muestreo e informar el plugin de este. Esto sólo se apellidará después de los
conjuntos anfitriones la paleta.

int *Consigue_yuv_paleta_clamping (int paleta)

Plugin puede enviar una lista de paleta clamping tipos, rescindidos con un -1. Único
válido si la paleta es un YUV la paleta apoyada por el plugin. Clamping Los tipos son
igual como el Weed YUV clamping tipos. Si esta función no es implementada, el default
clamping tipo (clamped) está supuesto.

Conjunto booleano_yuv_paleta_clamping (int clamping_tipo)

Si el plugin implementó conseguir_yuv_paleta_clamping, el anfitrión puede escoger un


clamping tipo e informar el plugin de este. Esto sólo se apellidará después de los
conjuntos anfitriones la paleta.

int *Consigue_yuv_paleta_subspace (int paleta)

Plugin puede enviar una lista de paleta subspace tipos, rescindidos con un -1. Único
válido si la paleta es un YUV la paleta apoyada por el plugin. Subspace Los tipos son
igual como el Weed YUV tipos de muestreo. Si esta función no es implementada, el
default subspace tipo (Y'CbCr) está supuesto.

Conjunto booleano_yuv_paleta_subspace (int subspace_tipo)

Si el plugin implementó conseguir_yuv_paleta_subspace, el anfitrión puede escoger un


subsapce tipo e informar el plugin de este. Esto sólo se apellidará después de los
conjuntos anfitriones la paleta.
videoplugin.h También define CIERTO, FALSO, el tipo booleano, y CPU_BITS.

Esto es el SDL playback plugin.

// VIDAS - SDL playback motor


// (c) G. Finch 2003 - 2008 <salsaman@xs4all.nl>
// liberado bajo el GNU GPL 3 o más tarde
// ver el archivo que COPIA o www.gnu.org para los detalles

#incluyen "../../../../libweed/weed.h"
#Incluye "../../../../libweed/weed-Efectos.h"
#Incluye "videoplugin.h"
#Incluye <stdlib.h>

////////////////////////////////////////////////////////////////////////////////////
Estático char plugin_versión[64]="VIVE SDL playback versión de motor 1.2";
estático char error[256];

estático int (*render_fn)(int hsize, int vsize, void **dato_de píxel, void **dato_de
regreso);
estático booleano render_marco_rgb (int hsize, int vsize, void **dato_de píxel, void
**dato_de regreso);
estático booleano render_marco_yuv (int hsize, int vsize, void **dato_de píxel, void
**dato_de regreso);
estático booleano render_el marco_desconocido (int hsize, int vsize, void **dato_de
píxel, void **dato_de regreso);

estático int lista_de paleta[6];


estático int mypalette;
estático int clampings[2];

/////////////////////////////////////////////
// SDL el material concreto

#incluye <SDL.h>
Estático SDL_pantalla *de Superficie;
estático SDL_Superficie *RGBimage;
estático SDL_Overlay *overlay;
estático int ov_hsize;
estático int ov_vsize;
estático SDL_Rect *rect;
estático SDL_acontecimiento de Acontecimiento;
estático SDLMod mod;
//////////////////////////////////////////////

const char *control_de módulo_init(void) {

si (getenv ("TIENE_SDL")==NULL&&sistema ("cuál sdl-config >/dev/null


2>&1")==256) {

snprintf (error,256,"((/))n((/))nUnable para encontrar sdl-config en


vuestro camino.((/))nPlease Marca seguro te ha SDL instalado
correctamente para utilizar este plugin.((/))nYou Puede override esto
con 'la exportación HA_SDL=1'((/))n"); error de regreso;

}
render_fn=&render_enmarca_desconocido;
RGBimage=NULL;
overlay=NULL;
ov_vsize=ov_hsize=0;
mypalette=WEED_FIN_de PALETA;
rect=(SDL_Rect *)malloc (sizeof(SDL_Rect));
regreso NULL;

const char *versión (void) {

regresa plugin_versión;

}
const char *consigue_descripción (void) {

regresa "El SDL plugin deja más rápido playback.((/))n";

}
uint64_t consigue_capacidades (int paleta) {

si (paleta==WEED_PALETA_UYVY8888) {

regreso VPP_PUEDE_RESIZE|VPP_EXHIBICIÓN_LOCAL;

} regreso VPP_EXHIBICIÓN_LOCAL;

}
const char *consigue_rfx (void) {

regreso ((/))"<define>((/))((/))n((/))|1.7((/))((/))n((/))</define>((/))
((/))n((/))<código_de lengua>((/))((/))n((/))0xF0((/))((/))n((/))</código_de
lengua>((/))((/))n((/))<params> ((/))((/))n((/))hwa|aceleración _de Hardware|
bool|1|0 ((/))((/))n((/))yuvd|YUV _directo|bool|1|0 ((/))((/))n((/))yuvha|_YUV
aceleración de hardware|bool|1|0 ((/))((/))n((/))dblbuf|_Doble buffering|bool|1|
0 ((/))((/))n((/))hws|superficie _de Hardware|bool|1|0 ((/))((/))n((/))</params>
((/))((/))n((/))<param_ventana> ((/))((/))n((/))</param_ventana> ((/))
((/))n((/))<onchange> ((/))((/))n((/))</onchange> ((/))((/))n((/))";

int *consigue_lista_de paleta(void) {

// paletas de regreso por orden de preferencia, acabando con WEED_lista_de


paleta
de FIN_de PALETA[0]=WEED_PALETA_UYVY8888;
lista_de paleta[1]=WEED_PALETA_YUYV8888;
lista_de paleta[2]=WEED_PALETA_YVU420P;
lista_de paleta[3]=WEED_PALETA_YUV420P;
lista_de paleta[4]=WEED_PALETA_RGB24;
lista_de paleta[5]=WEED_FIN_de PALETA;

lista de paleta_del regreso;

paleta de conjunto_booleano (int paleta) {

si (paleta==WEED_PALETA_RGB24) {

render_fn=&render_marco_rgb;
mypalette=paleta;
el regreso CIERTO;

} más si (paleta==WEED_PALETA_UYVY8888||
paleta==WEED_PALETA_YUYV8888||paleta==WEED_PALETA_YUV420P||
paleta==WEED_PALETA_YVU420P) {

render_fn=&render_marco_yuv;
mypalette=paleta;
el regreso CIERTO;

// regreso de paleta
nula FALSO;

int *consigue_yuv_paleta_clamping(int paleta) {

si (paleta==WEED_PALETA_RGB24) clampings[0]=-1;
más {

clampings[0]=WEED_YUV_CLAMPING_CLAMPED;
clampings[1]=-1;

}
regreso clampings;

booleano init_pantalla (int ancho, int altura, booleano fullscreen, uint32_t ventana_id,
int argc, char **argv) {

// medida de pantalla es en RGB píxeles


int hwaccel=1;
int yuvdir=1;
int yuvhwa=1;
int dblbuf=1;
int hws=1;
char tmp[32];
uint32_t modeopts=0;

si (argc>0) {

hwaccel=atoi(argv[0]);
yuvdir=atoi(argv[1]);
yuvhwa=atoi(argv[2]);
dblbuf=atoi(argv[3]);
hws=atoi(argv[4]);

si (mypalette==WEED_FIN_de PALETA) {

fprintf(stderr,"SDL plugin error: Ninguna paleta estuvo puesta !


((/))n");
El regreso FALSO;

snprintf(tmp,32,"%d",yuvdir);
setenv ("SDL_VÍDEO_YUV_DIRECTO", tmp, 1);
snprintf(tmp,32,"%d",yuvhwa);
setenv ("SDL_VÍDEO_YUV_HWACCEL", tmp, 1);
snprintf(tmp,32,"%u",ventana_id);
si (!fullscreen) setenv ("SDL_WINDOWID", tmp, 1);

si ((SDL_Init (SDL_INIT_VÍDEO)==-1)) {

fprintf (stderr,"SDL jugador : no Podría inicializar SDL: %s.((/))n",


SDL_GetError());
el regreso FALSO;

modeopts=(SDL_HWSURFACE*hws)|(SDL_DOUBLEBUF*dblbuf)|
(SDL_HWACCEL*hwaccel);
SDL_ShowCursor (FALSO);
pantalla = SDL_SetVideoMode (ancho, altura, 24, modeopts | (fullscreen?
SDL_FULLSCREEN:0) | SDL_NOFRAME);

si ( pantalla == NULL ) {

fprintf (stderr,"SDL jugador : Podría no puesto %dx%dx24 modo de


vídeo: %s((/))n", ancho, altura, SDL_GetError());
// necesitamos SDL_ShowCursor/SDL_deja aquí ?
El regreso FALSO;

/* Habilita Unicode traducción */


SDL_EnableUNICODE ( 1 );

// si la paleta es RGB, crea RGB emerger la misma medida como la pantalla


si (mypalette==WEED_PALETA_RGB24) {

RGBimage = SDL_CreateRGBSurface(SDL_HWSURFACE, ancho,


altura, 24, 0x0000FF, 0x00FF00, 0xFF0000, 0x00);

si (RGBimage == NULL) {

fprintf(stderr,"SDL jugador: no Puede crear: %s((/))n",


SDL_GetError());
el regreso FALSO;

el regreso CIERTO;

rect->x=rect->y=0;
rect->h=altura;
rect->w=ancho;
el regreso CIERTO;

booleano render_marco (int hsize, int vsize, int64_t tc, void **dato_de píxel, void
**dato_de regreso) {

// llama el funcionar cuál estuvo puesto en regreso_de paleta


puesta render_fn (hsize,vsize,dato_de píxel,dato_de regreso);

booleano render_marco_rgb (int hsize, int vsize, void **dato_de píxel, void **dato_de
regreso) {
// roto - accidentes
// hsize y vsize es en píxeles (n-byte)
SDL_LockSurface(RGBimage);
memcpy(RGBimage->píxeles,dato_de píxel[0],hsize*vsize*3);
SDL_UnlockSurface(RGBimage);
SDL_BlitSurface(RGBimage, NULL, pantalla, NULL);
//SDL_FreeSurface(RGBimage);
SDL_UpdateRect(pantalla, 0, 0, 0, 0);
el regreso CIERTO;

booleano render_marco_yuv (int hsize, int vsize, void **dato_de píxel, void **dato_de
regreso) {

// hsize puede ser en uyvy-macropixels (2 píxeles reales por 4 byte


macropixel !)
uint32_t ovtype=SDL_IYUV_OVERLAY;

si (mypalette==WEED_PALETA_UYVY8888) {

ovtype=SDL_UYVY_OVERLAY;
hsize*=2;

} más si (mypalette==WEED_PALETA_YUYV8888) {

ovtype=SDL_YUY2_OVERLAY;
hsize*=2;

} más si (mypalette==WEED_PALETA_YVU420P)
ovtype=SDL_YV12_OVERLAY;

si ((ov_hsize!=hsize||ov_vsize!=vsize)&&(overlay!=NULL)) {

SDL_FreeYUVOverlay(overlay);
overlay=NULL;

Si (overlay==NULL) {

overlay=SDL_CreateYUVOverlay (hsize, vsize, ovtype, pantalla);


ov_hsize=hsize;
ov_vsize=vsize;

SDL_LockYUVOverlay (overlay);

si (mypalette==WEED_PALETA_UYVY||mypalette==WEED_PALETA_YUYV)
memcpy (overlay->píxeles[0],dato_de píxel[0],hsize*vsize*2);
más {
memcpy (overlay->píxeles[0],dato_de píxel[0],hsize*vsize);
memcpy (overlay->píxeles[1],dato_de píxel[1],hsize*vsize>>2);
memcpy (overlay->píxeles[2],dato_de píxel[2],hsize*vsize>>2);

SDL_UnlockYUVOverlay (overlay);
SDL_DisplayYUVOverlay (overlay,rect);
el regreso CIERTO;

booleano render_el marco_desconocido (int hsize, int vsize, void **dato_de píxel, void
**dato_de regreso) {

fprintf(stderr,"SDL plugin error: Ninguna paleta estuvo puesta !((/))n");


El regreso FALSO;

void pantalla_de salida (int16_t ratón_x, int16_t ratón_y) {

si (mypalette==WEED_PALETA_RGB24) {

si (RGBimage!=NULL) {

SDL_FreeSurface (RGBimage);
RGBimage=NULL;

} Más si (overlay!=NULL) {

SDL_FreeYUVOverlay(overlay);
overlay=NULL;

Si (ratón_x>=0&&ratón_y>=0) {

SDL_ShowCursor (CIERTO);
SDL_WarpMouse ((int16_t)ratón_x, (int16_t)ratón_y);

SDL_Deja();

void el módulo_descarga(void) {

libre (rect);
}

booleano envía_keycodes (keyfunc anfitrión_clave_fn) {

// encuesta para acontecimientos de teclado, les pasa atrás al regreso


// de llamador FALSO si hay no más códigos para regresar
uint16_t mod_máscara,scancode=0;

si (llave_anfitriona_fn==NULL) regresa FALSO;

mientras(SDL_PollEvent (&acontecimiento)) {

mod_máscara=0;
si (acontecimiento.Tipo==SDL_KEYDOWN||
acontecimiento.Tipo==SDL_KEYUP) {

mod=acontecimiento.Clave.keysym.mod;

Si (mod&KMOD_CTRL) {

mod_máscara|=MOD_MÁSCARA_de CONTROL;

si (mod&KMOD_ALT) {

mod_máscara|=MOD_ALT_MÁSCARA;

si (acontecimiento.Tipo==SDL_KEYDOWN) {

si (!mod_Máscara) {

scancode=acontecimiento.Clave.keysy
m.unicode;

Si (!scancode) {

scancode=(uint16_t)acontecimiento.Cla
ve.keysym.scancode;
mod_Máscara|
=MOD_NECESITA_TRADUCCIÓN;

llave_anfitriona_fn
(CIERTO,scancode,mod_máscara);
}

más {

// clave arriba - no unicode :-(


llave_anfitriona_fn (FALSO,
(uint16_t)acontecimiento.Clave.keysym.scancode
,(mod_máscara|MOD_NECESITA_TRADUCCIÓN));

el regreso CIERTO;

}
17.3.3.4 Descodificador plugins
Descodificador plugins en las VIDAS utilizan una interfaz muy sencilla, a pesar de que
internamente pueden ser bastante complejos. Todo descodificador plugins tiene que
implementar unas cuantas funciones obligatorias, y hay también unas cuantas
funciones opcionales. Descodificador plugins puede ser escrito en C o C++. Está
recomendado que descodificador plugins incluir el archivo de encabezamiento
decplugin.h De la distribución de fuente de las VIDAS, cuando esto contiene algunos
definiciones comunes. También pueden desear incluir weed.h Y weed-efectos.h Para
definiciones de paleta.

Funciones obligatorias

const char *control_de módulo_init(void)

Esta función se apellida una vez, cuándo las cargas anfitrionas el módulo. El plugin
tendría que hacer muy setup actividades aquí. El valor de regreso es una cuerda de
error , o NULL si ningún error ocurrió.

const char *Versión(void)

Regresa una cuerda de versión.

const Vive_dato_de clip_t *consigue_dato_de clip(char *URI)

Dado un URI, (generalmente un filename), parse lo y dato de clip del regreso. Dato_de
clip_de las vidas_t está definido abajo.

Booleano consigue_marco(char *URI, int64_t marco, void **dato_de píxel)

Consigue marco de número del marco de URI (normalmente un filename), y regresar


los resultados en dato de píxel_de los aviones. El regreso FALSO si un error ocurre, el
regreso CIERTO encima éxito.

Las funciones opcionales

booleanas desgarra_audio (char *URI, char *fname, int stframe, int marcos)

Si el descodificador es capaz de descodificar audio, pueda proporcionar esta función.


El audio que empieza en marco stframe, con una longitud de marcos de URI
(normalmente un filename) tendría que ser descodificado y escrito para archivar
fname. Si los marcos es 0, entonces desgarrar todo audio disponible.

Paleta de conjunto_booleano(int paleta)

Si el plugin proporcionó una elección de paletas para descodificar a, tenga que


proporcionar esta función de modo que el anfitrión puede seleccionar una paleta para
utilizar. Tenga que regresar CIERTO si la paleta estuvo puesta correctamente, FALSO
otherwise. Cuándo esto se apellida, el plugin tendría que alterar su const dato_de clip
consiguientemente.

void El módulo_descarga(void)

Esta función puede soler cualquier cosa necesario cuándo el módulo está descargado,
por ejemplo liberando hardware.

Dato_de clip_de las vidas_t

La estructura siguiente está definida en decplugin.h Y un puntero a uno de este mosto


ser regresado por la función consigue dato_de clip_(). Este struct tendría que ser
mantenido por el plugin, y si las llamadas anfitrionas paleta_puesta(), los valores
pueden ser actualizados.

int Ancho; // ancho en macropixels, puede cambiar si la paleta está puesta


int altura;
int nframes;
int interlace; // ve bajo
int YUV_muestreo; // cuando definido en weed-efectos.h, puede cambiar si la paleta
está puesta
int YUV_clamping; // cuando definido en weed-efectos.h, puede cambiar si la paleta
está puesta
int YUV_subspace; // cuando definido en weed-efectos.h, puede cambiar si la paleta
está puesta flotador
fps;
int *paletas;
// lista de paletas que el plugin puede regresar marcos en, el formato es tan utilizado
en weed-efectos.h
// Por orden de preferencia, rescindido con WEED_FIN_de PALETA.
// Si más de una paleta, el anfitrión puede poner una elección por llamar paleta_de
conjunto()
// plugin tener que entonces ancho de actualización, muestreo, clamping y subspace
como apropiado

char nombre_de contenedor[512]; // nombre de contenedor, p. ej. "ogg" o NULL


char nombre_de vídeo[512]; // nombre de vídeo codec, p. ej. "theora" o NULL
char nombre_de audio[512]; // nombre de audio codec, p. ej. "vorbis" o NULL
int arate;
int achans;
int asamps; // medida de muestra del audio en bits
int asigned; // 0 = unsigned, 1 = firmó
int ainterleaf; // 0 = no-interleaved, 1 = interleaved

Interlace los tipos están definidos cuando:

#define VIDAS_INTERLACE_NINGUNO 0
#define VIVE_INTERLACE_FONDO_PRIMEROS 1
#definen VIDAS_INTERLACE_PRIMER 2_SUPERIOR
#define VIDAS_INTERLACE_PROGRESIVOS 3

El encabezamiento decplugin.h Define CIERTO, FALSO, el tipo booleano, dato_de


clip_de las vidas_t, e interlace tipos.
17.3.4 Lista de OSC órdenes
VIVE OMC manda

Rojo = de parámetro opcional


Azul = no todavía implementado

Bool significa 0 (fuera, falso) o 1 (encima, cierto)

Synonyms está listado en la misma línea

/registro,<int vidas> /portuarias/casquete_de estado_abierto,<int registro>


/portuario,<anfitrión de cuerda>,<int vidas> /portuarias/casquete_de estado_abierto,<anfitrión de
cuerda>,<int el puerto>

/deja /las vidas/dejan /la aplicación/deja

/ping /vive/ping /aplicación/ping

/el registro/habilita
/récord/inutiliza
/récord/toggle
/conjunto/récord,<bool el registro>
/estatal/consigue juego/de vídeo
/de juego/de vídeo

//juego
/de vídeo/de los delanteros/atrás
/congelación/de vídeo/toggle
/conjunto/de congelación/del vídeo,<bool congelación>
/de vídeo/estatal/consigue efecto/de parón

/del vídeo
/_efecto/de cuenta

/clave_mapa/clave,<int llave>,<int modo>,<cuerda fxhash>


/efectúa_mapa/clave/efecto
/claro_llave/de efecto
/de reinicialización_clave/habilita,<int llave>
/de efecto_clave/inutiliza,<int llave>
/de efecto_clave/toggle,<int efecto>
/clave_conjunto/clave,<int llave>,<bool llave>
/de efecto_estatal/consigue,<int efecto>

/clave_conjunto/de valor/de parámetro/clave,<int llave>,<int param>,<los valores variables>


/efectúan_valor/de parámetro/clave/consigue,<int llave>,<int param>
/efectúa_clave/nparameter/conjunto/de valor,<int llave>,<int nparam>,<efecto de valor>
/variable_clave/nparameter/el valor/consigue,<int llave>,<int nparam>
/efectúa_conjunto/de modo/clave,<int llave>,<int efecto>
/de modo_el modo/clave/consigue,<int efecto>
/clave_modo/clave/luego,<int efecto>
/clave_el modo/clave/anterior,<int efecto>
/clave_el nombre/clave/consigue,<int llave>,<int llave>
/de efecto_del modo/maxmode/consigue,<int llave>
/de efecto_clave/usermode/consigue,<int clip>

/de cuenta/de clip

/clave/foreground/selecciona,<int vclip> /el clip/selecciona,<int vclip>


/clip/foreground/retrigger,<int vclip> /clip/retrigger,<int vclip>
/clip/foreground/conjunto,<int clip>
/de clip/foreground/consigue
/clip/foreground/el clip /próximo/selecciona/clip
/próximo/foreground/el clip /anterior/selecciona/clip
/anterior/foreground/conjunto/de marco,<int clip> /de marco/goto,<int clip>
/de marco/foreground/el marco/consigue clip

//foreground/fps/juego /de vídeo/inverso/clip


/inverso/foreground/fps/juego /de vídeo/más rápido/clip
/más rápido/foreground/fps/juego /de vídeo/más lento/clip
/más lento/foreground/fps/reinicialización /de juego/de vídeo/de reinicialización
/clip/foreground/fps/conjunto,<fps> /vídeo/fps/conjunto,<fps> :: fps puede ser flotador o int; el flotador está
regresado clip
//foreground/fps/consigue /vídeo/fps/consigue
/clip/foreground/fps/conjunto/de proporción,<flotador fps_vídeo> /de proporción/fps/conjunto/de
proporción,<flotador fps_proporción> :: puesto fps proporción (p. ej. 1.0 = fwd, 0.5 = velocidad media fwd,
-0.5 velocidad media atrás)
/clip/foreground/fps/la proporción/consigue vídeo //fps/la proporción/consigue clip

//foreground/fondo/de clip

/de intercambio/de fondo/selecciona,<int vclip>


/fondo/de clip/retrigger,<int vclip>
/clip/conjunto/de fondo,<int fondo>
/de clip/del clip/consigue clip
//clip/próximo
/de fondo/clip/anterior
/de fondo/conjunto/de marco/de fondo,<int clip>
/de marco/el marco/de fondo/consigue clip

//de fondo/fps/el clip


/inverso/de fondo/fps/el clip
/más rápido/de fondo/fps/el clip
/más lento/de fondo/fps/clip
/de reinicialización/de fondo/fps/conjunto,<flotador o int fps>
/fondo/de clip/fps/consigue
/el clip/de fondo/fps/conjunto/de proporción,<flotador fps_clip>
/de proporción/de fondo/fps/la proporción/consigue clip

//es_válido/consigue,<int clip>
/de clip/selecciona_todo,<int clip> :: si el clip está omitido, actual foreground el clip está supuesto
conjunto/de inicio/del clip
/,<int clip>,<int inicio>
/de clip/del marco/consigue,<int conjunto>
/de fin/de clip/de clip,<int clip>,<int fin>
/de clip/del marco/consigue,<int clip>
/de clip/archivo/abierto,<cuerda filename>
/el clip/codifica_tan,<cuerda filename>,<int ancho><int producción>

/de altura/fullscreen/habilita
/producción/fullscreen/inutiliza
/producción/fullscreen/toggle
/producción/fullscreen/conjunto,<bool producción>
/estatal/fullscreen/consigue

/producción/fps/conjunto,<flotador fps>
/producción/fps/consigue

/producción/nodrop/habilita
/producción/nodrop/inutiliza
/producción/nodrop/conjunto,<bool producción>
/estatal/nodrop/consigue

/clipset/carga,<cuerda clipsetname>
/clipset/salva,<cuerda clipsetname>

/notifica,<bitmap máscara>,<anfitrión de cuerda>,<int las vidas>


/portuarias/abren_notificar_casquete,<anfitrión de cuerda>,<int el puerto>

Ve también:

http://lives.svn.sf.net/viewvc/lives/trunk/omc/lives-omc.txt

You might also like