English | Mandarin | French | Russian
La programmazione grafica tende a creare strutture enormi, complesse ed allo stesso tempo affascinanti, che però, nel caso si stia continuamente lavorando su una patch, possono essere difficilmente gestibili; ed ecco perché prima o poi si cominciano ad apprezzare i vantaggi nell'usare le subpatches.
Una subpatch non è altro che una patch in forma di nodo. Proprio così: trascinando, ad esempio, la patch "X" nella patch "Y", si genera la subpatch "X" che avrà l'aspetto e le stesse modalità di interazione di un nodo. Al momento del salvataggio verrà richiesto di salvare anche la subpatch "X", così che potrà essere usata anche in altri casi.
Per comprendere meglio il tutto è necessario fare un passo indietro e studiarsi la struttura di vvvv.
Se scegliete Show Root (ALT+R) dal menu principale, verrà mostrata la finestra della root patch di vvvv. La Root diciamo che è... un supernodo.
E' molto importante capire che in base a questa caratteristica dell'architettura di vvvv i nodi della root patch e quelli delle varie finestre delle patches sono intrinsecamente la stessa cosa.
Innanzitutto, un nodo può essere mostrato in quattro modi: Finestra, Windowed, Nascosto, Hidden, in un Contenitore, Boxed, o a Schermo Intero, Full Screen.
Quasi tutti i nodi nativi di vvvv come LFO, +, Damper, Quad etc. sono sempre hidden - si può vedere solo la rappresentazione del nodo e niente più.
I nodi nativi come il nodo Renderer (EX9) o Renderer (GDI), hanno una finestra associata. La modalità di default è Windowed; ma si può passare da una all'altra usando sia il menu che scorciatoie dalla tastiera.
Hidden Alt+3 Solo il nodo è visibile |
|
Windowed Alt+1 Il nodo sta in una finestra a parte |
|
Boxed Alt+2 Il nodo come contenitore di una finestra |
|
Full Screen Alt+Enter Schermo Intero |
Lavorando, si incontrano solo le finestre delle patch e non il nodo che le rappresenta nella Root, dalla quale invece è possibile selezionare la patch/nodo ed impostarne la visualizzazione in uno dei quattro modi descritti sopra.
In modalità Boxed, si possono inserire patches in altre patches. Questo può essere molto utile per preparare interfacce utente molto complesse, nascondendo ogni elemento eccetto gli IOBoxes.
Detto ciò, una SubPatch non è allora niente di speciale: è solo un nodo che contiene una patch.
La parola "Subpatch" descrive però solo un punto di vista, perché possiamo dire che ne esiste un altro descritto da "ParentPatch", e cioè:
Passiamo ora a capire come immettere/emettere dati in/da una subpatch.
Ancora una volta lo zio IOBox viene in aiuto -- Normalmente si usano gli IOBoxes come interfacce per modificare o mostrare valori. Ma possono diventare essi stessi parametri, e molto semplicemente. Quando si inserisce qualcosa nel pin Descriptive Name (che è un pin di confgurazione e quindi visibile solo nell'Ispettore), lo IOBox comincerà a funzionare come un parametro. Se si connette lo IOBox a qualcosa più a valle nel grafico, funzionerà come parametro di input; se lo si connette a qualcosa che sta a monte nel grafico, funzionerà da output. Quindi per ogni input/output pin che vorremo avere nella nostra subpatch dovremo generare un IOBox (magari usando questo trucchetto: dopo aver cominciato una connessione, provate a fare clic col tasto centrale da qualche parte nella patch per generare un IOBox, e con un altro clic del tasto centrale sullo IOBox per rinominarlo con il nome del pin connesso).
Gli IOBoxes ai quali è stato dato un descriptive name, avranno il loro nome appeso sotto in un box scuro.
Nella patch qui sopra troviamo due parametri; uno di input col nome get new ed uno di output col nome kitchenboy of the week. Quindi questa patch potrà essere usata in altre patches così:
Un'altra importante caratteristica di vvvv è che tutte le patches con lo stesso nome sono fondamentalmente le stesse. Se si apre una patch più volte e si cambia qualcosa solo in una di queste si potrà notare come il cambiamento avvenga anche in tutte le altre. Questo accade per tutte le variazioni di un valore, e per tutte le modifiche nella patch in sé. Questo è molto utile per la generazione di prototipi, dato che si può lavorare a qualsiasi profondità ed osservare le modiche in atto su tutto il sistema.
I valori che vengono immessi tramite pins parametro, e quindi tutti i calcoli che ne conseguono, sono separati per ogni istanza di una subpatch: ogni subpatch può così processare dati differenti.
vvvv converte tutti i percorsi relativi in percorsi assoluti, così che tutti i files possano essere rintracciati. Resta il fatto che, una volta salvata una patch e di conseguenza anche tutte le subpatches che contiene, se si sposta una subpatch in un altro posto, alla riapertura della patch principale vvvv potrebbe non riuscire a rintracciare il .v4p di riferimento. Se si spostano invece contemporaneamente tutte le patch e le relative subpatches, vvvv non dovrebbe avere problemi ad eseguire correttamente il programma.
Una subpatch può contenere una subpatch che contiene una subpatch, che a sua volta contiene una subpatch...
anonymous user login
~4d ago
~11d ago
~11d ago
~12d ago
~25d ago
~1mth ago
~1mth ago
~1mth ago
~1mth ago
~2mth ago