2V-P Manual

Introduction:

    . 2V-P stands as 2 channels mixer for Quartz Composer .

    . On the first launch, 2V-P will pop up a dialog asking to choose a location for the 2V-P root directory
    Once created 2V-P will have read/write permissions on this root folder, which will contains upon creation 4 folders:

        . 2V-P_Composition folder: this will contains a /demo folder ( with a set of Quartz Composer’s compositions ).
This folder will be used as a search folder for compositions while loading projects.
. 2V-P_Fx folder: this will contains a demo folder ( with a set of Quartz Composer’s composer compositions to be used as effects ).
. 2V-P_Presets folder: to be used as presets repository.
. 2V-P_Project folder to be used as projects repository.

    . Once the application completely loaded 2V-P will present the application main window ( by default named “tabula rasa”) ,
and an output window where to render the final scene.
Both windows could be minimised from the Windows/Minimise menu tab but only the main window can be closed
( and reopened by clicking on the application dock icon).

    . 2V-P main window consists of 4 sections :
. Library :  to drag&drop QC files or 2V-P presets files , and manage pages .
. Mixer  : contains 2 sections (Left/Right) to display loaded QC compositions parameters, as well as a rendering preview ;
and a mixer section to control how the renderings are going to be be mixed together.
. Control inspector : displays and manages informations ( value, automations, behaviours) about any selected control.
. Preferences: gives access to 2V-P settings ( mixer, interface, OSC, MIDI, output ) .


Library:  consists of 2 sections ,  a media grid and a page manager.

    . There are 8x4 cells available in each page , and a page manager ( on the left side ) allowing the creation of up to 64 pages:
. Use the [+] and [-] buttons to add / remove pages.
. Double click on a page text field to edit the its name.
. Drag the page text field up/down to reorder pages.
. Click on a page’s name to select a page , or use the up/down buttons to cycle through pages.

    . The grid allows to drag&drop QC compositions with a .qtz extension  and 2V-P presets files with a .2vpc extension
( see below how to create and use those presets files).
. Once dragged on a grid , the targeted cell will display the file thumbnail.
. Shift&drag on a cell to move the targeted content around the grid .
. Right click  on a cell will pop-up a menu with standard editing functions : Delete, Copy , Cut , Paste.
. Click on a cell to load the composition in the targeted player ( the grid’s colour indicates the targeted player ).


Players:  there are two players available to load compositions and each players consists of 3 major sections :

    .Preview :

        . Tools :

        

            . Player selection : allows to select which player will be used as a target while loading a compositions from the grid.
( the grid will change its colour according to the selected player ).
. Eject: removes a composition from the player .
. Pause: pauses the composition ( the composition will still be rendered ) .
. Composition text field: displays the composition’s name.
. Reset: resets the composition to its default state.
. Inspector: displays the inspector view . The inspector view lists the composition’s parameters, and for each two options :

        

                . display : select whether or not a parameter will be displayed .
. interpol : select whether or not a parameter will be involved in presets interpolation calculations.
. Save: saves all the compositions settings in a file with a .2vpc extension ( the file doesn’t include the composition, but its path ) .
(one can drag&drop a file with a .2vpc extension on the grid to recall the composition and its saved settings)

        . Preview :

        

        

            . Renders the composition’s preview , before being sent to the mix .
. The alphaComponent slider, controls the composition rendering alpha channel before being sent to the mix.

    . Preset :

        . Preset interpolation :

        

            . Preset Interpolation Slider : sets the interpolation value between 2 selected presets.
. Cut buttons : set the presetInterpolation slider’s value
. Fade buttons : tell the presetInterpolation to fade from its current value to respectively 0. or 1.

        . Preset grid :

            . Each grid presents 4 available cells to store a composition’s settings .
. Shift&click on a cell to save the current composition parameters values. This will also create a preset thumbnail on the targeted cell.
. Right click on a cell will pop-up a menu with standard editing functions : Delete, Copy , Cut , Paste.
. Click on a cell to select a preset. A left or right oriented bracket will be displayed , according to the selected destination target ( see bellow how to set the destination target) .

        . Preset destination / grid selection :

. Left/Right brackets : select the preset destination target
( this will affect which preset will be selected while clicking on the preset grid ) .
. Grid  selection row : there are 8 available grids. Use the dots to select which grid to be displayed.

    . Parameter View :  will list and enable all published parameters for a loaded composition. There a 4 types of parameters:

    

        .  Sliders :
. Parameter name text field: display the parameter’s input name as published in Quartz Composer.
. Automation text field: display the slider’s automation value ( manual, OSC, MIDI ) .
. Value field : displays the actual parameter value ( not normalised ) .
. Both min,value,max dots can be dragged to set their values.
. Shift&drag the value change temporally the parameter’s value, and sets it back the previous value on mouse release.
. Sliders behaviours ( when active ) can be managed through the Control Inspector.

        . Buttons :
. Parameter name text field: display the parameter’s input name as published in Quartz Composer.
. Buttons behaviours ( when active ) can be managed through the Control Inspector.

        . Text Fields :
. Parameter name text field: display the parameter’s input name as published in Quartz Composer
. Text Fields behaviours can’t be managed through the Control Inspector.

        . Indexed Menu :
. Parameter name text field: display the parameter’s input name as published in Quartz Composer
. Indexed Menu behaviours can’t be managed through the Control Inspector.


Mixer:  2V-P renders a mixed image of its 2 players outputs.

    . Preview :

        Manual effect1

        . Save: saves all the mixer’s effect chain settings in a file with a .2vpfx extension ( the file doesn’t include compositions , but their paths ). (one can drag&drop a file with a .2vpfx extension on the preview to recall the mixer’s effect chain and its saved settings) .
. Renders a preview of the output rendering context .
. The alphaComponent slider, controls the overall rendering alpha channel .

    .Xfade :

        

        . A crossfade slider .
. A compositing mode menu : supported modes are standard compositing modes from  the Core Image framework.

    . Post Fx :

        . After the compositing between the 2 players have been evaluated, post effects can be applied in chain.
. Drag and drop a Quartz Composer file on the preview to add an effect at the end of the mixer’s effect chain.
. To be used as an effect in 2V-P, a composition should:
. Have a published input image splitter with a @”inputImage” key.
. Render its process to objects like Billboards, Sprites, etc.

        manual effect2

       . On/Off button : bypass or not the effect’s process.
. Delete button : removes an effect from the chain.
. Drag up/down the effects title to change its position in the rendering chain.


Control Inspector:  This section manage controls automations and behaviours and displays metering informations .

    . Metering Informations :

        

        . Fps : displays an average value of the output rendering frame rate .
. MIDI : displays the MIDI In/Out activity ( green : incoming signal / red : outgoing signal ) .
. OSC : displays the OSC In/Out activity ( green : incoming signal / red : outgoing signal ) .
. Perform button: controls the output window ( named 2V-P )  full screen status .

    . Control Behaviours:

        . Sliders :
 . Value/Min/Max fields : displays and allows numerical entries.

            

            . Markers :

            

                . Snap mode : Controls how the slider’s value is attracted by markers values :
. Off: ignores markers.
. On: jumps to markers.
. Magnet : markers act like magnets .
. Markers buttons :  [+]  adds a marker at slider’s value . [-] removes the marker.

            . Smoothing : Creates a time based function from the initial to the destination values.

            

                . Smooth button: turns the function on/off .
. Time: sets the ramp time in seconds.
. Mode:
. direct : the function is evaluated directly between extreme values.
. symmetric : the function is evaluated symmetrically between extreme values .
. Curve : Possible values are between -1 / +1 . Functions are exponential curves:
. > 0 : the ramp starts faster, ends slower.
. < 0 : the ramp starts slower, ends faster.
. = 0 the ramp is linear .

        . Buttons :
. Value field : displays and allows numerical entries ( 0 or 1).

            

            . Trigger :

            

                . Trigger menu : manages how the button’s state will be updated upon automations.
. straight : the button’s state follows the received value.
. on rise : the button’s state changes when the received value ascendantly crosses the threshold value.
. on fall : the button’s state changes when the received value reversely crosses the threshold value.
. on fall : the button’s state changes when the received value crosses the threshold value.
            
                . Threshold : Sets the threshold value mentioned above ( possible value are between 0 / 1).

            . Key Equivalent :

            

                . Key Equivalent button : turns the keyboard’s events recognition mode on/off .
. Assign button : turns on/off key equivalent.
. Assigned Key field : displays the assigned key character.
. Modifier field: displays the associated modifier : Alt / Shift / Cmd / Ctrl.

        . Data Source : manages sliders and buttons automations . Possible inputs are : manual, MIDI, OSC.

        

            . MIDI :
. MIDI In :

                

                    . MIDI detect button : turns MIDI events recognition mode on/off .
. MIDI event’s type menu : possible values are ctrl: MIDI Control message / note : MIDI Note message.
. MIDI channel’s field : displays / sets the MIDI Channel ( possible values between 0 / 15).

                . MIDI Out :

                

                    . MIDI out button : turns MIDI out mode on/off .
. MIDI event’s type menu : possible values are ctrl: MIDI Control message / note : MIDI Note message.
. MIDI channel’s field : displays / sets the MIDI Channel ( possible values between 0 / 15).

            .OSC :
. OSC In :

                

                    . OSC detect button : turns the OSC events recognition mode on/off .
. OSC address field : sets and displays OSC In address.

                . OSC Out :

                

                    . OSC out button : turns OSC out mode on/off .
. OSC address field : sets and displays OSC out address.


. Preferences : This section manages 2V-P preferences . Settings will be saved in a preferences file : tv.2v-p.tv.2V-P.plist located at :
/Users/YourUserName/Library/Containers/tv.2v-p.tv.2V-P/Data/Library/Preferences/.

    . Output Preferences :

    
. Output Fps menu : manages the output rendering frame rate. Possible values are 25, 30, 45, 60, 75 fps and Overdrive
(when on Overdrive 2V-P renders frames at the maximum fps ) .
. Preview Fps menu : manages previews rendering frame rates . Possible values are x1, x2, x4, x8 slower than the output rendering frame rate.
. Output Res. field: manages the output rendering width x height .

    .MIDI Preferences :

    

        . MIDI In Ports menu : lists all available MIDI In ports.
. MIDI Out Ports menu : lists all available MIDI Out ports.

    .OSC Preferences :

    

        . Local Ip Address field : displays the local machine Ip address.
. Port (Incoming) field: sets OSC incoming port ( should be different from OSC outgoing port ) .
. Host Ip Address field : sets the Ip address receiving OSC messages.
. Port (Outgoing) field: sets OSC outgoing port ( should be different from OSC incoming port ) .

    .Theme Preferences :

    

        . PlayerA Color : sets the PlayerA frame colour .
. PlayerB Color : sets the PlayerB frame colour.
. Mixer Color : sets the Mixer frame colour.
( click on the coloured bars to open colour pickers panels ) .
. Updates  button: validates changes.
. Cancel  button: cancels changes.

    .Mixer Preferences :

    

        Manage how the mixer’s xfade slider and the playerA/B presetInterpolation sliders behave while using the corresponding left/right fade buttons .
Behaviours and interpolations functions are described in the Control Inspector/Control Behaviours/Sliders/Smoothing section :
. Time (s): sets the ramp time in seconds.
. Mode:
. straight : the function is evaluated directly between extreme values.
. symmetric : the function is evaluated symmetrically between extreme values .
. Curve : Possible values are between -1 / +1 . Functions are exponential curves:
. > 0 : the ramp starts faster, ends slower.
. < 0 : the ramp starts slower, ends faster.
. = 0 the ramp is linear .


.2V-P application menu bar :

    The menu bar, besides standard options,  presents 2V-P specificities:

    . Projects :
. Default Project : resets to the default project : tabula rasa.2vp.
. Open Project : opens :
. Files with  .2vp extensions : those are xml’s files containing all necessary informations to recall a project.
Only compositions paths are stored and if no compositions can be found 2V-P will look for it into the 2V-P_Compositions directory.
. Files with  .2vpck extensions : those are packages containing the corresponding .2vp project and all its related compositions .
. Save Project  : saves the project with a .2vp extension ( should be saved in the 2V-P_Projects folder).
. Export Project : exports the project as a package ( as described above ) with a .2vpck extension ( should be exported in the 2V-P_Projects folder).
. Locate 2V-P : reseed 2V-P root directory.

    .Window :
. Full Screen : toggles 2V-P interface full screen mode.
. Perform : toggles 2V-P output window full screen mode.


.Notes :

. 2V-P is a Mac application distributed exclusively from the Apple Store, and thereby conforms to the Sandboxing protocol. This induces specifities regarding the way 2V-P handles files, preferences and system resources.
. Once launched for the first time, 2V-P creates a container directory tv.2v-p.tv.2V-P located at /Users/YourUsername/Library/Containers/tv.2v-p.tv.2V-P. This directory contains sandboxed versions of necessary system resources 2V-P needs to access. Within this container directory, important system resources are:

– Preferences: This folder is a sandboxed version of the standard Preferences folder and contains 2V-P preference file tv.2v-p.tv.2V-P.plist.
– Library: This folder is a sandboxed version of the User’s Library folder. Any system resources that 2V-P needs to access have to be injected in this directory. For example, if a loaded Quartz Composer file refers to a QCPlugin, this plugin needs to be copied to the folder /Users/YourUsername/Library/Containers/tv.2v-p.tv.2V-P/Data/Library/Graphics/Quartz Composer Plugins.
– 2V-P creates on the first launch 2 directories: Quartz Composer Plug-ins and Quartz Composer Patches in the folder /Users/YourUsername/Library/Containers/tv.2v-p.tv.2V-P/Data/Library/Graphics.
– Your Library folder in hidden by default. Go to your home directory hit Cmd+J and check the “Show Library Folder” checkbox to unhide it.
Another resources directory 2V-P needs access to is the 2V-P’s root directory, users will be asked to locate it on first launch.
Unlike the container sandboxed system resources, 2V-P’s root directory is dedicated to user resources: compositions, projects, fxs and presets. A recommended practice while working with 2V-P would be to keep all compositions ( and any resources they need access to ), project, presets and effects in this directory.
– To reinitialise 2V-P: Trash 2V-P’s container and root directory and empty the trash. Run in terminal the command line sudo killall -SIGTERM cfprefsd.