» Concepts de programmation
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.

Concepts de programmation

English


Pages de la catégorie Patching

Vous êtes habitués à la programmation textuelle et n’arrivez pas à retrouver des éléments de base de votre langue maternelle dans vvvv ?

Vous trouverez ici quelques concepts issus de la ligne de code et leur équivalent dans un patch.

Si le code n'est pas votre fort, lisez la page Concepts de patching.

Si un concept vous manque vraiment, vous pouvez toujours créer un plugin grâce aux éditeurs VL ou C#.

Classes, types custom et fonctions

Il n’existe pas de concept de classe dans vvvv. Pour structurer vos programmes de façon basique, regardez du côté des sous-patches.

Vous pouvez envisager les sous-patches comme des fonctions recevant des données en entrée et générant des données en sortie.

D’autres façons de structurer des données ont vu le jour dans vvvv :

Conditions

Besoin d'un if, d'un switch, ... ?

Lisez la page Conditions.

Boucles

Dans un langage de programmation textuelle, vous utiliseriez les structures for, while ou repeat pour exécuter certaines lignes de code un certain nombre de fois avant de poursuivre le déroulement de votre programme. Cela n’est pas possible dans vvvv.

De manière générale, vvvv ne va pas permettre ce système de boucles. Vous pourrez en revanche calculer toutes les itérations en même temps grâce aux opérations spectrales.

Lisez donc la page Nodes Spectrales.

Variables

Variables globales

Des valeurs peuvent être envoyées d’un endroit de votre patch à un autre (ou même entre plusieurs patches) grâce aux nodes S (send) et R (receive), et ce sans créer de lien.

L’utilisation la plus basique des nodes S/R est la propagation de valeurs constantes à travers un projet.

Faites un tour sur la page Send / Receive.

Variables locales

Si vous voulez utiliser le résultat des calculs d’une frame pour le même calcul à la frame suivante, vous devrez utiliser la node Framedelay. Lorsque vous définissez son entrée, vous créez une variable dont vous pouvez lire la valeur à la prochaine frame à sa sortie.

Les nodes Framedelay vous permettent de créer des feedback loops dans un patch.

Consultez la page Créer des feedback loops.

Constantes

Les IOBoxes peuvent faire office de constantes qui envoient des valeurs définies par l'utilisateur (couleurs, valeurs, chaînes de caractères) aux nodes de vos patches.

See IOBoxes.

Paramètres d'entrée et de sortie

Le fait de nommer des IOBoxes permet d’en faire des entrées et sorties de sous-patches. Elles peuvent par conséquent être considérées comme paramètres d’entrée et de sortie d’une fonction.

See Subpatches.

Collecte de données

Vous cherchez un équivalent aux Arrays, aux Listes, ... ?

Reportez-vous à la section sur les spreads.

Stockage de données

Besoin d'un Buffer, d'un Stack ou d'une Queue ?

Étudiez la page Collecte de données.

Null

Dans vvvv, un tableau ou une liste vide s'appelle un NIL.

Plus d'infos ici : NIL.

Automates finis

Lorsque vous cherchez à patcher une série d’actions causant une transition d’un état à un autre, vous pouvez sûrement utiliser la node Automata (Animation). Timerliner dispose aussi d’un automate.

À voir également :

anonymous user login

Shoutbox

~1h ago

tonfilm: Saving and loading your own data types to disk was never easier: vl-serialization #vvvv #vl #dotNet #visualprogramming

~2d ago

stulloyd: @dominikKoller my little brother works for them.

~7d ago

vasilis: @readme I already did this...but when I reopen my patch and make some changes I press save all..and then the same again. It opens 2

~8d ago

readme: vasilis, Alt+R in your vvvv instance, delete it from vvvv root, save. Otherwise vvvv loads up the patch by default.

~8d ago

vasilis: And even if I go in the root patch and delete them. when i save my patch again it duplicates.

~8d ago

vasilis: Anyone know why when I save my patch and close vvvv, when I try again to reopen it, it opens two patches (two the same)?

~8d ago

david: updated the berlin meetup log. Please correct names or missing stuff. berlin meetups 2018