The original english version of this page is newer and may contain information this translation does not have! Click
here to view the english version.
VL est un nouveau langage de programmation visuelle disponible dans vvvv. Il combine certains aspects de la programmation orientée objet avec celui du dataflow. Il génère directement du CIL (Common Intermediate Language) et peut également utiliser des librairies .NET.
|
vvvv et VL vivent en harmonie. Si jamais vous êtes bloqué à essayer de résoudre un problème avec vvvv, il y a de fortes chances que VL puisse vous sauver la mise. Vous aurez vraisemblablement de moins en moins besoin de basculer sur du C# en cas de problème.
|
Définition d'une particule (Particle) avec des propriétés (position, velocity, radius) et des opérations Create (blanc), Update (gris) et Hittest (bleu)
|
Types
En plus des types primitifs comme String, Value, Color,... VL vous permet de patcher vos propres types plus complexes disposant de fonctions, et vous permet également d'en générer dynamiquement des instances.
|
Iteration sur un spread de Particles et suppression automatique de celles dont le Lifetime est supérieur à 100
|
Régions, boucles
Dans vvvv, les boucles sont gérées automatiquement grâce à un spreading automatique au sein des nodes. VL donne cette responsabilité au patcher, lui ouvrant un tout nouveau monde de possibilités.
|
Patchez des opérations sans assigner de type aux entrées ou aux sorties
|
Génériques
La programmation générique est largement supportée dans les langages de programmation modernes. Il s'agit du fait d'implémenter des opérations sans se soucier du type sur lequel elles vont opérer lors de l'exécution du programme. Il s'agit dans VL du fonctionnement par défaut, ce qui s'avère pratique pour créer des librairies fonctionnant avec n'importe-quel type de données.
|
Déclenchement de l'exécution d'une requête web dans une région asynchrone afin de pas bloquer la mainloop
|
Régions asynchrones
Parfois, certains bouts d'un patch mettent plus de temps à s'exécuter, mais ne doivent pas bloquer la mainloop. Pour ce genre de cas, VL dispose de régions asynchrones (Async regions). Tout ce qui s'y trouve est calculé dans un thread en arrière-plan et un résultat est retourné lorsque l'opération est terminée.
|
Décide lors de l'exécution du programme s'il faut classer par temps ou par id
|
Delegates
Dans VL, les opérations peuvent circuler via des liens. De cette manière, un patch peut invoquer lors de son exécution une opération qui n'avait pas été définie en amont.. Il s'agit d'un pattern très puissant dans le dev moderne qui fait de l'utilisation de génériques et de la programmation modulaire un jeu d'enfant.
|
Gère les événements MIDI lorsqu'ils arrivent et ne renvoie que les messages Controller à la sortie MIDI (sans toucher à la Mainloop)
|
Observables
VL utilise les Observables pour la gestion d'événements. Cette approche fonctionne à merveille avec le paradigme du dataflow et s'avère très flexible.
|
|
VL est inclus dans vvvv depuis la beta35. Voilà de quoi vous mettre sur les rails :
|
|
Certaines nodes disponibles dans vvvv tournent déjà grâce à VL. Voici une liste non exhaustive, juste pour vous faire une idée :
- Editing Framework (Cameras, Point/BezierEditors)
- Nodes Arduino/Firmata
- Encodeurs et décodeurs TUIO
- Lecteur fichiers MIDI
|